Vector BLF
AttributeEvent.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 <vector>
10 
11 #include <Vector/BLF/AbstractFile.h>
12 #include <Vector/BLF/ObjectHeader.h>
13 
14 #include <Vector/BLF/vector_blf_export.h>
15 
16 namespace Vector {
17 namespace BLF {
18 
19 struct VECTOR_BLF_EXPORT AttributeEvent final : ObjectHeader {
21 
22  void read(AbstractFile & is) override;
23  void write(AbstractFile & os) override;
24  uint32_t calculateObjectSize() const override;
25 
26  /* static */
27 
30 
32  uint32_t memberPathLength;
33 
36 
38  uint32_t dataLength;
39 
40  /* dynamic */
41 
44 
46  std::string memberPath;
47 
50 
52  std::vector<uint8_t> data;
53 };
54 
55 }
56 }
Definition: AbstractFile.h:19
Definition: AttributeEvent.h:19
uint32_t dataLength
length of variable data in bytes
Definition: AttributeEvent.h:38
uint32_t memberPathLength
length of variable memberPath in bytes
Definition: AttributeEvent.h:32
std::string attributeDefinitionPath
path of the attribute definition
Definition: AttributeEvent.h:49
std::vector< uint8_t > data
variable data
Definition: AttributeEvent.h:52
std::string mainAttributableObjectPath
path of the main attributable object
Definition: AttributeEvent.h:43
std::string memberPath
path of the member (optional)
Definition: AttributeEvent.h:46
uint32_t mainAttributableObjectPathLength
length of variable mainAttributableObjectPath in bytes
Definition: AttributeEvent.h:29
uint32_t attributeDefinitionPathLength
length of variable attributeDefinitionPath in bytes
Definition: AttributeEvent.h:35
Object header.
Definition: ObjectHeader.h:22