aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRomain Forlot <romain.forlot@iot.bzh>2017-02-16 17:57:10 +0000
committerRomain Forlot <romain.forlot@iot.bzh>2017-02-16 17:57:10 +0000
commit2bdeaadae3c547c48bda330adc7a9d1ab8833265 (patch)
tree40e75708b14576fe3e895aece99d16b962c25abe
parent33fd70ab601d6a7a5cb561f3c0eca06d3677a535 (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.cpp21
-rw-r--r--src/can-utils.h2
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