nx_server_plugin_sdk  1.0
Server Plugin SDK
Public Member Functions | List of all members
nxpl::PluginInterface Class Referenceabstract

Base class for every interface, provided by plugin. More...

#include <plugin_api.h>

Inheritance diagram for nxpl::PluginInterface:
AxisCameraPlugin ImageLibraryPlugin nx_spl::FileInfoIterator nx_spl::IODevice nx_spl::Storage nx_spl::StorageFactory nxcip::BaseCameraManager nxcip::CameraDiscoveryManager nxcip::CameraInputEventHandler nxcip::CameraMediaEncoder nxcip::CameraMotionDataProvider nxcip::CameraPtzManager nxcip::CameraRelayIOManager nxcip::DtsArchiveReader nxcip::MediaDataPacket nxcip::Picture nxcip::StreamReader nxcip::TimePeriods nxpl::Plugin

Public Member Functions

virtual void * queryInterface (const nxpl::NX_GUID &interfaceID)=0
 Cast to type, specified by interfaceID. More...
 
virtual int addRef () const =0
 Increment reference counter. More...
 
virtual int releaseRef () const =0
 Decrement reference counter. More...
 

Detailed Description

Base class for every interface, provided by plugin.

Responsible for object life-time tracking and up-cast

Life-time tracking is done by using reference counter which is altered by addRef and releaseRef methods Every object has reference count of 1 just after creation. When reference counter reaches zero, object MUST remove itself

Member Function Documentation

◆ addRef()

virtual int nxpl::PluginInterface::addRef ( ) const
pure virtual

◆ queryInterface()

virtual void* nxpl::PluginInterface::queryInterface ( const nxpl::NX_GUID interfaceID)
pure virtual

◆ releaseRef()

virtual int nxpl::PluginInterface::releaseRef ( ) const
pure virtual

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