1 -- File: IFSelect_DispPerSignature.cdl
2 -- Created: Wed Dec 21 10:41:37 1994
3 -- Author: Christian CAILLET
5 ---Copyright: Matra Datavision 1994
8 class DispPerSignature from IFSelect inherits Dispatch
10 ---Purpose : A DispPerSignature sorts input Entities according to a
11 -- Signature : it works with a SignCounter to do this.
13 uses AsciiString from TCollection, Graph, SubPartsIterator, SignCounter
19 Create returns mutable DispPerSignature;
20 ---Purpose : Creates a DispPerSignature with no SignCounter (by default,
21 -- produces only one packet)
23 SignCounter (me) returns mutable SignCounter;
24 ---Purpose : Returns the SignCounter used for splitting
26 SetSignCounter (me : mutable; sign : mutable SignCounter);
27 ---Purpose : Sets a SignCounter for sort
28 -- Remark : it is set to record lists of entities, not only counts
30 SignName (me) returns CString;
31 ---Purpose : Returns the name of the SignCounter, which caracterises the
32 -- sorting criterium for this Dispatch
34 Label (me) returns AsciiString from TCollection;
35 ---Purpose : Returns as Label, "One File per Signature <name>"
37 -- -- Evaluation -- --
39 LimitedMax (me; nbent : Integer; max : out Integer) returns Boolean
41 ---Purpose : Returns True, maximum count is given as <nbent>
43 -- PacketsCount (me; G : Graph; count : out Integer) returns Boolean
44 -- is not redefined : Packets must be first determined before counting
46 Packets (me; G : Graph; packs : in out SubPartsIterator)
47 raises InterfaceError;
48 ---Purpose : Computes the list of produced Packets. It defines Packets from
49 -- the SignCounter, which sirts the input Entities per Signature
50 -- (specific of the SignCounter).
54 thesign : SignCounter;