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_engine_info.h"
11 #include "i_action.h"
12 
13 namespace nx {
14 namespace sdk {
15 namespace analytics {
16 
17 class IPlugin; //< Forward declaration for the parent object.
18 
31 class IEngine: public Interface<IEngine>
32 {
33 public:
34  static auto interfaceId() { return InterfaceId("nx::sdk::analytics::IEngine"); }
35 
36  class IHandler
37  {
38  public:
39  virtual ~IHandler() = default;
40  virtual void handlePluginEvent(IPluginEvent* event) = 0;
41  };
42 
44  virtual IPlugin* plugin() const = 0;
45 
50  virtual void setEngineInfo(const IEngineInfo* engineInfo) = 0;
51 
60  virtual void setSettings(const IStringMap* settings) = 0;
61 
72  virtual IStringMap* pluginSideSettings() const = 0;
73 
84  virtual const IString* manifest(Error* outError) const = 0;
85 
90  virtual bool isCompatible(const IDeviceInfo* deviceInfo) const = 0;
91 
101  virtual IDeviceAgent* obtainDeviceAgent(const IDeviceInfo* deviceInfo, Error* outError) = 0;
102 
111  virtual void executeAction(IAction* action, Error* outError) = 0;
112 
117  virtual Error setHandler(IHandler* handler) = 0;
118 };
119 
120 } // namespace analytics
121 } // namespace sdk
122 } // 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
virtual void setEngineInfo(const IEngineInfo *engineInfo)=0
Definition: i_engine.h:31
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:12
Definition: i_device_agent.h:28
Definition: i_engine_info.h:10
Definition: i_engine.h:36
virtual void setSettings(const IStringMap *settings)=0