X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Finet.h;h=75735a7f36e1cf3e536dadf0b6d4915e26cb1fcd;hb=6102d830138013216241b6723527246764103fa0;hp=1092bc1a8372fbd6e473ebcb4b8007d1079efc52;hpb=f59eded7c3e162bbdfc6db424c9badc730017698;p=libs%2Fnet.git diff --git a/source/inet.h b/source/inet.h index 1092bc1..75735a7 100644 --- a/source/inet.h +++ b/source/inet.h @@ -1,10 +1,3 @@ -/* $Id$ - -This file is part of libmspnet -Copyright © 2008 Mikkosoft Productions, Mikko Rasa -Distributed under the LGPL -*/ - #ifndef MSP_NET_INET_H_ #define MSP_NET_INET_H_ @@ -13,35 +6,37 @@ Distributed under the LGPL #else #include #endif -#include #include "sockaddr.h" namespace Msp { namespace Net { -#ifdef WIN32 -typedef u_long in_addr_t; -typedef u_short in_port_t; -#endif - /** Address class for IPv4 sockets. */ class InetAddr: public SockAddr { +private: +#ifdef WIN32 + typedef u_long in_addr_t; + typedef u_short in_port_t; +#endif + + in_addr_t addr; + in_port_t port; + public: InetAddr(); - InetAddr(sockaddr_in &); + InetAddr(const sockaddr_in &); InetAddr(in_addr_t, in_port_t); - Family get_family() const { return INET; } - in_addr_t get_addr() const { return ntohl(addr); } - in_port_t get_port() const { return ntohs(port); } + + virtual InetAddr *copy() const { return new InetAddr(*this); } + + Family get_family() const { return INET; } + in_addr_t get_addr() const { return ntohl(addr); } + in_port_t get_port() const { return ntohs(port); } std::string str() const; - unsigned fill_sockaddr(sockaddr &) const; - InetAddr *copy() const { return new InetAddr(*this); } -private: - in_addr_t addr; - in_port_t port; + virtual unsigned fill_sockaddr(sockaddr &) const; }; } // namespace Net