1 // Copyright (C) 2014-2018 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_SD_IPV6_OPTION_IMPL_HPP_ 7 #define VSOMEIP_V3_SD_IPV6_OPTION_IMPL_HPP_ 8 9 #include <boost/asio/ip/address.hpp> 10 11 #include <vsomeip/primitive_types.hpp> 12 13 #include "ip_option_impl.hpp" 14 15 namespace vsomeip_v3 { 16 namespace sd { 17 18 class ipv6_option_impl 19 : public ip_option_impl { 20 public: 21 ipv6_option_impl(); 22 ipv6_option_impl(const boost::asio::ip::address &_address, 23 const uint16_t _port, const bool _is_reliable); 24 virtual ~ipv6_option_impl(); 25 26 bool operator ==(const option_impl &_other) const; 27 28 const ipv6_address_t & get_address() const; 29 void set_address(const ipv6_address_t &_address); 30 31 bool is_multicast() const; 32 bool serialize(vsomeip_v3::serializer *_to) const; 33 bool deserialize(vsomeip_v3::deserializer *_from); 34 35 private: 36 ipv6_address_t address_; 37 }; 38 39 } // namespace sd 40 } // namespace vsomeip_v3 41 42 #endif // VSOMEIP_V3_SD_IPV6_OPTION_IMPL_HPP_ 43