25 #ifndef SRC_CORE_INCLUDE_CORBO_CORE_SIGNAL_TARGET_INTERFACE_H_
26 #define SRC_CORE_INCLUDE_CORBO_CORE_SIGNAL_TARGET_INTERFACE_H_
62 class SignalTargetInterface
65 using Ptr = std::shared_ptr<SignalTargetInterface>;
89 virtual void registerMeasurement(
const std::string& unique_name,
int value_dimension,
const std::vector<std::string>& value_labels = {},
90 bool zero_order_hold =
false) = 0;
114 virtual void registerTimeSeries(
const std::string& unique_name,
int value_dimension,
bool zero_order_hold =
false) = 0;
147 virtual void sendMeasurement(
const std::string& unique_name,
double time,
const std::vector<double>& values,
148 const std::vector<std::string>& value_labels = {})
152 measurement->header.name = unique_name;
153 measurement->header.value_dimension = values.size();
154 measurement->getValueLabelsRef() = value_labels;
176 const std::vector<std::string>& value_labels = {})
180 measurement->header.name = unique_name;
181 measurement->header.value_dimension = values.rows();
182 measurement->getValueLabelsRef() = value_labels;
219 ts_signal->header.name = unique_name;
220 ts_signal->header.value_dimension = time_series->getValueDimension();
221 ts_signal->set(time_series);
252 virtual void sendIndexedValues(
const std::string& unique_name,
int index,
const std::vector<double>& values)
255 indexed_values->header.time =
Time::now();
256 indexed_values->header.name = unique_name;
257 indexed_values->header.value_dimension = 1;
279 indexed_values->header.time =
Time::now();
280 indexed_values->header.name = unique_name;
281 indexed_values->header.value_dimension = 1;
328 matrix_sig->header.name = unique_name;
329 matrix_sig->header.value_dimension = 1;
336 #endif // SRC_CORE_INCLUDE_CORBO_CORE_SIGNAL_TARGET_INTERFACE_H_