nx_metadata_sdk  1.0
Metadata SDK
i_consuming_device_agent.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 <nx/sdk/i_active_setting_changed_action.h>
8 #include <nx/sdk/i_active_setting_changed_response.h>
9 
10 #include "i_data_packet.h"
11 #include "i_device_agent.h"
12 
13 namespace nx::sdk::analytics {
14 
15 class IConsumingDeviceAgent0: public Interface<IConsumingDeviceAgent0, IDeviceAgent0>
16 {
17 public:
18  static auto interfaceId() { return makeId("nx::sdk::analytics::IConsumingDeviceAgent"); }
19 
21  protected: virtual void doPushDataPacket(Result<void>* outResult, IDataPacket* dataPacket) = 0;
28  {
29  Result<void> result;
30  doPushDataPacket(&result, dataPacket);
31  return result;
32  }
33 };
34 
35 class IConsumingDeviceAgent1: public Interface<IConsumingDeviceAgent1, IConsumingDeviceAgent0>
36 {
37 public:
38  static auto interfaceId() { return makeId("nx::sdk::analytics::IConsumingDeviceAgent1"); }
39 
43  virtual void finalize() = 0;
44 };
45 
49 class IConsumingDeviceAgent: public Interface<IConsumingDeviceAgent, IConsumingDeviceAgent1>
50 {
51 public:
52  static auto interfaceId() { return makeId("nx::sdk::analytics::IConsumingDeviceAgent2"); }
53 
55  protected: virtual void doGetSettingsOnActiveSettingChange(
57  const IActiveSettingChangedAction* activeSettingChangedAction) = 0;
70  const IActiveSettingChangedAction* activeSettingChangedAction)
71  {
73  doGetSettingsOnActiveSettingChange(&result, activeSettingChangedAction);
74  return result;
75  }
76 };
77 using IConsumingDeviceAgent2 = IConsumingDeviceAgent;
78 
79 } // namespace nx::sdk::analytics
Definition: i_active_setting_changed_action.h:14
Definition: i_consuming_device_agent.h:35
Definition: interface.h:48
Result< const IActiveSettingChangedResponse * > getSettingsOnActiveSettingChange(const IActiveSettingChangedAction *activeSettingChangedAction)
Definition: i_consuming_device_agent.h:69
virtual void doGetSettingsOnActiveSettingChange(Result< const IActiveSettingChangedResponse *> *outResult, const IActiveSettingChangedAction *activeSettingChangedAction)=0
Definition: consuming_device_agent.cpp:21
Definition: i_consuming_device_agent.h:15
Definition: result.h:80
Definition: result.h:46
virtual void doPushDataPacket(Result< void > *outResult, IDataPacket *dataPacket)=0
Result< void > pushDataPacket(IDataPacket *dataPacket)
Definition: i_consuming_device_agent.h:27
Definition: i_consuming_device_agent.h:49
Definition: i_data_packet.h:15