00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef _DECAF_NET_INET4ADDRESS_H_
00019 #define _DECAF_NET_INET4ADDRESS_H_
00020
00021 #include <decaf/util/Config.h>
00022
00023 #include <decaf/net/InetAddress.h>
00024
00025 namespace decaf {
00026 namespace net {
00027
00028 class DECAF_API Inet4Address: public InetAddress {
00029 private:
00030
00031 friend class InetAddress;
00032
00033 protected:
00034
00035 Inet4Address();
00036 Inet4Address(const unsigned char* ipAddress, int numBytes);
00037 Inet4Address(const std::string& hostname, const unsigned char* ipAddress, int numBytes);
00038
00039 public:
00040
00041 virtual ~Inet4Address();
00042
00043 public:
00044
00045 virtual InetAddress* clone() const;
00046
00052 virtual bool isAnyLocalAddress() const;
00053
00059 virtual bool isLoopbackAddress() const;
00060
00066 virtual bool isMulticastAddress() const;
00067
00073 virtual bool isLinkLocalAddress() const;
00074
00080 virtual bool isSiteLocalAddress() const;
00081
00087 virtual bool isMCGlobal() const;
00088
00094 virtual bool isMCNodeLocal() const;
00095
00101 virtual bool isMCLinkLocal() const;
00102
00108 virtual bool isMCSiteLocal() const;
00109
00115 virtual bool isMCOrgLocal() const;
00116
00117 };
00118
00119 }}
00120
00121 #endif