nx_cloud_storage_sdk  1.0
Cloud Storage SDK
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
nx::sdk::IUtilityProvider0 Class Referenceabstract

#include <i_utility_provider.h>

Inheritance diagram for nx::sdk::IUtilityProvider0:
nx::sdk::Interface< IUtilityProvider0 > nx::sdk::IRefCountable nx::sdk::Interface< IUtilityProvider1, IUtilityProvider0 > nx::sdk::IUtilityProvider1 nx::sdk::Interface< IUtilityProvider2, IUtilityProvider1 > nx::sdk::IUtilityProvider2 nx::sdk::Interface< IUtilityProvider3, IUtilityProvider2 > nx::sdk::IUtilityProvider3 nx::sdk::Interface< IUtilityProvider, IUtilityProvider3 > nx::sdk::IUtilityProvider

Public Member Functions

virtual int64_t vmsSystemTimeSinceEpochMs () const =0
 
std::string homeDir () const
 
- Public Member Functions inherited from nx::sdk::Interface< IUtilityProvider0 >
virtual IRefCountablequeryInterface (const InterfaceId *id)
 
Ptr< RefCountablequeryInterface ()
 
Ptr< const RefCountablequeryInterface () const
 
- Public Member Functions inherited from nx::sdk::IRefCountable
virtual ~IRefCountable ()=default
 
template<class RefCountable >
Ptr< RefCountablequeryInterface ()
 
template<class RefCountable >
Ptr< const RefCountablequeryInterface () 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 IStringgetHomeDir () const =0
 
- Protected Member Functions inherited from nx::sdk::Interface< IUtilityProvider0 >
virtual IRefCountablequeryInterface (const IRefCountable::InterfaceId *id) override
 
IRefCountablequeryInterfaceSupportingDeprecatedId (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 InterfaceIdmakeId (const char(&charArray)[len])
 
template<class TemplateInstance , class TemplateArg , int len>
static const InterfaceIdmakeIdForTemplate (const char(&baseIdCharArray)[len])
 
- Static Protected Attributes inherited from nx::sdk::IRefCountable
template<typename RefCountable >
static constexpr bool hasAlternativeInterfaceId = HasAlternativeInterfaceId<RefCountable>::value
 

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::IUtilityProvider0::getHomeDir ( ) const
protectedpure virtual

Called by homeDir()

◆ homeDir()

std::string nx::sdk::IUtilityProvider0::homeDir ( ) const
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.

Returns
Absolute path to the Plugin's Home Directory, or an empty string if it is absent.

◆ vmsSystemTimeSinceEpochMs()

virtual int64_t nx::sdk::IUtilityProvider0::vmsSystemTimeSinceEpochMs ( ) const
pure virtual

VMT #4.

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

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