summaryrefslogtreecommitdiffstats
path: root/low-can-binding/can/message/message.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'low-can-binding/can/message/message.cpp')
-rw-r--r--low-can-binding/can/message/message.cpp96
1 files changed, 96 insertions, 0 deletions
diff --git a/low-can-binding/can/message/message.cpp b/low-can-binding/can/message/message.cpp
new file mode 100644
index 00000000..fe37e7ad
--- /dev/null
+++ b/low-can-binding/can/message/message.cpp
@@ -0,0 +1,96 @@
+/*
+ * Copyright (C) 2015, 2016 "IoT.bzh"
+ * Author "Romain Forlot" <romain.forlot@iot.bzh>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "./message.hpp"
+
+#include <cstring>
+
+#include "../../binding/low-can-hat.hpp"
+
+///
+/// @brief Class constructor
+///
+/// message_t class constructor.
+///
+message_t::message_t()
+ : length_{0},
+ format_{can_message_format_t::INVALID},
+ timestamp_{0},
+ sub_id_{-1}
+{}
+
+message_t::message_t(uint8_t length,
+ can_message_format_t format,
+ std::vector<uint8_t>& data,
+ uint64_t timestamp)
+ : length_{length},
+ format_{format},
+ data_{data},
+ timestamp_{timestamp},
+ sub_id_{-1}
+{}
+
+int message_t::get_sub_id() const
+{
+ return sub_id_;
+}
+
+///
+/// @brief Retrieve data_ member value.
+///
+/// @return pointer to the first element
+/// of class member data_
+///
+const uint8_t* message_t::get_data() const
+{
+ return data_.data();
+}
+
+///
+/// @brief Retrieve data_ member whole vector
+///
+/// @return the vector as is
+///
+const std::vector<uint8_t> message_t::get_data_vector() const
+{
+ return data_;
+}
+
+///
+/// @brief Retrieve length_ member value.
+///
+/// @return length_ class member
+///
+uint8_t message_t::get_length() const
+{
+ return length_;
+}
+
+void message_t::set_sub_id(int sub_id)
+{
+ sub_id_ = sub_id;
+}
+
+uint64_t message_t::get_timestamp() const
+{
+ return timestamp_;
+}
+
+can_message_format_t message_t::get_msg_format()
+{
+ return format_;
+}