stub_analytics_plugin  1.6
Network Optix Video Analytics SDK
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
nx::sdk::IPlugin Class Referenceabstract

#include <i_plugin.h>

Inheritance diagram for nx::sdk::IPlugin:
nx::sdk::Interface< IPlugin > nx::sdk::IRefCountable nx::sdk::Interface< IPlugin, nx::sdk::IPlugin > nx::sdk::RefCountable< IPlugin > nx::sdk::analytics::IPlugin nx::sdk::analytics::Plugin

Public Types

typedef IPlugin *(* EntryPointFunc) ()
 

Public Member Functions

virtual const char * name () const =0
 
virtual void setUtilityProvider (IUtilityProvider *utilityProvider)=0
 
- Public Member Functions inherited from nx::sdk::Interface< IPlugin >
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 ()
 

Static Public Attributes

static constexpr const char * kEntryPointFuncName = "createNxPlugin"
 

Additional Inherited Members

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

Detailed Description

The main interface that any VMS Plugin implements. The plugin's dynamic library should export only an extern-C function with the name and prototype defined in this interface, which acts as a getter/factory for a single object implementing this interface.

The only object of this class is created by a Server on its start, and is destroyed (via releaseRef()) on the Server shutdown.

Member Typedef Documentation

◆ EntryPointFunc

typedef IPlugin*(* nx::sdk::IPlugin::EntryPointFunc) ()

Prototype of a plugin entry point function.

Member Function Documentation

◆ name()

virtual const char* nx::sdk::IPlugin::name ( ) const
pure virtual

Name of the plugin, used for information purpose only.

Implemented in nx::sdk::analytics::Plugin, and nx::sdk::analytics::IPlugin.

◆ setUtilityProvider()

virtual void nx::sdk::IPlugin::setUtilityProvider ( IUtilityProvider utilityProvider)
pure virtual

Provides an object which the plugin can use for calling back to access some data and functionality provided by the process that uses the plugin.

For details, see the documentation for IUtilityProvider.

Implemented in nx::sdk::analytics::Plugin.

Member Data Documentation

◆ kEntryPointFuncName

constexpr const char* nx::sdk::IPlugin::kEntryPointFuncName = "createNxPlugin"
static

Name of a plugin entry point function.


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