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 {
14 namespace sdk {
15 namespace analytics {
16 
17 class IConsumingDeviceAgent0: public Interface<IConsumingDeviceAgent0, IDeviceAgent0>
18 {
19 public:
20  static auto interfaceId() { return makeId("nx::sdk::analytics::IConsumingDeviceAgent"); }
21 
23  protected: virtual void doPushDataPacket(Result<void>* outResult, IDataPacket* dataPacket) = 0;
30  {
31  Result<void> result;
32  doPushDataPacket(&result, dataPacket);
33  return result;
34  }
35 };
36 
37 class IConsumingDeviceAgent1: public Interface<IConsumingDeviceAgent1, IConsumingDeviceAgent0>
38 {
39 public:
40  static auto interfaceId() { return makeId("nx::sdk::analytics::IConsumingDeviceAgent1"); }
41 
45  virtual void finalize() = 0;
46 };
47 
51 class IConsumingDeviceAgent: public Interface<IConsumingDeviceAgent, IConsumingDeviceAgent1>
52 {
53 public:
54  static auto interfaceId() { return makeId("nx::sdk::analytics::IConsumingDeviceAgent2"); }
55 
57  protected: virtual void doGetSettingsOnActiveSettingChange(
59  const IActiveSettingChangedAction* activeSettingChangeAction) = 0;
72  const IActiveSettingChangedAction* activeSettingChangeAction)
73  {
75  doGetSettingsOnActiveSettingChange(&result, activeSettingChangeAction);
76  return result;
77  }
78 };
79 using IConsumingDeviceAgent2 = IConsumingDeviceAgent;
80 
81 } // namespace analytics
82 } // namespace sdk
83 } // namespace nx
Definition: i_active_setting_changed_action.h:15
Definition: i_consuming_device_agent.h:37
Definition: interface.h:49
Definition: i_consuming_device_agent.h:17
Definition: result.h:81
Definition: result.h:47
Definition: apple_utils.h:6
Result< const IActiveSettingChangedResponse * > getSettingsOnActiveSettingChange(const IActiveSettingChangedAction *activeSettingChangeAction)
Definition: i_consuming_device_agent.h:71
virtual void doPushDataPacket(Result< void > *outResult, IDataPacket *dataPacket)=0
virtual void doGetSettingsOnActiveSettingChange(Result< const IActiveSettingChangedResponse *> *outResult, const IActiveSettingChangedAction *activeSettingChangeAction)=0
Result< void > pushDataPacket(IDataPacket *dataPacket)
Definition: i_consuming_device_agent.h:29
Definition: i_consuming_device_agent.h:51
Definition: i_data_packet.h:17