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 };
64 
65 } // namespace nx::sdk::analytics
virtual const char * caption() const =0
virtual const char * description() const =0
Definition: interface.h:48
virtual bool isActive() const =0
Definition: i_event_metadata.h:11
virtual const char * key() const =0
Definition: consuming_device_agent.cpp:21
virtual void getTrackId(Uuid *outValue) const =0
Definition: uuid.h:21
Definition: i_event_metadata.h:32
Definition: i_event_metadata.h:47
Uuid trackId() const
Definition: i_event_metadata.h:44