1 -- Created on: 2001-07-09
2 -- Created by: Julia DOROVSKIKH
3 -- Copyright (c) 2001-2014 OPEN CASCADE SAS
5 -- This file is part of Open CASCADE Technology software library.
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.
13 -- Alternatively, this file may be used under the terms of Open CASCADE
14 -- commercial license or contractual agreement.
18 ---Purpose: This package provides classes and methods to
19 -- translate a transient DF into a persistent one and
24 -- A driver is a tool used to translate a transient
25 -- attribute into a persistent one and vice versa.
29 -- A driver table is an object building links between
30 -- object types and object drivers. In the
31 -- translation process, a driver table is asked to
32 -- give a translation driver for each current object
44 -- =============================================================
46 deferred class ADriver; -- Attribute Storage/Retrieve Driver.
50 imported DataMapIteratorOfMapOfDriver;
52 ---Category: Storage and Retrieval attributes drivers
53 -- ========================================
55 class TagSourceDriver;
57 class ReferenceDriver;
59 ---Category: Instantiations
60 -- =============================================================
62 -- Map (Type, ADriver)
63 imported TypeADriverMap;
64 imported DataMapIteratorOfTypeADriverMap;
66 -- Attribute Storage Driver Table.
72 FromTo(aSource : Data from TDF;
73 aTarget : in out Element from XmlObjMgt;
74 aReloc : in out SRelocationTable from XmlObjMgt;
75 aDrivers : ADriverTable from XmlMDF);
76 ---Purpose: Translates a transient <aSource> into a persistent
79 WriteSubTree(theLabel : Label from TDF;
80 theElement : in out Element from XmlObjMgt;
81 aReloc : in out SRelocationTable from XmlObjMgt;
82 aDrivers : ADriverTable from XmlMDF)
83 returns Integer from Standard
87 FromTo(aSource : Element from XmlObjMgt;
88 aTarget : in out Data from TDF;
89 aReloc : in out RRelocationTable from XmlObjMgt;
90 aDrivers : ADriverTable from XmlMDF)
91 returns Boolean from Standard;
92 ---Purpose: Translates a persistent <aSource> into a transient
94 -- Returns True if completed successfully (False on error)
96 ReadSubTree (theElement : Element from XmlObjMgt;
97 theLabel : Label from TDF;
98 aReloc : in out RRelocationTable from XmlObjMgt;
99 aDrivers : MapOfDriver from XmlMDF)
100 returns Integer from Standard
104 AddDrivers (aDriverTable : ADriverTable from XmlMDF;
105 theMessageDriver: MessageDriver from CDM);
106 ---Purpose: Adds the attribute storage drivers to <aDriverSeq>.
108 CreateDrvMap (aDriverTable : ADriverTable from XmlMDF;
109 anAsciiDriverMap: out MapOfDriver from XmlMDF)