Skip to content
Snippets Groups Projects
Commit 4131a295 authored by fxk8y's avatar fxk8y :spider:
Browse files

prohibit backends from changing our data

parent 1a58692a
No related branches found
No related tags found
2 merge requests!8Updating bme280-qthing,!5Measured: A measuring daemon
......@@ -19,7 +19,7 @@ typedef struct {
} sensor_config_t;
static std::vector<sensor_config_t> sensors;
static qthing::measured::backend_t sens_backend = [](std::vector<qthing::measured::sensor_data_t>& data) {
static qthing::measured::backend_t sens_backend = [](const std::vector<qthing::measured::sensor_data_t>& data) {
for (auto const& d: data) {
ESP_LOGI("measured", "name=%s type=%s unit=%s value=%f", d.name->c_str(), d.type->c_str(), d.unit->c_str(), d.value);
}
......@@ -77,7 +77,7 @@ void qthing::measured::registerSensor(std::string name, std::string type, std::s
void qthing::measured::registerBackend(qthing::measured::backend_t new_backend) {
qthing::measured::backend_t old_backend = sens_backend;
sens_backend = [old_backend, new_backend](std::vector<qthing::measured::sensor_data_t>& data) {
sens_backend = [old_backend, new_backend](const std::vector<qthing::measured::sensor_data_t>& data) {
old_backend(data);
new_backend(data);
};
......@@ -85,7 +85,7 @@ void qthing::measured::registerBackend(qthing::measured::backend_t new_backend)
start_measured();
}
void qthing::measured::backend::mqtt(std::vector<qthing::measured::sensor_data_t>& data) {
void qthing::measured::backend::mqtt(const std::vector<qthing::measured::sensor_data_t>& data) {
if (is_mqtt_connected()) {
for (auto const& d: data) {
char message[16];
......
......@@ -23,13 +23,13 @@ namespace qthing {
} sensor_data_t;
typedef std::function<float()> sensor_t;
typedef std::function<void(std::vector<sensor_data_t>&)> backend_t;
typedef std::function<void(const std::vector<sensor_data_t>&)> backend_t;
void registerBackend(backend_t new_backend);
void registerSensor(std::string name, std::string type, std::string unit, sensor_t sensor);
namespace backend {
void mqtt(std::vector<qthing::measured::sensor_data_t>& data);
void mqtt(const std::vector<qthing::measured::sensor_data_t>& data);
}
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment