stub_analytics_plugin  1.6
Network Optix Video Analytics SDK
Classes | Public Member Functions | Static Public Member Functions | List of all members
nx::sdk::analytics::IDeviceAgent Class Referenceabstract

#include <i_device_agent.h>

Inheritance diagram for nx::sdk::analytics::IDeviceAgent:
nx::sdk::Interface< IDeviceAgent > nx::sdk::IRefCountable

Classes

class  IHandler
 

Public Member Functions

virtual IEngineengine () const =0
 
virtual void setSettings (const IStringMap *settings)=0
 
virtual IStringMappluginSideSettings () const =0
 
virtual const IStringmanifest (Error *outError) const =0
 
virtual Error setHandler (IHandler *handler)=0
 
virtual Error setNeededMetadataTypes (const IMetadataTypes *neededMetadataTypes)=0
 
- Public Member Functions inherited from nx::sdk::Interface< IDeviceAgent >
virtual IRefCountablequeryInterface (IRefCountable::InterfaceId id) override
 
virtual IRefCountablequeryInterface (InterfaceId id)
 
const IRefCountablequeryInterface (InterfaceId id) const
 
InterfacequeryInterface ()
 
const InterfacequeryInterface () const
 
- Public Member Functions inherited from nx::sdk::IRefCountable
virtual ~IRefCountable ()=default
 
const IRefCountablequeryInterface (InterfaceId id) const
 
template<class Interface >
InterfacequeryInterface ()
 
template<class Interface >
const InterfacequeryInterface () const
 
virtual int addRef () const =0
 
virtual int releaseRef () const =0
 

Static Public Member Functions

static auto interfaceId ()
 
- Static Public Member Functions inherited from nx::sdk::IRefCountable
static auto interfaceId ()
 

Additional Inherited Members

- Protected Member Functions inherited from nx::sdk::Interface< IDeviceAgent >
IRefCountablequeryInterfaceSupportingDeprecatedId (IRefCountable::InterfaceId id, const Uuid &deprecatedInterfaceId)
 

Detailed Description

Used to control the process of fetching metadata from the resource.

All methods are guaranteed to be called without overlappings, even if from different threads, thus, no synchronization is required for the implementation.

Member Function Documentation

◆ engine()

virtual IEngine* nx::sdk::analytics::IDeviceAgent::engine ( ) const
pure virtual
Returns
Parent Engine.

◆ manifest()

virtual const IString* nx::sdk::analytics::IDeviceAgent::manifest ( Error *  outError) const
pure virtual

Provides DeviceAgent manifest in JSON format.

Parameters
outErrorStatus of the operation; is set to noError before this call.
Returns
JSON string in UTF-8.

◆ pluginSideSettings()

virtual IStringMap* nx::sdk::analytics::IDeviceAgent::pluginSideSettings ( ) const
pure virtual

In addition to the settings stored in a Server database, a DeviceAgent can have some settings which are stored somewhere "under the hood" of the Engine, e.g. on a device acting as a DeviceAgent's backend. Such settings do not need to be explicitly marked in the Settings Model, but every time the Server offers the user to edit the values, it calls this method and merges the received values with the ones in its database.

Returns
DeviceAgent settings that are stored on the plugin side.

◆ setHandler()

virtual Error nx::sdk::analytics::IDeviceAgent::setHandler ( IHandler handler)
pure virtual
Parameters
handlerProcesses event metadata and object metadata fetched by DeviceAgent. DeviceAgent should fetch events metadata after setNeededMetadataTypes() call. Generic device related events (errors, warning, info messages) might also be reported via this handler.
Returns
noError in case of success, other value otherwise.

◆ setNeededMetadataTypes()

virtual Error nx::sdk::analytics::IDeviceAgent::setNeededMetadataTypes ( const IMetadataTypes neededMetadataTypes)
pure virtual

Sets a list of metadata types that are needed by the Server. Empty list means that the Server does not need any metadata from this DeviceAgent.

Parameters
neededMetadataTypesLists of type ids of events and objects.

◆ setSettings()

virtual void nx::sdk::analytics::IDeviceAgent::setSettings ( const IStringMap settings)
pure virtual

Called before other methods. Server provides the set of settings stored in its database, combined with the values received from the plugin via pluginSideSettings() (if any), for the combination of a device instance and an Engine instance.

Parameters
settingsValues of settings declared in the manifest. Never null. Valid only during the call.

The documentation for this class was generated from the following file: