Vector BLF
SystemVariable.h
1 // SPDX-FileCopyrightText: 2013-2021 Tobias Lorenz <tobias.lorenz@gmx.net>
2 //
3 // SPDX-License-Identifier: GPL-3.0-or-later
4 
5 #pragma once
6 
7 #include <Vector/BLF/platform.h>
8 
9 #include <string>
10 #include <vector>
11 
12 #include <Vector/BLF/AbstractFile.h>
13 #include <Vector/BLF/ObjectHeader.h>
14 
15 #include <Vector/BLF/vector_blf_export.h>
16 
17 namespace Vector {
18 namespace BLF {
19 
25 struct VECTOR_BLF_EXPORT SystemVariable final : ObjectHeader {
27 
28  void read(AbstractFile & is) override;
29  void write(AbstractFile & os) override;
30  uint32_t calculateObjectSize() const override;
31 
33  enum Type : uint32_t {
35  Double = 1,
36 
38  Long = 2,
39 
41  String = 3,
42 
44  DoubleArray = 4,
45 
47  LongArray = 5,
48 
50  LongLong = 6,
51 
53  ByteArray = 7
54  };
55 
59  uint32_t type {};
60 
64  uint32_t representation {};
65 
67  uint64_t reservedSystemVariable1 {};
68 
75  uint32_t nameLength {};
76 
83  uint32_t dataLength {};
84 
86  uint64_t reservedSystemVariable2 {};
87 
93  std::string name {};
94 
100  std::vector<uint8_t> data {};
101 };
102 
103 }
104 }
Definition: AbstractFile.h:19
Object header.
Definition: ObjectHeader.h:22
SYS_VARIABLE.
Definition: SystemVariable.h:25
Type
Definition: SystemVariable.h:33