diff options
author | Romain Forlot <romain.forlot@iot.bzh> | 2017-02-16 17:57:10 +0000 |
---|---|---|
committer | Romain Forlot <romain.forlot@iot.bzh> | 2017-02-16 17:57:10 +0000 |
commit | 2bdeaadae3c547c48bda330adc7a9d1ab8833265 (patch) | |
tree | 40e75708b14576fe3e895aece99d16b962c25abe | |
parent | 33fd70ab601d6a7a5cb561f3c0eca06d3677a535 (diff) |
Change way signaling end of queue for can messages
and vehicle messages
Change-Id: I98fbc5995ff08facc5430cce92830aa878dc3dc9
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
-rw-r--r-- | src/can-utils.cpp | 21 | ||||
-rw-r--r-- | src/can-utils.h | 2 |
2 files changed, 21 insertions, 2 deletions
diff --git a/src/can-utils.cpp b/src/can-utils.cpp index 4646a348..e978cae5 100644 --- a/src/can-utils.cpp +++ b/src/can-utils.cpp @@ -185,8 +185,15 @@ can_message_t* can_bus_t::next_can_message() can_message_q_.pop() return &can_msg; } + has_can_message_ = false; +} - return nullptr; +/** + * @return has_can_message_ bool + */ +bool can_bus_t::has_can_message() const +{ + return has_can_message_; } void can_bus_t::insert_new_can_message(can_message_t &can_msg) @@ -209,13 +216,23 @@ openxc_VehicleMessage* can_bus_t::next_vehicle_message() return &v_msg; } - return nullptr; + has_vehicle_message_ = false; } void can_bus_t::insert_new_vehicle_message(openxc_VehicleMessage *v_msg) { vehicle_message_q_.push(v_msg); + has_vehicle_message_ = true; } + +/* + * Return has_can_message_ bool + */ +bool can_bus_t::has_vehicle_message() const +{ + return has_vehicle_message_; +} + /******************************************************************************** * * CanMessage method implementation diff --git a/src/can-utils.h b/src/can-utils.h index 71c0fccf..16763926 100644 --- a/src/can-utils.h +++ b/src/can-utils.h @@ -115,9 +115,11 @@ class can_bus_t { can_message_t* next_can_message(); void insert_new_can_message(can_message_t &can_msg); + bool has_can_message_; openxc_VehicleMessage* next_vehicle_message(); void insert_new_vehicle_message(openxc_VehicleMessage *v_msg); + bool has_vehicle_message_; }; /* A compact representation of a single CAN message, meant to be used in in/out |