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 constexpr 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 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 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.