BPNGClientLib
Library for accessing the Telemotive data logger devices
RdbTraceBlockList.hh
Go to the documentation of this file.
1 //************************************************************
2 //
3 // RdbTraceBlockList.hh
4 //
9 //************************************************************
10 
11 #ifndef RDBTRACEBLOCKLIST_HH
12 #define RDBTRACEBLOCKLIST_HH
13 
14 #include <vector>
15 #include <string>
16 
17 #include "BPNGDefines.h"
18 #include "RdbDefines.h"
19 
20 
23 
33 {
34  RdbTraceBlock2(const IRdbTraceBlock* rdbBlock)
35  : m_DataBaseEntryId(rdbBlock->getUniqueId()),
36  m_LoggerModuleName(rdbBlock->getLoggerModuleName()),
37  m_FilePath(rdbBlock->getFilePath()),
38  m_FileName(rdbBlock->getFileName()),
39  m_DataFileSize(rdbBlock->getDataFileSize()),
40  m_DataSize(rdbBlock->getDataSize()),
41  m_DataStartTimeUTC(rdbBlock->getStartTimeStamp()),
42  m_DataEndTimeUTC(rdbBlock->getEndTimeStamp()),
43  m_BlockNr(rdbBlock->getBlockNumber()),
44  m_TimeZone(rdbBlock->getTimeZone()),
45  m_CfgBackupFile(rdbBlock->getCfgBackupFile()),
46  m_CAN_CANextData(rdbBlock->getDataColumnValue("CAN_CANextData")),
47  m_MOST25Data(rdbBlock->getDataColumnValue("MOST25Data")),
48  m_SerialData(rdbBlock->getDataColumnValue("SerialData")),
49  m_EthernetData(rdbBlock->getDataColumnValue("EthernetData")),
50  m_FlexRayData(rdbBlock->getDataColumnValue("FlexRayData")),
51  m_LINData(rdbBlock->getDataColumnValue("LINData")),
52  m_ApixData(rdbBlock->getDataColumnValue("ApixData")),
53  m_MOST150Data(rdbBlock->getDataColumnValue("MOST150Data")),
54  m_CameraData(rdbBlock->getDataColumnValue("CameraData")),
55  m_AnalogData(rdbBlock->getDataColumnValue("AnalogData")),
56  m_GpioData(rdbBlock->getDataColumnValue("GpioData")),
57  m_AudioData(rdbBlock->getDataColumnValue("AudioData")),
58  m_CCPXCPData(rdbBlock->getDataColumnValue("CCPXCPData")),
59  m_DiagData(rdbBlock->getDataColumnValue("DiagData")),
60  m_GPSData(rdbBlock->getDataColumnValue("GPSData")),
61  m_ECLData(rdbBlock->getDataColumnValue("ECLData")),
62  m_CLASSData(rdbBlock->getDataColumnValue("CLASSData")),
63  m_ComplexFilterData(rdbBlock->getDataColumnValue("ComplexFilterData")),
64  m_TTYData(rdbBlock->getDataColumnValue("TTYData")),
65  m_Comment(rdbBlock->getComment())
66  {
67  }
68 
69  uint64_t m_DataBaseEntryId;
70  std::string m_LoggerModuleName;
71  std::string m_FilePath;
72  std::string m_FileName;
73  uint64_t m_DataFileSize;
74  uint64_t m_DataSize;
75  uint64_t m_DataStartTimeUTC;
76  uint64_t m_DataEndTimeUTC;
77  std::string m_DataStartGPS;
78  std::string m_DataEndGPS;
79  uint64_t m_BlockNr;
80  std::string m_TimeZone;
81  std::string m_CfgBackupFile;
82  std::string m_CAN_CANextData;
83  std::string m_MOST25Data;
84  std::string m_SerialData;
85  std::string m_EthernetData;
86  std::string m_FlexRayData;
87  std::string m_LINData;
88  std::string m_ApixData;
89  std::string m_MOST150Data;
90  std::string m_CameraData;
91  std::string m_AnalogData;
92  std::string m_GpioData;
93  std::string m_AudioData;
94  std::string m_CCPXCPData;
95  std::string m_DiagData;
96  std::string m_GPSData;
97  std::string m_ECLData;
98  std::string m_CLASSData;
99  std::string m_ComplexFilterData;
100  std::string m_TTYData;
101  std::string m_MIIData;
102  std::string m_Comment;
103 };
104 
107 
118 class RdbTraceBlockList : public std::vector<RdbTraceBlock2>
119 {
120 public:
121 
123  {
124  const size_t size = list->getSize();
125  reserve(size);
126  for (size_t i = 0; i < size; ++i)
127  {
128  push_back(RdbTraceBlock2(list->getTraceBlock(i)));
129  }
130  }
133  {
134  stable_sort(this->begin(), this->end(), TraceBlockIdComp());
135  }
136 
137 private:
138 
140  struct TraceBlockIdComp : public std::binary_function<RdbTraceBlock2, RdbTraceBlock2, bool>
141  {
142  bool operator()(const RdbTraceBlock2 &x, const RdbTraceBlock2 &y) const
143  {
144  return x.m_DataBaseEntryId < y.m_DataBaseEntryId;
145  }
146  };
147 };
148 
149 #endif // RDBTRACEBLOCKLIST_HH
virtual const IRdbTraceBlock *WINAPI getTraceBlock(size_t index) const =0
Returns a pointer to the IRdbEvent at index.
Definition: RdbTraceBlockList.hh:32
void sortTraceBlocksById()
Sort trace blocks by their data base entry id.
Definition: RdbTraceBlockList.hh:132
virtual size_t WINAPI getSize() const =0
Returns the size of the event list.
Defines for Telemotive Client Library.
Definition: RdbTraceBlockList.hh:118
Definition: RdbDefines.h:109
Definition: RdbDefines.h:130
Public interfaces for Telemotive Reference Database access.
uint64_t m_DataEndTimeUTC
end time of trace block in us
Definition: RdbTraceBlockList.hh:76
uint64_t m_DataStartTimeUTC
start time of trace block in us
Definition: RdbTraceBlockList.hh:75