#include <mutex>
#include <vector>
#include <thread>
-#include <fcntl.h>
#include <linux/can.h>
#include <json-c/json.h>
#include <systemd/sd-event.h>
#include "openxc.pb.h"
+#include "configuration.hpp"
#include "can/can-bus.hpp"
#include "can/can-signals.hpp"
#include "can/can-message.hpp"
#include "utils/timer.hpp"
#include "utils/signals.hpp"
#include "utils/openxc-utils.hpp"
-#include "configuration.hpp"
+
+extern "C"
+{
+ #include <afb/afb-service-itf.h>
+};
// 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;
}