Showing content from http://www.ncbi.nlm.nih.gov/IEB/ToolBox/CPP_DOC/doxyhtml/classCPluginManager.html below:
NCBI C++ ToolKit: CPluginManager< TClass
TClass * CreateInstance (const string &driver=kEmptyStr, const CVersionInfo &version=GetDefaultDrvVers(), const TPluginManagerParamTree *params=0) Create class instance. More...
TClass * CreateInstanceFromList (const TPluginManagerParamTree *params, const string &driver_list, const CVersionInfo &version=GetDefaultDrvVers()) Create first available driver from the list of drivers. More...
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...
TClassFactory * GetFactory (const string &driver=kEmptyStr, const CVersionInfo &version=GetDefaultDrvVers()) Get class factory. More...
bool RegisterFactory (TClassFactory &factory) Try to register factory in the manager. More...
bool 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 UnregisterFactory (TClassFactory &factory) Unregister and release (un-own) More...
template<typename TEntryPoint > bool RegisterWithEntryPoint (TEntryPoint plugin_entry_point) Register all factories exported by the plugin entry point. More...
template<typename TEntryPoint > bool 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 AddResolver (CPluginManager_DllResolver *resolver) Attach DLL resolver to plugin manager. More...
CPluginManager_DllResolver * DetachResolver (CPluginManager_DllResolver *resolver) Remove resolver from the list of active resolvers. More...
void AddDllSearchPath (const string &path) Add path for the DLL lookup (for all resolvers) More...
void ResetDllSearchPath (TSearchPaths *previous_paths=NULL) Delete all user-installed paths for the DLL lookup (for all resolvers) More...
CDllResolver::TExtraDllPath SetDllStdSearchPath (CDllResolver::TExtraDllPath standard_paths) Specify which standard locations should be used for the DLL lookup (for all resolvers). More...
CDllResolver::TExtraDllPath GetDllStdSearchPath (void) const Get standard locations which should be used for the DLL lookup. More...
void ResolveFile (const string &driver=kEmptyStr, const CVersionInfo &version=GetDefaultDrvVers()) Scan DLLs for specified driver using attached resolvers. More...
void FreezeResolution (bool value=true) Disable/enable DLL resolution (search for class factories in DLLs) More...
void FreezeResolution (const string &driver, bool value=true) Disable/enable DLL resolution (search for class factories in DLLs) for the specified driver. More...
CPluginManager (void) virtual ~CPluginManager (void) CObject (void) Constructor. More...
CObject (const CObject &src) Copy constructor. More...
virtual ~CObject (void) Destructor. More...
CObject & operator= (const CObject &src) THROWS_NONE Assignment operator. More...
bool CanBeDeleted (void) const THROWS_NONE Check if object can be deleted. More...
bool IsAllocatedInPool (void) const THROWS_NONE Check if object is allocated in memory pool (not system heap) More...
bool Referenced (void) const THROWS_NONE Check if object is referenced. More...
bool ReferencedOnlyOnce (void) const THROWS_NONE Check if object is referenced only once. More...
void AddReference (void) const Add reference to object. More...
void RemoveReference (void) const Remove reference to object. More...
void ReleaseReference (void) const Remove reference without deleting object. More...
virtual void DoNotDeleteThisObject (void) Mark this object as not allocated in heap – do not delete this object. More...
virtual void DoDeleteThisObject (void) Mark this object as allocated in heap – object can be deleted. More...
void * operator new (size_t size) Define new operator for memory allocation. More...
void * operator new[] (size_t size) Define new[] operator for 'array' memory allocation. More...
void operator delete (void *ptr) Define delete operator for memory deallocation. More...
void operator delete[] (void *ptr) Define delete[] operator for memory deallocation. More...
void * operator new (size_t size, void *place) Define new operator. More...
void operator delete (void *ptr, void *place) Define delete operator. More...
void * operator new (size_t size, CObjectMemoryPool *place) Define new operator using memory pool. More...
void operator delete (void *ptr, CObjectMemoryPool *place) Define delete operator. More...
virtual void DebugDump (CDebugDumpContext ddc, unsigned int depth) const Define method for dumping debug information. More...
CDebugDumpable (void) virtual ~CDebugDumpable (void) void DebugDumpText (ostream &out, const string &bundle, unsigned int depth) const void DebugDumpFormat (CDebugDumpFormatter &ddf, const string &bundle, unsigned int depth) const void DumpToConsole (void) const template<class TClass>
class CPluginManager< TClass >
CPluginManager<> –.
To register (either directly, or via an "entry point") class factories for the given interface.
Then, to facilitate the process of instantiating the class given the registered pool of drivers, and also taking into account the driver name and/or version as requested by the calling code.
Template class is protected by mutex and safe for use from different threads
Definition at line 292 of file plugin_manager.hpp.
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