NCBI C++ ToolKit
|
Search Toolkit Book for CScopeTransaction_Impl
#include <objmgr/impl/scope_transaction_impl.hpp>
Public Types | |
typedef CRef< IEditCommand > | TCommand |
typedef list< TCommand > | TCommands |
typedef CRef< CScope_Impl > | TScope |
typedef set< TScope > | TScopes |
typedef set< IEditSaver * > | TEditSavers |
Public Types inherited from IScopeTransaction_Impl | |
typedef CRef< IEditCommand > | TCommand |
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 | |
CScopeTransaction_Impl (CScope_Impl &scope, IScopeTransaction_Impl *parent) | |
virtual | ~CScopeTransaction_Impl () |
virtual void | AddCommand (TCommand cmd) |
virtual void | AddEditSaver (IEditSaver *) |
virtual void | Commit () |
virtual void | RollBack () |
virtual void | AddScope (CScope_Impl &scope) |
virtual bool | HasScope (CScope_Impl &scope) const |
Public Member Functions inherited from IScopeTransaction_Impl | |
virtual | ~IScopeTransaction_Impl () |
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 Member Functions | |
virtual bool | x_CanCommitRollBack () const |
void | x_AddScope (CScope_Impl &scope) |
void | x_DoFinish (IScopeTransaction_Impl *) |
Protected Member Functions inherited from CObject | |
virtual void | DeleteThis (void) |
Virtual method "deleting" this object. More... | |
Protected Attributes | |
TCommands | m_Commands |
TCommands::iterator | m_CurCmd |
TScopes | m_Scopes |
TEditSavers | m_Savers |
CRef< IScopeTransaction_Impl > | m_Parent |
Private Member Functions | |
CScopeTransaction_Impl (const CScopeTransaction_Impl &) | |
CScopeTransaction_Impl & | operator= (const CScopeTransaction_Impl &) |
Additional Inherited Members | |
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... | |
Definition at line 116 of file scope_transaction_impl.hpp.
Definition at line 120 of file scope_transaction_impl.hpp.
typedef list<TCommand> CScopeTransaction_Impl::TCommands |
Definition at line 121 of file scope_transaction_impl.hpp.
typedef set<IEditSaver*> CScopeTransaction_Impl::TEditSavers |
Definition at line 124 of file scope_transaction_impl.hpp.
Definition at line 122 of file scope_transaction_impl.hpp.
typedef set<TScope> CScopeTransaction_Impl::TScopes |
Definition at line 123 of file scope_transaction_impl.hpp.
CScopeTransaction_Impl::CScopeTransaction_Impl | ( | CScope_Impl & | scope, |
IScopeTransaction_Impl * | parent | ||
) |
Definition at line 87 of file scope_transaction_impl.cpp.
References m_Commands, m_CurCmd, and x_AddScope().
|
virtual |
Definition at line 95 of file scope_transaction_impl.cpp.
References ERR_POST_X, Fatal(), and RollBack().
|
private |
|
virtual |
Implements IScopeTransaction_Impl.
Definition at line 105 of file scope_transaction_impl.cpp.
References cmd, m_Commands, and m_CurCmd.
|
virtual |
Implements IScopeTransaction_Impl.
Definition at line 112 of file scope_transaction_impl.cpp.
References IScopeTransaction_Impl::AddEditSaver(), IEditSaver::BeginTransaction(), set< Key, Compare >::end(), set< Key, Compare >::find(), set< Key, Compare >::insert(), m_Parent, and m_Savers.
|
virtual |
Implements IScopeTransaction_Impl.
Definition at line 125 of file scope_transaction_impl.cpp.
References x_AddScope().
|
virtual |
Implements IScopeTransaction_Impl.
Definition at line 156 of file scope_transaction_impl.cpp.
References IScopeTransaction_Impl::AddCommand(), cmd, IEditSaver::CommitTransaction(), ERR_POST_X, Fatal(), CRef< C, Locker >::GetPointer(), ITERATE, m_Commands, m_CurCmd, m_Parent, m_Savers, NCBI_THROW, x_CanCommitRollBack(), and x_DoFinish().
|
virtual |
Implements IScopeTransaction_Impl.
Definition at line 137 of file scope_transaction_impl.cpp.
References set< Key, Compare >::end(), set< Key, Compare >::find(), IScopeTransaction_Impl::HasScope(), m_Parent, m_Scopes, and Ref().
|
private |
|
virtual |
Implements IScopeTransaction_Impl.
Definition at line 187 of file scope_transaction_impl.cpp.
References ERR_POST_X, Fatal(), CRef< C, Locker >::GetPointer(), ITERATE, m_Commands, m_CurCmd, m_Parent, m_Savers, NCBI_THROW, IEditSaver::RollbackTransaction(), x_CanCommitRollBack(), and x_DoFinish().
Referenced by ~CScopeTransaction_Impl().
|
protected |
Definition at line 130 of file scope_transaction_impl.cpp.
References IScopeTransaction_Impl::AddScope(), set< Key, Compare >::insert(), m_Parent, m_Scopes, and Ref().
Referenced by AddScope(), and CScopeTransaction_Impl().
|
protectedvirtual |
Implements IScopeTransaction_Impl.
Definition at line 144 of file scope_transaction_impl.cpp.
References CScope_Impl::GetTransaction(), ITERATE, and m_Scopes.
Referenced by Commit(), and RollBack().
|
protected |
Definition at line 213 of file scope_transaction_impl.cpp.
References set< Key, Compare >::clear(), m_Commands, m_CurCmd, m_Savers, m_Scopes, NON_CONST_ITERATE, and CScope_Impl::SetActiveTransaction().
Referenced by Commit(), and RollBack().
|
protected |
Definition at line 144 of file scope_transaction_impl.hpp.
Referenced by AddCommand(), Commit(), CScopeTransaction_Impl(), RollBack(), and x_DoFinish().
|
protected |
Definition at line 145 of file scope_transaction_impl.hpp.
Referenced by AddCommand(), Commit(), CScopeTransaction_Impl(), RollBack(), and x_DoFinish().
|
protected |
Definition at line 148 of file scope_transaction_impl.hpp.
Referenced by AddEditSaver(), Commit(), HasScope(), RollBack(), and x_AddScope().
|
protected |
Definition at line 147 of file scope_transaction_impl.hpp.
Referenced by AddEditSaver(), Commit(), RollBack(), and x_DoFinish().
|
protected |
Definition at line 146 of file scope_transaction_impl.hpp.
Referenced by HasScope(), x_AddScope(), x_CanCommitRollBack(), and x_DoFinish().