1 // Created by: DAUTRY Philippe
2 // Copyright (c) 1997-1999 Matra Datavision
3 // Copyright (c) 1999-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 //Version Date Purpose
19 // 0.0 Nov 14 1997 Creation
21 #include <Standard_GUID.hxx>
22 #include <TCollection_ExtendedString.hxx>
24 #include <TDF_GUIDProgIDMap.hxx>
26 static TDF_GUIDProgIDMap guidprogidmap;
28 //=======================================================================
31 //=======================================================================
33 const Standard_GUID& TDF::LowestID()
35 static Standard_GUID lowestID("00000000-0000-0000-0000-000000000000");
40 //=======================================================================
43 //=======================================================================
45 const Standard_GUID& TDF::UppestID()
47 static Standard_GUID uppestID("ffffffff-ffff-ffff-ffff-ffffffffffff");
51 //=======================================================================
52 //function : AddLinkGUIDToProgID
54 //=======================================================================
55 void TDF::AddLinkGUIDToProgID(const Standard_GUID& ID,const TCollection_ExtendedString& ProgID)
57 guidprogidmap.UnBind1( ID );
58 guidprogidmap.UnBind2( ProgID );
60 guidprogidmap.Bind(ID, ProgID);
63 //=======================================================================
64 //function : GUIDFromProgID
66 //=======================================================================
67 Standard_Boolean TDF::GUIDFromProgID(const TCollection_ExtendedString& ProgID,Standard_GUID& ID)
69 if( guidprogidmap.IsBound2(ProgID) ) {
70 ID = guidprogidmap.Find2( ProgID );
73 return Standard_False;
76 //=======================================================================
77 //function : ProgIDFromGUID
79 //=======================================================================
80 Standard_Boolean TDF::ProgIDFromGUID(const Standard_GUID& ID,TCollection_ExtendedString& ProgID)
82 if( guidprogidmap.IsBound1(ID) ) {
83 ProgID = guidprogidmap.Find1( ID );
86 return Standard_False;