Fix: wrong binding extension
[apps/low-level-can-service.git] / src / can-utils.cpp
index 6721410..f10b968 100644 (file)
@@ -128,6 +128,51 @@ int CanBus_c::send_can_message(CanMessage_c can_msg)
        return 0;
 }
 
+/*
+ * Get a CanMessage from can_message_q and return it
+ * then point to the next CanMessage in queue.
+ * 
+ * Return the next queue element or NULL if queue is empty.
+ */
+CanMessage_c* CanBus_c::next_can_message()
+{
+       if(! can_message_q.empty())
+       {
+               CanMessage_c can_msg = can_message_q.front();
+               can_message_q.pop()
+               return &can_msg;
+       }
+
+       return nullptr;
+}
+
+void CanBus_c::insert_new_can_message(CanMessage_c *can_msg)
+{
+       can_message_q.push(can_msg);
+}
+
+/*
+ * Get a VehicleMessage from vehicle_message_q and return it
+ * then point to the next VehicleMessage in queue.
+ * 
+ * Return the next queue element or NULL if queue is empty.
+ */
+openxc_VehicleMessage* CanBus_c::next_vehicle_message()
+{
+       if(! vehicle_message_q.empty())
+       {
+               openxc_VehicleMessage v_msg = vehicle_message_q.front();
+               vehicle_message_q.pop()
+               return &v_msg;
+       }
+
+       return nullptr;
+}
+
+void CanBus_c::insert_new_vehicle_message(openxc_VehicleMessage *v_msg)
+{
+       vehicle_message_q.push(v_msg);
+}
 /********************************************************************************
 *
 *              CanMessage method implementation