1 -- File: FSD_BinaryFile.cdl
2 -- Created: Fri Nov 29 13:03:05 1996
3 -- Author: Christophe LEYNADIER
4 -- <cle@parigox.paris1.matra-dtv.fr>
5 ---Copyright: Matra Datavision 1996
7 class BinaryFile from FSD
9 inherits BaseDriver from Storage
11 uses Position from Storage,
13 OpenMode from Storage,
14 AsciiString from TCollection,
15 SequenceOfAsciiString from TColStd,
16 SequenceOfExtendedString from TColStd,
17 ExtendedString from TCollection,
21 raises StreamTypeMismatchError from Storage,
22 StreamFormatError from Storage,
23 StreamWriteError from Storage,
24 StreamExtCharParityError from Storage
27 Create returns BinaryFile from FSD;
29 Open(me : in out; aName : AsciiString from TCollection; aMode : OpenMode from Storage) returns Error from Storage;
31 IsEnd(me : in out) returns Boolean from Standard;
33 Tell( me : in out ) returns Position from Storage;
34 ---Purpose: return position in the file. Return -1 upon error.
36 IsGoodFileType(myclass; aName : AsciiString from TCollection)
37 returns Error from Storage;
42 BeginWriteInfoSection(me : in out) returns Error from Storage;
44 WriteInfo(me : in out; nbObj : Integer from Standard;
45 dbVersion : AsciiString from TCollection;
46 date : AsciiString from TCollection;
47 schemaName : AsciiString from TCollection;
48 schemaVersion : AsciiString from TCollection;
49 appName : ExtendedString from TCollection;
50 appVersion : AsciiString from TCollection;
51 objectType : ExtendedString from TCollection;
52 userInfo : SequenceOfAsciiString from TColStd)
53 raises StreamWriteError;
55 EndWriteInfoSection(me : in out) returns Error from Storage;
59 BeginReadInfoSection(me : in out) returns Error from Storage;
61 ReadInfo(me : in out; nbObj : in out Integer from Standard;
62 dbVersion : in out AsciiString from TCollection;
63 date : in out AsciiString from TCollection;
64 schemaName : in out AsciiString from TCollection;
65 schemaVersion : in out AsciiString from TCollection;
66 appName : in out ExtendedString from TCollection;
67 appVersion : in out AsciiString from TCollection;
68 objectType : in out ExtendedString from TCollection;
69 userInfo : in out SequenceOfAsciiString from TColStd)
70 raises StreamTypeMismatchError,StreamExtCharParityError;
72 EndReadInfoSection(me : in out) returns Error from Storage;
77 BeginWriteCommentSection(me : in out) returns Error from Storage;
79 WriteComment(me : in out; userComments : SequenceOfExtendedString from TColStd)
80 raises StreamWriteError;
82 EndWriteCommentSection(me : in out) returns Error from Storage;
86 BeginReadCommentSection(me : in out) returns Error from Storage;
88 ReadComment(me : in out; userComments : in out SequenceOfExtendedString from TColStd)
89 raises StreamTypeMismatchError,StreamExtCharParityError;
91 EndReadCommentSection(me : in out) returns Error from Storage;
96 BeginWriteTypeSection(me : in out) returns Error from Storage;
98 SetTypeSectionSize(me : in out; aSize : Integer from Standard)
99 raises StreamWriteError;
101 WriteTypeInformations(me : in out; typeNum : Integer from Standard; typeName : AsciiString from TCollection)
102 raises StreamWriteError;
104 EndWriteTypeSection(me : in out) returns Error from Storage;
107 BeginReadTypeSection(me : in out) returns Error from Storage;
109 TypeSectionSize(me : in out) returns Integer from Standard
110 raises StreamTypeMismatchError;
112 ReadTypeInformations(me : in out; typeNum : in out Integer from Standard; typeName : in out AsciiString from TCollection)
113 raises StreamTypeMismatchError;
115 EndReadTypeSection(me : in out) returns Error from Storage;
120 BeginWriteRootSection(me : in out) returns Error from Storage;
122 SetRootSectionSize(me : in out; aSize : Integer from Standard)
123 raises StreamWriteError;
125 WriteRoot(me : in out; rootName : AsciiString from TCollection; aRef : Integer from Standard; aType : AsciiString from TCollection)
126 raises StreamWriteError;
128 EndWriteRootSection(me : in out) returns Error from Storage;
132 BeginReadRootSection(me : in out) returns Error from Storage;
134 RootSectionSize(me : in out) returns Integer from Standard
135 raises StreamTypeMismatchError;
137 ReadRoot(me : in out; rootName : in out AsciiString from TCollection; aRef : in out Integer from Standard; aType : in out AsciiString from TCollection)
138 raises StreamTypeMismatchError;
140 EndReadRootSection(me : in out) returns Error from Storage;
145 BeginWriteRefSection(me : in out) returns Error from Storage;
147 SetRefSectionSize(me : in out; aSize : Integer from Standard)
148 raises StreamWriteError;
150 WriteReferenceType(me : in out; reference : Integer from Standard; typeNum : Integer from Standard)
151 raises StreamWriteError;
153 EndWriteRefSection(me : in out) returns Error from Storage;
157 BeginReadRefSection(me : in out) returns Error from Storage;
159 RefSectionSize(me : in out) returns Integer from Standard
160 raises StreamTypeMismatchError;
162 ReadReferenceType(me : in out; reference : in out Integer from Standard; typeNum : in out Integer from Standard)
163 raises StreamTypeMismatchError;
165 EndReadRefSection(me : in out) returns Error from Storage;
170 BeginWriteDataSection(me : in out) returns Error from Storage;
172 WritePersistentObjectHeader(me : in out; aRef : Integer from Standard; aType : Integer from Standard)
173 raises StreamWriteError;
175 BeginWritePersistentObjectData(me : in out)
176 raises StreamWriteError;
178 BeginWriteObjectData(me : in out)
179 raises StreamWriteError;
181 EndWriteObjectData(me : in out)
182 raises StreamWriteError;
184 EndWritePersistentObjectData(me : in out)
185 raises StreamWriteError;
187 EndWriteDataSection(me : in out) returns Error from Storage;
191 BeginReadDataSection(me : in out) returns Error from Storage;
193 ReadPersistentObjectHeader(me : in out; aRef : in out Integer from Standard; aType : in out Integer from Standard)
194 raises StreamTypeMismatchError,StreamFormatError;
196 BeginReadPersistentObjectData(me : in out)
197 raises StreamFormatError;
199 BeginReadObjectData(me : in out)
200 raises StreamFormatError;
202 EndReadObjectData(me : in out)
203 raises StreamFormatError;
205 EndReadPersistentObjectData(me : in out)
206 raises StreamFormatError;
208 EndReadDataSection(me : in out) returns Error from Storage;
211 SkipObject(me : in out);
214 PutReference(me : in out; aValue : Integer from Standard) returns like me
215 raises StreamWriteError;
218 PutCharacter(me : in out; aValue : Character from Standard) returns like me
219 raises StreamWriteError;
220 ---C++: alias operator <<
223 PutExtCharacter(me : in out; aValue : ExtCharacter from Standard) returns like me
224 raises StreamWriteError;
225 ---C++: alias operator <<
228 PutInteger(me : in out; aValue : Integer from Standard) returns like me
229 raises StreamWriteError;
230 ---C++: alias operator <<
233 PutBoolean(me : in out; aValue : Boolean from Standard) returns like me
234 raises StreamWriteError;
235 ---C++: alias operator <<
238 PutReal(me : in out; aValue : Real from Standard) returns like me
239 raises StreamWriteError;
240 ---C++: alias operator <<
243 PutShortReal(me : in out; aValue : ShortReal from Standard) returns like me
244 raises StreamWriteError;
245 ---C++: alias operator <<
248 GetReference(me : in out; aValue : in out Integer from Standard) returns like me
249 raises StreamTypeMismatchError;
252 GetCharacter(me : in out; aValue : in out Character from Standard) returns like me
253 raises StreamTypeMismatchError;
254 ---C++: alias operator >>
257 GetExtCharacter(me : in out; aValue : in out ExtCharacter from Standard) returns like me
258 raises StreamTypeMismatchError;
259 ---C++: alias operator >>
262 GetInteger(me : in out; aValue : in out Integer from Standard) returns like me
263 raises StreamTypeMismatchError;
264 ---C++: alias operator >>
267 GetBoolean(me : in out; aValue : in out Boolean from Standard) returns like me
268 raises StreamTypeMismatchError;
269 ---C++: alias operator >>
272 GetReal(me : in out; aValue :in out Real from Standard) returns like me
273 raises StreamTypeMismatchError;
274 ---C++: alias operator >>
277 GetShortReal(me : in out; aValue : in out ShortReal from Standard) returns like me
278 raises StreamTypeMismatchError;
279 ---C++: alias operator >>
282 Close(me : in out) returns Error from Storage;
284 Destroy(me : in out);
287 WriteHeader(me : in out) is private;
288 ReadHeader(me : in out) is private;
291 returns CString from Standard is private;
294 ReadChar(me : in out; buffer : in out AsciiString from TCollection; rsize : Integer from Standard) is protected;
295 ---Purpose: read <rsize> character from the current position.
297 ReadString(me : in out; buffer : in out AsciiString from TCollection) is protected;
298 ---Purpose: read string from the current position.
300 WriteString(me : in out; buffer : AsciiString from TCollection) is protected;
301 ---Purpose: write string at the current position.
303 ReadExtendedString(me : in out; buffer : in out ExtendedString from TCollection) is protected;
304 ---Purpose: read string from the current position.
306 WriteExtendedString(me : in out; buffer : ExtendedString from TCollection) is protected;
307 ---Purpose: write string at the current position.
311 myStream : BStream from FSD;
312 myHeader : FileHeader from FSD;