X-Git-Url: http://git.tdb.fi/?p=libs%2Fnet.git;a=blobdiff_plain;f=source%2Fsockaddr.h;h=6e4025d298cc46d0fc16719dcebf1cdad334514a;hp=745e6d45afc59adda0889843a257da05dbf16b24;hb=28e7bf7a13656620452e19d017ea5eedf14a8bc5;hpb=a81c41acd873cda7f40bca634782230d9e57dc4f diff --git a/source/sockaddr.h b/source/sockaddr.h index 745e6d4..6e4025d 100644 --- a/source/sockaddr.h +++ b/source/sockaddr.h @@ -12,7 +12,16 @@ namespace Net { class SockAddr { +protected: + SockAddr() { } public: + virtual ~SockAddr() { } + + static SockAddr *create(const sockaddr &sa) { return create(reinterpret_cast(sa)); } + static SockAddr *create(const sockaddr_storage &); + + virtual SockAddr *copy() const = 0; + virtual Family get_family() const = 0; virtual std::string str() const = 0; @@ -23,15 +32,6 @@ public: */ virtual unsigned fill_sockaddr(sockaddr &) const = 0; virtual unsigned fill_sockaddr(sockaddr_storage &) const; - - virtual SockAddr *copy() const =0; - - virtual ~SockAddr() { } - - static SockAddr *create(const sockaddr &sa) { return create(reinterpret_cast(sa)); } - static SockAddr *create(const sockaddr_storage &); -protected: - SockAddr() { } }; } // namespace Net