A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://www.ncbi.nlm.nih.gov/IEB/ToolBox/CPP_DOC/doxyhtml/group__PluginMgr.html below:

Plugin Creation and Usage Framework

virtual const char *  CPluginManagerException::GetErrCodeString (void) const override   Translate from the error code value to its string representation. More...
    CPluginManagerException::NCBI_EXCEPTION_DEFAULT (CPluginManagerException, CCoreException)     SDriverInfo::SDriverInfo (const string &driver_name, const CVersionInfo &driver_version)   static const CVersionInfoIClassFactory< TClass >::GetDefaultDrvVers (void)   virtual TClass *  IClassFactory< TClass >::CreateInstance (const string &driver=kEmptyStr, CVersionInfo version=GetDefaultDrvVers(), const TPluginManagerParamTree *params=0) const =0   Create driver's instance. More...
  virtual void  IClassFactory< TClass >::GetDriverVersions (TDriverList &driver_list) const =0   Versions of the interface exported by the factory. More...
  virtual  IClassFactory< TClass >::~IClassFactory (void)   string  IClassFactory< TClass >::GetParam (const string &driver_name, const TPluginManagerParamTree *params, const string &param_name, bool mandatory, const string &default_value) const   Utility function to get an element of parameter tree Throws an exception when mandatory parameter is missing (or returns the default value) More...
  const stringIClassFactory< TClass >::GetParam (const string &driver_name, const TPluginManagerParamTree *params, const string &param_name, bool mandatory) const   This version always defaults to the empty string so that it can safely return a reference. More...
  CPluginManager_DllResolverCDllResolver_Getter< TClass >::operator() (void)   static const CVersionInfoCPluginManager< TClass >::GetDefaultDrvVers (void)   TClass *  CPluginManager< TClass >::CreateInstance (const string &driver=kEmptyStr, const CVersionInfo &version=GetDefaultDrvVers(), const TPluginManagerParamTree *params=0)   Create class instance. More...
  TClass *  CPluginManager< TClass >::CreateInstanceFromList (const TPluginManagerParamTree *params, const string &driver_list, const CVersionInfo &version=GetDefaultDrvVers())   Create first available driver from the list of drivers. More...
  TClass *  CPluginManager< TClass >::CreateInstanceFromKey (const TPluginManagerParamTree *params, const string &driver_key, const CVersionInfo &version=GetDefaultDrvVers())   Detect driver from the parameters using the key to get list of drivers. More...
  TClassFactoryCPluginManager< TClass >::GetFactory (const string &driver=kEmptyStr, const CVersionInfo &version=GetDefaultDrvVers())   Get class factory. More...
    CPluginManager< TClass >::SDriverInfo::SDriverInfo (const string &driver_name, const CVersionInfo &driver_version)   bool  CPluginManager< TClass >::RegisterFactory (TClassFactory &factory)   Try to register factory in the manager. More...
  bool  CPluginManager< TClass >::WillExtendCapabilities (TClassFactory &factory) const   Check if a given factory will extend capabilities of the Plugin Manager (add either new drivers or new driver versions to already available). More...
  bool  CPluginManager< TClass >::UnregisterFactory (TClassFactory &factory)   Unregister and release (un-own) More...
  template<typename TEntryPoint > bool  CPluginManager< TClass >::RegisterWithEntryPoint (TEntryPoint plugin_entry_point)   Register all factories exported by the plugin entry point. More...
  template<typename TEntryPoint > bool  CPluginManager< TClass >::RegisterWithEntryPoint (TEntryPoint plugin_entry_point, const string &driver_name, const CVersionInfo &driver_version=CVersionInfo::kLatest)   Register all compatible factories for the driver with the particular version exported by the plugin entry point. More...
  void  CPluginManager< TClass >::AddResolver (CPluginManager_DllResolver *resolver)   Attach DLL resolver to plugin manager. More...
  CPluginManager_DllResolverCPluginManager< TClass >::DetachResolver (CPluginManager_DllResolver *resolver)   Remove resolver from the list of active resolvers. More...
  void  CPluginManager< TClass >::AddDllSearchPath (const string &path)   Add path for the DLL lookup (for all resolvers) More...
  void  CPluginManager< TClass >::ResetDllSearchPath (TSearchPaths *previous_paths=NULL)   Delete all user-installed paths for the DLL lookup (for all resolvers) More...
  CDllResolver::TExtraDllPath  CPluginManager< TClass >::SetDllStdSearchPath (CDllResolver::TExtraDllPath standard_paths)   Specify which standard locations should be used for the DLL lookup (for all resolvers). More...
  CDllResolver::TExtraDllPath  CPluginManager< TClass >::GetDllStdSearchPath (void) const   Get standard locations which should be used for the DLL lookup. More...
  void  CPluginManager< TClass >::ResolveFile (const string &driver=kEmptyStr, const CVersionInfo &version=GetDefaultDrvVers())   Scan DLLs for specified driver using attached resolvers. More...
  void  CPluginManager< TClass >::FreezeResolution (bool value=true)   Disable/enable DLL resolution (search for class factories in DLLs) More...
  void  CPluginManager< TClass >::FreezeResolution (const string &driver, bool value=true)   Disable/enable DLL resolution (search for class factories in DLLs) for the specified driver. More...
    CPluginManager< TClass >::CPluginManager (void)   virtual  CPluginManager< TClass >::~CPluginManager (void)   TClassFactoryCPluginManager< TClass >::FindClassFactory (const string &driver, const CVersionInfo &version) const     CPluginManager_DllResolver::CPluginManager_DllResolver (void)     CPluginManager_DllResolver::CPluginManager_DllResolver (const string &interface_name, const string &driver_name=kEmptyStr, const CVersionInfo &version=CVersionInfo::kAny, CDll::EAutoUnload unload_dll=CDll::eNoAutoUnload)   Construction. More...
  virtual  CPluginManager_DllResolver::~CPluginManager_DllResolver (void)   CDllResolverCPluginManager_DllResolver::ResolveFile (const TSearchPaths &paths, const string &driver_name=kEmptyStr, const CVersionInfo &version=CVersionInfo::kAny, CDllResolver::TExtraDllPath std_path=CDllResolver::fDefaultDllPath)   Search for plugin DLLs, resolve entry points. More...
  CDllResolverCPluginManager_DllResolver::Resolve (const string &path)   Search for plugin DLLs, resolve entry points. More...
  virtual string  CPluginManager_DllResolver::GetDllName (const string &interface_name, const string &driver_name=kEmptyStr, const CVersionInfo &version=CVersionInfo::kAny) const   Return dll file name. More...
  virtual string  CPluginManager_DllResolver::GetDllNameMask (const string &interface_name, const string &driver_name=kEmptyStr, const CVersionInfo &version=CVersionInfo::kAny, EVersionLocation ver_lct=eBeforeSuffix) const   Return DLL name mask. More...
  virtual string  CPluginManager_DllResolver::GetEntryPointName (const string &interface_name=kEmptyStr, const string &driver_name=kEmptyStr) const   Return DLL entry point name: More...
  virtual string  CPluginManager_DllResolver::GetEntryPointPrefix () const   Return DLL entry point prefix ("NCBI_EntryPoint") More...
  virtual string  CPluginManager_DllResolver::GetDllNamePrefix () const   Return DLL file name prefix ("ncbi_plugin") More...
  virtual void  CPluginManager_DllResolver::SetDllNamePrefix (const string &prefix)   Set DLL file name prefix. More...
  const stringCPluginManager_DllResolver::GetDriverName () const   Return name of the driver. More...
  static bool  CPluginManager_DllResolver::IsEnabledGlobally ()   Return whether to allow loading plugins from DLLs in general. More...
  static bool  CPluginManager_DllResolver::IsEnabledGloballyByDefault ()   Return whether to allow loading plugins from DLLs in general by default. More...
  static void  CPluginManager_DllResolver::EnableGlobally (bool enable=true)   Enable (or disable, if called with enable = false) loading plugins from DLLs in general. More...
  static void  CPluginManager_DllResolver::DisableGlobally ()   Disable loading plugins from DLLs in general. More...
  CDllResolverCPluginManager_DllResolver::GetCreateDllResolver ()   CDllResolverCPluginManager_DllResolver::CreateDllResolver () const   bool  operator== (const SDriverInfo &i1, const SDriverInfo &i2)   bool  operator< (const SDriverInfo &i1, const SDriverInfo &i2)     CInvalidDrvVer< TClass >::CInvalidDrvVer (const string &driver_name, const CVersionInfo &vi)   bool  CInvalidDrvVer< TClass >::operator() (const TValue &val)     CSimpleClassFactoryImpl< IFace, TDriver >::CSimpleClassFactoryImpl (const string &driver_name, int patch_level=-1)   Construction. More...
  virtual TInterfaceCSimpleClassFactoryImpl< IFace, TDriver >::CreateInstance (const string &driver=kEmptyStr, CVersionInfo version=TParent::GetDefaultDrvVers(), const TPluginManagerParamTree *=0) const   Create instance of TDriver. More...
  void  CSimpleClassFactoryImpl< IFace, TDriver >::GetDriverVersions (TDriverList &info_list) const   Versions of the interface exported by the factory. More...
  string  CSimpleClassFactoryImpl< IFace, TDriver >::GetParam (const TPluginManagerParamTree *params, const string &param_name, bool mandatory, const string &default_value) const   Utility function to get an element of parameter tree Throws an exception when mandatory parameter is missing (or returns the deafult value) More...
  const stringCSimpleClassFactoryImpl< IFace, TDriver >::GetParam (const TPluginManagerParamTree *params, const string &param_name, bool mandatory) const   This version always defaults to the empty string so that it can safely return a reference. More...
  int  CSimpleClassFactoryImpl< IFace, TDriver >::GetParamInt (const TPluginManagerParamTree *params, const string &param_name, bool, int default_value) const   Utility function to get an integer of parameter tree Throws an exception when mandatory parameter is missing (or returns the deafult value) More...
  Uint8  CSimpleClassFactoryImpl< IFace, TDriver >::GetParamDataSize (const TPluginManagerParamTree *params, const string &param_name, bool, unsigned int default_value) const   Utility function to get an integer of parameter tree Throws an exception when mandatory parameter is missing (or returns the deafult value) More...
  bool  CSimpleClassFactoryImpl< IFace, TDriver >::GetParamBool (const TPluginManagerParamTree *params, const string &param_name, bool, bool default_value) const   Utility function to get an bool of parameter tree Throws an exception when mandatory parameter is missing (or returns the deafult value) More...
  double  CSimpleClassFactoryImpl< IFace, TDriver >::GetParamDouble (const TPluginManagerParamTree *params, const string &param_name, bool, double default_value) const   Utility function to get a double of parameter tree Throws an exception when mandatory parameter is missing (or returns the default value) More...
  static void  CHostEntryPointImpl< TClassFactory >::NCBI_EntryPointImpl (TDriverInfoList &info_list, EEntryPointRequest method)   Entry point implementation. More...
  ◆ NCBI_DECLARE_INTERFACE_VERSION #define NCBI_DECLARE_INTERFACE_VERSION (   iface,   iface_name,   major,   minor,   patch_level  ) Value:

template<> \

{ \

public: \

enum { \

eMajor = major, \

eMinor = minor, \

ePatchLevel = patch_level \

}; \

static const char* GetName() { return iface_name; } \

}

Macro to auto-setup the current interface name and version.

This macro must be "called" once per interface, usually in the very header that describes that interface.

Example: NCBI_INTERFACE_VERSION(IFooBar, "IFooBar", 1, 3, 8);

See also
CInterfaceVersion

Definition at line 134 of file plugin_manager.hpp.

◆ NCBI_INTERFACE_VERSION #define NCBI_INTERFACE_VERSION (   iface ) ◆ EEntryPointRequest ◆ FNCBI_EntryPoint

Entry point to get drivers' info, and (if requested) their class factories.

This function is usually (but not necessarily) called by RegisterWithEntryPoint().

Usually, it's called twice – the first time to get the info about the drivers exported by the entry point, and then to instantiate selected factories.

Caller is responsible for the proper destruction (deallocation) of the instantiated factories.

Definition at line 437 of file plugin_manager.hpp.

◆ SDriverInfo ◆ TCFDriverInfo ◆ TClassFactory ◆ TDefaultDriverVersion [1/2] ◆ TDefaultDriverVersion [2/2] ◆ TDllResolvers ◆ TDriverInfo [1/2] ◆ TDriverInfo [2/2] ◆ TDriverInfoList [1/2] ◆ TDriverInfoList [2/2] ◆ TDriverList [1/3] ◆ TDriverList [2/3] ◆ TDriverList [3/3] ◆ TEntryPoints ◆ TFactories ◆ TImplementation ◆ TInterface [1/3] ◆ TInterface [2/3] ◆ TInterface [3/3] ◆ TParent ◆ TPluginManager ◆ TPluginManagerParamTree ◆ TResolvedEntries ◆ TSearchPaths [1/2] ◆ TSearchPaths [2/2] ◆ TStringSet ◆ TSubstituteMap ◆ TValue ◆ anonymous enum

template<class TInterface >

◆ EEntryPointRequest

Actions performed by the entry point.

See also
FNCBI_EntryPoint
Enumerator eGetFactoryInfo 

Add info about all drivers exported through the entry point to the end of list.

"SFactoryInfo::factory" in the added info should be assigned NULL.

eInstantiateFactory 

Scan the driver info list passed to the entry point for the [name,version] pairs exported by the given entry point.

For each pair found, if its "SDriverInfo::factory" is NULL, instantiate its class factory and assign it to the "SDriverInfo::factory".

Definition at line 409 of file plugin_manager.hpp.

◆ EErrCode Enumerator eResolveFailure 

Cannot resolve interface driver.

eParameterMissing 

Missing mandatory parameter.

eNullInstance 

Factory returned NULL instance.

Definition at line 97 of file plugin_manager.hpp.

◆ EVersionLocation ◆ AddDllSearchPath() ◆ AddResolver() ◆ CInvalidDrvVer() ◆ CPluginManager() ◆ CPluginManager_DllResolver() [1/2]

Construction.

Parameters
interface_name Target interface name plugin_name Plugin family name (dbapi, xloader, etc) driver_name Name of the driver (dblib, id1, etc) version Interface version unload_dll Whether to unload drivers DLL in the destructor

Definition at line 52 of file plugin_manager.cpp.

◆ CPluginManager_DllResolver() [2/2] CPluginManager_DllResolver::CPluginManager_DllResolver ( void  )

Definition at line 44 of file plugin_manager.cpp.

◆ CreateDllResolver() CDllResolver * CPluginManager_DllResolver::CreateDllResolver ( ) const protected ◆ CreateInstance() [1/3] ◆ CreateInstance() [2/3]

Create driver's instance.

Function creates driver by its name and version. The requirements is the drivers version should match the interface up to the patch level.

Parameters
driver Requested driver's name (not the name of the supported interface) version Requested interface version (as understood by the caller). By default it will be passed the version which is current from the calling code's point of view.

Implemented in CICacheCF< TDriver >, CICacheCF< CBDB_Cache >, CICacheCF< CNetICacheClient >, CSimpleClassFactoryImpl< IFace, TDriver >, CSimpleClassFactoryImpl< IBlobStorage, CBlobStorage_NetCache >, CSimpleClassFactoryImpl< I_DriverContext, CMySQLContext >, CSimpleClassFactoryImpl< objects::CReader, objects::CId2Reader >, CSimpleClassFactoryImpl< objects::CReader, objects::CId1Reader >, CSimpleClassFactoryImpl< ICache, CSQLITE3_Cache >, CSimpleClassFactoryImpl< ICache, CBDB_Cache >, CSimpleClassFactoryImpl< ICache, CNetICacheClient >, CSimpleClassFactoryImpl< ICache, TDriver >, CSimpleClassFactoryImpl< objects::CReader, objects::CPubseqReader >, CSimpleClassFactoryImpl< objects::CReader, objects::CGICacheReader >, CSimpleClassFactoryImpl< I_DriverContext, CODBCContext >, CSimpleClassFactoryImpl< I_DriverContext, CTLibContext >, CSimpleClassFactoryImpl< CWriter, CCacheWriter >, CSimpleClassFactoryImpl< objects::CReader, objects::CPubseq2Reader >, CSimpleClassFactoryImpl< objects::CID2Processor, objects::CID2SNPProcessor >, CSimpleClassFactoryImpl< CReader, CCacheReader >, CPubseq2ReaderCF, CPubseqReaderCF, CId2ReaderCF, CId1ReaderCF, CGICacheReaderCF, CID2SNPProcessorCF, CNetScheduleAPICF, CNetCacheAPICF, CSQLITE3_BlobCacheCF, CBlobStorageNetCacheCF, CDbapiOdbcCFBase, CDbapiCtlibCFBase, CCacheWriterCF, CCacheReaderCF, and CDataLoaderFactory.

Referenced by CPluginManager< SNetScheduleAPIImpl >::CreateInstance().

◆ CreateInstance() [3/3]

template<class IFace , class TDriver >

Create instance of TDriver.

Implements IClassFactory< IFace >.

Reimplemented in CICacheCF< TDriver >, CICacheCF< CBDB_Cache >, CICacheCF< CNetICacheClient >, CPubseq2ReaderCF, CPubseqReaderCF, CId2ReaderCF, CId1ReaderCF, CGICacheReaderCF, CID2SNPProcessorCF, CSQLITE3_BlobCacheCF, CBlobStorageNetCacheCF, CDbapiOdbcCFBase, CDbapiCtlibCFBase, CCacheWriterCF, and CCacheReaderCF.

Definition at line 90 of file plugin_manager_impl.hpp.

◆ CreateInstanceFromKey() ◆ CreateInstanceFromList() ◆ CSimpleClassFactoryImpl()

template<class IFace , class TDriver >

Construction.

Parameters
driver_name Driver name string patch_level Patch level implemented by the driver. By default corresponds to interface patch level.

Definition at line 77 of file plugin_manager_impl.hpp.

◆ DetachResolver()

Remove resolver from the list of active resolvers.

Method is used when we need to freeze some of the resolution variants Resolver is not deleted, and can be reattached again by AddResolver

Parameters
resolver DLL resolver. Ownership is returned to the caller and resolver should be deleted by the caller
Returns
Pointer on the detached resolver (same as resolver parameter) or NULL if resolver not found

Definition at line 1088 of file plugin_manager.hpp.

References NON_CONST_ITERATE.

◆ DisableGlobally() static void CPluginManager_DllResolver::DisableGlobally ( ) inlinestatic ◆ EnableGlobally() void CPluginManager_DllResolver::EnableGlobally ( bool  enable = true ) static ◆ FindClassFactory() ◆ FreezeResolution() [1/2]

Disable/enable DLL resolution (search for class factories in DLLs)

Definition at line 511 of file plugin_manager.hpp.

◆ FreezeResolution() [2/2] ◆ GetCreateDllResolver() CDllResolver * CPluginManager_DllResolver::GetCreateDllResolver ( ) protected ◆ GetDefaultDrvVers() [1/2] ◆ GetDefaultDrvVers() [2/2] ◆ GetDllName() ◆ GetDllNameMask() ◆ GetDllNamePrefix() string CPluginManager_DllResolver::GetDllNamePrefix ( ) const virtual ◆ GetDllStdSearchPath() ◆ GetDriverName() const string& CPluginManager_DllResolver::GetDriverName ( ) const inline ◆ GetDriverVersions() [1/2]

Versions of the interface exported by the factory.

Implemented in CNetScheduleAPICF, CNetCacheAPICF, CSimpleClassFactoryImpl< IFace, TDriver >, CSimpleClassFactoryImpl< IBlobStorage, CBlobStorage_NetCache >, CSimpleClassFactoryImpl< I_DriverContext, CMySQLContext >, CSimpleClassFactoryImpl< objects::CReader, objects::CId2Reader >, CSimpleClassFactoryImpl< objects::CReader, objects::CId1Reader >, CSimpleClassFactoryImpl< ICache, CSQLITE3_Cache >, CSimpleClassFactoryImpl< ICache, CBDB_Cache >, CSimpleClassFactoryImpl< ICache, CNetICacheClient >, CSimpleClassFactoryImpl< ICache, TDriver >, CSimpleClassFactoryImpl< objects::CReader, objects::CPubseqReader >, CSimpleClassFactoryImpl< objects::CReader, objects::CGICacheReader >, CSimpleClassFactoryImpl< I_DriverContext, CODBCContext >, CSimpleClassFactoryImpl< I_DriverContext, CTLibContext >, CSimpleClassFactoryImpl< CWriter, CCacheWriter >, CSimpleClassFactoryImpl< objects::CReader, objects::CPubseq2Reader >, CSimpleClassFactoryImpl< objects::CID2Processor, objects::CID2SNPProcessor >, and CSimpleClassFactoryImpl< CReader, CCacheReader >.

Referenced by CPluginManager< TClass >::FindClassFactory(), and CPluginManager< TClass >::WillExtendCapabilities().

◆ GetDriverVersions() [2/2]

template<class IFace , class TDriver >

◆ GetEntryPointName() ◆ GetEntryPointPrefix() string CPluginManager_DllResolver::GetEntryPointPrefix ( ) const virtual ◆ GetErrCodeString() const char * CPluginManagerException::GetErrCodeString ( void  ) const overridevirtual ◆ GetFactory()

Get class factory.

If more than one (of registered) class factory contain eligible driver candidates, then pick the class factory containing driver of the latest version.

Parameters
driver Name of the driver. If passed empty, then – any. version Requested version. The returned driver can have a different (newer) version (provided that the new implementation is backward-compatible with the requested version.
Returns
Never return NULL – always throw exception on error.

Definition at line 784 of file plugin_manager.hpp.

References _TRACE, msg(), NCBI_THROW, and dtl::version.

Referenced by CPluginManager< SNetScheduleAPIImpl >::CreateInstance().

◆ GetParam() [1/4] ◆ GetParam() [2/4] ◆ GetParam() [3/4]

template<class IFace , class TDriver >

This version always defaults to the empty string so that it can safely return a reference.

(default_value may be temporary in some cases.)

Definition at line 126 of file plugin_manager_impl.hpp.

◆ GetParam() [4/4]

template<class IFace , class TDriver >

Utility function to get an element of parameter tree Throws an exception when mandatory parameter is missing (or returns the deafult value)

Definition at line 113 of file plugin_manager_impl.hpp.

◆ GetParamBool()

template<class IFace , class TDriver >

Utility function to get an bool of parameter tree Throws an exception when mandatory parameter is missing (or returns the deafult value)

Definition at line 169 of file plugin_manager_impl.hpp.

◆ GetParamDataSize()

template<class IFace , class TDriver >

Utility function to get an integer of parameter tree Throws an exception when mandatory parameter is missing (or returns the deafult value)

Definition at line 153 of file plugin_manager_impl.hpp.

◆ GetParamDouble()

template<class IFace , class TDriver >

Utility function to get a double of parameter tree Throws an exception when mandatory parameter is missing (or returns the default value)

Definition at line 186 of file plugin_manager_impl.hpp.

◆ GetParamInt()

template<class IFace , class TDriver >

Utility function to get an integer of parameter tree Throws an exception when mandatory parameter is missing (or returns the deafult value)

Definition at line 137 of file plugin_manager_impl.hpp.

◆ IsEnabledGlobally() bool CPluginManager_DllResolver::IsEnabledGlobally ( ) static

Return whether to allow loading plugins from DLLs in general.

Definition at line 328 of file plugin_manager.cpp.

◆ IsEnabledGloballyByDefault() bool CPluginManager_DllResolver::IsEnabledGloballyByDefault ( ) static ◆ NCBI_EntryPointImpl()

template<class TClassFactory >

Entry point implementation.

See also
CPluginManager::FNCBI_EntryPoint

Definition at line 229 of file plugin_manager_impl.hpp.

References _ASSERT, CVersionInfo::eFullyCompatible, CPluginManager< TClass >::eGetFactoryInfo, CPluginManager< TClass >::eInstantiateFactory, and NULL.

Referenced by NCBI_BDB_ICacheEntryPoint(), NCBI_EntryPoint_CacheReader(), NCBI_EntryPoint_CacheWriter(), NCBI_EntryPoint_DataLoader_AsnCache(), NCBI_EntryPoint_DataLoader_Bam(), NCBI_EntryPoint_DataLoader_BlastDb(), NCBI_EntryPoint_DataLoader_Cdd(), NCBI_EntryPoint_DataLoader_CSRA(), NCBI_EntryPoint_DataLoader_GB(), NCBI_EntryPoint_DataLoader_LDS2(), NCBI_EntryPoint_DataLoader_Patcher(), NCBI_EntryPoint_DataLoader_RmtBlastDb(), NCBI_EntryPoint_DataLoader_Sra(), NCBI_EntryPoint_DataLoader_WGS(), NCBI_EntryPoint_GICacheReader(), NCBI_EntryPoint_Id1Reader(), NCBI_EntryPoint_id2proc_snp(), NCBI_EntryPoint_Id2Reader(), NCBI_EntryPoint_ReaderPubseqos(), NCBI_EntryPoint_ReaderPubseqos2(), NCBI_EntryPoint_SQLITE3_BlobCache(), NCBI_EntryPoint_xblobstorage_netcache(), NCBI_EntryPoint_xcache_netcache(), NCBI_EntryPoint_xdbapi_ctlib(), NCBI_EntryPoint_xdbapi_mysql(), NCBI_EntryPoint_xdbapi_odbc(), NCBI_EntryPoint_xloader_snp(), NCBI_EntryPoint_xloader_vdbgraph(), NCBI_EntryPoint_xnetcacheapi(), and NCBI_EntryPoint_xnetscheduleapi().

◆ NCBI_EXCEPTION_DEFAULT() ◆ operator()() [1/2] ◆ operator()() [2/2] ◆ operator<() ◆ operator==() ◆ RegisterFactory()

Try to register factory in the manager.

The registered factory will be owned by the manager.

Returns
true if a factory was registered.
See also
UnregisterFactory()

Definition at line 874 of file plugin_manager.hpp.

◆ RegisterWithEntryPoint() [1/2]

template<class TClass >

template<typename TEntryPoint >

◆ RegisterWithEntryPoint() [2/2]

template<class TClass >

template<typename TEntryPoint >

Register all compatible factories for the driver with the particular version exported by the plugin entry point.

Returns
true if at least one factory was registered.
See also
RegisterFactory()

Definition at line 1025 of file plugin_manager.hpp.

References _TRACE, and ITERATE.

◆ ResetDllSearchPath()

Delete all user-installed paths for the DLL lookup (for all resolvers)

Parameters
previous_paths If non-NULL, store the previously set search paths in this container
See also
AddDllSearchPath

Definition at line 1108 of file plugin_manager.hpp.

◆ Resolve() ◆ ResolveFile() [1/2]

Scan DLLs for specified driver using attached resolvers.

Definition at line 1150 of file plugin_manager.hpp.

References CDllResolver::SResolvedEntry::dll, CDllResolver::SNamedEntryPoint::entry_point, CDllResolver::SResolvedEntry::entry_points, ERR_POST_XX, CDll::TEntryPoint::func, CDll::GetName(), CDllResolver::GetResolvedEntries(), Info(), ITERATE, CVersionInfo::kAny, NON_CONST_ITERATE, and dtl::version.

◆ ResolveFile() [2/2]

Search for plugin DLLs, resolve entry points.

Parameters
paths List of directories to scan for DLLs driver_name Name of the driver (dblib, id1, etc) version Interface version
Returns
Reference on DLL resolver holding all entry points

Definition at line 73 of file plugin_manager.cpp.

References _ASSERT, CPluginManager_DllResolver::eAfterSuffix, CDllResolver::FindCandidates(), CPluginManager_DllResolver::GetCreateDllResolver(), CPluginManager_DllResolver::GetDllNameMask(), CVersionInfo::kAny, CVersionInfo::kLatest, CPluginManager_DllResolver::m_DriverName, CPluginManager_DllResolver::m_InterfaceName, CPluginManager_DllResolver::m_Version, mask, and dtl::version.

Referenced by CPluginManager_DllResolver::Resolve().

◆ SDriverInfo() [1/2] ◆ SDriverInfo() [2/2] ◆ SetDllNamePrefix() void CPluginManager_DllResolver::SetDllNamePrefix ( const stringprefix ) virtual ◆ SetDllStdSearchPath() ◆ UnregisterFactory() ◆ WillExtendCapabilities() ◆ ~CPluginManager() ◆ ~CPluginManager_DllResolver() CPluginManager_DllResolver::~CPluginManager_DllResolver ( void  ) virtual ◆ ~IClassFactory() ◆ factory ◆ m_AutoUnloadDll ◆ m_BlockResolution ◆ m_DllNamePrefix string CPluginManager_DllResolver::m_DllNamePrefix protected ◆ m_DllResolver ◆ m_DllSearchPaths ◆ m_DriverName [1/3] string CPluginManager_DllResolver::m_DriverName protected ◆ m_DriverName [2/3] ◆ m_DriverName [3/3]

template<class IFace , class TDriver >

Definition at line 202 of file plugin_manager_impl.hpp.

Referenced by CSimpleClassFactoryImpl< CReader, CCacheReader >::CreateInstance(), CSimpleClassFactoryImpl< CReader, CCacheReader >::CSimpleClassFactoryImpl(), CSimpleClassFactoryImpl< CReader, CCacheReader >::GetDriverVersions(), CSimpleClassFactoryImpl< CReader, CCacheReader >::GetParam(), CSimpleClassFactoryImpl< CReader, CCacheReader >::GetParamBool(), CSimpleClassFactoryImpl< CReader, CCacheReader >::GetParamDataSize(), CSimpleClassFactoryImpl< CReader, CCacheReader >::GetParamDouble(), and CSimpleClassFactoryImpl< CReader, CCacheReader >::GetParamInt().

◆ m_DriverVersionInfo

template<class IFace , class TDriver >

◆ m_EntryPointPrefix string CPluginManager_DllResolver::m_EntryPointPrefix protected ◆ m_EntryPoints

List of entry points registered in this plugin manager.

Definition at line 542 of file plugin_manager.hpp.

◆ m_Factories

List of factories presently registered with (and owned by) the plugin manager.

Definition at line 540 of file plugin_manager.hpp.

◆ m_FreezeResolutionDrivers ◆ m_InterfaceName string CPluginManager_DllResolver::m_InterfaceName protected ◆ m_Mutex

Protective mutex to synchronize the access to the plugin manager from different threads.

Definition at line 528 of file plugin_manager.hpp.

◆ m_RegisteredEntries

DLL entries resolved and registered with dll resolver(s)

Definition at line 548 of file plugin_manager.hpp.

◆ m_Resolvers ◆ m_StdDllPath

Standard locations that should be used for the DLL lookup.

Definition at line 554 of file plugin_manager.hpp.

◆ m_SubstituteMap ◆ m_Version ◆ m_VersionInfo ◆ name ◆ version

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4