1 // Created by: DAUTRY Philippe 2 // Copyright (c) 1997-1999 Matra Datavision 3 // Copyright (c) 1999-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 // ------- 17 // Version: 0.0 18 //Version Date Purpose 19 // 0.0 Nov 14 1997 Creation 20 21 #include <Standard_GUID.hxx> 22 #include <TCollection_ExtendedString.hxx> 23 #include <TDF.hxx> 24 #include <TDF_GUIDProgIDMap.hxx> 25 26 static TDF_GUIDProgIDMap guidprogidmap; 27 28 //======================================================================= 29 //function : LowerID 30 //purpose : 31 //======================================================================= 32 LowestID()33const Standard_GUID& TDF::LowestID() 34 { 35 static Standard_GUID lowestID("00000000-0000-0000-0000-000000000000"); 36 return lowestID; 37 } 38 39 40 //======================================================================= 41 //function : UpperID 42 //purpose : 43 //======================================================================= 44 UppestID()45const Standard_GUID& TDF::UppestID() 46 { 47 static Standard_GUID uppestID("ffffffff-ffff-ffff-ffff-ffffffffffff"); 48 return uppestID; 49 } 50 51 //======================================================================= 52 //function : AddLinkGUIDToProgID 53 //purpose : 54 //======================================================================= AddLinkGUIDToProgID(const Standard_GUID & ID,const TCollection_ExtendedString & ProgID)55void TDF::AddLinkGUIDToProgID(const Standard_GUID& ID,const TCollection_ExtendedString& ProgID) 56 { 57 guidprogidmap.UnBind1( ID ); 58 guidprogidmap.UnBind2( ProgID ); 59 60 guidprogidmap.Bind(ID, ProgID); 61 } 62 63 //======================================================================= 64 //function : GUIDFromProgID 65 //purpose : 66 //======================================================================= GUIDFromProgID(const TCollection_ExtendedString & ProgID,Standard_GUID & ID)67Standard_Boolean TDF::GUIDFromProgID(const TCollection_ExtendedString& ProgID,Standard_GUID& ID) 68 { 69 if( guidprogidmap.IsBound2(ProgID) ) { 70 ID = guidprogidmap.Find2( ProgID ); 71 return Standard_True; 72 } 73 return Standard_False; 74 } 75 76 //======================================================================= 77 //function : ProgIDFromGUID 78 //purpose : 79 //======================================================================= ProgIDFromGUID(const Standard_GUID & ID,TCollection_ExtendedString & ProgID)80Standard_Boolean TDF::ProgIDFromGUID(const Standard_GUID& ID,TCollection_ExtendedString& ProgID) 81 { 82 if( guidprogidmap.IsBound1(ID) ) { 83 ProgID = guidprogidmap.Find1( ID ); 84 return Standard_True; 85 } 86 return Standard_False; 87 } 88 89