if(! can_message_q_.empty())
{
can_message_t can_msg = can_message_q_.front();
- can_message_q_.pop()
- return &can_msg;
+ can_message_q_.pop();
+ return can_msg;
}
has_can_message_ = false;
* params[std::ifstream& conf_file] conf_file ifstream to the JSON configuration
* file located at the rootdir of the binding
*/
-int init_can_dev()
+int can_bus_t::init_can_dev()
{
std::vector<std::string> devices_name;
- int i, t, ret;
+ int i, ret;
+ size_t t;
- devices_name = read_conf(conf_file_);
+ devices_name = read_conf();
- if (devices_name)
+ if (! devices_name.empty())
{
t = devices_name.size();
- i=0
+ i=0;
for(const auto& device : devices_name)
{
*
* @return[std:vector<std::string>] return a vector of device name
*/
-std::vector<std::string> read_conf()
+std::vector<std::string> can_bus_t::read_conf()
{
std::vector<std::string> ret;
json_object jo, canbus;
if (jo == NULL || !json_object_object_get_ex(&jo, "canbus", &&canbus))
{
ERROR(interface_, "Can't find canbus node in the configuration file. Please review it.");
- ret = nullptr;
+ ret.clear();
}
else if (json_object_get_type(canbus) != json_type_array)
ret.push_back(json_object_get_string(a));
for (i = 0 ; i < n ; i++)
ret.push_back(json_object_get_string(json_object_array_get_idx(a, i)));
}
- return ret;
+ return ret;
}
ERROR(interface_, "Problem at reading the conf file");
- return nullptr;
+ return ret.clear();
}
/**
#define CAN_ACTIVE_TIMEOUT_S 30
-/**
- * @brief Function representing thread activated by can bus objects
- */
-void can_reader(can_bus_dev_t& can_bus);
-void can_decode_message(can_bus_t& can_bus);
-void can_event_push(can_bus_t& can_bus);
-
/**
* @brief The type signature for a CAN signal decoder.
*
* busCount - the length of the buses array.
*/
void logBusStatistics(can_bus_dev_t* buses, const int busCount);
+
+/**
+ * @brief Function representing thread activated by can bus objects
+ */
+void can_reader(can_bus_dev_t& can_bus);
+void can_decode_message(can_bus_t& can_bus);
+void can_event_push(can_bus_t& can_bus);
\ No newline at end of file