nx_metadata_sdk
1.0
Metadata SDK
|
#include <i_plugin.h>
Public Member Functions | |
Result< IDeviceManager * > | createDeviceManager (const char *url, const IDeviceManager::IDeviceManagerHandler *deviceManagerHandler) |
virtual const char * | id () const =0 |
![]() | |
virtual IRefCountable * | queryInterface (const InterfaceId *id) |
Ptr< Interface > | queryInterface () |
Ptr< const Interface > | queryInterface () const |
![]() | |
virtual void | setUtilityProvider (IUtilityProvider *utilityProvider)=0 |
![]() | |
virtual IRefCountable * | queryInterface (const InterfaceId *id) |
Ptr< Interface > | queryInterface () |
Ptr< const Interface > | queryInterface () const |
![]() | |
virtual | ~IRefCountable ()=default |
template<class Interface > | |
Ptr< Interface > | queryInterface () |
template<class Interface > | |
Ptr< const Interface > | queryInterface () const |
virtual int | addRef () const =0 |
virtual int | releaseRef () const =0 |
int | refCountThreadUnsafe () const |
Static Public Member Functions | |
static constexpr auto | interfaceId () |
![]() | |
static auto | interfaceId () |
![]() | |
static auto | interfaceId () |
Protected Member Functions | |
virtual void | doCreateDeviceManager (const char *url, const IDeviceManager::IDeviceManagerHandler *deviceManagerHandler, Result< IDeviceManager *> *outResult)=0 |
![]() | |
virtual IRefCountable * | queryInterface (const IRefCountable::InterfaceId *id) override |
IRefCountable * | queryInterfaceSupportingDeprecatedId (const IRefCountable::InterfaceId *id, const Uuid &deprecatedInterfaceId) |
![]() | |
IRefCountable * | queryInterfaceSupportingDeprecatedId (const IRefCountable::InterfaceId *id, const Uuid &deprecatedInterfaceId) |
Additional Inherited Members | |
![]() | |
typedef IPlugin *(* | EntryPointFunc) () |
typedef IPlugin *(* | MultiEntryPointFunc) (int instanceIndex) |
![]() | |
static constexpr const char * | kEntryPointFuncName = "createNxPlugin" |
static constexpr const char * | kMultiEntryPointFuncName = "createNxPluginByIndex" |
![]() | |
template<int len> | |
static constexpr const InterfaceId * | makeId (const char(&charArray)[len]) |
template<class TemplateInstance , class TemplateArg , int len> | |
static const InterfaceId * | makeIdForTemplate (const char(&baseIdCharArray)[len]) |
The Nx archive streaming/recording plugin SDK. It is conceived as an alternative to the Nx Storage SDK for those cases when underlying implementation is stream based rather than file system (in a broader sense of this notion) based. Plug-ins which implement this SDK are used seamlessly by Nx VMS along with storage ones. 'Seamlessly' in this context means that from the Nx User point of view video recording and playback should look the same whether the conventional storages or stream based are used.Plugin main class.
|
inline |
Plugin should create device managers only for urls which has it's id() as a scheme.
|
protectedpure virtual |
Provides an object for streaming/recording devices management.
|
pure virtual |
Plugin identificator. Should correspond to the scheme of the url accepted by createDeviceManager() function. For example if id == my_cloud_e4f09, than url will look like my_cloud_e4f09://login:passw. ord@ 10.20 .101 .31