Vector BLF
VarObjectHeader.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/BLF/AbstractFile.h>
10 #include <Vector/BLF/ObjectHeaderBase.h>
11 
12 #include <Vector/BLF/vector_blf_export.h>
13 
14 namespace Vector {
15 namespace BLF {
16 
20 struct VECTOR_BLF_EXPORT VarObjectHeader : ObjectHeaderBase {
21  VarObjectHeader(const ObjectType objectType);
22 
23  void read(AbstractFile & is) override;
24  void write(AbstractFile & os) override;
25  uint16_t calculateHeaderSize() const override;
26  uint32_t calculateObjectSize() const override;
27 
29  enum ObjectFlags : uint32_t {
37  TimeTenMics = 0x00000001,
38 
45  TimeOneNans = 0x00000002
46  };
47 
53  uint32_t objectFlags {ObjectFlags::TimeOneNans};
54 
58  uint16_t objectStaticSize {};
59 
67  uint16_t objectVersion {};
68 
75  uint64_t objectTimeStamp {};
76 };
77 
78 }
79 }
Definition: AbstractFile.h:19
Base object header type definition.
Definition: ObjectHeaderBase.h:164
Extended base object header type definition with dynamic extendible objects.
Definition: VarObjectHeader.h:20
ObjectFlags
Definition: VarObjectHeader.h:29