• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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