24 friend class Callback;
25 friend class AbstractNSMCallback;
26 friend class NSMCallback;
29 static NSMVHandler* create(
const NSMVar& var);
32 NSMVHandler(
const std::string& node,
const std::string& name,
33 bool useget,
bool useset)
34 : m_id(0), m_timestamp(0), m_node(node), m_name(name),
35 m_useget(useget), m_useset(useset), m_var(name) {}
36 virtual ~NSMVHandler() {}
39 virtual bool handleGet(
NSMVar& var)
44 virtual bool handleSet(
const NSMVar& var)
51 const std::string& getNode()
const {
return m_node; }
52 const std::string& getName()
const {
return m_name; }
53 bool useGet()
const {
return m_useget; }
54 bool useSet()
const {
return m_useset; }
55 void setUseGet(
bool use) { m_useget = use; }
56 void setUseSet(
bool use) { m_useset = use; }
57 int getTimeStamp()
const {
return m_timestamp; }
58 int getId()
const {
return m_id; }
59 void setNode(
const std::string& node) { m_node = node; }
60 void setId(
int id) { m_id = id; }
61 void set(
const NSMVar& var) { m_var = var; }
62 void set(
int val) { m_var = val; }
63 void set(
float val) { m_var = val; }
64 void set(
const std::string& val) { m_var = val; }
65 void set(
const std::vector<int>& val) { m_var = val; }
66 void set(
const std::vector<float>& val) { m_var = val; }
67 const NSMVar& get()
const {
return m_var; }
68 NSMVar& get() {
return m_var; }
69 NSMVar::Type getType()
const {
return m_var.getType(); }
70 const char* getTypeLabel()
const {
return m_var.getTypeLabel(); }
71 bool isDumped()
const {
return m_isdump; }
72 void setDumped(
bool isdump) { m_isdump = isdump; }
193 class NSMVHandlerIntArray :
public NSMVHandler {
196 NSMVHandlerIntArray(
const std::string& name,
197 bool useget,
bool useset,
198 const std::vector<int>& val = std::vector<int>())
199 : NSMVHandler(
"", name, useget, useset)
203 NSMVHandlerIntArray(
const std::string& node,
const std::string& name,
204 bool useget,
bool useset,
205 const std::vector<int>& val = std::vector<int>())
206 : NSMVHandler(node, name, useget, useset)
210 virtual ~NSMVHandlerIntArray() {}
213 bool handleGet(
NSMVar& var)
override;
214 bool handleSet(
const NSMVar& var)
override;
217 virtual bool handleGetIntArray(std::vector<int>& val);
218 virtual bool handleSetIntArray(
const std::vector<int>& val)
226 class NSMVHandlerFloatArray :
public NSMVHandler {
229 NSMVHandlerFloatArray(
const std::string& name,
230 bool useget,
bool useset,
231 const std::vector<float>& val = std::vector<float>())
232 : NSMVHandler(
"", name, useset, useget)
236 NSMVHandlerFloatArray(
const std::string& node,
const std::string& name,
237 bool useget,
bool useset,
238 const std::vector<float>& val = std::vector<float>())
239 : NSMVHandler(node, name, useset, useget)
243 virtual ~NSMVHandlerFloatArray() {}
246 bool handleGet(
NSMVar& var)
override;
247 bool handleSet(
const NSMVar& var)
override;
250 virtual bool handleGetFloatArray(std::vector<float>& val);
251 virtual bool handleSetFloatArray(
const std::vector<float>& val)