X-Git-Url: http://git.dev.opencascade.org/gitweb/?p=occt.git;a=blobdiff_plain;f=src%2FXmlMDF%2FXmlMDF.cxx;h=e08bfd508c76ddffef7ed515b070aa28ca300b39;hb=c99ad5d7600fc399d1ee6fd42eeb12e4fe64b80c;hpb=59e11a2f751f3b7b2e03b20622469dfb087ec87a diff --git a/src/XmlMDF/XmlMDF.cxx b/src/XmlMDF/XmlMDF.cxx index 01c5bb8c89..e08bfd508c 100644 --- a/src/XmlMDF/XmlMDF.cxx +++ b/src/XmlMDF/XmlMDF.cxx @@ -86,9 +86,6 @@ Standard_Integer XmlMDF::WriteSubTree // create element "label" XmlObjMgt_Element aLabElem = aDoc.createElement (::LabelString()); - // Extraction of the driver subset. - const XmlMDF_TypeADriverMap& aDriverMap = theDrivers->GetDrivers(); - // write attributes Standard_Integer count = 0; TDF_AttributeIterator itr1 (theLabel); @@ -96,9 +93,9 @@ Standard_Integer XmlMDF::WriteSubTree { const Handle(TDF_Attribute)& tAtt = itr1.Value(); const Handle(Standard_Type)& aType = tAtt->DynamicType(); - if (aDriverMap.IsBound (aType)) + Handle(XmlMDF_ADriver) aDriver; + if (theDrivers->GetDriver(aType, aDriver)) { - const Handle(XmlMDF_ADriver)& aDriver = aDriverMap.Find (aType); count++; // Add source to relocation table @@ -165,7 +162,7 @@ Standard_Boolean XmlMDF::FromTo (const XmlObjMgt_Element& theElement, { TDF_Label aRootLab = theData->Root(); XmlMDF_MapOfDriver aDriverMap; - CreateDrvMap (theDrivers, aDriverMap); + theDrivers->CreateDrvMap (aDriverMap); Standard_Integer count = 0; @@ -340,26 +337,3 @@ void XmlMDF::AddDrivers (const Handle(XmlMDF_ADriverTable)& aDriverTable, aDriverTable->AddDriver (new XmlMDF_TagSourceDriver(aMessageDriver)); aDriverTable->AddDriver (new XmlMDF_ReferenceDriver(aMessageDriver)); } - -//======================================================================= -//function : CreateDrvMap -//purpose : -//======================================================================= - -void XmlMDF::CreateDrvMap (const Handle(XmlMDF_ADriverTable)& theDrivers, - XmlMDF_MapOfDriver& theAsciiDriverMap) -{ - const XmlMDF_TypeADriverMap& aDriverMap = theDrivers->GetDrivers(); - XmlMDF_DataMapIteratorOfTypeADriverMap anIter (aDriverMap); - while (anIter.More()) { - const Handle(XmlMDF_ADriver)& aDriver = anIter.Value(); - const TCollection_AsciiString aTypeName = aDriver -> TypeName(); - if (theAsciiDriverMap.IsBound (aTypeName) == Standard_False) - theAsciiDriverMap.Bind (aTypeName, aDriver); - else - aDriver -> myMessageDriver->Send - (TCollection_ExtendedString ("Warning: skipped driver name: \"") - + aTypeName + '\"', Message_Warning); - anIter.Next(); - } -}