NCBI C++ ToolKit
itransaction.cpp
Go to the documentation of this file.

Go to the SVN repository for this file.

1 /* $Id: itransaction.cpp 33815 2007-05-04 17:18:18Z kazimird $
2  * ===========================================================================
3  *
4  * PUBLIC DOMAIN NOTICE
5  * National Center for Biotechnology Information
6  *
7  * This software/database is a "United States Government Work" under the
8  * terms of the United States Copyright Act. It was written as part of
9  * the author's official duties as a United States Government employee and
10  * thus cannot be copyrighted. This software/database is freely available
11  * to the public for use. The National Library of Medicine and the U.S.
12  * Government have not placed any restriction on its use or reproduction.
13  *
14  * Although all reasonable efforts have been taken to ensure the accuracy
15  * and reliability of the software and data, the NLM and the U.S.
16  * Government do not and cannot warrant the performance or results that
17  * may be obtained by using this software or data. The NLM and the U.S.
18  * Government disclaim all warranties, express or implied, including
19  * warranties of performance, merchantability or fitness for any particular
20  * purpose.
21  *
22  * Please cite the author in any work or product based on this material.
23  *
24  * ===========================================================================
25  *
26  * Authors: Anatoliy Kuznetsov
27  *
28  * File Description: ITransaction interface
29  *
30  */
31 
32 
33 #include <ncbi_pch.hpp>
34 #include <util/itransaction.hpp>
35 
37 
39 {}
40 
42 {}
43 
45 {}
46 
48 {
49  CThread::TID self_tid = CThread::GetSelf();
50 
52  m_ThreadMap[self_tid] = trans;
53 }
54 
56 {
57  CThread::TID self_tid = CThread::GetSelf();
58 
61  if (it == m_ThreadMap.end()) {
62  return 0;
63  }
64  return it->second;
65 }
66 
68 {
69  CThread::TID self_tid = CThread::GetSelf();
70 
73  if (it == m_ThreadMap.end()) {
74  return;
75  }
76  if (it->second == trans) {
77  it->second = 0;
78  }
79 }
80 
Transaction interface.
const_iterator end() const
Definition: map.hpp:152
const_iterator find(const key_type &key) const
Definition: map.hpp:153
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition: ncbistl.hpp:103
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition: ncbistl.hpp:100
static TID GetSelf(void)
Definition: ncbithr.cpp:515
unsigned int TID
Get ID of current thread.
Definition: ncbithr.hpp:598
virtual ITransaction * GetTransaction()
Get current transaction.
virtual void RemoveTransaction(ITransaction *trans)
Remove transaction association (must be established by SetTransaction.
virtual ~ITransaction()
virtual ~ITransactional()
virtual ~ITransactionalRegistry()
virtual void SetTransaction(ITransaction *trans)
Establish transaction association.
Modified on Wed May 08 12:11:06 2024 by modify_doxy.py rev. 669887