417d10d247a72ef4706849ff10c1e57afff922b5
[occt.git] / src / FSD / FSD_CmpFile.cdl
1 -- Created on: 1996-11-29
2 -- Created by: Christophe LEYNADIER
3 -- Copyright (c) 1996-1999 Matra Datavision
4 -- Copyright (c) 1999-2012 OPEN CASCADE SAS
5 --
6 -- The content of this file is subject to the Open CASCADE Technology Public
7 -- License Version 6.5 (the "License"). You may not use the content of this file
8 -- except in compliance with the License. Please obtain a copy of the License
9 -- at http://www.opencascade.org and read it completely before using this file.
10 --
11 -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12 -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
13 --
14 -- The Original Code and all software distributed under the License is
15 -- distributed on an "AS IS" basis, without warranty of any kind, and the
16 -- Initial Developer hereby disclaims all such warranties, including without
17 -- limitation, any warranties of merchantability, fitness for a particular
18 -- purpose or non-infringement. Please see the License for the specific terms
19 -- and conditions governing the rights and limitations under the License.
20
21
22 class CmpFile from FSD
23
24 inherits BaseDriver from Storage
25
26 uses Position    from Storage,
27      Error       from Storage,
28      OpenMode    from Storage,
29      AsciiString from TCollection,
30      SequenceOfAsciiString from TColStd,
31      SequenceOfExtendedString from TColStd,
32      ExtendedString from TCollection,
33      FStream     from FSD,
34      Real2String  from  OSD
35      
36 raises StreamTypeMismatchError from Storage,
37        StreamFormatError from Storage,
38        StreamWriteError from Storage,
39        StreamExtCharParityError from Storage
40
41 is
42     Create returns CmpFile from FSD;
43     
44     Open(me : in out; aName : AsciiString from TCollection; aMode : OpenMode from Storage) returns Error from Storage;
45         
46     IsEnd(me : in out) returns Boolean from Standard;
47
48     Tell( me : in out ) returns Position from Storage;
49         ---Purpose: return position in the file. Return -1 upon error.
50
51     IsGoodFileType(myclass; aName : AsciiString from TCollection)
52         returns Error from Storage;
53     
54     --  INFO SECTION
55     --  write
56     --  
57     BeginWriteInfoSection(me : in out) returns Error from Storage;    
58     
59     WriteInfo(me : in out; nbObj : Integer from Standard; 
60                            dbVersion : AsciiString from TCollection;
61                            date : AsciiString from TCollection;
62                            schemaName : AsciiString from TCollection;
63                            schemaVersion : AsciiString from TCollection;
64                            appName : ExtendedString from TCollection;
65                            appVersion : AsciiString from TCollection;
66                            objectType : ExtendedString from TCollection;
67                            userInfo : SequenceOfAsciiString from TColStd)
68     raises StreamWriteError;
69                            
70     EndWriteInfoSection(me : in out) returns Error from Storage;
71     
72     -- read
73     -- 
74     BeginReadInfoSection(me : in out) returns Error from Storage;
75     
76     ReadInfo(me : in out; nbObj : in out Integer from Standard; 
77                           dbVersion : in out AsciiString from TCollection;
78                           date : in out AsciiString from TCollection;
79                           schemaName : in out AsciiString from TCollection;
80                           schemaVersion : in out AsciiString from TCollection;
81                           appName  : in out ExtendedString from TCollection;
82                           appVersion : in out AsciiString from TCollection;
83                           objectType : in out ExtendedString from TCollection;
84                           userInfo : in out SequenceOfAsciiString from TColStd)
85     raises StreamTypeMismatchError,StreamExtCharParityError;
86     
87     EndReadInfoSection(me : in out) returns Error from Storage;
88
89     --  COMMENTS SECTION
90     --  write
91     --  
92     BeginWriteCommentSection(me : in out) returns Error from Storage;    
93     
94     WriteComment(me : in out; userComments : SequenceOfExtendedString from TColStd)
95     raises StreamWriteError;
96                            
97     EndWriteCommentSection(me : in out) returns Error from Storage;
98     
99     -- read
100     -- 
101     BeginReadCommentSection(me : in out) returns Error from Storage;
102
103     ReadComment(me : in out;  userComments : in out SequenceOfExtendedString from TColStd)
104     raises StreamTypeMismatchError,StreamExtCharParityError;
105     
106     EndReadCommentSection(me : in out) returns Error from Storage;
107
108
109     -- TYPE SECTION
110     -- 
111     BeginWriteTypeSection(me : in out) returns Error from Storage;    
112     
113     SetTypeSectionSize(me : in out; aSize : Integer from Standard)
114     raises StreamWriteError;
115     
116     WriteTypeInformations(me : in out; typeNum : Integer from Standard; typeName : AsciiString from TCollection)
117     raises StreamWriteError;
118     
119     EndWriteTypeSection(me : in out) returns Error from Storage;
120          
121     -- read
122     BeginReadTypeSection(me : in out) returns Error from Storage;
123     
124     TypeSectionSize(me : in out) returns Integer from Standard
125     raises StreamTypeMismatchError;
126     
127     ReadTypeInformations(me : in out; typeNum : in out Integer from Standard; typeName : in out AsciiString from TCollection)
128     raises StreamTypeMismatchError;
129     
130     EndReadTypeSection(me : in out) returns Error from Storage;
131     
132     -- ROOT SECTION
133     -- write
134     -- 
135     BeginWriteRootSection(me : in out) returns Error from Storage;    
136     
137     SetRootSectionSize(me : in out; aSize : Integer from Standard)
138     raises StreamWriteError;
139     
140     WriteRoot(me : in out; rootName : AsciiString from TCollection; aRef : Integer from Standard; aType : AsciiString from TCollection)
141     raises StreamWriteError;
142     
143     EndWriteRootSection(me : in out) returns Error from Storage;
144
145     -- read
146     -- 
147     BeginReadRootSection(me : in out) returns Error from Storage;
148     
149     RootSectionSize(me : in out) returns Integer from Standard
150     raises StreamTypeMismatchError;
151     
152     ReadRoot(me : in out; rootName : in out AsciiString from TCollection; aRef : in out Integer from Standard; aType : in out AsciiString from TCollection)
153     raises StreamTypeMismatchError;
154     
155     EndReadRootSection(me : in out) returns Error from Storage;
156     
157     -- REF SECTION
158     -- write
159     -- 
160     BeginWriteRefSection(me : in out) returns Error from Storage;
161     
162     SetRefSectionSize(me : in out; aSize : Integer from Standard)
163     raises StreamWriteError;
164     
165     WriteReferenceType(me : in out; reference : Integer from Standard; typeNum : Integer from Standard)
166     raises StreamWriteError;
167     
168     EndWriteRefSection(me : in out) returns Error from Storage;
169
170     -- read
171     -- 
172     BeginReadRefSection(me : in out) returns Error from Storage;
173     
174     RefSectionSize(me : in out) returns Integer from Standard
175     raises StreamTypeMismatchError;
176     
177     ReadReferenceType(me : in out; reference : in out Integer from Standard; typeNum : in out Integer from Standard)
178     raises StreamTypeMismatchError;
179     
180     EndReadRefSection(me : in out) returns Error from Storage;
181     
182     -- DATA SECTION
183     -- write
184     -- 
185     BeginWriteDataSection(me : in out) returns Error from Storage;    
186     
187     WritePersistentObjectHeader(me : in out; aRef : Integer from Standard; aType : Integer from Standard)
188     raises StreamWriteError;
189     
190     BeginWritePersistentObjectData(me : in out)
191     raises StreamWriteError;
192     
193     BeginWriteObjectData(me : in out)
194     raises StreamWriteError;
195     
196     EndWriteObjectData(me : in out)
197     raises StreamWriteError;
198     
199     EndWritePersistentObjectData(me : in out)
200     raises StreamWriteError;
201     
202     EndWriteDataSection(me : in out) returns Error from Storage;
203     
204     -- read
205     -- 
206     BeginReadDataSection(me : in out) returns Error from Storage;
207     
208     ReadPersistentObjectHeader(me : in out; aRef : in out Integer from Standard; aType : in out Integer from Standard)
209     raises StreamTypeMismatchError,StreamFormatError;
210     
211     BeginReadPersistentObjectData(me : in out)
212     raises StreamFormatError;
213     
214     BeginReadObjectData(me : in out)
215     raises StreamFormatError;
216     
217     EndReadObjectData(me : in out)
218     raises StreamFormatError;
219     
220     EndReadPersistentObjectData(me : in out)
221     raises StreamFormatError;
222     
223     EndReadDataSection(me : in out) returns Error from Storage;
224   
225     -- 
226     SkipObject(me : in out);
227     -- 
228      
229     PutReference(me : in out; aValue : Integer from Standard) returns like me
230     raises StreamWriteError;
231     ---C++: return &
232
233     PutCharacter(me : in out; aValue : Character from Standard) returns like me
234     raises StreamWriteError;
235     ---C++: alias operator <<
236     ---C++: return &
237
238     PutExtCharacter(me : in out; aValue : ExtCharacter from Standard) returns like me
239     raises StreamWriteError;
240     ---C++: alias operator <<
241     ---C++: return &
242
243     PutInteger(me : in out; aValue : Integer from Standard) returns like me
244     raises StreamWriteError;
245     ---C++: alias operator <<
246     ---C++: return &
247     
248     PutBoolean(me : in out; aValue : Boolean from Standard) returns like me
249     raises StreamWriteError;
250     ---C++: alias operator <<
251     ---C++: return &
252     
253     PutReal(me : in out; aValue : Real from Standard) returns like me
254     raises StreamWriteError;
255     ---C++: alias operator <<
256     ---C++: return &
257     
258     PutShortReal(me : in out; aValue : ShortReal from Standard) returns like me
259     raises StreamWriteError;
260     ---C++: alias operator <<
261     ---C++: return &
262
263     GetReference(me : in out; aValue : in out Integer from Standard) returns like me
264         raises StreamTypeMismatchError;
265     ---C++: return &
266
267     GetCharacter(me : in out; aValue : in out Character from Standard) returns like me
268         raises StreamTypeMismatchError;
269     ---C++: alias operator >>
270     ---C++: return &
271
272     GetExtCharacter(me : in out; aValue : in out ExtCharacter from Standard) returns like me
273         raises StreamTypeMismatchError;
274     ---C++: alias operator >>
275     ---C++: return &
276
277     GetInteger(me : in out; aValue : in out Integer from Standard) returns like me
278         raises StreamTypeMismatchError;
279     ---C++: alias operator >>
280     ---C++: return &
281     
282     GetBoolean(me : in out; aValue : in out Boolean from Standard) returns like me
283         raises StreamTypeMismatchError;
284     ---C++: alias operator >>
285     ---C++: return &
286     
287     GetReal(me : in out; aValue :in out  Real from Standard) returns like me
288         raises StreamTypeMismatchError;
289     ---C++: alias operator >>
290     ---C++: return &
291     
292     GetShortReal(me : in out; aValue : in out ShortReal from Standard) returns like me
293         raises StreamTypeMismatchError;
294     ---C++: alias operator >>
295     ---C++: return &
296
297     Close(me : in out) returns Error from Storage;
298     
299     Destroy(me : in out);
300     ---C++: alias ~
301
302     ReadLine(me : in out; buffer : in out AsciiString from TCollection) is protected;
303     ---Purpose: read from the current position to the end of line.
304     
305     ReadWord(me : in out; buffer : in out AsciiString from TCollection) is protected;
306     ---Purpose: read from the current position to the next white space or end of line.   
307
308     ReadExtendedLine(me : in out; buffer : in out ExtendedString from TCollection) 
309     raises StreamExtCharParityError 
310     is protected;
311     ---Purpose: read extended chars (unicode) from the current position to the end of line.
312
313     WriteExtendedLine(me : in out; buffer : ExtendedString from TCollection) is protected;
314     ---Purpose: write from the current position to the end of line.
315
316     ReadChar(me : in out; buffer : in out AsciiString from TCollection; rsize : Size from Standard) is protected;
317     ---Purpose: read <rsize> character from the current position.
318
319     ReadString(me : in out; buffer : in out AsciiString from TCollection) is protected;
320     ---Purpose: read from the first none space character position to the end of line.
321     
322     FlushEndOfLine(me : in out) is protected;
323     
324     FindTag(me : in out; aTag : CString from Standard) returns Error from Storage is protected; 
325
326     MagicNumber(myclass)
327         returns CString from Standard is private;
328     ---C++: return const
329     
330     RaiseError(me: in out ; theFailure: Type from Standard) is private;
331         
332 fields
333     
334         myStream    : FStream from FSD;
335         myRealConv  : Real2String  from  OSD;
336 end;