MCPcopy Create free account
hub / github.com/Serial-Studio/Serial-Studio / MdfFile

Class MdfFile

lib/mdflib/include/mdflibrary/MdfFile.h:11–77  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

9
10namespace MdfLibrary {
11class MdfFile {
12 private:
13 mdf::MdfFile* file;
14
15 public:
16 MdfFile(mdf::MdfFile* file) : file(file) {
17 if (file == nullptr) throw std::runtime_error("MdfFile Init failed");
18 }
19 MdfFile(const mdf::MdfFile* file)
20 : MdfFile(const_cast<mdf::MdfFile*>(file)) {}
21 ~MdfFile() { file = nullptr; }
22 std::string GetName() const {
23 std::string str(MdfFileGetName(file, nullptr) + 1, '\0');
24 str.resize(MdfFileGetName(file, str.data()));
25 return str;
26 }
27 void SetName(const char* name) { MdfFileSetName(file, name); }
28 std::string GetFileName() const {
29 std::string str(MdfFileGetFileName(file, nullptr) + 1, '\0');
30 str.resize(MdfFileGetFileName(file, str.data()));
31 return str;
32 }
33 void SetFileName(const char* filename) { MdfFileSetFileName(file, filename); }
34 std::string GetVersion() const {
35 std::string str(MdfFileGetVersion(file, nullptr) + 1, '\0');
36 str.resize(MdfFileGetVersion(file, str.data()));
37 return str;
38 }
39 int GetMainVersion() const { return MdfFileGetMainVersion(file); }
40 int GetMinorVersion() const { return MdfFileGetMinorVersion(file); }
41 void SetMinorVersion(int minor) { MdfFileSetMinorVersion(file, minor); }
42 std::string GetProgramId() const {
43 std::string str(MdfFileGetProgramId(file, nullptr) + 1, '\0');
44 str.resize(MdfFileGetProgramId(file, str.data()));
45 return str;
46 }
47 void SetProgramId(const char* program_id) {
48 MdfFileSetProgramId(file, program_id);
49 }
50 bool GetFinalized(uint16_t& standard_flags, uint16_t& custom_flags) {
51 return MdfFileGetFinalized(file, standard_flags, custom_flags);
52 }
53 const MdfHeader GetHeader() const { return MdfFileGetHeader(file); }
54 bool GetIsMdf4() { return MdfFileGetIsMdf4(file); }
55 std::vector<MdfAttachment> GetAttachments() const {
56 size_t count = MdfFileGetAttachments(file, nullptr);
57 if (count <= 0) return {};
58 auto pAttachments = new const mdf::IAttachment*[count];
59 MdfFileGetAttachments(file, pAttachments);
60 std::vector<MdfAttachment> attachments;
61 for (size_t i = 0; i < count; i++) attachments.push_back(pAttachments[i]);
62 delete[] pAttachments;
63 return attachments;
64 }
65 std::vector<MdfDataGroup> GetDataGroups() const {
66 size_t count = MdfFileGetDataGroups(file, nullptr);
67 if (count <= 0) return {};
68 auto pDataGroups = new const mdf::IDataGroup*[count];

Callers 1

GetFileMethod · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected