#include <mutex>
#include <vector>
#include <thread>
-#include <fcntl.h>
#include <linux/can.h>
#include <json-c/json.h>
#include <systemd/sd-event.h>
#include "utils/timer.hpp"
#include "utils/signals.hpp"
#include "utils/openxc-utils.hpp"
-#include "configuration.hpp"
// Interface between the daemon and the binding
const struct afb_binding_interface *binder_interface;
+configuration_t *config;
/********************************************************************************
*
*/
int afbBindingV1ServiceInit(struct afb_service service)
{
- configuration_t config;
+ config = new configuration_t();
- can_bus_manager = config.get_can_bus_manager();
+ can_bus_t can_bus_manager = config->get_can_bus_manager();
/* Open CAN socket */
if(can_bus_manager.init_can_dev() == 0)
can_bus_manager.start_threads();
return 0;
}
+
ERROR(binder_interface, "There was something wrong with CAN device Initialization. Check your config file maybe");
return 1;
}
#pragma once
#include <cstddef>
+
+#include "configuration.hpp"
+
extern "C"
{
#include <afb/afb-binding.h>
extern "C" struct afb_binding_interface;
-extern const struct afb_binding_interface *binder_interface;
\ No newline at end of file
+extern const struct afb_binding_interface *binder_interface;
+
+extern configuration_t *config;
\ No newline at end of file
#include <fnmatch.h>
#include "openxc.pb.h"
+#include "configuration.hpp"
#include "can/can-signals.hpp"
#include "obd2/obd2-signals.hpp"
+#include "low-can-binding.hpp"
+
extern std::mutex subscribed_signals_mutex;
std::mutex& get_subscribed_signals_mutex();
{
for(T& s : signals)
{
- if(get_signal_id(s) == key)
+ if(config->get_signal_id(s) == key)
{
found_signals.push_back(&s);
}
{
for(const T& s : signals)
{
- if(get_signal_id(s) == key)
+ if(config->get_signal_id(s) == key)
{
found_signals_name.push_back(s.generic_name);
}