Resolve circular header files inclusion
authorRomain Forlot <romain.forlot@iot.bzh>
Wed, 22 Feb 2017 08:38:30 +0000 (09:38 +0100)
committerRomain Forlot <romain.forlot@iot.bzh>
Wed, 22 Feb 2017 11:15:13 +0000 (12:15 +0100)
Change-Id: Ida3de058f1edd2892ebc858d1eb714471fd5f65c
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
src/CMakeLists.txt
src/can-signals.cpp
src/can-signals.hpp
src/can_decode_message.cpp
src/low-can-binding.cpp
src/low-can-binding.hpp

index b08dead..8fd38ec 100644 (file)
@@ -40,6 +40,7 @@ add_compile_options(-Werror=implicit-function-declaration)
 add_compile_options(-ffunction-sections -fdata-sections)
 add_compile_options(-Wl,--as-needed -Wl,--gc-sections)
 add_compile_options(-fPIC)
+add_compile_options(-std=c++11)
 
 set(CMAKE_C_FLAGS_PROFILING    "-g -O0 -pg -Wp,-U_FORTIFY_SOURCE")
 set(CMAKE_C_FLAGS_DEBUG        "-g -O0 -ggdb -Wp,-U_FORTIFY_SOURCE")
index 0348268..1ccc7c3 100644 (file)
@@ -27,7 +27,7 @@ size_t getSignalCount()
        return SIGNALS[MESSAGE_SET_ID].size();
 }
 
-std::vector<CanSignal> find_can_signals(openxc_DynamicField& key)
+std::vector<CanSignal> find_can_signals(const struct afb_binding_interface* interface, openxc_DynamicField& key)
 {
        std::vector<CanSignal> signals;
 
index d6ec171..3772486 100644 (file)
 #include <linux/can.h>
 
 #include "can-utils.hpp"
-#include "low-can-binding.hpp"
 
 extern "C"
 {
        #include <afb/afb-event-itf.h>
 }
 
+#define MESSAGE_SET_ID 0
+
 /**
  * @brief Dumb SIGNALS array. It is composed by CanMessageSet
  * SIGNALS[MESSAGE_SET_ID][CanSignal]
@@ -98,7 +99,7 @@ CanBus* getCanBuses();
  *
  * return[std::vector<std::string>] return found CanSignal generic name vector.
  */
-std::vector<CanSignal> find_can_signals(const openxc_DynamicField &key);
+std::vector<CanSignal> find_can_signals(const struct afb_binding_interface* interface, const openxc_DynamicField &key);
 
 uint32_t get_CanSignal_id(const CanSignal& sig)
 {
index 51993b8..126c4fa 100644 (file)
@@ -35,7 +35,7 @@ void can_decode_message(can_bus_t &can_bus)
 
                /* First we have to found which CanSignal is */
                search_key = build_DynamicField((double)can_message.get_id());
-               signals = find_can_signals(search_key);
+               signals = find_can_signals(interface, search_key);
                
                /* Decoding the message ! Don't kill the messenger ! */
                for(const auto& sig : signals)
index 4e58dd4..a335144 100644 (file)
@@ -118,7 +118,7 @@ static int subscribe_unsubscribe_name(struct afb_req request, bool subscribe, co
                else
                {
                        openxc_DynamicField search_key = build_DynamicField(name);
-                       sig = find_can_signals(search_key);
+                       sig = find_can_signals(interface, search_key);
                        if (sig.empty())
                                ret = 0;
                }
index 5c43ded..a1d3169 100644 (file)
@@ -46,8 +46,6 @@
 #include "can-decoder.hpp"
 #include "openxc-utils.hpp"
 
-#define MESSAGE_SET_ID 0
-
 /*
  *     Interface between the daemon and the binding
  */