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 #ifndef VSOMEIP_V3_MESSAGE_BASE_IMPL_HPP 7 #define VSOMEIP_V3_MESSAGE_BASE_IMPL_HPP 8 9 #include <boost/thread.hpp> 10 11 #include <vsomeip/export.hpp> 12 #include <vsomeip/message.hpp> 13 14 #include "message_header_impl.hpp" 15 16 namespace vsomeip_v3 { 17 18 class message_base_impl 19 : virtual public message_base { 20 public: 21 VSOMEIP_EXPORT message_base_impl(); 22 VSOMEIP_EXPORT virtual ~message_base_impl(); 23 24 VSOMEIP_EXPORT message_t get_message() const; 25 VSOMEIP_EXPORT void set_message(message_t _message); 26 27 VSOMEIP_EXPORT service_t get_service() const; 28 VSOMEIP_EXPORT void set_service(service_t _service); 29 30 VSOMEIP_EXPORT instance_t get_instance() const; 31 VSOMEIP_EXPORT void set_instance(instance_t _instance); 32 33 VSOMEIP_EXPORT method_t get_method() const; 34 VSOMEIP_EXPORT void set_method(method_t _method); 35 36 VSOMEIP_EXPORT request_t get_request() const; 37 38 VSOMEIP_EXPORT client_t get_client() const; 39 VSOMEIP_EXPORT void set_client(client_t _client); 40 41 VSOMEIP_EXPORT session_t get_session() const; 42 VSOMEIP_EXPORT void set_session(session_t _session); 43 44 VSOMEIP_EXPORT protocol_version_t get_protocol_version() const; 45 VSOMEIP_EXPORT void set_protocol_version(protocol_version_t _protocol_version); 46 47 VSOMEIP_EXPORT interface_version_t get_interface_version() const; 48 VSOMEIP_EXPORT void set_interface_version(interface_version_t _interface_version); 49 50 VSOMEIP_EXPORT message_type_e get_message_type() const; 51 VSOMEIP_EXPORT void set_message_type(message_type_e _type); 52 53 VSOMEIP_EXPORT return_code_e get_return_code() const; 54 VSOMEIP_EXPORT void set_return_code(return_code_e _code); 55 56 VSOMEIP_EXPORT bool is_reliable() const; 57 VSOMEIP_EXPORT void set_reliable(bool _is_reliable); 58 59 VSOMEIP_EXPORT bool is_initial() const; 60 VSOMEIP_EXPORT void set_initial(bool _is_initial); 61 62 VSOMEIP_EXPORT message * get_owner() const; 63 VSOMEIP_EXPORT void set_owner(message *_owner); 64 65 protected: // members 66 message_header_impl header_; 67 bool is_reliable_; 68 bool is_initial_; 69 }; 70 71 } // namespace vsomeip_v3 72 73 #endif // VSOMEIP_V3_MESSAGE_BASE_IMPL_HPP 74