nx_server_plugin_sdk  1.0
Server Plugin SDK
Public Types | Public Member Functions | Protected Member Functions | List of all members
nx::sdk::analytics::Integration Class Reference

#include <integration.h>

Inheritance diagram for nx::sdk::analytics::Integration:
nx::sdk::RefCountable< IIntegration > nx::sdk::IIntegration nx::sdk::Interface< IIntegration > nx::sdk::IRefCountable nx::vms_server_plugins::analytics::sample::Integration nx::vms_server_plugins::analytics::stub::best_shots::Integration nx::vms_server_plugins::analytics::stub::custom_metadata::Integration nx::vms_server_plugins::analytics::stub::diagnostic_events::Integration nx::vms_server_plugins::analytics::stub::error_reporting::Integration nx::vms_server_plugins::analytics::stub::events::Integration nx::vms_server_plugins::analytics::stub::http_requests::Integration nx::vms_server_plugins::analytics::stub::motion_metadata::Integration nx::vms_server_plugins::analytics::stub::object_actions::Integration nx::vms_server_plugins::analytics::stub::object_detection::Integration nx::vms_server_plugins::analytics::stub::object_streamer::Integration nx::vms_server_plugins::analytics::stub::roi::Integration nx::vms_server_plugins::analytics::stub::sdk_features::Integration nx::vms_server_plugins::analytics::stub::settings::Integration nx::vms_server_plugins::analytics::stub::special_objects::Integration nx::vms_server_plugins::analytics::stub::taxonomy_features::Integration nx::vms_server_plugins::analytics::stub::video_frames::Integration

Public Types

using CreateEngine = std::function< IEngine *(Integration *integration)>
 

Public Member Functions

 Integration (std::string integrationManifest, CreateEngine createEngine)
 
Ptr< IUtilityProviderutilityProvider () const
 
virtual std::string instanceId () const
 
virtual void setUtilityProvider (IUtilityProvider *utilityProvider) override
 
- Public Member Functions inherited from nx::sdk::RefCountable< IIntegration >
 RefCountable (const RefCountable &)=delete
 
 RefCountable (RefCountable &&)=delete
 
RefCountableoperator= (const RefCountable &)=delete
 
RefCountableoperator= (RefCountable &&)=delete
 
virtual int addRef () const override
 
virtual int releaseRef () const override
 
int refCount () const
 
- Public Member Functions inherited from nx::sdk::Interface< IIntegration >
virtual IRefCountablequeryInterface (const InterfaceId *id)
 
Ptr< InterfacequeryInterface ()
 
Ptr< const InterfacequeryInterface () const
 
- Public Member Functions inherited from nx::sdk::IRefCountable
virtual ~IRefCountable ()=default
 
template<class Interface >
Ptr< InterfacequeryInterface ()
 
template<class Interface >
Ptr< const InterfacequeryInterface () const
 
int refCountThreadUnsafe () const
 

Protected Member Functions

virtual Result< IEngine * > doObtainEngine ()
 
virtual std::string manifestString () const
 
virtual void getManifest (Result< const IString *> *outResult) const override
 
virtual void doCreateEngine (Result< IEngine *> *outResult) override
 
- Protected Member Functions inherited from nx::sdk::Interface< IIntegration >
virtual IRefCountablequeryInterface (const IRefCountable::InterfaceId *id) override
 
IRefCountablequeryInterfaceSupportingDeprecatedId (const IRefCountable::InterfaceId *id, const Uuid &deprecatedInterfaceId)
 

Additional Inherited Members

- Static Public Member Functions inherited from nx::sdk::IIntegration
static auto interfaceId ()
 
- Static Public Member Functions inherited from nx::sdk::IRefCountable
static auto interfaceId ()
 
- Static Protected Member Functions inherited from nx::sdk::IRefCountable
template<int len>
static const InterfaceIdmakeId (const char(&charArray)[len])
 
template<int len, int alternativeLen>
static std::vector< const InterfaceId * > makeIdWithAlternative (const char(&charArray)[len], const char(&alternativeCharArray)[alternativeLen])
 
template<class TemplateInstance , class TemplateArg , int len>
static const InterfaceIdmakeIdForTemplate (const char(&baseIdCharArray)[len])
 
static std::vector< const InterfaceId * > alternativeInterfaceIds (const InterfaceId *id)
 
static std::vector< const InterfaceId * > alternativeInterfaceIds (std::vector< const InterfaceId *> ids)
 

Detailed Description

Base class for a typical implementation of an Analytics Integration. Hides many technical details of the SDK, but may limit plugin capabilities - use only when suitable.

Constructor & Destructor Documentation

◆ Integration()

nx::sdk::analytics::Integration::Integration ( std::string  integrationManifest,
CreateEngine  createEngine 
)

Allows to use this class directly without inhering it.

Deprecated:
Instead of using this constructor, create a subclass, override doObtainEngine() and manifestString().
Parameters
integrationManifestIntegration manifest to be returned from manifest().
createEngineFunctor for Engine creation.

Member Function Documentation

◆ doObtainEngine()

Result< IEngine * > nx::sdk::analytics::Integration::doObtainEngine ( )
protectedvirtual

◆ instanceId()

virtual std::string nx::sdk::analytics::Integration::instanceId ( ) const
inlinevirtual

◆ setUtilityProvider()

void nx::sdk::analytics::Integration::setUtilityProvider ( IUtilityProvider utilityProvider)
overridevirtual

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

For the details, see the documentation for IUtilityProvider.

Implements nx::sdk::IIntegration.


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