00001
00002
00003
00004
00005
00006
00007
00008
00012 #ifndef _ZOIDCOMADDRESS_H_
00013 #define _ZOIDCOMADDRESS_H_
00014
00015 #include "zoidcom.h"
00016
00017
00018
00019
00020
00021 class ZCom_Address_Private;
00022
00023
00024
00027 class ZCOM_API ZCom_Address
00028 {
00029 private:
00030 ZCom_Address_Private *m_priv;
00031 public:
00033 ZCom_Address(void);
00035 ZCom_Address(const ZCom_Address &);
00037 ~ZCom_Address(void);
00038
00048 bool setAddress(eZCom_AddressType _type, zU8 _control_id, const char *_addr);
00049
00050
00059 const char* getAddressIP(eZCom_GetIPAddressOption _with_port = eZCom_AddressWithPort) const;
00060
00067 const char* getAddressHostname() const;
00068
00076 const char* toString() const;
00077
00079 void setIP(zU8 _a, zU8 _b, zU8 _c, zU8 _d);
00081 void setIP(zU32 _ip);
00083 void setPort(zU16 _port);
00085 void setType(eZCom_AddressType _type);
00087 void setControlID(zU8 _id);
00088
00092 zU16 getPort(void) const;
00096 zU32 getIP(void) const;
00101 zU8 getIP(zU8 _pos) const;
00105 eZCom_AddressType getType(void) const;
00109 zU8 getControlID(void) const;
00110
00115 bool operator==(const ZCom_Address &_c) const;
00119 ZCom_Address& operator=(const ZCom_Address &_s);
00120
00132 bool resolveHostname(bool _async, zU32 _timeout);
00133
00137 eZCom_HostnameResult checkHostname();
00138
00139
00140 zU32 computeHashKey(zU32 _max) const;
00141 };
00142
00143
00144 #endif