stub_analytics_plugin  1.6
Network Optix Video Analytics SDK
engine.h
1 #pragma once
2 
3 #include <plugins/plugin_api.h>
4 #include <nx/sdk/common.h>
5 
6 #include <nx/sdk/i_string.h>
7 #include <nx/sdk/i_plugin_event.h>
8 
9 #include "device_agent.h"
10 #include "action.h"
11 
12 namespace nx {
13 namespace sdk {
14 namespace analytics {
15 
16 class Plugin; //< Forward declaration for the parent object.
17 
22 static const nxpl::NX_GUID IID_Engine =
23  {{0x4c,0x7b,0xf8,0xbf,0xac,0xf7,0x45,0x72,0x98,0x91,0xaa,0x7e,0xa0,0x56,0xea,0xb5}};
24 
38 {
39 public:
40  class IHandler
41  {
42  public:
43  virtual ~IHandler() = default;
44  virtual void handlePluginEvent(IPluginEvent* event) = 0;
45  };
46 
48  virtual Plugin* plugin() const = 0;
49 
57  virtual void setSettings(const Settings* settings) = 0;
58 
69  virtual Settings* pluginSideSettings() const = 0;
70 
81  virtual const IString* manifest(Error* outError) const = 0;
82 
92  virtual DeviceAgent* obtainDeviceAgent(const DeviceInfo* deviceInfo, Error* outError) = 0;
93 
102  virtual void executeAction(Action* action, Error* outError) = 0;
103 
108  virtual Error setHandler(IHandler* handler) = 0;
109 };
110 
111 } // namespace analytics
112 } // namespace sdk
113 } // namespace nx
virtual Error setHandler(IHandler *handler)=0
Definition: i_plugin_event.h:19
virtual void setSettings(const Settings *settings)=0
virtual const IString * manifest(Error *outError) const =0
Definition: device_agent.h:36
virtual DeviceAgent * obtainDeviceAgent(const DeviceInfo *deviceInfo, Error *outError)=0
Definition: engine.cpp:32
Definition: common.h:6
Base class for every interface, provided by plugin.
Definition: plugin_api.h:38
virtual void executeAction(Action *action, Error *outError)=0
Definition: action.h:22
GUID of plugin interface.
Definition: plugin_api.h:21
virtual Settings * pluginSideSettings() const =0
Definition: i_string.h:15
Definition: debug.cpp:14
virtual Plugin * plugin() const =0
Definition: engine.h:37
Definition: settings.h:15
Definition: plugin.h:27