stub_analytics_plugin  1.6
Network Optix Video Analytics SDK
i_engine.h
1 #pragma once
2 
3 #include <nx/sdk/interface.h>
4 
5 #include <nx/sdk/i_device_info.h>
6 #include <nx/sdk/i_string.h>
7 #include <nx/sdk/i_plugin_event.h>
8 
9 #include "i_device_agent.h"
10 #include "i_action.h"
11 
12 namespace nx {
13 namespace sdk {
14 namespace analytics {
15 
16 class IPlugin; //< Forward declaration for the parent object.
17 
30 class IEngine: public Interface<IEngine>
31 {
32 public:
33  static auto interfaceId() { return InterfaceId("nx::sdk::analytics::IEngine"); }
34 
35  class IHandler
36  {
37  public:
38  virtual ~IHandler() = default;
39  virtual void handlePluginEvent(IPluginEvent* event) = 0;
40  };
41 
43  virtual IPlugin* plugin() const = 0;
44 
53  virtual void setSettings(const IStringMap* settings) = 0;
54 
65  virtual IStringMap* pluginSideSettings() const = 0;
66 
77  virtual const IString* manifest(Error* outError) const = 0;
78 
83  virtual bool isCompatible(const IDeviceInfo* deviceInfo) const = 0;
84 
94  virtual IDeviceAgent* obtainDeviceAgent(const IDeviceInfo* deviceInfo, Error* outError) = 0;
95 
104  virtual void executeAction(IAction* action, Error* outError) = 0;
105 
110  virtual Error setHandler(IHandler* handler) = 0;
111 };
112 
113 } // namespace analytics
114 } // namespace sdk
115 } // namespace nx
virtual IPlugin * plugin() const =0
Definition: i_plugin_event.h:12
virtual Error setHandler(IHandler *handler)=0
Definition: i_ref_countable.h:55
Definition: i_string_map.h:8
virtual IDeviceAgent * obtainDeviceAgent(const IDeviceInfo *deviceInfo, Error *outError)=0
virtual const IString * manifest(Error *outError) const =0
Definition: interface.h:26
Definition: i_action.h:17
Definition: i_plugin.h:17
virtual void executeAction(IAction *action, Error *outError)=0
Definition: i_engine.h:30
Definition: i_string.h:8
Definition: i_device_info.h:12
virtual bool isCompatible(const IDeviceInfo *deviceInfo) const =0
virtual IStringMap * pluginSideSettings() const =0
Definition: debug.cpp:13
Definition: i_device_agent.h:28
Definition: i_engine.h:35
virtual void setSettings(const IStringMap *settings)=0