CFx SDK Documentation  2020SP3
DbUndoController.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 _ODDBUNDOCONTROLLER_INCLUDED_
26 #define _ODDBUNDOCONTROLLER_INCLUDED_
27 
28 #include "RxObject.h"
29 #include "RxIterator.h"
30 #include "DbRootExport.h"
31 
32 class OdStreamBuf;
33 
38 {
39 protected:
41 public:
43 
44  virtual OdUInt32 options() const = 0;
45 };
46 
48 
49 
57 {
58 public:
59  enum
60  {
61  kDefault = 0,
62  kBlockBegin = 1,
63  kBlockEnd = 2,
64  kMarker = 3
65  };
66 
75  virtual void pushData(OdStreamBuf* pStream, OdUInt32 nSize, OdUInt32 opt = kDefault) = 0;
76 
81  virtual bool hasData() const = 0;
82 
91  virtual OdUInt32 popData(OdStreamBuf* pStream) = 0;
92 
94 
95  virtual void clearData() = 0;
96 };
97 
102 
103 
104 #endif // _ODDBUNDOCONTROLLER_INCLUDED_
105 
106 
107 
OdDbUndoController::clearData
virtual void clearData()=0
OdRxObject
Definition: RxObject.h:564
kDefault
@ kDefault
Definition: BrEnums.h:102
RxIterator.h
OdDbUndoController::pushData
virtual void pushData(OdStreamBuf *pStream, OdUInt32 nSize, OdUInt32 opt=kDefault)=0
OdDbUndoController::ODRX_DECLARE_MEMBERS
ODRX_DECLARE_MEMBERS(OdDbUndoController)
OdDbUndoControllerRecord::OdDbUndoControllerRecord
OdDbUndoControllerRecord()
RxObject.h
OdUInt32
unsigned int OdUInt32
Definition: OdPlatformSettings.h:783
DbRootExport.h
OdDbUndoControllerRecord::ODRX_DECLARE_MEMBERS
ODRX_DECLARE_MEMBERS(OdDbUndoControllerRecord)
OdDbUndoControllerPtr
OdSmartPtr< OdDbUndoController > OdDbUndoControllerPtr
Definition: DbUndoController.h:101
OdDbUndoController
Definition: DbUndoController.h:57
OdSmartPtr
Definition: SmartPtr.h:58
OdDbUndoControllerRecord::options
virtual OdUInt32 options() const =0
OdDbUndoController::hasData
virtual bool hasData() const =0
ODRX_ABSTRACT
#define ODRX_ABSTRACT
Definition: OdPlatformSettings.h:117
OdDbUndoControllerRecord
Definition: DbUndoController.h:38
OdDbUndoController::newRecordStackIterator
virtual OdRxIteratorPtr newRecordStackIterator() const =0
OdStreamBuf
Definition: OdStreamBuf.h:67
OdDbUndoController::popData
virtual OdUInt32 popData(OdStreamBuf *pStream)=0
DBROOT_EXPORT
#define DBROOT_EXPORT
Definition: DbRootExport.h:39
OdDbUndoControllerRecordPtr
OdSmartPtr< OdDbUndoControllerRecord > OdDbUndoControllerRecordPtr
Definition: DbUndoController.h:47