summaryrefslogtreecommitdiff
path: root/inc/Storage.hxx
blob: 03f30f9860764524039a7a9c017221f85063a1cd (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
// 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 _Storage_HeaderFile
#define _Storage_HeaderFile

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

class TCollection_AsciiString;
class Storage_BaseDriver;
class Storage_CallBack;
class Storage_DefaultCallBack;
class Storage_HeaderData;
class Storage_Data;
class Storage_TypeData;
class Storage_RootData;
class Storage_Root;
class Storage_Schema;
class Storage_SeqOfRoot;
class Storage_HSeqOfRoot;
class Storage_InternalData;
class Storage_stCONSTclCOM;
class Storage_TypedCallBack;
class Storage_SeqOfPersistent;
class Storage_HSeqOfPersistent;
class Storage_MapPSDHasher;
class Storage_PType;
class Storage_MapOfPers;
class Storage_MapOfCallBack;
class Storage_ArrayOfCallBack;
class Storage_HArrayOfCallBack;
class Storage_ArrayOfSchema;
class Storage_HArrayOfSchema;
class Storage_SeqOfCallBack;
class Storage_HSeqOfCallBack;
class Storage_PArray;
class Storage_HPArray;
class Storage_SequenceNodeOfSeqOfRoot;
class Storage_SequenceNodeOfSeqOfPersistent;
class Storage_IndexedDataMapNodeOfPType;
class Storage_DataMapNodeOfMapOfPers;
class Storage_DataMapIteratorOfMapOfPers;
class Storage_DataMapNodeOfMapOfCallBack;
class Storage_DataMapIteratorOfMapOfCallBack;
class Storage_SequenceNodeOfSeqOfCallBack;


//! Storage package is used to write and read persistent objects. <br>
//!     These objects are read and written by a retrieval or storage <br>
//!  algorithm (Storage_Schema object) in a container (disk, memory, <br>
//! network ...). Drivers (FSD_File objects) assign a physical <br>
//! container for data to be stored or retrieved. <br>
//! The standard procedure for an application in <br>
//! reading a container is the following: <br>
//! -   open the driver in reading mode, <br>
//! -   call the Read function from the schema, <br>
//!   setting the driver as a parameter. This   function returns <br>
//! an instance of the   Storage_Data class which contains the   data being read, <br>
//! -   close the driver. <br>
//! The standard procedure for an application in writing a container is the following: <br>
//! -   open the driver in writing mode, <br>
//! -   create an instance of the Storage_Data   class, then <br>
//!    add the persistent data to write   with the function AddRoot, <br>
//! -   call the function Write from the schema, <br>
//!   setting the driver and the Storage_Data   instance as parameters, <br>
//! -      close the driver. <br>
class Storage  {
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); 
  }

  //! returns the version of Storage's read/write routines <br>
  Standard_EXPORT   static  TCollection_AsciiString Version() ;





protected:





private:




friend class Storage_BaseDriver;
friend class Storage_CallBack;
friend class Storage_DefaultCallBack;
friend class Storage_HeaderData;
friend class Storage_Data;
friend class Storage_TypeData;
friend class Storage_RootData;
friend class Storage_Root;
friend class Storage_Schema;
friend class Storage_SeqOfRoot;
friend class Storage_HSeqOfRoot;
friend class Storage_InternalData;
friend class Storage_stCONSTclCOM;
friend class Storage_TypedCallBack;
friend class Storage_SeqOfPersistent;
friend class Storage_HSeqOfPersistent;
friend class Storage_MapPSDHasher;
friend class Storage_PType;
friend class Storage_MapOfPers;
friend class Storage_MapOfCallBack;
friend class Storage_ArrayOfCallBack;
friend class Storage_HArrayOfCallBack;
friend class Storage_ArrayOfSchema;
friend class Storage_HArrayOfSchema;
friend class Storage_SeqOfCallBack;
friend class Storage_HSeqOfCallBack;
friend class Storage_PArray;
friend class Storage_HPArray;
friend class Storage_SequenceNodeOfSeqOfRoot;
friend class Storage_SequenceNodeOfSeqOfPersistent;
friend class Storage_IndexedDataMapNodeOfPType;
friend class Storage_DataMapNodeOfMapOfPers;
friend class Storage_DataMapIteratorOfMapOfPers;
friend class Storage_DataMapNodeOfMapOfCallBack;
friend class Storage_DataMapIteratorOfMapOfCallBack;
friend class Storage_SequenceNodeOfSeqOfCallBack;

};





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


#endif