NCBI C++ ToolKit
|
Search Toolkit Book for CInfoRequestorLock
#include <objtools/data_loaders/genbank/impl/info_cache.hpp>
Public Member Functions | |
CInfoRequestorLock (CInfoRequestor &requestor, CInfo_Base &info) | |
~CInfoRequestorLock (void) | |
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 |
Protected Types | |
typedef CInfo_Base::TExpirationTime | TExpirationTime |
typedef CMutex | TMainMutex |
Protected Member Functions | |
CInfo_Base & | GetInfo (void) const |
CInfoRequestor & | GetRequestor (void) const |
TExpirationTime | GetNewExpirationTime (EExpirationType type) const |
CInfoManager & | GetManager (void) const |
bool | IsLocked (void) const |
bool | IsLoaded (void) const |
bool | SetLoadedFor (TExpirationTime new_expiration_time) |
bool | SetLoaded (EExpirationType type) |
TExpirationTime | GetExpirationTime (void) const |
bool | x_SetLoadedFor (TMainMutex::TWriteLockGuard &guard, TExpirationTime new_expiration_time) |
bool | x_SetLoaded (TMainMutex::TWriteLockGuard &guard, EExpirationType type) |
Protected Member Functions inherited from CObject | |
virtual void | DeleteThis (void) |
Virtual method "deleting" this object. More... | |
Protected Attributes | |
CInfoRequestor & | m_Requestor |
CRef< CInfo_Base > | m_Info |
CRef< CLoadMutex > | m_Mutex |
Friends | |
class | CInfoLock_Base |
class | CInfoCache_Base |
class | CInfoRequestor |
class | CInfoManager |
Additional Inherited Members | |
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... | |
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) |
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... | |
Private Member Functions inherited from INoCopying | |
INoCopying () | |
Definition at line 140 of file info_cache.hpp.
|
protected |
Definition at line 151 of file info_cache.hpp.
|
protected |
Definition at line 178 of file info_cache.hpp.
CInfoRequestorLock::CInfoRequestorLock | ( | CInfoRequestor & | requestor, |
CInfo_Base & | info | ||
) |
Definition at line 66 of file info_cache.cpp.
CInfoRequestorLock::~CInfoRequestorLock | ( | void | ) |
Definition at line 74 of file info_cache.cpp.
|
inlineprotected |
Definition at line 173 of file info_cache.hpp.
References CInfo_Base::GetExpirationTime(), and GetInfo().
Referenced by CInfoLock_Base::GetExpirationTime().
|
inlineprotected |
Definition at line 153 of file info_cache.hpp.
References CRef< C, Locker >::GetNCObject(), and m_Info.
Referenced by GetExpirationTime(), CInfoLock_Base::GetInfo(), IsLoaded(), SetLoadedFor(), CInfoManager::x_AcquireLoadLock(), CInfoManager::x_LockInfoMutex(), CInfoManager::x_ReleaseLoadLock(), x_SetLoadedFor(), CInfoManager::x_UnlockInfoMutex(), and CInfoManager::x_WaitForOtherLoader().
|
inlineprotected |
Definition at line 336 of file info_cache.hpp.
References CInfoRequestor::GetManager(), and GetRequestor().
Referenced by SetLoadedFor(), CInfoCache_Base::x_AcquireLoadLock(), and x_SetLoadedFor().
|
inlineprotected |
Definition at line 314 of file info_cache.hpp.
References CInfoRequestor::GetNewExpirationTime(), and GetRequestor().
Referenced by CInfoLock_Base::GetNewExpirationTime(), SetLoaded(), and x_SetLoaded().
|
inlineprotected |
Definition at line 158 of file info_cache.hpp.
References m_Requestor.
Referenced by GetManager(), GetNewExpirationTime(), CInfoLock_Base::GetRequestor(), IsLoaded(), SetLoadedFor(), CInfoManager::x_AcquireLoadLock(), CInfoManager::x_LockInfoMutex(), x_SetLoadedFor(), CInfoManager::x_UnlockInfoMutex(), and CInfoManager::x_WaitForOtherLoader().
|
inlineprotected |
Definition at line 306 of file info_cache.hpp.
References GetInfo(), GetRequestor(), and CInfo_Base::IsLoaded().
Referenced by CInfoLock_Base::IsLoaded(), CInfoManager::x_AcquireLoadLock(), and CInfoManager::x_WaitForOtherLoader().
|
inlineprotected |
Definition at line 165 of file info_cache.hpp.
References m_Mutex, and CRef< C, Locker >::NotNull().
Referenced by CInfoLock_Base::IsLocked(), SetLoadedFor(), CInfoManager::x_AcquireLoadLock(), CInfoManager::x_LockInfoMutex(), CInfoManager::x_ReleaseLoadLock(), x_SetLoadedFor(), CInfoManager::x_UnlockInfoMutex(), and CInfoManager::x_WaitForOtherLoader().
|
inlineprotected |
Definition at line 321 of file info_cache.hpp.
References GetNewExpirationTime(), and SetLoadedFor().
Referenced by CInfoLock_Base::SetLoaded(), and CInfoLock_Base::x_SetLoaded().
|
protected |
Definition at line 79 of file info_cache.cpp.
References _ASSERT, GetInfo(), GetManager(), GetRequestor(), info, IsLocked(), CLoadMutex::m_LoadingRequestor, m_Mutex, and CInfoManager::ReleaseLoadLock().
Referenced by SetLoaded(), CInfoLock_Base::SetLoadedFor(), and CInfoLock_Base::x_SetLoadedFor().
|
inlineprotected |
Definition at line 328 of file info_cache.hpp.
References GetNewExpirationTime(), and x_SetLoadedFor().
|
protected |
Definition at line 92 of file info_cache.cpp.
References _ASSERT, GetInfo(), GetManager(), GetRequestor(), info, IsLocked(), CLoadMutex::m_LoadingRequestor, m_Mutex, and CInfoManager::x_ReleaseLoadLock().
Referenced by x_SetLoaded().
|
friend |
Definition at line 148 of file info_cache.hpp.
|
friend |
Definition at line 147 of file info_cache.hpp.
|
friend |
Definition at line 150 of file info_cache.hpp.
|
friend |
Definition at line 149 of file info_cache.hpp.
|
protected |
Definition at line 185 of file info_cache.hpp.
Referenced by GetInfo(), and CInfoManager::x_AcquireLoadLock().
|
protected |
Definition at line 186 of file info_cache.hpp.
Referenced by IsLocked(), SetLoadedFor(), CInfoManager::x_LockInfoMutex(), x_SetLoadedFor(), and CInfoManager::x_UnlockInfoMutex().
|
protected |
Definition at line 184 of file info_cache.hpp.
Referenced by GetRequestor().