00001 #ifndef N2NC_NETADDRESS_H
00002 #define N2NC_NETADDRESS_H
00003
00004 #include "nixsys.h"
00005 #include "socketaddress.h"
00006
00007 namespace n2nc {
00008 namespace net {
00009
00010 class IP4Address;
00011 class IP6Address;
00012
00013
00018 class Address{
00019 protected:
00020 Address();
00021 int m_af;
00022 public:
00023 ~Address();
00027 static Address* newAddress(std::string &addr) ;
00030 int getAddressFamily() const;
00032 virtual std::string toString() const =0 ;
00033
00035 virtual void getRawAddress(void **addr,size_t *len)=0;
00036
00037
00038
00039 };
00040
00041 }
00042 }
00043
00044
00045
00046
00047
00048 #endif