Motorcortex Core  version: 2.7.6
fbus_manager.h
1 /*
2  * Developer : Alexey Zakharov (alexey.zakharov@vectioneer.com)
3  * All rights reserved. Copyright (c) 2020 VECTIONEER.
4  */
5 
6 #ifndef MOTORCORTEX_CORE_FBUS_MANAGER_H
7 #define MOTORCORTEX_CORE_FBUS_MANAGER_H
8 
9 #include "cmdline_systemmode.h"
10 #include "ct_module.h"
11 #include "ecat_domain.h"
12 
13 #include <vector>
14 
15 namespace tinyxml2 {
16 class XMLElement;
17 }
18 
19 namespace mcx::fbus {
20 
21 class Manager {
22 public:
23  Manager() = default;
24 
25  virtual ~Manager();
26 
27  std::vector<container::Module*> create(cmd_line::SystemMode system_mode, parameter_server::Parameter* param_server,
28  const std::string& path);
29 
30 private:
31  static std::vector<ecat::Domain> loadDomains(const std::string& path, const std::string& version,
32  tinyxml2::XMLElement* root);
33 
34  static bool isIncluded(const tinyxml2::XMLElement* root);
35 
36  std::vector<container::Module*> modules_;
37 };
38 
39 } // namespace mcx::fbus
40 
41 #endif // MOTORCORTEX_CORE_FBUS_MANAGER_H
mcx::parameter_server::Parameter
Definition: ps_parameter.h:45
mcx::fbus::Manager
Definition: fbus_manager.h:21