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::sdk::analytics {
10
11 class IEventMetadata0: public Interface<IEventMetadata0, IMetadata0>
12 {
13 public:
14 static auto interfaceId() { return makeId("nx::sdk::analytics::IEventMetadata"); }
15
19 virtual const char* caption() const = 0;
20
24 virtual const char* description() const = 0;
25
29 virtual bool isActive() const = 0;
30 };
31
32 class IEventMetadata1: public Interface<IEventMetadata1, IEventMetadata0>
33 {
34 public:
35 static auto interfaceId() { return makeId("nx::sdk::analytics::IEventMetadata1"); }
36
38 protected: virtual void getTrackId(Uuid* outValue) const = 0;
44 public: Uuid trackId() const { Uuid value; getTrackId(&value); return value; }
45 };
46
47 class IEventMetadata: public Interface<IEventMetadata, IEventMetadata1>
48 {
49 public:
50 static auto interfaceId() { return makeId("nx::sdk::analytics::IEventMetadata2"); }
51
61 virtual const char* key() const = 0;
62 };
63 using IEventMetadata2 = IEventMetadata;
64
65 } // namespace nx::sdk::analytics
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:48
nx::sdk::analytics::IEventMetadata0::isActive
virtual bool isActive() const =0
nx::sdk::analytics::IEventMetadata0
Definition: i_event_metadata.h:11
nx::sdk::analytics::IEventMetadata::key
virtual const char * key() const =0
nx::sdk::analytics
Definition: consuming_device_agent.cpp:24
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:32
nx::sdk::analytics::IEventMetadata
Definition: i_event_metadata.h:47
nx::sdk::analytics::IEventMetadata1::trackId
Uuid trackId() const
Definition: i_event_metadata.h:44