1 #include "daq/slc/nsm/NSMVHandler.h"
3 #include "daq/slc/nsm/NSMCallback.h"
9 const std::string node = var.getNode();
10 const std::string name = var.getName();
11 if (var.getType() == NSMVar::INT) {
12 if (var.getLength() == 0) {
16 }
else if (var.getType() == NSMVar::FLOAT) {
17 if (var.getLength() == 0) {
21 }
else if (var.getType() == NSMVar::TEXT) {
27 bool NSMVHandlerInt::handleGet(
NSMVar& var)
30 if (handleGetInt(val)) {
37 bool NSMVHandlerInt::handleSet(
const NSMVar& var)
39 if (var.getType() == NSMVar::INT&& var.getLength() == 0) {
40 if (handleSetInt(var.getInt())) {
48 bool NSMVHandlerFloat::handleGet(
NSMVar& var)
51 if (handleGetFloat(val)) {
58 bool NSMVHandlerFloat::handleSet(
const NSMVar& var)
60 if (var.getType() == NSMVar::FLOAT && var.getLength() == 0) {
61 if (handleSetFloat(var.getFloat())) {
62 m_var = var.getFloat();
69 bool NSMVHandlerText::handleGet(
NSMVar& var)
72 if (handleGetText(val)) {
79 bool NSMVHandlerText::handleSet(
const NSMVar& var)
81 if (var.getType() == NSMVar::TEXT && var.getLength() > 0) {
82 if (handleSetText(var.getText())) {
83 m_var = var.getText();
90 bool NSMVHandlerIntArray::handleGetIntArray(std::vector<int>& val)
92 const int* pv = (
const int*)m_var.get();
93 val = std::vector<int>();
94 for (
int i = 0; i < m_var.getLength(); i++) {
100 bool NSMVHandlerIntArray::handleGet(
NSMVar& var)
102 std::vector<int> val;
103 if (handleGetIntArray(val)) {
110 bool NSMVHandlerIntArray::handleSet(
const NSMVar& var)
112 if (var.getType() == NSMVar::INT&& var.getLength() > 0) {
113 const int* pv = (
const int*)var.get();
114 std::vector<int> val;
115 for (
int i = 0; i < var.getLength(); i++) {
116 val.push_back(pv[i]);
118 if (handleSetIntArray(val)) {
126 bool NSMVHandlerFloatArray::handleGetFloatArray(std::vector<float>& val)
128 const float* pv = (
const float*)m_var.get();
129 val = std::vector<float>();
130 for (
int i = 0; i < m_var.getLength(); i++) {
131 val.push_back(pv[i]);
136 bool NSMVHandlerFloatArray::handleGet(
NSMVar& var)
138 std::vector<float> val;
139 if (handleGetFloatArray(val)) {
146 bool NSMVHandlerFloatArray::handleSet(
const NSMVar& var)
148 if (var.getType() == NSMVar::FLOAT && var.getLength() > 0) {
149 const float* pv = (
const float*)var.get();
150 std::vector<float> val;
151 for (
int i = 0; i < var.getLength(); i++) {
152 val.push_back(pv[i]);
154 if (handleSetFloatArray(val)) {
162 bool NSMVHandlerRef::handleGet(
NSMVar& var)
165 m_callback.get(m_refname, var);
169 bool NSMVHandlerRef::handleSet(
const NSMVar& var)
173 m_callback.set(m_refname, var);