0024157: Parallelization of assembly part of BO
[occt.git] / src / IFSelect / IFSelect_SessionDumper.cdl
CommitLineData
b311480e 1-- Created on: 1993-11-04
2-- Created by: Christian CAILLET
3-- Copyright (c) 1993-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
23deferred class SessionDumper from IFSelect inherits TShared
24
25 ---Purpose : A SessionDumper is called by SessionFile. It takes into
26 -- account a set of classes (such as Selections, Dispatches ...).
27 -- SessionFile writes the Type (as defined by cdl) of each Item
28 -- and its general Parameters. It manages the names of the Items.
29 --
30 -- A SessionDumper must be able to Write the Parameters which are
31 -- own of each Item it takes into account, given its Class, then
32 -- to Recognize the Type and Read its Own Parameters to create
33 -- an Item of this Type with these own Parameters.
34 --
35 -- Then, there must be defined one sub-type of SessionDumper per
36 -- consistent set of classes (e.g. a package).
37 --
38 -- By Own Parameters, understand Parameters given at Creation Time
39 -- if there are, or specific of a given class, apart from those
40 -- defined at superclass levels (e.g. Final Selection for a
41 -- Dispatch, Input Selection for a SelectExtract or SelectDeduct,
42 -- Direct Status for a SelectExtract, etc...).
43 --
44 -- The Parameters are those stored in a WorkSession, they can be
45 -- of Types : IntParam, HAsciiString (for TextParam), Selection,
46 -- Dispatch.
47 --
48 -- SessionDumpers are organized in a Library which is used by
49 -- SessionFile. They are put at Creation Time in this Library.
50
51uses Transient, AsciiString from TCollection, SessionFile
52
53is
54
55 Initialize;
56 ---Purpose : The Initialization puts a just created SessionDumper in the
57 -- Library of SessionDumper. Then, it suffices to create once
58 -- a SessionDumper to fill the Library with it
59
60 First (myclass) returns SessionDumper;
61 ---Purpose : Returns the First item of the Library of Dumper. The Next ones
62 -- are then obtained by Next on the returned items
63
64 Next (me) returns SessionDumper;
65 ---Purpose : Returns the Next SesionDumper in the Library. Returns a Null
66 -- Handle at the End.
67
68 WriteOwn (me; file : in out SessionFile; item : Transient)
69 returns Boolean is deferred;
70 ---Purpose : Writes the Own Parameters of a given Item, if it forecast to
71 -- manage its Type.
72 -- Returns True if it has recognized the Type of the Item (in
73 -- this case, it is assumed to have written the Own Parameters if
74 -- there are some), False else : in that case, SessionFile will
75 -- try another SessionDumper in the Library.
76 -- WriteOwn can use these methods from SessionFile : SendVoid,
77 -- SendItem, SendText, and if necessary, WorkSession.
78
79 ReadOwn (me; file : in out SessionFile;
80 type : AsciiString from TCollection; item : out mutable Transient)
81 returns Boolean is deferred;
82 ---Purpose : Recognizes a Type (given as <type>) then Creates an Item of
83 -- this Type with the Own Parameter, as required.
84 -- Returns True if it has recognized the Type (in this case, it
85 -- is assumed to have created the Item, returned as <item>),
86 -- False else : in that case, SessionFile will try another
87 -- SessionDumper in the Library.
88 -- ReadOwn can use these methods from SessionFile to access Own
89 -- Parameters : NbOwnParams, IsVoid, IsText, TextValue, ItemValue
90
91fields
92
93 thenext : SessionDumper;
94
95end SessionDumper;