00001 #ifndef N2NC_NETSOCKETADDRESS_H
00002 #define N2NC_NETSOCKETADDRESS_H
00003
00004 #include "nixsys.h"
00005 #include "address.h"
00006
00007 namespace n2nc {
00008 namespace net {
00009
00010 class Address;
00016 class SocketAddress{
00017 public:
00018 SocketAddress();
00019
00021 SocketAddress(struct sockaddr* sa);
00022 SocketAddress(Address * addr, uint16_t port);
00023
00024 ~SocketAddress();
00025 int getAddressFamily();
00026 struct sockaddr* getRawSockAddr();
00027 int getRawSockAddrLen();
00028 std::string toString();
00029 Address* getAddress();
00030
00031 typedef sockaddr_storage Storage ;
00032 private:
00033 struct sockaddr_storage m_sa ;
00034 };
00035
00036 }
00037 }
00038
00039 #endif