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 <vsomeip/internal/logger.hpp>
7 
8 #include "../include/message_impl.hpp"
9 #include "../include/payload_impl.hpp"
10 #ifdef ANDROID
11 #    include "../../../configuration/include/internal_android.hpp"
12 #else
13 #    include "../../../configuration/include/internal.hpp"
14 #endif
15 #include "../../../message/include/message_impl.hpp"
16 
17 namespace vsomeip {
18 
message_impl(const std::shared_ptr<vsomeip_v3::message> & _impl)19 message_impl::message_impl(const std::shared_ptr<vsomeip_v3::message> &_impl)
20     : message_base_impl(_impl) {
21 }
22 
~message_impl()23 message_impl::~message_impl() {
24 }
25 
26 std::shared_ptr< payload >
get_payload() const27 message_impl::get_payload() const {
28 
29     return std::make_shared<payload_impl>(impl_->get_payload());
30 }
31 
32 void
set_payload(std::shared_ptr<payload> _payload)33 message_impl::set_payload(std::shared_ptr< payload > _payload) {
34 
35     if (_payload) {
36         auto its_payload = std::dynamic_pointer_cast<payload_impl>(_payload);
37         impl_->set_payload(its_payload->get_impl());
38     } else {
39         impl_->set_payload(nullptr);
40     }
41 }
42 
43 bool
serialize(serializer * _to) const44 message_impl::serialize(serializer *_to) const {
45 
46     (void)_to;
47     VSOMEIP_ERROR << "message_impl::" << __func__
48             << ": Must not be called from compatibility layer.";
49     return false;
50 }
51 
52 bool
deserialize(deserializer * _from)53 message_impl::deserialize(deserializer *_from) {
54 
55     (void)_from;
56     VSOMEIP_ERROR << "message_impl::" << __func__
57             << ": Must not be called from compatibility layer.";
58     return false;
59 }
60 
61 } // namespace vsomeip
62