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_event_metadata.h"
8 #include "i_compound_metadata_packet.h"
9 
10 namespace nx {
11 namespace sdk {
12 namespace analytics {
13 
17 class IEventMetadataPacket: public Interface<IEventMetadataPacket, ICompoundMetadataPacket>
18 {
19 public:
20  static auto interfaceId() { return makeId("nx::sdk::analytics::IEventMetadataPacket"); }
21 
23  protected: virtual const IEventMetadata* getAt(int index) const override = 0;
24  public: Ptr<const IEventMetadata> at(int index) const { return toPtr(getAt(index)); }
25 };
26 
27 } // namespace analytics
28 } // namespace sdk
29 } // namespace nx
Definition: interface.h:28
Definition: ptr.h:18
Definition: i_event_metadata_packet.h:17
virtual const IEventMetadata * getAt(int index) const override=0
Definition: i_event_metadata.h:13
Definition: apple_utils.h:6