0024157: Parallelization of assembly part of BO
[occt.git] / src / XmlMDF / XmlMDF_ADriverTable.cxx
1 // Created on: 2001-09-26
2 // Created by: Julia DOROVSKIKH
3 // Copyright (c) 2001-2012 OPEN CASCADE SAS
4 //
5 // The content of this file is subject to the Open CASCADE Technology Public
6 // License Version 6.5 (the "License"). You may not use the content of this file
7 // except in compliance with the License. Please obtain a copy of the License
8 // at http://www.opencascade.org and read it completely before using this file.
9 //
10 // The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
11 // main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
12 //
13 // The Original Code and all software distributed under the License is
14 // distributed on an "AS IS" basis, without warranty of any kind, and the
15 // Initial Developer hereby disclaims all such warranties, including without
16 // limitation, any warranties of merchantability, fitness for a particular
17 // purpose or non-infringement. Please see the License for the specific terms
18 // and conditions governing the rights and limitations under the License.
19
20
21 #include <XmlMDF_ADriverTable.ixx>
22
23 //=======================================================================
24 //function : MDF_ADriverTable
25 //purpose  : 
26 //=======================================================================
27 XmlMDF_ADriverTable::XmlMDF_ADriverTable()
28 {}
29
30 //=======================================================================
31 //function : AddDriver
32 //purpose  : 
33 //=======================================================================
34 void XmlMDF_ADriverTable::AddDriver (const Handle(XmlMDF_ADriver)& anHDriver)
35 {
36   const Handle(Standard_Type)& type = anHDriver->SourceType();
37
38   // to make possible for applications to redefine standard attribute drivers
39   myMap.UnBind(type);
40
41   myMap.Bind(type,anHDriver);
42 }
43
44 //=======================================================================
45 //function : GetDrivers
46 //purpose  : 
47 //=======================================================================
48 const XmlMDF_TypeADriverMap& XmlMDF_ADriverTable::GetDrivers() const
49 {
50   return myMap;
51 }
52
53 //=======================================================================
54 //function : GetDriver
55 //purpose  : 
56 //=======================================================================
57 Standard_Boolean XmlMDF_ADriverTable::GetDriver
58   (const Handle(Standard_Type)& aType,
59    Handle(XmlMDF_ADriver)&      anHDriver) const
60 {
61   if (myMap.IsBound(aType))
62   {
63     anHDriver = myMap.Find(aType);
64     return Standard_True;
65   }
66   return Standard_False;
67 }