// File: BinMDF_ADriverTable.lxx // Created: 29.10.02 19:56:32 // Author: Michael SAZONOV // Copyright: Open CASCADE 2002 //======================================================================= //function : AssignId //purpose : Assigns the ID to the driver of the Type //======================================================================= inline void BinMDF_ADriverTable::AssignId (const Handle(Standard_Type)& theType, const Standard_Integer theId) { myMapId.Bind (theType, theId); } //======================================================================= //function : GetDriver //purpose : Gets a driver according to . // Returns Type ID if the driver was assigned an ID; 0 otherwise. //======================================================================= inline Standard_Integer BinMDF_ADriverTable::GetDriver (const Handle(Standard_Type)& theType, Handle(BinMDF_ADriver)& theDriver) const { Standard_Integer anId = 0; if (myMap.IsBound(theType)) { theDriver = myMap (theType); if (myMapId.IsBound1(theType)) anId = myMapId.Find1 (theType); } return anId; } //======================================================================= //function : GetDriver //purpose : Returns a driver according to . // Returns null handle if a driver is not found //======================================================================= inline Handle(BinMDF_ADriver) BinMDF_ADriverTable::GetDriver (const Standard_Integer theTypeId) const { Handle(BinMDF_ADriver) aDriver; if (myMapId.IsBound2(theTypeId)) { const Handle(Standard_Type)& aType = myMapId.Find2 (theTypeId); aDriver = myMap (aType); } return aDriver; }