GCC Code Coverage Report


Directory: ./
File: unit_tests/test-framework/mlg_reader.h
Date: 2025-10-03 00:57:22
Coverage Exec Excl Total
Lines: 0.0% 0 0 4
Functions: 0.0% 0 0 1
Branches: 0.0% 0 0 4
Decisions: 0.0% 0 - 2

Line Branch Decision Exec Source
1 /*
2 * mlg_reader.h
3 *
4 */
5
6 #pragma once
7
8 #include <vector>
9 #include <map>
10 #include "MlgDataType.h"
11 #include "MlgRecord.h"
12 #include "LogLine.h"
13 #include <functional>
14
15 using after_header_callback_t = std::function<void()>;
16 using mlg_logline_callback_t = std::function<void(std::map<const std::string, float>& currentSnapshot)>;
17
18 class BinarySensorReader {
19 public:
20 after_header_callback_t afterHeaderCallback{};
21
22 void openMlg(const std::string fileName);
23 void readMlg(mlg_logline_callback_t callback);
24 std::map<const std::string, float>& readBlock();
25 bool eof();
26
27 ~BinarySensorReader() {
28 for (auto record : records) {
29 delete record;
30 }
31 }
32 private:
33 std::ifstream ifs;
34 void readLoggerFieldData();
35 int readRecordsMetadata(std::ifstream &ifs, int numberOfFields);
36
37 std::vector<Record*> records;
38 std::map<std::string, const Record*> recordByName;
39 std::map<const std::string, float> currentSnapshot;
40 //std::vector<LogLine> logContent;
41 int recordCounter = 0;
42 };
43