]> git.tdb.fi Git - libs/net.git/blob - source/sockaddr.cpp
Style update: reorder class members
[libs/net.git] / source / sockaddr.cpp
1 #include <msp/core/except.h>
2 #include "inet.h"
3 #include "inet6.h"
4
5 namespace Msp {
6 namespace Net {
7
8 SockAddr *SockAddr::create(const sockaddr_storage &sa)
9 {
10         switch(sa.ss_family)
11         {
12         case AF_INET:
13                 return new InetAddr(reinterpret_cast<const sockaddr_in &>(sa));
14         case AF_INET6:
15                 return new Inet6Addr(reinterpret_cast<const sockaddr_in6 &>(sa));
16         default:
17                 throw InvalidParameterValue("Unknown address family");
18         }
19 }
20
21 unsigned SockAddr::fill_sockaddr(sockaddr_storage &sa) const
22 {
23         return fill_sockaddr(reinterpret_cast<sockaddr &>(sa));
24 }
25
26 } // namespace Net
27 } // namespace Msp