CFx SDK Documentation  2020SP3
ApLongTransactions.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2017, Open Design Alliance (the "Alliance").
3 // All rights reserved.
4 //
5 // This software and its documentation and related materials are owned by
6 // the Alliance. The software may only be incorporated into application
7 // programs owned by members of the Alliance, subject to a signed
8 // Membership Agreement and Supplemental Software License Agreement with the
9 // Alliance. The structure and organization of this software are the valuable
10 // trade secrets of the Alliance and its suppliers. The software is also
11 // protected by copyright law and international treaty provisions. Application
12 // programs incorporating this software must include the following statement
13 // with their copyright notices:
14 //
15 // This application incorporates Teigha(R) software pursuant to a license
16 // agreement with Open Design Alliance.
17 // Teigha(R) Copyright (C) 2002-2017 by Open Design Alliance.
18 // All rights reserved.
19 //
20 // By use of this software, its documentation or related materials, you
21 // acknowledge and accept the above terms.
23 
24 
25 #ifndef _LONG_TRANSACTION_MANAGER_H_INCLUDED_
26 #define _LONG_TRANSACTION_MANAGER_H_INCLUDED_
27 
28 #include "RxObject.h"
29 #include "IdArrays.h"
30 #include "TD_PackPush.h"
31 
33 class OdDbDatabase;
34 class OdDbIdMapping;
35 
45 {
46 public:
49 
55  virtual void beginCheckOut (OdDbLongTransaction& , OdDbObjectIdArray& originList);
59  virtual void endCheckOut (OdDbLongTransaction& );
67  virtual void endCheckIn (OdDbLongTransaction& );
72 
76 protected:
78 
79 private:
80  bool m_Veto;
81  friend class OdApLongTransactionManagerImpl;
82 };
83 
96 {
97 public:
99 
110  virtual OdResult checkOut(OdDbObjectId& transId, OdDbObjectIdArray& objList,
111  OdDbObjectId toBlock, OdDbIdMapping& errorMap, OdDbObjectId lockBlkRef = OdDbObjectId::kNull) = 0;
112 
120  virtual OdResult checkIn(OdDbObjectId transId, OdDbIdMapping& errorMap, bool keepObjs = false) = 0;
121 
128  virtual OdResult abortLongTransaction(OdDbObjectId transId, bool keepObjs = false) = 0;
129 
130  virtual OdDbObjectId currentLongTransactionFor(const OdDbDatabase* pDb) const = 0;
139 
147  virtual bool isFiltered (OdRxClass* ) const = 0;
148 };
149 
151 
152 #include "TD_PackPop.h"
153 #endif // _LONG_TRANSACTION_MANAGER_H_INCLUDED_
OdApLongTransactionManager::addClassFilter
virtual OdResult addClassFilter(OdRxClass *)=0
OdResult
OdResult
Definition: OdResult.h:29
OdDbDatabase
Definition: DbDatabase.h:421
OdApLongTransactionReactor::ODRX_DECLARE_MEMBERS
ODRX_DECLARE_MEMBERS(OdApLongTransactionReactor)
IdArrays.h
OdApLongTransactionManager::abortLongTransaction
virtual OdResult abortLongTransaction(OdDbObjectId transId, bool keepObjs=false)=0
OdRxObject
Definition: RxObject.h:564
OdDbObjectId
Definition: DbObjectId.h:99
OdApLongTransactionReactor::beginCheckOut
virtual void beginCheckOut(OdDbLongTransaction &, OdDbObjectIdArray &originList)
OdApLongTransactionManager::addReactor
virtual void addReactor(OdApLongTransactionReactor *)=0
OdArray< OdDbObjectId, OdMemoryAllocator< OdDbObjectId > >
TD_PackPop.h
RxObject.h
OdApLongTransactionReactor::veto
OdResult veto()
OdRxClass
Definition: RxObject.h:865
odapLongTransactionManager
TOOLKIT_EXPORT OdApLongTransactionManager * odapLongTransactionManager()
OdApLongTransactionReactor::abortLongTransaction
virtual void abortLongTransaction(OdDbLongTransaction &)
OdApLongTransactionReactor::beginCheckIn
virtual void beginCheckIn(OdDbLongTransaction &)
OdDbObjectId::kNull
static TOOLKIT_EXPORT_STATIC const OdDbObjectId kNull
Definition: DbObjectId.h:118
OdApLongTransactionReactor::endCheckIn
virtual void endCheckIn(OdDbLongTransaction &)
OdApLongTransactionManager::checkOut
virtual OdResult checkOut(OdDbObjectId &transId, OdDbObjectIdArray &objList, OdDbObjectId toBlock, OdDbIdMapping &errorMap, OdDbObjectId lockBlkRef=OdDbObjectId::kNull)=0
OdApLongTransactionManager::checkIn
virtual OdResult checkIn(OdDbObjectId transId, OdDbIdMapping &errorMap, bool keepObjs=false)=0
OdApLongTransactionManager::currentLongTransactionFor
virtual OdDbObjectId currentLongTransactionFor(const OdDbDatabase *pDb) const =0
TD_PackPush.h
OdApLongTransactionManager::isFiltered
virtual bool isFiltered(OdRxClass *) const =0
ODRX_ABSTRACT
#define ODRX_ABSTRACT
Definition: OdPlatformSettings.h:117
OdApLongTransactionManager::removeReactor
virtual void removeReactor(OdApLongTransactionReactor *)=0
OdApLongTransactionReactor::OdApLongTransactionReactor
OdApLongTransactionReactor()
OdDbLongTransaction
Definition: DbLongTransaction.h:116
OdApLongTransactionReactor::endCheckOut
virtual void endCheckOut(OdDbLongTransaction &)
OdApLongTransactionManager
Definition: ApLongTransactions.h:96
OdApLongTransactionReactor
Definition: ApLongTransactions.h:45
TOOLKIT_EXPORT
#define TOOLKIT_EXPORT
Definition: DbExport.h:40
OdDbIdMapping
Definition: DbIdMapping.h:238
OdApLongTransactionManager::ODRX_DECLARE_MEMBERS
ODRX_DECLARE_MEMBERS(OdApLongTransactionManager)