nx_metadata_sdk 1.0 Metadata SDK

i_event_metadata_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 <nx/sdk/interface.h>
6
7 #include "i_compound_metadata_packet.h"
8 #include "i_event_metadata.h"
9
10 namespace nx::sdk::analytics {
11
15 class IEventMetadataPacket0: public Interface<IEventMetadataPacket0, ICompoundMetadataPacket0>
16 {
17 public:
18 static auto interfaceId() { return makeId("nx::sdk::analytics::IEventMetadataPacket"); }
19
21 protected: virtual const IEventMetadata* getAt(int index) const override = 0;
22 public: Ptr<const IEventMetadata> at(int index) const { return Ptr(getAt(index)); }
23 };
24
25 class IEventMetadataPacket: public Interface<IEventMetadataPacket, IEventMetadataPacket0>
26 {
27 public:
28 static auto interfaceId() { return makeId("nx::sdk::analytics::IEventMetadataPacket1"); }
29
30 virtual Flags flags() const = 0;
31 };
32 using IEventMetadataPacket1 = IEventMetadataPacket;
33
34 } // namespace nx::sdk::analytics
nx::sdk::analytics::IEventMetadataPacket0
Definition: i_event_metadata_packet.h:15
nx::sdk::Interface
Definition: interface.h:48
nx::sdk::Ptr
Definition: ptr.h:18
nx::sdk::analytics::IEventMetadataPacket0::getAt
virtual const IEventMetadata * getAt(int index) const override=0
nx::sdk::analytics
Definition: consuming_device_agent.cpp:24
nx::sdk::analytics::IEventMetadataPacket
Definition: i_event_metadata_packet.h:25
nx::sdk::analytics::IEventMetadata
Definition: i_event_metadata.h:47