Motorcortex Core  version: 2.7.6
ecat_xml.h
1 /*
2  * Developer : Alexey Zakharov (alexey.zakharov@vectioneer.com)
3  * All rights reserved. Copyright (c) 2020 VECTIONEER.
4  */
5 
6 #ifndef MOTORCORTEX_CORE_ECAT_XML_H
7 #define MOTORCORTEX_CORE_ECAT_XML_H
8 
9 #include "ecat_xmltypes.h"
10 
11 #include <memory>
12 #include <string>
13 
14 namespace tinyxml2 {
15 class XMLDocument;
16 
17 class XMLElement;
18 
19 class XMLNode;
20 } // namespace tinyxml2
21 
22 namespace mcx::ecat {
23 
24 class EtherCatXml {
25 public:
26  virtual EcatDomainConfig loadDomainConfig(tinyxml2::XMLElement* domain_xml, const std::string& path) const = 0;
27 };
28 
29 std::tuple<std::string, tinyxml2::XMLElement*> loadDomainFromXml(tinyxml2::XMLDocument& xml_doc,
30  const std::string& full_path);
31 
32 std::shared_ptr<EtherCatXml> createEthercatXmlParser(const std::string& version);
33 
34 } // namespace mcx::ecat
35 
36 #endif // MOTORCORTEX_CORE_ECAT_XML_H
mcx::ecat::EcatDomainConfig
Definition: ecat_xmltypes.h:255
mcx::ecat::EtherCatXml
Definition: ecat_xml.h:24