summaryrefslogtreecommitdiff
path: root/inc/MDF.hxx
blob: 71b048edd2f17e10077b67eee94b164b77e5840d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
// This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to 
// this header file considered to be the "object code" form of the original source.

#ifndef _MDF_HeaderFile
#define _MDF_HeaderFile

#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_Macro_HeaderFile
#include <Standard_Macro.hxx>
#endif

#ifndef _Handle_TDF_Data_HeaderFile
#include <Handle_TDF_Data.hxx>
#endif
#ifndef _Handle_PDF_Data_HeaderFile
#include <Handle_PDF_Data.hxx>
#endif
#ifndef _Handle_MDF_ASDriverTable_HeaderFile
#include <Handle_MDF_ASDriverTable.hxx>
#endif
#ifndef _Handle_MDF_SRelocationTable_HeaderFile
#include <Handle_MDF_SRelocationTable.hxx>
#endif
#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
#ifndef _Handle_MDF_ARDriverTable_HeaderFile
#include <Handle_MDF_ARDriverTable.hxx>
#endif
#ifndef _Handle_MDF_RRelocationTable_HeaderFile
#include <Handle_MDF_RRelocationTable.hxx>
#endif
#ifndef _Handle_MDF_ASDriverHSequence_HeaderFile
#include <Handle_MDF_ASDriverHSequence.hxx>
#endif
#ifndef _Handle_CDM_MessageDriver_HeaderFile
#include <Handle_CDM_MessageDriver.hxx>
#endif
#ifndef _Handle_MDF_ARDriverHSequence_HeaderFile
#include <Handle_MDF_ARDriverHSequence.hxx>
#endif
class TDF_Data;
class PDF_Data;
class MDF_ASDriverTable;
class MDF_SRelocationTable;
class MDF_ARDriverTable;
class MDF_RRelocationTable;
class MDF_ASDriverHSequence;
class CDM_MessageDriver;
class MDF_ARDriverHSequence;
class MDF_ASDriver;
class MDF_ARDriver;
class MDF_RelocationTable;
class MDF_DriverTable;
class MDF_DriverList;
class MDF_TypeDriverListMap;
class MDF_Tool;
class MDF_TagSourceStorageDriver;
class MDF_TagSourceRetrievalDriver;
class MDF_ReferenceStorageDriver;
class MDF_ReferenceRetrievalDriver;
class MDF_ASDriverSequence;
class MDF_ASDriverHSequence;
class MDF_ARDriverSequence;
class MDF_ARDriverHSequence;
class MDF_SRelocationTable;
class MDF_RRelocationTable;
class MDF_TypeASDriverMap;
class MDF_TypeARDriverMap;
class MDF_ASDriverTable;
class MDF_ARDriverTable;
class MDF_SequenceNodeOfASDriverSequence;
class MDF_SequenceNodeOfARDriverSequence;
class MDF_DataMapNodeOfTypeASDriverMap;
class MDF_DataMapIteratorOfTypeASDriverMap;
class MDF_DataMapNodeOfTypeARDriverMap;
class MDF_DataMapIteratorOfTypeARDriverMap;
class MDF_ListNodeOfDriverListOfASDriverTable;
class MDF_ListIteratorOfDriverListOfASDriverTable;
class MDF_DriverListOfASDriverTable;
class MDF_DataMapNodeOfTypeDriverListMapOfASDriverTable;
class MDF_DataMapIteratorOfTypeDriverListMapOfASDriverTable;
class MDF_TypeDriverListMapOfASDriverTable;
class MDF_ListNodeOfDriverListOfARDriverTable;
class MDF_ListIteratorOfDriverListOfARDriverTable;
class MDF_DriverListOfARDriverTable;
class MDF_DataMapNodeOfTypeDriverListMapOfARDriverTable;
class MDF_DataMapIteratorOfTypeDriverListMapOfARDriverTable;
class MDF_TypeDriverListMapOfARDriverTable;


//! This package provides classes and methods to <br>
//!          translate a transient DF into a persistent one and <br>
//!          vice versa. <br>
//! <br>
//!          Driver <br>
//! <br>
//!          A driver is a tool used to translate a transient <br>
//!          attribute into a persistent one and vice versa. <br>
//! <br>
//!          Relocation Table <br>
//! <br>
//!          A relocation table is a tool who provides services <br>
//!          to relocate transient objects into persistent ones <br>
//!          (or vice versa). It uses a map system to keep the <br>
//!          sharing. This service is used by the drivers. <br>
//! <br>
//!          Driver Table <br>
//! <br>
//!          A driver table is an object building links between <br>
//!          object types and object drivers. In the <br>
//!          translation process, a driver table is asked to <br>
//!          give a translation driver for each current object <br>
//!          to be translated. <br>
class MDF  {
public:

  void* operator new(size_t,void* anAddress) 
  {
    return anAddress;
  }
  void* operator new(size_t size) 
  {
    return Standard::Allocate(size); 
  }
  void  operator delete(void *anAddress) 
  {
    if (anAddress) Standard::Free((Standard_Address&)anAddress); 
  }

  //! Translates a transient <aSource> into a persistent <br>
//!          <aTarget>. <br>
  Standard_EXPORT   static  void FromTo(const Handle(TDF_Data)& aSource,Handle(PDF_Data)& aTarget,const Handle(MDF_ASDriverTable)& aDriverTable,const Handle(MDF_SRelocationTable)& aReloc,const Standard_Integer aVersion = 0) ;
  //! Translates a persistent <aSource> into a transient <br>
//!          <aTarget>. <br>
  Standard_EXPORT   static  void FromTo(const Handle(PDF_Data)& aSource,Handle(TDF_Data)& aTarget,const Handle(MDF_ARDriverTable)& aDriverTable,const Handle(MDF_RRelocationTable)& aReloc) ;
  //! Adds the attribute storage drivers to <aDriverSeq>. <br>
  Standard_EXPORT   static  void AddStorageDrivers(const Handle(MDF_ASDriverHSequence)& aDriverSeq,const Handle(CDM_MessageDriver)& theMessageDriver) ;
  //! Adds the attribute retrieval drivers to <aDriverSeq>. <br>
  Standard_EXPORT   static  void AddRetrievalDrivers(const Handle(MDF_ARDriverHSequence)& aDriverSeq,const Handle(CDM_MessageDriver)& theMessageDriver) ;





protected:





private:




friend class MDF_ASDriver;
friend class MDF_ARDriver;
friend class MDF_RelocationTable;
friend class MDF_DriverTable;
friend class MDF_DriverList;
friend class MDF_TypeDriverListMap;
friend class MDF_Tool;
friend class MDF_TagSourceStorageDriver;
friend class MDF_TagSourceRetrievalDriver;
friend class MDF_ReferenceStorageDriver;
friend class MDF_ReferenceRetrievalDriver;
friend class MDF_ASDriverSequence;
friend class MDF_ASDriverHSequence;
friend class MDF_ARDriverSequence;
friend class MDF_ARDriverHSequence;
friend class MDF_SRelocationTable;
friend class MDF_RRelocationTable;
friend class MDF_TypeASDriverMap;
friend class MDF_TypeARDriverMap;
friend class MDF_ASDriverTable;
friend class MDF_ARDriverTable;
friend class MDF_SequenceNodeOfASDriverSequence;
friend class MDF_SequenceNodeOfARDriverSequence;
friend class MDF_DataMapNodeOfTypeASDriverMap;
friend class MDF_DataMapIteratorOfTypeASDriverMap;
friend class MDF_DataMapNodeOfTypeARDriverMap;
friend class MDF_DataMapIteratorOfTypeARDriverMap;
friend class MDF_ListNodeOfDriverListOfASDriverTable;
friend class MDF_ListIteratorOfDriverListOfASDriverTable;
friend class MDF_DriverListOfASDriverTable;
friend class MDF_DataMapNodeOfTypeDriverListMapOfASDriverTable;
friend class MDF_DataMapIteratorOfTypeDriverListMapOfASDriverTable;
friend class MDF_TypeDriverListMapOfASDriverTable;
friend class MDF_ListNodeOfDriverListOfARDriverTable;
friend class MDF_ListIteratorOfDriverListOfARDriverTable;
friend class MDF_DriverListOfARDriverTable;
friend class MDF_DataMapNodeOfTypeDriverListMapOfARDriverTable;
friend class MDF_DataMapIteratorOfTypeDriverListMapOfARDriverTable;
friend class MDF_TypeDriverListMapOfARDriverTable;

};





// other Inline functions and methods (like "C++: function call" methods)


#endif