0024927: Getting rid of "Persistent" functionality -- Code
[occt.git] / src / MXCAFDoc / MXCAFDoc_DocumentToolRetrievalDriver.cxx
1 // Created on: 2000-08-15
2 // Created by: data exchange team
3 // Copyright (c) 2000-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 #include <MDF_RRelocationTable.hxx>
17 #include <MXCAFDoc_DocumentToolRetrievalDriver.ixx>
18 #include <MgtTopLoc.hxx>
19 #include <PTColStd_PersistentTransientMap.hxx>
20 #include <PXCAFDoc_DocumentTool.hxx>
21 #include <XCAFDoc_DocumentTool.hxx>
22 #include <TDF_Label.hxx>
23
24
25 //=======================================================================
26 //function : Constructor
27 //purpose  : 
28 //=======================================================================
29
30 MXCAFDoc_DocumentToolRetrievalDriver::MXCAFDoc_DocumentToolRetrievalDriver(const Handle(CDM_MessageDriver)& theMsgDriver) : MDF_ARDriver (theMsgDriver)
31 {
32 }
33
34 //=======================================================================
35 //function : VersionNumber
36 //purpose  : 
37 //=======================================================================
38
39  Standard_Integer MXCAFDoc_DocumentToolRetrievalDriver::VersionNumber() const
40 {
41   return 0;
42 }
43
44 //=======================================================================
45 //function : SourceType
46 //purpose  : 
47 //=======================================================================
48
49  Handle(Standard_Type) MXCAFDoc_DocumentToolRetrievalDriver::SourceType() const
50 {
51   static Handle(Standard_Type) sourceType = STANDARD_TYPE(PXCAFDoc_DocumentTool);
52   return sourceType;
53 }
54
55 //=======================================================================
56 //function : NewEmpty
57 //purpose  : 
58 //=======================================================================
59
60  Handle(TDF_Attribute) MXCAFDoc_DocumentToolRetrievalDriver::NewEmpty() const
61 {
62   return new XCAFDoc_DocumentTool();
63 }
64
65 //=======================================================================
66 //function : Paste
67 //purpose  : 
68 //=======================================================================
69
70  void MXCAFDoc_DocumentToolRetrievalDriver::Paste(const Handle(PDF_Attribute)& ,//Source,
71                                                     const Handle(TDF_Attribute)& Target,
72                                                     const Handle(MDF_RRelocationTable)&// RelocTable
73                                                     ) const
74 {
75   Handle(XCAFDoc_DocumentTool) T = Handle(XCAFDoc_DocumentTool)::DownCast (Target);
76   T->Init();
77 //  TDF_Label L = T->Label();
78 //  if (L.IsNull()) {
79 //    cout<<"XCAFDoc_DocumentTool::Paste  FUCK!!!"<<endl;
80 //    return;
81 //  }
82 //  L.ForgetAttribute(XCAFDoc_DocumentTool::GetID());
83 //  XCAFDoc_DocumentTool::Set(L, Standard_False);
84 }
85