diff options
Diffstat (limited to 'src/networkAddress.cpp')
-rw-r--r-- | src/networkAddress.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/networkAddress.cpp b/src/networkAddress.cpp index f922c00..059b670 100644 --- a/src/networkAddress.cpp +++ b/src/networkAddress.cpp @@ -105,6 +105,30 @@ network_address_type_t NetworkAddress::getNetworkAddressType() const return network_address_type_; } +const boost::asio::ip::address_v4& NetworkAddress::getNetworkAddressV4() const +{ + if(network_address_type_ != ipv4) + throw std::runtime_error("wrong address type"); + + return ipv4_address_; +} + +const boost::asio::ip::address_v6& NetworkAddress::getNetworkAddressV6() const +{ + if(network_address_type_ != ipv6) + throw std::runtime_error("wrong address type"); + + return ipv6_address_; +} + +const u_int64_t NetworkAddress::getNetworkAdrressEther() const +{ + if(network_address_type_ != ethernet) + throw std::runtime_error("wrong address type"); + + return ethernet_address_; +} + std::string NetworkAddress::toString() const { if (network_address_type_==ipv4){ |