nx_metadata_sdk
1.0
Metadata SDK
|
#include <i_plugin.h>
Public Types | |
typedef IPlugin *(* | EntryPointFunc) () |
Public Member Functions | |
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 auto | interfaceId () |
![]() | |
static auto | interfaceId () |
Static Public Attributes | |
static constexpr const char * | kEntryPointFuncName = "createNxPlugin" |
Additional Inherited Members | |
![]() | |
virtual IRefCountable * | queryInterface (const IRefCountable::InterfaceId *id) override |
IRefCountable * | queryInterfaceSupportingDeprecatedId (const IRefCountable::InterfaceId *id, const Uuid &deprecatedInterfaceId) |
![]() | |
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 main interface that any VMS Plugin implements. The plugin's dynamic library should export only an extern-C function with the name and prototype defined in this interface, which acts as a getter/factory for a single object implementing this interface.
The only object of this class is created by a Server on its start, and is destroyed (via releaseRef()) on the Server shutdown.
All methods are guaranteed to be called without overlapping even if from different threads (i.e. with a guaranteed barrier between the calls), thus, no synchronization is required for the implementation.
typedef IPlugin*(* nx::sdk::IPlugin::EntryPointFunc) () |
Prototype of a plugin entry point function.
|
pure virtual |
Provides an object which the plugin can use for calling back to access some data and functionality provided by the process that uses the plugin.
For details, see the documentation for IUtilityProvider.
Implemented in nx::sdk::analytics::Plugin.
|
static |
Name of a plugin entry point function.