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:

## Public Member Functions
virtual void | setUtilityProvider (IUtilityProvider *utilityProvider)=0
Public Member Functions inherited from nx::sdk::Interface< IIntegration >
virtual IRefCountable * | queryInterface (const InterfaceId *id)
Ptr< Interface > | queryInterface ()
Ptr< const Interface > | queryInterface () const
Public Member Functions inherited from nx::sdk::IRefCountable
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 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 IRefCountable * | queryInterface (const IRefCountable::InterfaceId *id) override
IRefCountable * | queryInterfaceSupportingDeprecatedId (const IRefCountable::InterfaceId *id, const Uuid &deprecatedInterfaceId)
Static Protected Member Functions inherited from nx::sdk::IRefCountable
template<int len>
static const InterfaceId * | makeId (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 InterfaceId * | makeIdForTemplate (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:

- src/nx/sdk/i_integration.h