CFx SDK Documentation  2023 SP0
DbPageController.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 
26 #ifndef _ODDBPAGECONTROLLER_INCLUDED_
27 #define _ODDBPAGECONTROLLER_INCLUDED_
28 
29 #include "RxObject.h"
30 #include "DbExport.h"
31 
32 class OdDbDatabase;
33 class OdDbObjectId;
34 class OdStreamBuf;
36 
41 namespace OdDb
42 {
53  {
61  kUnload = 0x01,
68  kPage = 0x02
69  };
70 }
71 
82 {
83 public:
84  typedef OdInt64 Key;
85 
101  virtual int pagingType() const = 0;
102 
111  virtual OdStreamBufPtr read(Key key) = 0;
112 
128  virtual bool write(Key& key, OdStreamBuf* pStreamBuf) = 0;
129 
137  virtual void setDatabase(OdDbDatabase* pDb) = 0;
138 
142  virtual OdDbDatabase* database() = 0;
143 
163  virtual OdResult subPage(const OdDbObjectId& objectId);
164 };
165 
170 
181 
182 #endif // _ODDBPAGECONTROLLER_INCLUDED_
183 
184 
185 
#define TOOLKIT_EXPORT
Definition: DbExport.h:40
OdSmartPtr< OdDbPageController > OdDbPageControllerPtr
OdSmartPtr< OdStreamBuf > OdStreamBufPtr
TOOLKIT_EXPORT void odDbPageObjects(OdDbDatabase *pDb)
OdResult
Definition: OdResult.h:29
virtual OdResult subPage(const OdDbObjectId &objectId)
virtual OdDbDatabase * database()=0
virtual bool write(Key &key, OdStreamBuf *pStreamBuf)=0
virtual OdStreamBufPtr read(Key key)=0
virtual void setDatabase(OdDbDatabase *pDb)=0
virtual int pagingType() const =0
Definition: Int64.h:43