• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (C) 2019 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_COMPAT_MESSAGE_BASE_IMPL_HPP_
7 #define VSOMEIP_COMPAT_MESSAGE_BASE_IMPL_HPP_
8 
9 #include <compat/vsomeip/export.hpp>
10 #include <compat/vsomeip/message.hpp>
11 #include <vsomeip/message.hpp>
12 
13 namespace vsomeip_v3 {
14 class message_impl;
15 } // namespace vsomeip_v3
16 
17 namespace vsomeip {
18 
19 class message;
20 
21 class message_base_impl
22         : virtual public message_base {
23 
24 public:
25     VSOMEIP_EXPORT message_base_impl(const std::shared_ptr<vsomeip_v3::message> &_impl);
26     VSOMEIP_EXPORT virtual ~message_base_impl();
27 
28     VSOMEIP_EXPORT message_t get_message() const;
29     VSOMEIP_EXPORT void set_message(message_t _message);
30 
31     VSOMEIP_EXPORT service_t get_service() const;
32     VSOMEIP_EXPORT void set_service(service_t _service);
33 
34     VSOMEIP_EXPORT instance_t get_instance() const;
35     VSOMEIP_EXPORT void set_instance(instance_t _instance);
36 
37     VSOMEIP_EXPORT method_t get_method() const;
38     VSOMEIP_EXPORT void set_method(method_t _method);
39 
40     VSOMEIP_EXPORT length_t get_length() const;
41 
42     VSOMEIP_EXPORT request_t get_request() const;
43 
44     VSOMEIP_EXPORT client_t get_client() const;
45     VSOMEIP_EXPORT void set_client(client_t _client);
46 
47     VSOMEIP_EXPORT session_t get_session() const;
48     VSOMEIP_EXPORT void set_session(session_t _session);
49 
50     VSOMEIP_EXPORT protocol_version_t get_protocol_version() const;
51 
52     VSOMEIP_EXPORT interface_version_t get_interface_version() const;
53     VSOMEIP_EXPORT void set_interface_version(interface_version_t _interface_version);
54 
55     VSOMEIP_EXPORT message_type_e get_message_type() const;
56     VSOMEIP_EXPORT void set_message_type(message_type_e _type);
57 
58     VSOMEIP_EXPORT return_code_e get_return_code() const;
59     VSOMEIP_EXPORT void set_return_code(return_code_e _code);
60 
61     VSOMEIP_EXPORT bool is_reliable() const;
62     VSOMEIP_EXPORT void set_reliable(bool _is_reliable);
63 
64     VSOMEIP_EXPORT virtual bool is_initial() const;
65     VSOMEIP_EXPORT virtual void set_initial(bool _is_initial);
66 
67     //VSOMEIP_EXPORT message * get_owner() const;
68     //VSOMEIP_EXPORT void set_owner(message *_owner);
69 
70     VSOMEIP_EXPORT bool is_valid_crc() const;
71     VSOMEIP_EXPORT void set_is_valid_crc(bool _is_valid_crc);
72 
get_impl() const73     inline std::shared_ptr<vsomeip_v3::message> get_impl() const { return impl_; }
74 
75 protected:
76     //message *owner_;
77     std::shared_ptr<vsomeip_v3::message> impl_;
78 };
79 
80 } // namespace vsomeip
81 
82 #endif // VSOMEIP_COMPAT_MESSAGE_BASE_IMPL_HPP_
83