From: Mathias Froehlich Date: Sun, 29 Jul 2012 18:43:39 +0000 (+0200) Subject: hla: Remove deprecated ObjectModelFactory interface. X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=ee688166ab9771d3b067ef5f0e63fd51c11e65ac;p=simgear.git hla: Remove deprecated ObjectModelFactory interface. --- diff --git a/simgear/hla/HLAFederate.cxx b/simgear/hla/HLAFederate.cxx index 55798d24..75465af4 100644 --- a/simgear/hla/HLAFederate.cxx +++ b/simgear/hla/HLAFederate.cxx @@ -754,77 +754,6 @@ HLAFederate::processMessages() return true; } -bool -HLAFederate::readObjectModelTemplate(const std::string& objectModel, - HLAFederate::ObjectModelFactory& objectModelFactory) -{ - // The XML version of the federate object model. - // This one covers the generic attributes, parameters and data types. - HLAOMTXmlVisitor omtXmlVisitor; - try { - readXML(objectModel, omtXmlVisitor); - } catch (const sg_throwable& e) { - SG_LOG(SG_IO, SG_ALERT, "Could not open HLA XML object model file: " - << e.getMessage()); - return false; - } catch (...) { - SG_LOG(SG_IO, SG_ALERT, "Could not open HLA XML object model file"); - return false; - } - - omtXmlVisitor.setDataTypesToFederate(*this); - - unsigned numObjectClasses = omtXmlVisitor.getNumObjectClasses(); - for (unsigned i = 0; i < numObjectClasses; ++i) { - const HLAOMTXmlVisitor::ObjectClass* objectClass = omtXmlVisitor.getObjectClass(i); - std::string objectClassName = objectClass->getName(); - - SGSharedPtr hlaObjectClass = objectModelFactory.createObjectClass(objectClassName, *this); - if (!hlaObjectClass.valid()) { - SG_LOG(SG_IO, SG_INFO, "Ignoring object class \"" << objectClassName << "\"."); - continue; - } - - bool publish = objectModelFactory.publishObjectClass(objectClassName, objectClass->getSharing()); - bool subscribe = objectModelFactory.subscribeObjectClass(objectClassName, objectClass->getSharing()); - - // process the attributes - for (unsigned j = 0; j < objectClass->getNumAttributes(); ++j) { - const simgear::HLAOMTXmlVisitor::Attribute* attribute; - attribute = objectClass->getAttribute(j); - - std::string attributeName = attribute->getName(); - unsigned index = hlaObjectClass->addAttribute(attributeName); - - if (index == ~0u) { - SG_LOG(SG_IO, SG_WARN, "RTI does not know the \"" << attributeName << "\" attribute!"); - continue; - } - - // the attributes datatype - SGSharedPtr dataType = getDataType(attribute->getDataType()); - if (!dataType.valid()) { - SG_LOG(SG_IO, SG_WARN, "Could not find data type for attribute \"" - << attributeName << "\" in object class \"" << objectClassName << "\"!"); - } - hlaObjectClass->setAttributeDataType(index, dataType); - hlaObjectClass->setAttributeUpdateType(index, attribute->getUpdateType()); - if (subscribe && objectModelFactory.subscribeAttribute(objectClassName, attributeName, attribute->_sharing)) - hlaObjectClass->setAttributeSubscriptionType(index, attribute->getSubscriptionType()); - if (publish && objectModelFactory.publishAttribute(objectClassName, attributeName, attribute->_sharing)) - hlaObjectClass->setAttributePublicationType(index, attribute->getPublicationType()); - } - - if (publish) - hlaObjectClass->publish(); - if (subscribe) - hlaObjectClass->subscribe(); - - } - - return resolveObjectModel(); -} - bool HLAFederate::readRTI13ObjectModelTemplate(const std::string& objectModel) { diff --git a/simgear/hla/HLAFederate.hxx b/simgear/hla/HLAFederate.hxx index 1f071f14..4b1d4164 100644 --- a/simgear/hla/HLAFederate.hxx +++ b/simgear/hla/HLAFederate.hxx @@ -162,28 +162,6 @@ public: /// a pending time advance is granted. bool processMessages(); - class ObjectModelFactory { - public: - virtual ~ObjectModelFactory() - { } - - virtual HLAObjectClass* createObjectClass(const std::string& name, HLAFederate& federate) - { return federate.createObjectClass(name); } - virtual bool subscribeObjectClass(const std::string& objectClassName, const std::string& sharing) - { return sharing.find("Subscribe") != std::string::npos; } - virtual bool publishObjectClass(const std::string& objectClassName, const std::string& sharing) - { return sharing.find("Publish") != std::string::npos; } - virtual bool subscribeAttribute(const std::string& objectClassName, const std::string& attributeName, const std::string& sharing) - { return sharing.find("Subscribe") != std::string::npos; } - virtual bool publishAttribute(const std::string& objectClassName, const std::string& attributeName, const std::string& sharing) - { return sharing.find("Publish") != std::string::npos; } - - }; - - /// Read an omt xml file - deprecated - bool readObjectModelTemplate(const std::string& objectModel, - ObjectModelFactory& objectModelFactory); - /// Read an rti1.3 omt xml file bool readRTI13ObjectModelTemplate(const std::string& objectModel); /// Read an rti1516 omt xml file