0024830: Remove redundant keyword 'mutable' in CDL declarations
[occt.git] / src / BinMDF / BinMDF_ADriverTable.cdl
1 -- Created on: 2002-10-29
2 -- Created by: Michael SAZONOV
3 -- Copyright (c) 2002-2014 OPEN CASCADE SAS
4 --
5 -- This file is part of Open CASCADE Technology software library.
6 --
7 -- This library is free software; you can redistribute it and/or modify it under
8 -- the terms of the GNU Lesser General Public License version 2.1 as published
9 -- by the Free Software Foundation, with special exception defined in the file
10 -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
11 -- distribution for complete text of the license and disclaimer of any warranty.
12 --
13 -- Alternatively, this file may be used under the terms of Open CASCADE
14 -- commercial license or contractual agreement.
15
16 class ADriverTable from BinMDF inherits TShared from MMgt
17
18         ---Purpose: A driver table is an object building links between
19         --          object types and object drivers. In the
20         --          translation process, a driver table is asked to
21         --          give a translation driver for each current object
22         --          to be translated.
23
24 uses
25     Type               from Standard,
26     ADriver            from BinMDF,    
27     TypeADriverMap     from BinMDF,
28     IndexedMapOfTransient from TColStd,
29     SequenceOfAsciiString from TColStd,
30     TypeIdMap from BinMDF
31
32 is
33     Create returns ADriverTable from BinMDF;
34         ---Purpose: Constructor
35
36     AddDriver(me : mutable; theDriver : ADriver from BinMDF);
37         ---Purpose: Adds a translation driver <theDriver>.
38
39     AssignId(me : mutable; theType      : Type from Standard;
40                            theId        : Integer from Standard)
41         is private;
42         ---C++: inline
43         ---Purpose: Assigns the ID to the driver of the Type
44
45     AssignIds(me : mutable; theTypes    : IndexedMapOfTransient from TColStd);
46         ---Purpose: Assigns the IDs to the drivers of the given Types.
47         --          It uses indices in the map as IDs.
48         --          Useful in storage procedure.
49
50     AssignIds(me : mutable; theTypeNames : SequenceOfAsciiString from TColStd);
51         ---Purpose: Assigns the IDs to the drivers of the given Type Names;
52         --          It uses indices in the sequence as IDs.
53         --          Useful in retrieval procedure.
54
55     GetDriver(me; theType     : Type from Standard;
56                   theDriver   : in out ADriver from BinMDF)
57         returns Integer from Standard;
58         ---C++: inline
59         ---Purpose: Gets a driver <theDriver> according to <theType>.
60         --          Returns Type ID if the driver was assigned an ID; 0 otherwise.
61
62     GetDriver(me; theTypeId   : Integer from Standard)
63         returns ADriver from BinMDF;
64         ---C++: inline
65         ---Purpose: Returns a driver according to <theTypeId>.
66         --          Returns null handle if a driver is not found
67
68 fields
69     myMap       : TypeADriverMap from BinMDF;
70     myMapId     : TypeIdMap from BinMDF;
71
72 end ADriverTable;