nx_metadata_sdk 1.0 Metadata SDK

i_data_packet.h
1 // Copyright 2018-present Network Optix, Inc. Licensed under MPL 2.0: www.mozilla.org/MPL/2.0/
2
3 #pragma once
4
5 #include <stdint.h>
6
7 #include <nx/kit/flags.h>
8 #include <nx/sdk/interface.h>
9
10 namespace nx {
11 namespace sdk {
12 namespace analytics {
13
17 class IDataPacket: public Interface<IDataPacket>
18 {
19 public:
20 enum class Flags: uint32_t
21 {
22 none = 0,
23
28 cameraClockTimestamp = 1 << 0,
29 };
30
31 public:
32 static auto interfaceId() { return makeId("nx::sdk::analytics::IDataPacket"); }
33
37 virtual int64_t timestampUs() const = 0;
38 };
39 using IDataPacket0 = IDataPacket;
40
41 NX_KIT_ENABLE_FLAGS(IDataPacket::Flags);
42
43 } // namespace analytics
44 } // namespace sdk
45 } // namespace nx
nx::sdk::Interface
Definition: interface.h:49
nx::sdk::analytics::IDataPacket::Flags::cameraClockTimestamp
nx::sdk::analytics::IDataPacket::timestampUs
virtual int64_t timestampUs() const =0
nx::sdk::analytics::IDataPacket::Flags
Flags
Definition: i_data_packet.h:20
nx
Definition: apple_utils.h:6
NX_KIT_ENABLE_FLAGS
#define NX_KIT_ENABLE_FLAGS(ENUM)
Definition: flags.h:78
flags.h
nx::sdk::IRefCountable::makeId
static constexpr const InterfaceId * makeId(const char(&charArray)[len])
Definition: i_ref_countable.h:77
nx::sdk::analytics::IDataPacket
Definition: i_data_packet.h:17