Motorcortex Core  version: 2.7.6
ps_parambase.h
1 /*
2  * Developer : Alexey Zakharov (alexey.zakharov@vectioneer.com)
3  * All rights reserved. Copyright (c) 2015 VECTIONEER.
4  */
5 
6 #ifndef PS_PARAMBASE_H
7 #define PS_PARAMBASE_H
8 
9 #include "ps_types.h"
10 #include <cstdint>
11 #include <ctime>
12 
13 namespace mcx {
14 
15 namespace parameter_server {
16 
17 class ParameterInfo;
18 
20 
21 public:
22  virtual uint32_t read(void* out_data, uint32_t size, struct timespec* update_time) = 0;
23 
24  virtual bool compareAndSwapUpdateCounter(uint32_t& last_update_counter) = 0;
25 
26  virtual void setUpdateOutputFlag(bool newval) = 0;
27 
28  virtual void setUpdateOutputOnceFlag(uint32_t length) = 0;
29 
30  virtual void setUpdateOutputOnInputFlag(bool newval) = 0;
31 
32  virtual uint32_t addRequest() = 0;
33 
34  virtual uint32_t getReplyId() = 0;
35 
36  virtual void write(const void* in_data, uint32_t size) = 0;
37 
38  virtual void force(const void* in_data, uint32_t size) = 0;
39 
40  virtual void setForceFlag(bool overwrite_active) = 0;
41 
42  virtual void setUserGroup(UserGroup user_group, bool recursive) = 0;
43 
44  virtual void setPermissions(Permission permission, bool recursive) = 0;
45 
46  virtual void activateLink(bool flag) = 0;
47 
48  virtual const ParameterInfo& getInfo() const = 0;
49 
50  virtual size_t getSize() const = 0;
51 
52  virtual size_t getMaxSize() const = 0;
53 };
54 
55 } // namespace parameter_server
56 
57 } // namespace mcx
58 
59 #endif /* PS_PARAMBASE_H */
mcx::parameter_server::ParameterBase
Definition: ps_parambase.h:19
mcx::parameter_server::ParameterInfo
Definition: ps_info.h:23