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)19message_impl::message_impl(const std::shared_ptr<vsomeip_v3::message> &_impl) 20 : message_base_impl(_impl) { 21 } 22 ~message_impl()23message_impl::~message_impl() { 24 } 25 26 std::shared_ptr< payload > get_payload() const27message_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)33message_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) const44message_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)53message_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