NCBI C++ ToolKit
|
Search Toolkit Book for CObjectManager
#include <objmgr/object_manager.hpp>
Classes | |
class | IDataLoaderFilter |
Public Types | |
enum | EIsDefault { eDefault , eNonDefault } |
Flag defining if the data loader is included in the "default" group. More... | |
enum | EPriority { kPriority_Entry = 9 , kPriority_Local = 44 , kPriority_Replace = 88 , kPriority_Loader = 99 , kPriority_Extra = 111 , kPriority_Default = -1 , kPriority_NotSet = -1 } |
Default data source priority. More... | |
typedef CRef< CDataSource > | TDataSourceLock |
typedef int | TPriority |
typedef vector< string > | TRegisteredNames |
typedef SRegisterLoaderInfo< CDataLoader > | TRegisterLoaderInfo |
Public Types inherited from CObject | |
enum | EAllocFillMode { eAllocFillNone = 1 , eAllocFillZero , eAllocFillPattern } |
Control filling of newly allocated memory. More... | |
typedef CObjectCounterLocker | TLockerType |
Default locker type for CRef. More... | |
typedef atomic< Uint8 > | TCounter |
Counter type is CAtomiCounter. More... | |
typedef Uint8 | TCount |
Alias for value type of counter. More... | |
Public Member Functions | |
virtual | ~CObjectManager (void) |
CDataLoader * | RegisterDataLoader (TPluginManagerParamTree *params=0, const string &driver_name=kEmptyStr) |
Add data loader using plugin manager. More... | |
CDataLoader * | FindDataLoader (const string &loader_name) const |
Try to find a registered data loader by name. More... | |
void | GetRegisteredNames (TRegisteredNames &names) |
Get names of all registered data loaders. More... | |
void | SetLoaderOptions (const string &loader_name, EIsDefault is_default, TPriority priority=kPriority_Default) |
Update loader's default-ness and priority. More... | |
bool | RevokeDataLoader (CDataLoader &loader) |
Revoke previously registered data loader. More... | |
bool | RevokeDataLoader (const string &loader_name) |
void | RevokeAllDataLoaders (void) |
Revoke all registered data loaders, even if they were still used. More... | |
void | RevokeDataLoaders (IDataLoaderFilter &filter) |
Revoke data loaders by filter, even if they were still used. More... | |
void | ReleaseDataSource (TDataSourceLock &data_source) |
Public Member Functions inherited from CObject | |
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... | |
Public Member Functions inherited from CDebugDumpable | |
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 |
Static Public Member Functions | |
static CRef< CObjectManager > | GetInstance (void) |
Return the existing object manager or create one. More... | |
Static Public Member Functions inherited from CObject | |
static NCBI_XNCBI_EXPORT void | ThrowNullPointerException (void) |
Define method to throw null pointer exception. More... | |
static NCBI_XNCBI_EXPORT void | ThrowNullPointerException (const type_info &type) |
static EAllocFillMode | GetAllocFillMode (void) |
static void | SetAllocFillMode (EAllocFillMode mode) |
static void | SetAllocFillMode (const string &value) |
Set mode from configuration parameter value. More... | |
Static Public Member Functions inherited from CDebugDumpable | |
static void | EnableDebugDump (bool on) |
Protected Types | |
typedef set< TDataSourceLock > | TDataSourcesLock |
Protected Member Functions | |
void | RegisterDataLoader (CLoaderMaker_Base &loader_maker, EIsDefault is_default=eNonDefault, TPriority priority=kPriority_Default) |
void | RegisterScope (CScope_Impl &scope) |
void | RevokeScope (CScope_Impl &scope) |
TDataSourceLock | AcquireDataLoader (CDataLoader &loader) |
TDataSourceLock | AcquireDataLoader (const string &loader_name) |
TDataSourceLock | AcquireSharedSeq_entry (const CSeq_entry &object) |
TDataSourceLock | AcquireSharedBioseq (const CBioseq &object) |
TDataSourceLock | AcquireSharedSeq_annot (const CSeq_annot &object) |
void | AcquireDefaultDataSources (TDataSourcesLock &sources) |
Protected Member Functions inherited from CObject | |
virtual void | DeleteThis (void) |
Virtual method "deleting" this object. More... | |
Private Types | |
typedef CPluginManager< CDataLoader > | TPluginManager |
typedef set< TDataSourceLock > | TSetDefaultSource |
typedef map< string, CDataLoader * > | TMapNameToLoader |
typedef map< const CObject *, TDataSourceLock > | TMapToSource |
typedef set< CScope_Impl * > | TSetScope |
typedef CMutex | TRWLock |
typedef CMutexGuard | TReadLockGuard |
typedef CMutexGuard | TWriteLockGuard |
Private Member Functions | |
CObjectManager (void) | |
TDataSourceLock | x_RegisterLoader (CDataLoader &loader, TPriority priority, EIsDefault is_default=eNonDefault, bool no_warning=false) |
CDataLoader * | x_GetLoaderByName (const string &loader_name) const |
TDataSourceLock | x_FindDataSource (const CObject *key) |
TDataSourceLock | x_RevokeDataLoader (CDataLoader *loader) |
TPluginManager & | x_GetPluginManager (void) |
Friends | |
class | CSafeStatic_Allocator< CObjectManager > |
class | CScope_Impl |
class | CDataSource |
class | CDataLoader |
Additional Inherited Members | |
Static Public Attributes inherited from CObject | |
static const TCount | eCounterBitsCanBeDeleted = 1 << 0 |
Define possible object states. More... | |
static const TCount | eCounterBitsInPlainHeap = 1 << 1 |
Heap signature was found. More... | |
static const TCount | eCounterBitsPlaceMask |
Mask for 'in heap' state flags. More... | |
static const int | eCounterStep = 1 << 2 |
Skip over the "in heap" bits. More... | |
static const TCount | eCounterValid = TCount(1) << (sizeof(TCount) * 8 - 2) |
Minimal value for valid objects (reference counter is zero) Must be a single bit value. More... | |
static const TCount | eCounterStateMask |
Valid object, and object in heap. More... | |
Core Class for ObjectManager Library. Handles data loaders, provides them to scopes.
Definition at line 126 of file object_manager.hpp.