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
21
struct
ParameterTreeMsg
{
22
ReplyMsg
original;
23
};
24
25
struct
ParameterTreeInfo
{
26
uint32_t hash;
27
ParameterTreeMsg
msg;
28
};
29
30
class
ParameterTree
{
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
:
42
parameter_server::Parameter
* root_{};
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
communication
cm_paramtree.h
Generated by
1.8.18