nx_server_plugin_sdk  1.0
Server Plugin SDK
Public Member Functions | Static Public Member Functions | List of all members
nx::sdk::IIntegration Class Referenceabstract

#include <i_integration.h>

Inheritance diagram for nx::sdk::IIntegration:
nx::sdk::Interface< IIntegration > nx::sdk::IRefCountable nx::sdk::Interface< IIntegration, nx::sdk::IIntegration > nx::sdk::Interface< IIntegration, nx::sdk::IIntegration0 > nx::sdk::RefCountable< IIntegration > nx::sdk::cloud_storage::IIntegration nx::sdk::analytics::IIntegration nx::sdk::analytics::Integration nx::sdk::RefCountable< nx::sdk::cloud_storage::IIntegration > 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 Member Functions

virtual void setUtilityProvider (IUtilityProvider *utilityProvider)=0
 
- 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
 
virtual int addRef () const =0
 
virtual int releaseRef () const =0
 
int refCountThreadUnsafe () const
 

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< IIntegration >
virtual IRefCountablequeryInterface (const IRefCountable::InterfaceId *id) override
 
IRefCountablequeryInterfaceSupportingDeprecatedId (const IRefCountable::InterfaceId *id, const Uuid &deprecatedInterfaceId)
 
- 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 interface for derived interfaces representing various Integration types. Objects implementing such interfaces are created in the plugins by exported functions declared in nx/sdk/entry_points.h, and are destroyed (via releaseRef()) on the process shutdown. Such object acts as a starting point for all Integration features - they are accessible via other objects created by this one.

All methods of all Integration objects and objects that they create, directly or indirectly, are guaranteed to be called without overlapping even if from different threads (i.e. with a guaranteed fence between the calls), thus, no synchronization is required for the implementation.

Member Function Documentation

◆ setUtilityProvider()

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

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.

Implemented in nx::sdk::analytics::Integration, nx::vms_server_plugins::cloud_storage::stub::Integration, and nx::vms_server_plugins::cloud_storage::sample::Integration.


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