| 409 | } |
| 410 | |
| 411 | std::list<ProjectFile::Object> ProjectFile::getObjects() const |
| 412 | { |
| 413 | std::list<Object> names; |
| 414 | if (!xmlDocument) { |
| 415 | return names; |
| 416 | } |
| 417 | |
| 418 | DOMNodeList* nodes = xmlDocument->getElementsByTagName(XStrLiteral("Objects").unicodeForm()); |
| 419 | for (XMLSize_t i = 0; i < nodes->getLength(); i++) { |
| 420 | DOMNode* node = nodes->item(i); |
| 421 | if (node->getNodeType() == DOMNode::ELEMENT_NODE) { |
| 422 | DOMNodeList* objectList = static_cast<DOMElement*>(node)->getElementsByTagName( |
| 423 | XStrLiteral("Object").unicodeForm()); // NOLINT |
| 424 | for (XMLSize_t j = 0; j < objectList->getLength(); j++) { |
| 425 | DOMNode* objectNode = objectList->item(j); |
| 426 | DOMNode* typeAttr = |
| 427 | objectNode->getAttributes()->getNamedItem(XStrLiteral("type").unicodeForm()); |
| 428 | DOMNode* nameAttr = |
| 429 | objectNode->getAttributes()->getNamedItem(XStrLiteral("name").unicodeForm()); |
| 430 | if (typeAttr && nameAttr) { |
| 431 | Object obj; |
| 432 | obj.name = StrX(nameAttr->getNodeValue()).c_str(); |
| 433 | obj.type = Base::Type::fromName(StrX(typeAttr->getNodeValue()).c_str()); |
| 434 | names.push_back(obj); |
| 435 | } |
| 436 | } |
| 437 | } |
| 438 | } |
| 439 | |
| 440 | return names; |
| 441 | } |
| 442 | |
| 443 | std::list<std::string> ProjectFile::getObjectsOfType(const Base::Type& typeId) const |
| 444 | { |
no test coverage detected