Vector BLF
Loading...
Searching...
No Matches
ObjectHeader2.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
22struct VECTOR_BLF_EXPORT ObjectHeader2 : ObjectHeaderBase {
23 ObjectHeader2(const ObjectType objectType);
24
25 void read(AbstractFile & is) override;
26 void write(AbstractFile & os) override;
27 uint16_t calculateHeaderSize() const override;
28 uint32_t calculateObjectSize() const override;
29
31 enum ObjectFlags : uint32_t {
39 TimeTenMics = 0x00000001,
40
47 TimeOneNans = 0x00000002
48 };
49
56
58 enum TimeStampStatus : uint8_t {
65 Orig = 0x01,
66
73 SwHw = 0x02,
74
80 User = 0x10
81 };
82
88 uint8_t timeStampStatus {};
89
92
102 uint16_t objectVersion {0};
103
110 uint64_t objectTimeStamp {0};
111
118 uint64_t originalTimeStamp {0};
119};
120
121}
122}
Definition AbstractFile.h:19
TimeStampStatus
Definition ObjectHeader2.h:58
@ User
protocol specific meaning
Definition ObjectHeader2.h:80
@ SwHw
1: sw generated ts; 0: hw
Definition ObjectHeader2.h:73
@ Orig
1: valid orig. timestamp
Definition ObjectHeader2.h:65
uint64_t originalTimeStamp
original object timestamp
Definition ObjectHeader2.h:118
uint64_t objectTimeStamp
object timestamp
Definition ObjectHeader2.h:110
ObjectFlags
Definition ObjectHeader2.h:31
@ TimeOneNans
1 nano second timestamp
Definition ObjectHeader2.h:47
@ TimeTenMics
10 micro second timestamp
Definition ObjectHeader2.h:39
uint8_t reservedObjectHeader
Definition ObjectHeader2.h:91
void read(AbstractFile &is) override
Definition ObjectHeader2.cpp:14
uint32_t objectFlags
object flags
Definition ObjectHeader2.h:55
uint32_t calculateObjectSize() const override
Definition ObjectHeader2.cpp:45
uint16_t calculateHeaderSize() const override
Definition ObjectHeader2.cpp:34
void write(AbstractFile &os) override
Definition ObjectHeader2.cpp:24
uint16_t objectVersion
object specific version
Definition ObjectHeader2.h:102
uint8_t timeStampStatus
time stamp status
Definition ObjectHeader2.h:88
ObjectType objectType
object type
Definition ObjectHeaderBase.h:248