Plugin Creation and Usage Framework
[CORELIB]

Collaboration diagram for Plugin Creation and Usage Framework:


Classes

class  CPluginManagerException
 CPluginManagerException --. More...
class  CInterfaceVersion< TClass >
 CInterfaceVersion<> --. More...
class  CDefaultDriverVersion< TInterface >
struct  SDriverInfo
class  IClassFactory< TClass >
 IClassFactory<> --. More...
struct  CPluginManagerBase
class  CDllResolver_Getter< TClass >
 Template function to create dll resolver for interface. More...
class  CPluginManager< TClass >
 CPluginManager<> --. More...
class  CPluginManager_DllResolver
 Service class for DLLs resolution. More...
class  CSimpleClassFactoryImpl< IFace, TDriver >
 Template class helps to implement one driver class factory. More...
struct  CHostEntryPointImpl< TClassFactory >
 Template implements entry point. More...

Defines

#define NCBI_DECLARE_INTERFACE_VERSION(iface, iface_name, major, minor, patch_level)
 Macro to auto-setup the current interface name and version.
#define NCBI_INTERFACE_VERSION(iface)
 Macro to contruct CVersionInfo class using interface name (relies on CInterfaceVersion class).

Typedefs

typedef CConfig::TParamTree TPluginManagerParamTree
typedef list< SDriverInfoTDriverList


Define Documentation

#define NCBI_DECLARE_INTERFACE_VERSION iface,
iface_name,
major,
minor,
patch_level   ) 
 

Value:

template<> \
class CInterfaceVersion<iface> \
{ \
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.

#define NCBI_INTERFACE_VERSION iface   ) 
 

Value:

CVersionInfo(ncbi::CInterfaceVersion<iface>::eMajor, \
             ncbi::CInterfaceVersion<iface>::eMinor, \
             ncbi::CInterfaceVersion<iface>::ePatchLevel)
Macro to contruct CVersionInfo class using interface name (relies on CInterfaceVersion class).

See also:
CVersionInfo

Definition at line 150 of file plugin_manager.hpp.

Referenced by CBlobStorageFileCF::CreateInstance(), CCacheWriterCF::CreateInstance(), CDataLoaderFactory::CreateInstance(), CDBAPI_BlobCacheCF::CreateInstance(), CBDB_CacheReaderCF::CreateInstance(), CNetScheduleAPICF::CreateInstance(), CNetICacheCF::CreateInstance(), CNetCacheAPICF::CreateInstance(), CBlobStorageNetCacheCF::CreateInstance(), CSimpleClassFactoryImpl< CReader, CCacheReader >::CreateInstance(), Get_I_DriverContext(), CCgiApplicationCached::GetCacheStorage(), C_xDriverMgr::GetDriverContext(), and MakeDriverContext().


Typedef Documentation

typedef list<SDriverInfo> TDriverList
 

Definition at line 182 of file plugin_manager.hpp.

typedef CConfig::TParamTree TPluginManagerParamTree
 

Definition at line 167 of file plugin_manager.hpp.


Generated on Wed Dec 9 08:13:31 2009 for NCBI C++ ToolKit by  doxygen 1.4.6
Modified on Wed Dec 09 08:20:18 2009 by modify_doxy.py rev. 173732