Vector BLF
Loading...
Searching...
No Matches
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
14namespace Vector {
15namespace BLF {
16
20struct 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
54
58 uint16_t objectStaticSize {};
59
67 uint16_t objectVersion {};
68
75 uint64_t objectTimeStamp {};
76};
77
78}
79}
Definition AbstractFile.h:19
ObjectType objectType
object type
Definition ObjectHeaderBase.h:248
uint32_t objectFlags
object flags
Definition VarObjectHeader.h:53
uint32_t calculateObjectSize() const override
Definition VarObjectHeader.cpp:39
uint16_t objectStaticSize
size of the static part of the object
Definition VarObjectHeader.h:58
ObjectFlags
Definition VarObjectHeader.h:29
@ TimeOneNans
1 nano second timestamp
Definition VarObjectHeader.h:45
@ TimeTenMics
10 micro second timestamp
Definition VarObjectHeader.h:37
uint64_t objectTimeStamp
object timestamp
Definition VarObjectHeader.h:75
void write(AbstractFile &os) override
Definition VarObjectHeader.cpp:22
void read(AbstractFile &is) override
Definition VarObjectHeader.cpp:14
uint16_t calculateHeaderSize() const override
Definition VarObjectHeader.cpp:30
uint16_t objectVersion
object specific version
Definition VarObjectHeader.h:67