2 -- Created: Mon Feb 3 10:34:50 1992
3 -- Author: Christian CAILLET
5 ---Copyright: Matra Datavision 1992
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)
15 uses LibCtl, TCollection, TColStd, MMgt, Standard, Dico, MoniTool, Message
19 deferred class InterfaceModel;
21 -- -- Data Definitions -- --
23 class UndefinedContent;
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)
30 -- -- Auxiliary Classes (results, working data) -- --
44 -- -- General Services -- --
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);
58 deferred class CopyControl;
62 deferred class SignType;
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
75 deferred generic class Recognizer; -- aimed to create Interface Entities
77 -- -- File Access (Read & Write) -- --
79 deferred class ReaderModule;
80 class ReaderLib instantiates Library from LibCtl
81 (Transient, ReaderModule, Protocol from Interface);
83 imported VectorOfFileParameter;
85 class ParamSet; -- see also ParamList
87 deferred class FileReaderData;
88 deferred class FileReaderTool;
96 -- -- Enumerations -- --
98 enumeration ParamType is
99 ParamMisc, ParamInteger, ParamReal, ParamIdent, ParamVoid, ParamText,
100 ParamEnum, ParamLogical, ParamSub, ParamHexa, ParamBinary;
102 enumeration DataState is
103 StateOK, LoadWarning, LoadFail, DataWarning, DataFail,
104 StateUnloaded, StateUnknown;
105 ---Purpose : validity state of anentity's content (see InterfaceModel)
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
112 -- Any : any status Message : Warning/Fail NoFail : Warning/OK
114 -- -- Exceptions -- --
116 exception InterfaceError inherits Failure;
117 exception InterfaceMismatch inherits InterfaceError;
118 exception CheckFailure inherits InterfaceError;
120 -- -- Instantiations -- --
122 private class SequenceOfCheck instantiates -- for HSequence
123 Sequence from TCollection (Check);
124 private class HSequenceOfCheck instantiates -- Transient
125 HSequence from TCollection (Check,SequenceOfCheck);
127 class Array1OfFileParameter instantiates -- for ParamList :
128 Array1 from TCollection (FileParameter);
129 -- class HArray1OfFileParameter instantiates -- Array, Transient
130 -- HArray1 from TCollection (FileParameter,Array1OfFileParameter);
132 -- Useful Instantiations to define Data
134 class DataMapOfTransientInteger instantiates DataMap from TCollection
135 (Transient, Integer,MapTransientHasher from TColStd);
137 class Array1OfHAsciiString instantiates Array1 from TCollection
138 (HAsciiString from TCollection);
140 class HArray1OfHAsciiString instantiates HArray1 from TCollection
141 (HAsciiString from TCollection,Array1OfHAsciiString);
143 -- ==============IndexedMapOfAsciiString===================
144 class MapAsciiStringHasher; -- instantiates MapHasher from TCollection;
146 class IndexedMapOfAsciiString instantiates IndexedMap from TCollection(AsciiString from TCollection,MapAsciiStringHasher from Interface);
148 -- ==================================