nx_cloud_storage_sdk
1.0
Cloud Storage SDK
|
#include <i_plugin.h>
Public Member Functions | |
Result< const IString * > | manifest () const |
Result< IEngine * > | obtainEngine (const char *url, const IArchiveUpdateHandler *archiveUpdateHandler) |
![]() | |
virtual IRefCountable * | queryInterface (const InterfaceId *id) |
Ptr< Interface > | queryInterface () |
Ptr< const Interface > | queryInterface () const |
![]() | |
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 auto | interfaceId () |
Protected Member Functions | |
virtual void | getManifest (Result< const IString *> *outResult) const =0 |
virtual void | doObtainEngine (const char *url, const IArchiveUpdateHandler *archiveUpdateHandler, Result< IEngine *> *outResult)=0 |
![]() | |
virtual IRefCountable * | queryInterface (const IRefCountable::InterfaceId *id) override |
IRefCountable * | queryInterfaceSupportingDeprecatedId (const IRefCountable::InterfaceId *id, const Uuid &deprecatedInterfaceId) |
![]() | |
IRefCountable * | queryInterfaceSupportingDeprecatedId (const IRefCountable::InterfaceId *id, const Uuid &deprecatedInterfaceId) |
Additional Inherited Members | |
![]() | |
typedef IPlugin *(* | EntryPointFunc) () |
typedef IPlugin *(* | MultiEntryPointFunc) (int instanceIndex) |
![]() | |
static constexpr const char * | kEntryPointFuncName = "createNxPlugin" |
static constexpr const char * | kMultiEntryPointFuncName = "createNxPluginByIndex" |
![]() | |
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) |
The main interface of a Cloud Storage Plugin instance.
Provides a JSON Manifest for this Plugin instance. See the example of such Manifest in stub_cloud_storage_plugin.
|
inline |
Obtain engine corresponding to the backed url. Now Server won't ask the same plugin for multiple engines, but potentially it may be implemented. Plugin should store engine internally and not recreate it if this function is called more than once with the same url.