0022807: Loading of STEP entities in model during reading of STEP file requires redun...
[occt.git] / src / Interface / Interface.cdl
1 -- File:        Interface.cdl
2 -- Created:     Mon Feb  3 10:34:50 1992
3 -- Author:      Christian CAILLET
4 --              <cky@phobox>
5 ---Copyright:    Matra Datavision 1992
6
7
8 package Interface
9
10     ---Purpose : defines a general frame for interface data
11     --           used to manipulate results of normalized Interface outputs
12     --           (i.e. files), also as a basis to define transfer operations
13     --           (in other packages : see package Transfer)
14
15 uses LibCtl, TCollection, TColStd, MMgt, Standard, Dico, MoniTool, Message
16
17 is
18
19     deferred class InterfaceModel;
20
21         -- --   Data Definitions   -- --
22
23     class UndefinedContent;
24     class ReportEntity;
25
26     class EntityList;             -- for an (ordered) little list of Entities
27     private class EntityCluster;  -- ancillary class for the former
28     generic class JaggedArray;    -- to turn arround limitation on Array(Array)
29
30         -- --   Auxiliary Classes (results, working data)   -- --
31
32     class IntVal;
33     class EntityIterator;
34
35     class Graph;
36     class GraphContent;
37     class HGraph;
38     class IntList;
39     class BitMap;
40
41     class Check;
42     class CheckIterator;
43
44         -- --   General Services   -- --
45
46     deferred class Protocol;         -- manages also Active Protocol
47     deferred class GeneralModule;    -- (Shareds,Check,Copy,Trace)
48     class GeneralLib instantiates Library from LibCtl
49         (Transient, GeneralModule, Protocol from Interface);
50
51     class GTool;
52
53     class ShareTool;
54     class ShareFlags;
55     class CheckTool;
56
57     class CopyTool;
58     deferred class CopyControl;
59     class CopyMap;
60
61     class Category;
62     deferred class SignType;
63     class SignLabel;
64
65     class TypedValue;
66     class Static;
67     imported ValueSatisfies;
68     -- (val : HAsciiString) returns Boolean,  see Satisfies from TypedValue
69     imported ValueInterpret;
70     -- (typval : TypedValue; hval : HAsciiString; native : Boolean)
71     --   returns HAsciiString,  see Interpret from TypedValue
72     imported StaticSatisfies;
73     -- Function to be added to a Static for specific Satisfies
74
75     deferred generic class Recognizer;  -- aimed to create Interface Entities
76
77         -- --   File Access (Read & Write)   -- --
78
79     deferred class ReaderModule;
80     class ReaderLib instantiates  Library from LibCtl
81         (Transient, ReaderModule, Protocol from Interface);
82     
83     imported VectorOfFileParameter;
84     class FileParameter;
85     class ParamSet;          -- see also ParamList
86     class ParamList;
87     deferred class FileReaderData;
88     deferred class FileReaderTool;
89
90     class LineBuffer;
91     class FloatWriter;
92
93     class MSG;
94     class STAT;
95
96         -- --   Enumerations   -- --
97
98     enumeration ParamType is
99         ParamMisc, ParamInteger, ParamReal, ParamIdent, ParamVoid,   ParamText,
100         ParamEnum, ParamLogical, ParamSub,  ParamHexa,  ParamBinary;
101
102     enumeration DataState is
103         StateOK, LoadWarning, LoadFail, DataWarning, DataFail,
104         StateUnloaded, StateUnknown;
105     ---Purpose : validity state of anentity's content (see InterfaceModel)
106
107     enumeration CheckStatus is
108         CheckOK, CheckWarning, CheckFail, CheckAny, CheckMessage, CheckNoFail;
109     ---Purpose : Classifies checks
110     --           OK : check is empty  Warning : Warning, no Fail   Fail : Fail
111     --           Others to query :
112     --           Any : any status   Message : Warning/Fail  NoFail : Warning/OK
113
114         -- --  Exceptions  -- --
115
116     exception InterfaceError inherits Failure;
117     exception InterfaceMismatch inherits InterfaceError;
118     exception CheckFailure      inherits InterfaceError;
119
120         -- --  Instantiations  -- --
121
122     private class  SequenceOfCheck  instantiates           -- for HSequence
123          Sequence from TCollection (Check);
124     private class HSequenceOfCheck  instantiates           -- Transient
125         HSequence from TCollection (Check,SequenceOfCheck);
126
127     class Array1OfFileParameter instantiates               -- for ParamList :
128         Array1 from TCollection    (FileParameter);
129 --    class HArray1OfFileParameter instantiates                           -- Array, Transient
130 --        HArray1 from TCollection   (FileParameter,Array1OfFileParameter);
131
132     --  Useful Instantiations to define Data
133
134     class  DataMapOfTransientInteger  instantiates  DataMap  from TCollection
135         (Transient, Integer,MapTransientHasher from TColStd);
136
137     class  Array1OfHAsciiString instantiates   Array1  from TCollection
138         (HAsciiString from TCollection);
139
140     class HArray1OfHAsciiString instantiates  HArray1  from TCollection
141         (HAsciiString from TCollection,Array1OfHAsciiString);
142
143 --  ==============IndexedMapOfAsciiString===================
144 class MapAsciiStringHasher;    -- instantiates MapHasher from TCollection;
145
146 class IndexedMapOfAsciiString instantiates IndexedMap  from TCollection(AsciiString from TCollection,MapAsciiStringHasher from Interface);
147
148 -- ==================================
149
150 end Interface;