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_IMPL_HPP_ 7 #define VSOMEIP_COMPAT_MESSAGE_IMPL_HPP_ 8 9 #if _MSC_VER >= 1300 10 # pragma warning( disable : 4250 ) 11 #endif 12 13 #include <compat/vsomeip/message.hpp> 14 #include "message_base_impl.hpp" 15 16 namespace vsomeip { 17 18 class payload; 19 20 class message_impl 21 : virtual public message_base_impl, 22 virtual public message { 23 24 public: 25 VSOMEIP_EXPORT message_impl(const std::shared_ptr<vsomeip_v3::message> &_impl); 26 VSOMEIP_EXPORT virtual ~message_impl(); 27 28 VSOMEIP_EXPORT std::shared_ptr< payload > get_payload() const; 29 VSOMEIP_EXPORT void set_payload(std::shared_ptr< payload > _payload); 30 31 VSOMEIP_EXPORT bool serialize(serializer *_to) const; 32 VSOMEIP_EXPORT bool deserialize(deserializer *_from); 33 }; 34 35 } // namespace vsomeip 36 37 #endif // VSOMEIP_COMPAT_MESSAGE_IMPL_HPP_ 38