CFx SDK Documentation 2024 SP0
Loading...
Searching...
No Matches
DbLongTransaction.h
Go to the documentation of this file.
1
2// Copyright (C) 2002-2022, 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 Open Design Alliance software pursuant to a license
16// agreement with Open Design Alliance.
17// Open Design Alliance Copyright (C) 2002-2022 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 ODDBLONGTRANSWORKSETITERATOR_INCLUDED
26#define ODDBLONGTRANSWORKSETITERATOR_INCLUDED
27
28#include "DbObject.h"
29#include "DwgDeclareMembers.h"
30
37{
38public:
40
50 virtual void start(
51 bool incRemovedObjs = false,
52 bool incSecondaryObjs = false) = 0;
53
57 virtual bool done() = 0;
58
62 virtual void step() = 0;
63
67 virtual OdDbObjectId objectId() const = 0;
68
75 virtual bool curObjectIsErased() const = 0;
76
84 virtual bool curObjectIsRemoved() const = 0;
85
98 virtual bool curObjectIsPrimary() const = 0;
99};
100
105
117{
118public:
120
122
123 enum
124 {
125 kSameDb = 0, // Entities are checked out from a normal block in the current *database*.
126 kXrefDb = 1, // Entities are checked out from ModelSpace or an Xref dependent block in an Xref *database*.
127 kUnrelatedDb = 2 // Entities are checked out from ModelSpace or a block in an unrelated *database*.
128 };
129
144 int type() const;
145
150
155
156
164
188
196
203 bool incRemovedObjs = false,
204 bool incSecondaryObjs = false) const;
205
211 OdDbObjectId workSetId) const;
212
220 ObjectId,
221 bool getErased = false) const;
222
227
228 void applyPartialUndo(OdDbDwgFiler* pUndoFiler, OdRxClass* pClassObj);
230 virtual void dwgOutFields(OdDbDwgFiler* pFiler) const;
231 virtual OdResult subErase(bool erasing);
232};
233
235
236#endif // ODDBLONGTRANSWORKSETITERATOR_INCLUDED
#define TOOLKIT_EXPORT
Definition: DbExport.h:40
OdSmartPtr< OdDbLongTransaction > OdDbLongTransactionPtr
OdSmartPtr< OdDbLongTransWorkSetIterator > OdDbLongTransWorkSetIteratorPtr
#define ODRX_ABSTRACT
OdResult
Definition: OdResult.h:29
ODRX_DECLARE_MEMBERS(OdDbLongTransWorkSetIterator)
virtual OdDbObjectId objectId() const =0
virtual bool curObjectIsErased() const =0
virtual void start(bool incRemovedObjs=false, bool incSecondaryObjs=false)=0
virtual bool curObjectIsPrimary() const =0
virtual bool curObjectIsRemoved() const =0
DWGMAP_DECLARE_MEMBERS(OdDbLongTransaction)
OdResult syncWorkSet()
bool workSetHas(OdDbObjectId ObjectId, bool getErased=false) const
void applyPartialUndo(OdDbDwgFiler *pUndoFiler, OdRxClass *pClassObj)
OdString getLongTransactionName() const
OdDbIdMapping * activeIdMap()
OdDbObjectId originBlock() const
virtual OdResult subErase(bool erasing)
virtual void dwgOutFields(OdDbDwgFiler *pFiler) const
virtual OdResult dwgInFields(OdDbDwgFiler *pFiler)
OdDbObjectId originObject(OdDbObjectId workSetId) const
OdResult addToWorkSet(OdDbObjectId ObjectId)
OdResult removeFromWorkSet(OdDbObjectId id)
OdDbLongTransWorkSetIteratorPtr newWorkSetIterator(bool incRemovedObjs=false, bool incSecondaryObjs=false) const
OdDbObjectId destinationBlock() const