stub_analytics_plugin  1.6
Network Optix Video Analytics SDK
i_plugin.h
1 #pragma once
2 
3 #include <nx/sdk/interface.h>
4 #include <nx/sdk/error.h>
5 #include <nx/sdk/i_string.h>
6 #include <nx/sdk/i_plugin.h>
7 
8 #include "i_engine.h"
9 
10 namespace nx {
11 namespace sdk {
12 namespace analytics {
13 
17 class IPlugin: public Interface<IPlugin, nx::sdk::IPlugin>
18 {
19 public:
20  static auto interfaceId() { return InterfaceId("nx::sdk::analytics::IPlugin"); }
21 
27  virtual const IString* manifest(Error* outError) const = 0;
28 
35  virtual IEngine* createEngine(Error* outError) = 0;
36 
40  virtual const char* name() const override = 0;
41 };
42 
43 } // namespace analytics
44 } // namespace sdk
45 } // namespace nx
Definition: i_ref_countable.h:55
Definition: interface.h:26
Definition: i_plugin.h:17
Definition: i_engine.h:30
virtual const char * name() const override=0
Definition: i_string.h:8
Definition: debug.cpp:13
virtual const IString * manifest(Error *outError) const =0
virtual IEngine * createEngine(Error *outError)=0