nx_metadata_sdk 1.0 Metadata SDK

Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
nx::sdk::IUtilityProvider Class Referenceabstract

`#include <i_utility_provider.h>`

Inheritance diagram for nx::sdk::IUtilityProvider:

## Public Member Functions
virtual int64_t | vmsSystemTimeSinceEpochMs () const =0
std::string | homeDir () const
Public Member Functions inherited from nx::sdk::Interface< IUtilityProvider >
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 ()

## Protected Member Functions
virtual const IString * | getHomeDir () const =0
Protected Member Functions inherited from nx::sdk::Interface< IUtilityProvider >
virtual IRefCountable * | queryInterface (const IRefCountable::InterfaceId *id) override
IRefCountable * | queryInterfaceSupportingDeprecatedId (const IRefCountable::InterfaceId *id, const Uuid &deprecatedInterfaceId)

## Additional Inherited Members
Static Protected Member Functions inherited from nx::sdk::IRefCountable
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])

## Detailed Description

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.

## Member Function Documentation

## ◆ getHomeDir()

virtual const IString* nx::sdk::IUtilityProvider::getHomeDir | ( |  | ) | const
| protected pure virtual

Returns
  Absolute path to the plugin's home directory, or an empty string if it is absent.

Implemented in nx::vms_server_plugins::analytics::stub::test::UtilityProvider.

## ◆ vmsSystemTimeSinceEpochMs()

virtual int64_t nx::sdk::IUtilityProvider::vmsSystemTimeSinceEpochMs | ( |  | ) | const
| pure virtual

VMT #4.

Returns
  Synchronized System time - common time for all Servers in the VMS System.

Implemented in nx::vms_server_plugins::analytics::stub::test::UtilityProvider.

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

- src/nx/sdk/i_utility_provider.h