0023274: MSVC++ warnings issued during compilation for 64bits
[occt.git] / src / FSD / FSD_File.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 File from FSD
23
24 inherits BaseDriver from Storage
25 ---Purpose:
26 -- A general driver which defines as a file, the
27 -- physical container for data to be stored or retrieved.
28 uses Position    from Storage,
29      Error       from Storage,
30      OpenMode    from Storage,
31      AsciiString from TCollection,
32      SequenceOfAsciiString from TColStd,
33      SequenceOfExtendedString from TColStd,
34      ExtendedString from TCollection,
35      FStream     from FSD
36      
37 raises StreamTypeMismatchError from Storage,
38        StreamFormatError from Storage,
39        StreamWriteError from Storage,
40        StreamExtCharParityError from Storage
41
42 is
43     Create returns File from FSD;
44 ---Purpose:
45 -- Constructs a driver defining as a file, the physical
46 -- container for data to be stored or retrieved.
47 -- Use the function Open to give the name of the driven file.    
48     Open(me : in out; aName : AsciiString from TCollection; aMode : OpenMode from Storage) returns Error from Storage;
49 ---Purpose:
50 -- Assigns as aName the name of the file to be
51 -- driven by this driver. aMode precises if the file is
52 -- opened in read or write mode.
53 -- The function returns Storage_VSOk if the file
54 -- is opened correctly, or any other value of the
55 -- Storage_Error enumeration which specifies the problem encountered.        
56     IsEnd(me : in out) returns Boolean from Standard;
57
58     Tell( me : in out ) returns Position from Storage;
59         ---Purpose: return position in the file. Return -1 upon error.
60
61     IsGoodFileType(myclass; aName : AsciiString from TCollection)
62         returns Error from Storage;
63     
64     --  INFO SECTION
65     --  write
66     --  
67     BeginWriteInfoSection(me : in out) returns Error from Storage;    
68     
69     WriteInfo(me : in out; nbObj : Integer from Standard; 
70                            dbVersion : AsciiString from TCollection;
71                            date : AsciiString from TCollection;
72                            schemaName : AsciiString from TCollection;
73                            schemaVersion : AsciiString from TCollection;
74                            appName : ExtendedString from TCollection;
75                            appVersion : AsciiString from TCollection;
76                            objectType : ExtendedString from TCollection;
77                            userInfo : SequenceOfAsciiString from TColStd)
78     raises StreamWriteError;
79                            
80     EndWriteInfoSection(me : in out) returns Error from Storage;
81     
82     -- read
83     -- 
84     BeginReadInfoSection(me : in out) returns Error from Storage;
85     
86     ReadInfo(me : in out; nbObj : in out Integer from Standard; 
87                           dbVersion : in out AsciiString from TCollection;
88                           date : in out AsciiString from TCollection;
89                           schemaName : in out AsciiString from TCollection;
90                           schemaVersion : in out AsciiString from TCollection;
91                           appName  : in out ExtendedString from TCollection;
92                           appVersion : in out AsciiString from TCollection;
93                           objectType : in out ExtendedString from TCollection;
94                           userInfo : in out SequenceOfAsciiString from TColStd)
95     raises StreamTypeMismatchError,StreamExtCharParityError;
96     
97     EndReadInfoSection(me : in out) returns Error from Storage;
98
99     --  COMMENTS SECTION
100     --  write
101     --  
102     BeginWriteCommentSection(me : in out) returns Error from Storage;    
103     
104     WriteComment(me : in out; userComments : SequenceOfExtendedString from TColStd)
105     raises StreamWriteError;
106                            
107     EndWriteCommentSection(me : in out) returns Error from Storage;
108     
109     -- read
110     -- 
111     BeginReadCommentSection(me : in out) returns Error from Storage;
112
113     ReadComment(me : in out;  userComments : in out SequenceOfExtendedString from TColStd)
114     raises StreamTypeMismatchError,StreamExtCharParityError;
115     
116     EndReadCommentSection(me : in out) returns Error from Storage;
117
118
119     -- TYPE SECTION
120     -- 
121     BeginWriteTypeSection(me : in out) returns Error from Storage;    
122     
123     SetTypeSectionSize(me : in out; aSize : Integer from Standard)
124     raises StreamWriteError;
125     
126     WriteTypeInformations(me : in out; typeNum : Integer from Standard; typeName : AsciiString from TCollection)
127     raises StreamWriteError;
128     
129     EndWriteTypeSection(me : in out) returns Error from Storage;
130          
131     -- read
132     BeginReadTypeSection(me : in out) returns Error from Storage;
133     
134     TypeSectionSize(me : in out) returns Integer from Standard
135     raises StreamTypeMismatchError;
136     
137     ReadTypeInformations(me : in out; typeNum : in out Integer from Standard; typeName : in out AsciiString from TCollection)
138     raises StreamTypeMismatchError;
139     
140     EndReadTypeSection(me : in out) returns Error from Storage;
141     
142     -- ROOT SECTION
143     -- write
144     -- 
145     BeginWriteRootSection(me : in out) returns Error from Storage;    
146     
147     SetRootSectionSize(me : in out; aSize : Integer from Standard)
148     raises StreamWriteError;
149     
150     WriteRoot(me : in out; rootName : AsciiString from TCollection; aRef : Integer from Standard; aType : AsciiString from TCollection)
151     raises StreamWriteError;
152     
153     EndWriteRootSection(me : in out) returns Error from Storage;
154
155     -- read
156     -- 
157     BeginReadRootSection(me : in out) returns Error from Storage;
158     
159     RootSectionSize(me : in out) returns Integer from Standard
160     raises StreamTypeMismatchError;
161     
162     ReadRoot(me : in out; rootName : in out AsciiString from TCollection; aRef : in out Integer from Standard; aType : in out AsciiString from TCollection)
163     raises StreamTypeMismatchError;
164     
165     EndReadRootSection(me : in out) returns Error from Storage;
166     
167     -- REF SECTION
168     -- write
169     -- 
170     BeginWriteRefSection(me : in out) returns Error from Storage;
171     
172     SetRefSectionSize(me : in out; aSize : Integer from Standard)
173     raises StreamWriteError;
174     
175     WriteReferenceType(me : in out; reference : Integer from Standard; typeNum : Integer from Standard)
176     raises StreamWriteError;
177     
178     EndWriteRefSection(me : in out) returns Error from Storage;
179
180     -- read
181     -- 
182     BeginReadRefSection(me : in out) returns Error from Storage;
183     
184     RefSectionSize(me : in out) returns Integer from Standard
185     raises StreamTypeMismatchError;
186     
187     ReadReferenceType(me : in out; reference : in out Integer from Standard; typeNum : in out Integer from Standard)
188     raises StreamTypeMismatchError;
189     
190     EndReadRefSection(me : in out) returns Error from Storage;
191     
192     -- DATA SECTION
193     -- write
194     -- 
195     BeginWriteDataSection(me : in out) returns Error from Storage;    
196     
197     WritePersistentObjectHeader(me : in out; aRef : Integer from Standard; aType : Integer from Standard)
198     raises StreamWriteError;
199     
200     BeginWritePersistentObjectData(me : in out)
201     raises StreamWriteError;
202     
203     BeginWriteObjectData(me : in out)
204     raises StreamWriteError;
205     
206     EndWriteObjectData(me : in out)
207     raises StreamWriteError;
208     
209     EndWritePersistentObjectData(me : in out)
210     raises StreamWriteError;
211     
212     EndWriteDataSection(me : in out) returns Error from Storage;
213     
214     -- read
215     -- 
216     BeginReadDataSection(me : in out) returns Error from Storage;
217     
218     ReadPersistentObjectHeader(me : in out; aRef : in out Integer from Standard; aType : in out Integer from Standard)
219     raises StreamTypeMismatchError,StreamFormatError;
220     
221     BeginReadPersistentObjectData(me : in out)
222     raises StreamFormatError;
223     
224     BeginReadObjectData(me : in out)
225     raises StreamFormatError;
226     
227     EndReadObjectData(me : in out)
228     raises StreamFormatError;
229     
230     EndReadPersistentObjectData(me : in out)
231     raises StreamFormatError;
232     
233     EndReadDataSection(me : in out) returns Error from Storage;
234   
235     -- 
236     SkipObject(me : in out);
237     -- 
238      
239     PutReference(me : in out; aValue : Integer from Standard) returns like me
240     raises StreamWriteError;
241     ---C++: return &
242
243     PutCharacter(me : in out; aValue : Character from Standard) returns like me
244     raises StreamWriteError;
245     ---C++: alias operator <<
246     ---C++: return &
247
248     PutExtCharacter(me : in out; aValue : ExtCharacter from Standard) returns like me
249     raises StreamWriteError;
250     ---C++: alias operator <<
251     ---C++: return &
252
253     PutInteger(me : in out; aValue : Integer from Standard) returns like me
254     raises StreamWriteError;
255     ---C++: alias operator <<
256     ---C++: return &
257     
258     PutBoolean(me : in out; aValue : Boolean from Standard) returns like me
259     raises StreamWriteError;
260     ---C++: alias operator <<
261     ---C++: return &
262     
263     PutReal(me : in out; aValue : Real from Standard) returns like me
264     raises StreamWriteError;
265     ---C++: alias operator <<
266     ---C++: return &
267     
268     PutShortReal(me : in out; aValue : ShortReal from Standard) returns like me
269     raises StreamWriteError;
270     ---C++: alias operator <<
271     ---C++: return &
272
273     GetReference(me : in out; aValue : in out Integer from Standard) returns like me
274         raises StreamTypeMismatchError;
275     ---C++: return &
276
277     GetCharacter(me : in out; aValue : in out Character from Standard) returns like me
278         raises StreamTypeMismatchError;
279     ---C++: alias operator >>
280     ---C++: return &
281
282     GetExtCharacter(me : in out; aValue : in out ExtCharacter from Standard) returns like me
283         raises StreamTypeMismatchError;
284     ---C++: alias operator >>
285     ---C++: return &
286
287     GetInteger(me : in out; aValue : in out Integer from Standard) returns like me
288         raises StreamTypeMismatchError;
289     ---C++: alias operator >>
290     ---C++: return &
291     
292     GetBoolean(me : in out; aValue : in out Boolean from Standard) returns like me
293         raises StreamTypeMismatchError;
294     ---C++: alias operator >>
295     ---C++: return &
296     
297     GetReal(me : in out; aValue :in out  Real from Standard) returns like me
298         raises StreamTypeMismatchError;
299     ---C++: alias operator >>
300     ---C++: return &
301     
302     GetShortReal(me : in out; aValue : in out ShortReal from Standard) returns like me
303         raises StreamTypeMismatchError;
304     ---C++: alias operator >>
305     ---C++: return &
306
307     Close(me : in out) returns Error from Storage;
308 ---Purpose:
309 -- Closes the file driven by this driver. This file was
310 -- opened by the last call to the function Open.
311 -- The function returns Storage_VSOk if the
312 -- closure is correctly done, or any other value of
313 -- the Storage_Error enumeration which specifies the problem encountered.    
314     Destroy(me : in out);
315     ---C++: alias ~
316
317     ReadLine(me : in out; buffer : in out AsciiString from TCollection) is protected;
318     ---Purpose: read from the current position to the end of line.
319     
320     ReadWord(me : in out; buffer : in out AsciiString from TCollection) is protected;
321     ---Purpose: read from the current position to the next white space or end of line.   
322
323     ReadExtendedLine(me : in out; buffer : in out ExtendedString from TCollection) 
324     raises StreamExtCharParityError 
325     is protected;
326     ---Purpose: read extended chars (unicode) from the current position to the end of line.
327
328     WriteExtendedLine(me : in out; buffer : ExtendedString from TCollection) is protected;
329     ---Purpose: write from the current position to the end of line.
330
331     ReadChar(me : in out; buffer : in out AsciiString from TCollection; rsize : Size from Standard) is protected;
332     ---Purpose: read <rsize> character from the current position.
333
334     ReadString(me : in out; buffer : in out AsciiString from TCollection) is protected;
335     ---Purpose: read from the first none space character position to the end of line.
336     
337     FlushEndOfLine(me : in out) is protected;
338     
339     FindTag(me : in out; aTag : CString from Standard) returns Error from Storage is protected; 
340
341     MagicNumber(myclass)
342         returns CString from Standard is private;
343     ---C++: return const
344     
345     fields
346     
347         myStream    : FStream from FSD;
348 end;