0029195: OCAF - ensure thread safety for different documents.
[occt.git] / src / CDF / CDF_MetaDataDriver.cxx
1 // Created on: 1997-11-17
2 // Created by: Jean-Louis Frenkel
3 // Copyright (c) 1997-1999 Matra Datavision
4 // Copyright (c) 1999-2014 OPEN CASCADE SAS
5 //
6 // This file is part of Open CASCADE Technology software library.
7 //
8 // This library is free software; you can redistribute it and/or modify it under
9 // the terms of the GNU Lesser General Public License version 2.1 as published
10 // by the Free Software Foundation, with special exception defined in the file
11 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 // distribution for complete text of the license and disclaimer of any warranty.
13 //
14 // Alternatively, this file may be used under the terms of Open CASCADE
15 // commercial license or contractual agreement.
16
17
18 #include <CDF_Application.hxx>
19 #include <CDF_MetaDataDriver.hxx>
20 #include <CDF_Session.hxx>
21 #include <CDM_Document.hxx>
22 #include <CDM_MetaData.hxx>
23 #include <PCDM_ReferenceIterator.hxx>
24 #include <Standard_NotImplemented.hxx>
25 #include <Standard_Type.hxx>
26 #include <TCollection_ExtendedString.hxx>
27 #include <OSD_Thread.hxx>
28
29 IMPLEMENT_STANDARD_RTTIEXT(CDF_MetaDataDriver,Standard_Transient)
30
31 //=======================================================================
32 //function : CDF_MetaDataDriver
33 //purpose  : 
34 //=======================================================================
35 CDF_MetaDataDriver::CDF_MetaDataDriver() {}
36
37 //=======================================================================
38 //function : HasVersion
39 //purpose  : 
40 //=======================================================================
41
42 Standard_Boolean CDF_MetaDataDriver::HasVersion(const TCollection_ExtendedString& ,const TCollection_ExtendedString& ) {
43   return Standard_True;
44 }
45
46 //=======================================================================
47 //function : HasVersionCapability
48 //purpose  : 
49 //=======================================================================
50
51 //=======================================================================
52 //function : HasVersionCapability
53 //purpose  : 
54 //=======================================================================
55
56 Standard_Boolean CDF_MetaDataDriver::HasVersionCapability() {
57   return Standard_False;
58 }
59 //=======================================================================
60 //function : CreateDependsOn
61 //purpose  : 
62 //=======================================================================
63
64 void CDF_MetaDataDriver::CreateDependsOn(const Handle(CDM_MetaData)& ,
65                                      const Handle(CDM_MetaData)& ) {}
66
67 //=======================================================================
68 //function : CreateReference
69 //purpose  : 
70 //=======================================================================
71
72 void CDF_MetaDataDriver::CreateReference(const Handle(CDM_MetaData)& ,
73   const Handle(CDM_MetaData)& , const Standard_Integer , const Standard_Integer ) {}
74
75 //=======================================================================
76 //function : ReferenceIterator
77 //purpose  : 
78 //=======================================================================
79
80 Handle(PCDM_ReferenceIterator) CDF_MetaDataDriver::ReferenceIterator() {
81   Standard_ThreadId anID = OSD_Thread::Current();
82   Handle(CDF_Application) anApp; 
83   CDF_Session::CurrentSession()->FindApplication(anID, anApp);
84   return new PCDM_ReferenceIterator(anApp->MessageDriver());
85 }
86
87 //=======================================================================
88 //function : Find
89 //purpose  : 
90 //=======================================================================
91
92 Standard_Boolean CDF_MetaDataDriver::Find(const TCollection_ExtendedString& aFolder, 
93   const TCollection_ExtendedString& aName) 
94 {
95   TCollection_ExtendedString aVersion;
96   return Find(aFolder,aName,aVersion);
97 }
98 //=======================================================================
99 //function : MetaData
100 //purpose  : 
101 //=======================================================================
102
103 Handle(CDM_MetaData) CDF_MetaDataDriver::MetaData(const TCollection_ExtendedString& aFolder, const TCollection_ExtendedString& aName) {
104   TCollection_ExtendedString aVersion;
105   return MetaData(aFolder,aName,aVersion);
106 }
107 //=======================================================================
108 //function : LastVersion
109 //purpose  : 
110 //=======================================================================
111
112 Handle(CDM_MetaData) CDF_MetaDataDriver::LastVersion(const Handle(CDM_MetaData)& aMetaData) {
113   return aMetaData;
114 }
115 //=======================================================================
116 //function : SetName
117 //purpose  : 
118 //=======================================================================
119
120 TCollection_ExtendedString CDF_MetaDataDriver::SetName(const Handle(CDM_Document)& , const TCollection_ExtendedString& aName) {
121   return aName;
122 }