]> git.tdb.fi Git - libs/net.git/blobdiff - source/sockaddr.h
Style update: spaces around assignments
[libs/net.git] / source / sockaddr.h
index 63f2ab48db1462b9f201737208477d95a7a42763..745e6d45afc59adda0889843a257da05dbf16b24 100644 (file)
@@ -1,13 +1,7 @@
-/* $Id$
-
-This file is part of libmspnet
-Copyright © 2008  Mikkosoft Productions, Mikko Rasa
-Distributed under the LGPL
-*/
-
 #ifndef MSP_NET_SOCKADDR_H_
 #define MSP_NET_SOCKADDR_H_
 
+#include <string>
 #ifndef WIN32
 #include <sys/socket.h>
 #endif
@@ -19,21 +13,23 @@ namespace Net {
 class SockAddr
 {
 public:
-       virtual Family get_family() const =0;
-       virtual std::string str() const =0;
+       virtual Family get_family() const = 0;
+       virtual std::string str() const = 0;
 
        /**
        Fills the given struct sockaddr with information from this SockAddr.
 
        @return  Number of bytes used
        */
-       virtual unsigned fill_sockaddr(sockaddr &) const =0;
+       virtual unsigned fill_sockaddr(sockaddr &) const = 0;
+       virtual unsigned fill_sockaddr(sockaddr_storage &) const;
 
        virtual SockAddr *copy() const =0;
 
        virtual ~SockAddr() { }
 
-       static SockAddr *create(sockaddr &);
+       static SockAddr *create(const sockaddr &sa) { return create(reinterpret_cast<const sockaddr_storage &>(sa)); }
+       static SockAddr *create(const sockaddr_storage &);
 protected:
        SockAddr() { }
 };