1 // Copyright (C) 2014-2017 Bayerische Motoren Werke Aktiengesellschaft (BMW AG)
2 // This Source Code Form is subject to the terms of the Mozilla Public
3 // License, v. 2.0. If a copy of the MPL was not distributed with this
4 // file, You can obtain one at http://mozilla.org/MPL/2.0/.
5 
6 #include "../include/message_impl.hpp"
7 #include "../../utility/include/byteorder.hpp"
8 
9 namespace vsomeip_v3 {
10 
message_base_impl()11 message_base_impl::message_base_impl()
12     : is_reliable_(false),
13       is_initial_(false) {
14     header_.set_owner(this);
15 }
16 
~message_base_impl()17 message_base_impl::~message_base_impl() {
18 }
19 
20 // header interface
get_message() const21 message_t message_base_impl::get_message() const {
22     return VSOMEIP_WORDS_TO_LONG(header_.service_, header_.method_);
23 }
24 
set_message(message_t _message)25 void message_base_impl::set_message(message_t _message) {
26     header_.service_ = VSOMEIP_LONG_WORD0(_message);
27     header_.method_ = VSOMEIP_LONG_WORD1(_message);
28 }
29 
get_service() const30 service_t message_base_impl::get_service() const {
31     return header_.service_;
32 }
33 
set_service(service_t _service)34 void message_base_impl::set_service(service_t _service) {
35     header_.service_ = _service;
36 }
37 
get_instance() const38 instance_t message_base_impl::get_instance() const {
39     return header_.instance_;
40 }
41 
set_instance(instance_t _instance)42 void message_base_impl::set_instance(instance_t _instance) {
43     header_.instance_ = _instance;
44 }
45 
get_method() const46 method_t message_base_impl::get_method() const {
47     return header_.method_;
48 }
49 
set_method(method_t _method)50 void message_base_impl::set_method(method_t _method) {
51     header_.method_ = _method;
52 }
53 
get_request() const54 request_t message_base_impl::get_request() const {
55     return VSOMEIP_WORDS_TO_LONG(header_.client_, header_.session_);
56 }
57 
get_client() const58 client_t message_base_impl::get_client() const {
59     return header_.client_;
60 }
61 
set_client(client_t _client)62 void message_base_impl::set_client(client_t _client) {
63     header_.client_ = _client;
64 }
65 
get_session() const66 session_t message_base_impl::get_session() const {
67     return header_.session_;
68 }
69 
set_session(session_t _session)70 void message_base_impl::set_session(session_t _session) {
71     header_.session_ = _session;
72 }
73 
get_protocol_version() const74 protocol_version_t message_base_impl::get_protocol_version() const {
75     return header_.protocol_version_;
76 }
77 
set_protocol_version(protocol_version_t _protocol_version)78 void message_base_impl::set_protocol_version(protocol_version_t _protocol_version) {
79     header_.protocol_version_ = _protocol_version;
80 }
81 
get_interface_version() const82 interface_version_t message_base_impl::get_interface_version() const {
83     return header_.interface_version_;
84 }
85 
set_interface_version(interface_version_t _interface_version)86 void message_base_impl::set_interface_version(interface_version_t _interface_version) {
87     header_.interface_version_ = _interface_version;
88 }
89 
get_message_type() const90 message_type_e message_base_impl::get_message_type() const {
91     return header_.type_;
92 }
93 
set_message_type(message_type_e _type)94 void message_base_impl::set_message_type(message_type_e _type) {
95     header_.type_ = _type;
96 }
97 
get_return_code() const98 return_code_e message_base_impl::get_return_code() const {
99     return header_.code_;
100 }
101 
set_return_code(return_code_e _code)102 void message_base_impl::set_return_code(return_code_e _code) {
103     header_.code_ = _code;
104 }
105 
is_reliable() const106 bool message_base_impl::is_reliable() const {
107     return is_reliable_;
108 }
109 
set_reliable(bool _is_reliable)110 void message_base_impl::set_reliable(bool _is_reliable) {
111     is_reliable_ = _is_reliable;
112 }
113 
is_initial() const114 bool message_base_impl::is_initial() const {
115     return is_initial_;
116 }
117 
set_initial(bool _is_initial)118 void message_base_impl::set_initial(bool _is_initial) {
119     is_initial_ = _is_initial;
120 }
121 
122 } // namespace vsomeip_v3
123