nx_metadata_sdk 1.0 Metadata SDK

i_event_metadata.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_metadata.h"
8
9 namespace nx {
10 namespace sdk {
11 namespace analytics {
12
13 class IEventMetadata0: public Interface<IEventMetadata0, IMetadata0>
14 {
15 public:
16 static auto interfaceId() { return makeId("nx::sdk::analytics::IEventMetadata"); }
17
21 virtual const char* caption() const = 0;
22
26 virtual const char* description() const = 0;
27
31 virtual bool isActive() const = 0;
32 };
33
34 class IEventMetadata1: public Interface<IEventMetadata1, IEventMetadata0>
35 {
36 public:
37 static auto interfaceId() { return makeId("nx::sdk::analytics::IEventMetadata1"); }
38
40 protected: virtual void getTrackId(Uuid* outValue) const = 0;
46 public: Uuid trackId() const { Uuid value; getTrackId(&value); return value; }
47 };
48
49 class IEventMetadata: public Interface<IEventMetadata, IEventMetadata1>
50 {
51 public:
52 static auto interfaceId() { return makeId("nx::sdk::analytics::IEventMetadata2"); }
53
63 virtual const char* key() const = 0;
64 };
65 using IEventMetadata2 = IEventMetadata;
66
67 } // namespace analytics
68 } // namespace sdk
69 } // namespace nx
nx::sdk::analytics::IEventMetadata0::caption
virtual const char * caption() const =0
nx::sdk::analytics::IEventMetadata0::description
virtual const char * description() const =0
nx::sdk::Interface
Definition: interface.h:49
nx::sdk::analytics::IEventMetadata0::isActive
virtual bool isActive() const =0
nx::sdk::analytics::IEventMetadata0
Definition: i_event_metadata.h:13
nx::sdk::analytics::IEventMetadata::key
virtual const char * key() const =0
nx::sdk::analytics::IEventMetadata1::getTrackId
virtual void getTrackId(Uuid *outValue) const =0
nx::sdk::Uuid
Definition: uuid.h:22
nx::sdk::analytics::IEventMetadata1
Definition: i_event_metadata.h:34
nx::sdk::analytics::IEventMetadata
Definition: i_event_metadata.h:49
nx
Definition: apple_utils.h:6
nx::sdk::analytics::IEventMetadata1::trackId
Uuid trackId() const
Definition: i_event_metadata.h:46