stub_analytics_plugin  1.6
Network Optix Video Analytics SDK
i_device_agent.h
1 #pragma once
2 
3 #include <nx/sdk/interface.h>
4 #include <nx/sdk/error.h>
5 #include <nx/sdk/i_string_map.h>
6 #include <nx/sdk/i_string.h>
7 #include <nx/sdk/i_plugin_event.h>
8 #include <nx/sdk/analytics/i_metadata_types.h>
9 #include <nx/sdk/analytics/i_metadata_packet.h>
10 
11 namespace nx {
12 namespace sdk {
13 namespace analytics {
14 
15 // TODO: Consider renaming and moving. Used by MetadataHandler::getParamValue().
16 static const int NX_NO_ERROR = 0;
17 static const int NX_UNKNOWN_PARAMETER = -41;
18 static const int NX_MORE_DATA = -23;
19 
20 class IEngine; //< Forward declaration for the parent object.
21 
28 class IDeviceAgent: public Interface<IDeviceAgent>
29 {
30 public:
31  static auto interfaceId() { return InterfaceId("nx::sdk::analytics::IDeviceAgent"); }
32 
33  class IHandler
34  {
35  public:
36  virtual ~IHandler() = default;
37  virtual void handleMetadata(IMetadataPacket* metadataPacket) = 0;
38  virtual void handlePluginEvent(IPluginEvent* event) = 0;
39  };
40 
42  virtual IEngine* engine() const = 0;
43 
52  virtual void setSettings(const IStringMap* settings) = 0;
53 
63  virtual IStringMap* pluginSideSettings() const = 0;
64 
70  virtual const IString* manifest(Error* outError) const = 0;
71 
79  virtual Error setHandler(IHandler* handler) = 0;
80 
86  virtual Error setNeededMetadataTypes(const IMetadataTypes* neededMetadataTypes) = 0;
87 };
88 
89 } // namespace analytics
90 } // namespace sdk
91 } // namespace nx
Definition: i_plugin_event.h:12
Definition: i_ref_countable.h:55
Definition: i_string_map.h:8
virtual IEngine * engine() const =0
Definition: i_metadata_packet.h:17
Definition: interface.h:26
Definition: i_device_agent.h:33
Definition: i_engine.h:30
virtual Error setHandler(IHandler *handler)=0
virtual Error setNeededMetadataTypes(const IMetadataTypes *neededMetadataTypes)=0
Definition: i_metadata_types.h:11
Definition: i_string.h:8
Definition: debug.cpp:13
Definition: i_device_agent.h:28
virtual IStringMap * pluginSideSettings() const =0
virtual const IString * manifest(Error *outError) const =0
virtual void setSettings(const IStringMap *settings)=0