Motorcortex Core  version: 2.7.6
cm_paramtree.h
1 /*
2  * Developer : Alexey Zakharov (alexey.zakharov@vectioneer.com)
3  * All rights reserved. Copyright (c) 2018 VECTIONEER.
4  */
5 
6 #ifndef MOTORCORTEX_CORE_CM_PARAMTREE_H
7 #define MOTORCORTEX_CORE_CM_PARAMTREE_H
8 
9 #include "cm_rpctypes.h"
10 
11 #include <map>
12 
13 namespace mcx {
14 
15 namespace parameter_server {
16 class Parameter;
17 }
18 
19 namespace comm {
20 
22  ReplyMsg original;
23 };
24 
26  uint32_t hash;
27  ParameterTreeMsg msg;
28 };
29 
31 public:
32 
33  virtual ~ParameterTree();
34 
35  bool init(parameter_server::Parameter* root);
36 
37  parameter_server::Parameter* getRoot();
38 
39  [[nodiscard]] const ParameterTreeInfo& getInfo(parameter_server::UserGroup group) const;
40 
41 private:
43  ParameterTreeInfo dummy{};
44 
45  static bool initParamTree(parameter_server::UserGroup user_group_id, parameter_server::Parameter* root,
46  ParameterTreeInfo& param_tree_info);
47 
48 
49  // map of the cached parameter tree for evert user group
50  std::map<parameter_server::UserGroup, ParameterTreeInfo> param_tree_;
51 
52 };
53 
54 }
55 
56 }
57 
58 #endif //MOTORCORTEX_CORE_CM_PARAMTREE_H
mcx::parameter_server::Parameter
Definition: ps_parameter.h:45
mcx::comm::ReplyMsg
Definition: cm_rpctypes.h:33
mcx::comm::ParameterTreeInfo
Definition: cm_paramtree.h:25
mcx::comm::ParameterTree
Definition: cm_paramtree.h:30
mcx::comm::ParameterTreeMsg
Definition: cm_paramtree.h:21