Commit | Line | Data |
---|---|---|
b311480e | 1 | -- Created on: 1997-08-01 |
2 | -- Created by: Jean-Louis Frenkel | |
3 | -- Copyright (c) 1997-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 | ||
7fd59977 | 21 | |
22 | package PCDM | |
23 | ||
24 | uses | |
25 | ||
26 | CDM,TColStd,TCollection,Storage | |
27 | ||
28 | ||
29 | is | |
30 | ||
31 | enumeration ReaderStatus is | |
32 | RS_OK, | |
33 | RS_NoDriver, | |
34 | RS_UnknownFileDriver, | |
35 | RS_OpenError, | |
36 | RS_NoVersion, | |
37 | RS_NoSchema, | |
38 | RS_NoDocument, | |
39 | RS_ExtensionFailure, | |
40 | RS_WrongStreamMode, | |
41 | RS_FormatFailure, | |
42 | RS_TypeFailure, | |
43 | RS_TypeNotFoundInSchema, | |
44 | RS_UnrecognizedFileFormat, | |
45 | RS_MakeFailure, | |
46 | RS_PermissionDenied, | |
15e8b082 M |
47 | RS_DriverFailure, |
48 | RS_AlreadyRetrievedAndModified, | |
49 | RS_AlreadyRetrieved, | |
50 | RS_UnknownDocument, | |
51 | RS_WrongResource, | |
498ce76b | 52 | RS_ReaderException, |
15e8b082 | 53 | RS_NoModel |
7fd59977 | 54 | end ReaderStatus; |
15e8b082 M |
55 | |
56 | enumeration StoreStatus is | |
57 | SS_OK, | |
58 | SS_DriverFailure, | |
59 | SS_WriteFailure, | |
60 | SS_Failure, | |
15e8b082 M |
61 | SS_Doc_IsNull, |
62 | SS_No_Obj, | |
63 | SS_Info_Section_Error | |
64 | end StoreStatus; | |
7fd59977 | 65 | |
66 | deferred class Document; | |
67 | class SequenceOfDocument instantiates Sequence from TCollection(Document from PCDM); | |
68 | ||
69 | deferred class Reader; | |
70 | deferred class Writer; | |
71 | deferred class RetrievalDriver; | |
72 | deferred class StorageDriver; | |
73 | ||
74 | class ReferenceIterator; | |
75 | ---Category: exceptions | |
76 | ||
77 | exception DriverError inherits Failure from Standard; | |
78 | ||
79 | ||
80 | ---Category: classes for versioning reading/writing og the headers. | |
81 | private class Reference; | |
82 | private class SequenceOfReference instantiates Sequence from TCollection(Reference from PCDM); | |
83 | private deferred class ReadWriter; | |
84 | private class ReadWriter_1; | |
85 | ||
86 | ---Category: type of FileDriver; | |
87 | -- | |
88 | private enumeration TypeOfFileDriver is TOFD_File, TOFD_CmpFile, TOFD_Unknown | |
89 | end TypeOfFileDriver from PCDM; | |
90 | ||
91 | private pointer BaseDriverPointer to BaseDriver from Storage; | |
92 | ||
93 | ---Category: drivers plugin. | |
94 | -- | |
95 | FindStorageDriver(aDocument: Document from CDM) | |
96 | returns Boolean from Standard; | |
97 | ||
98 | StorageDriver(aDocument: Document from CDM) | |
99 | returns StorageDriver from PCDM | |
100 | raises NoSuchObject from Standard; | |
101 | ---Purpose: gets in the EuclidDesktop resource the plugin | |
102 | -- identifier of the driver plugs the driver. | |
103 | -- | |
104 | ||
105 | Schema(aSchemaName: ExtendedString from TCollection; | |
106 | anApplication: Application from CDM) | |
107 | ---Purpose: returns a schema to be used during a Store or Retrieve | |
108 | -- operation. | |
109 | -- Schema will plug the schema defined by | |
110 | -- the SchemaName method. | |
111 | returns Schema from Storage; | |
112 | ||
113 | FileDriverType(aFileName: AsciiString from TCollection; aBaseDriver: out BaseDriverPointer from PCDM) | |
114 | returns TypeOfFileDriver from PCDM | |
115 | is private; | |
116 | end PCDM; |