nx_metadata_sdk
1.0
Metadata SDK
|
#include <i_utility_provider.h>
Public Member Functions | |
virtual int64_t | vmsSystemTimeSinceEpochMs () const =0 |
std::string | homeDir () const |
![]() | |
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 () |
Protected Member Functions | |
virtual const IString * | getHomeDir () const =0 |
![]() | |
virtual IRefCountable * | queryInterface (const IRefCountable::InterfaceId *id) override |
IRefCountable * | queryInterfaceSupportingDeprecatedId (const IRefCountable::InterfaceId *id, const Uuid &deprecatedInterfaceId) |
Additional Inherited Members | |
![]() | |
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]) |
Represents an object which the plugin can use for calling back to access some data and functionality provided by the process that uses the plugin.
To use this object, request an object implementing a particular I...UtilityProvider via queryInterface(). All such interfaces in the current SDK version are supported, but if a plugin intends to support VMS versions using some older SDK, it should be ready to accept the denial.
NOTE: Is binary-compatible with the old SDK's nxpl::TimeProvider and supports its interface id.
|
protectedpure virtual |
Called by homeDir()
Implemented in nx::vms_server_plugins::analytics::test::UtilityProvider.
|
inline |
The dynamic library of a Plugin can either reside in the directory designated for all plugins, together with other plugins, or in its subdirectory containing the dynamic library and potentially other files (which are ignored by the Server), e.g. other dynamic libraries the Plugin depends on, or some resource or configuration files that are loaded at runtime. If a Plugin resides in such dedicated subdirectory, it is called Plugin's Home Directory. Its name must be equal to the Plugin's libName - the name of the Plugin dynamic library without the lib
prefix (on Linux) and the extension.
|
pure virtual |
VMT #4.
Implemented in nx::vms_server_plugins::analytics::test::UtilityProvider.