Change can_message_t class usage for new j1939
[apps/agl-service-can-low-level.git] / low-can-binding / can / message / message.cpp
1 /*
2  * Copyright (C) 2015, 2016 "IoT.bzh"
3  * Author "Romain Forlot" <romain.forlot@iot.bzh>
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *       http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17
18 #include "./message.hpp"
19
20 #include <cstring>
21
22 #include "../../binding/low-can-hat.hpp"
23
24 ///
25 /// @brief Class constructor
26 ///
27 /// message_t class constructor.
28 ///
29 message_t::message_t()
30         : length_{0},
31          format_{can_message_format_t::INVALID},
32          timestamp_{0},
33          sub_id_{-1}
34 {}
35
36 message_t::message_t(uint8_t length,
37         can_message_format_t format,
38         std::vector<uint8_t>& data,
39         uint64_t timestamp)
40         : length_{length},
41         format_{format},
42         data_{data},
43         timestamp_{timestamp},
44         sub_id_{-1}
45 {}
46
47 int message_t::get_sub_id() const
48 {
49         return sub_id_;
50 }
51
52 ///
53 /// @brief Retrieve data_ member value.
54 ///
55 /// @return pointer to the first element
56 ///  of class member data_
57 ///
58 const uint8_t* message_t::get_data() const
59 {
60         return data_.data();
61 }
62
63 ///
64 /// @brief Retrieve data_ member whole vector
65 ///
66 /// @return the vector as is
67 ///
68 const std::vector<uint8_t> message_t::get_data_vector() const
69 {
70         return data_;
71 }
72
73 ///
74 /// @brief Retrieve length_ member value.
75 ///
76 /// @return length_ class member
77 ///
78 uint8_t message_t::get_length() const
79 {
80         return length_;
81 }
82
83 void message_t::set_sub_id(int sub_id)
84 {
85         sub_id_ = sub_id;
86 }
87
88 uint64_t message_t::get_timestamp() const
89 {
90         return timestamp_;
91 }
92
93 can_message_format_t message_t::get_msg_format()
94 {
95         return format_;
96 }