Use the new created class and their respectives
[apps/agl-service-can-low-level.git] / src / can / can-bus.cpp
index 7721132..ff899e6 100644 (file)
 #include <json-c/json.h>
 #include <linux/can/raw.h>
 
-#include "can/can-decoder.hpp"
-#include "utils/openxc-utils.hpp"
+#include "can-bus.hpp"
+
+#include "can-decoder.hpp"
+#include "../configuration.hpp"
+#include "../utils/signals.hpp"
+#include "../utils/openxc-utils.hpp"
 
 extern "C"
 {
        #include <afb/afb-binding.h>
 }
 
-#include "can/can-bus.hpp"
-
 /********************************************************************************
 *
 *              can_bus_t method implementation
@@ -66,19 +68,17 @@ can_bus_t::can_bus_t(int conf_file)
 void can_bus_t::can_decode_message()
 {
        can_message_t can_message;
-       std::vector <CanSignal*> signals;
+       std::vector <can_signal_t*> signals;
        openxc_VehicleMessage vehicle_message;
        openxc_DynamicField search_key, decoded_message;
 
-       decoder_t decoder;
-
        while(is_decoding_)
        {
                std::unique_lock<std::mutex> can_message_lock(can_message_mutex_);
                new_can_message_cv_.wait(can_message_lock);
                can_message = next_can_message();
 
-               /* First we have to found which CanSignal it is */
+               /* First we have to found which can_signal_t it is */
                search_key = build_DynamicField((double)can_message.get_id());
                signals.clear();
                find_can_signals(search_key, signals);
@@ -94,11 +94,11 @@ void can_bus_t::can_decode_message()
                        DEBUG(binder_interface, "Operator[] key string: %s, event valid? %d", sig.generic_name, afb_event_is_valid(s[std::string(sig.generic_name)]));
                        DEBUG(binder_interface, "Nb elt matched char: %d", (int)s.count(sig.generic_name));
                        DEBUG(binder_interface, "Nb elt matched string: %d", (int)s.count(std::string(sig.generic_name)));*/
-                       if( s.find(sig->generic_name) != s.end() && afb_event_is_valid(s[sig->generic_name]))
+                       if( s.find(sig->get_generic_name()) != s.end() && afb_event_is_valid(s[sig->get_generic_name()]))
                        {
-                               decoded_message = decoder.translateSignal(*sig, can_message, get_can_signals());
+                               decoded_message = decoder_t::translateSignal(*sig, can_message, config->get_can_signals());
 
-                               openxc_SimpleMessage s_message = build_SimpleMessage(sig->generic_name, decoded_message);
+                               openxc_SimpleMessage s_message = build_SimpleMessage(sig->get_generic_name(), decoded_message);
                                vehicle_message = build_VehicleMessage_with_SimpleMessage(openxc_DynamicField_Type::openxc_DynamicField_Type_NUM, s_message);
 
                                std::lock_guard<std::mutex> decoded_can_message_lock(decoded_can_message_mutex_);