mirror of
https://foundry.openuru.org/gitblit/r/CWE-ou-minkata.git
synced 2025-07-14 02:27:40 -04:00
Doxygen plNetAddress to make it less confusing.
This commit is contained in:
@ -107,11 +107,6 @@ uint32_t plNetAddress::GetHost() const
|
|||||||
return fAddr.sin_addr.s_addr;
|
return fAddr.sin_addr.s_addr;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t plNetAddress::GetHostLE() const
|
|
||||||
{
|
|
||||||
return ntohl(fAddr.sin_addr.s_addr);
|
|
||||||
}
|
|
||||||
|
|
||||||
plString plNetAddress::GetHostWithPort() const
|
plString plNetAddress::GetHostWithPort() const
|
||||||
{
|
{
|
||||||
plStringStream ss;
|
plStringStream ss;
|
||||||
@ -133,13 +128,6 @@ bool plNetAddress::SetHost(uint32_t addr)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool plNetAddress::SetHostLE(uint32_t addr)
|
|
||||||
{
|
|
||||||
fAddr.sin_addr.s_addr = htonl(addr);
|
|
||||||
fAddr.sin_family = AF_INET;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
plString plNetAddress::AsString() const
|
plString plNetAddress::AsString() const
|
||||||
{
|
{
|
||||||
plStringStream ss;
|
plStringStream ss;
|
||||||
|
@ -68,46 +68,155 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
|||||||
|
|
||||||
typedef sockaddr_in AddressType;
|
typedef sockaddr_in AddressType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A class representing a network address endpoint, as a pair of host address
|
||||||
|
* and port number.
|
||||||
|
*
|
||||||
|
* Internally, this class stores the network address using the sockaddr_in
|
||||||
|
* structure, but provides methods to transparently get and set the host
|
||||||
|
* address and port.
|
||||||
|
*/
|
||||||
class plNetAddress
|
class plNetAddress
|
||||||
{
|
{
|
||||||
// fAddr must be first field
|
// fAddr must be first field
|
||||||
AddressType fAddr;
|
AddressType fAddr;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
/**
|
||||||
|
* Initializes an empty network address.
|
||||||
|
* All the fields of the sockaddr will be zeroed.
|
||||||
|
*/
|
||||||
plNetAddress();
|
plNetAddress();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initializes a new network address from the given IPv4 address and port
|
||||||
|
* number.
|
||||||
|
*
|
||||||
|
* @param addr The IPv4 address as a 32-bit network byte order integer.
|
||||||
|
* @param port The port number as a 16-bit host order integer.
|
||||||
|
*/
|
||||||
plNetAddress(uint32_t addr, uint16_t port);
|
plNetAddress(uint32_t addr, uint16_t port);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initializes a new network address from the given hostname and port
|
||||||
|
* number.
|
||||||
|
*
|
||||||
|
* @param addr The DNS hostname of the host.
|
||||||
|
* @param port The port number as a 16-bit host order integer.
|
||||||
|
*/
|
||||||
plNetAddress(const char* addr, uint16_t port);
|
plNetAddress(const char* addr, uint16_t port);
|
||||||
|
|
||||||
virtual ~plNetAddress(){}
|
virtual ~plNetAddress(){}
|
||||||
|
|
||||||
bool operator==(const plNetAddress& other) const {
|
bool operator==(const plNetAddress& other) const {
|
||||||
return (GetHost() == other.GetHost()) && (GetPort() == other.GetPort());
|
return (GetHost() == other.GetHost()) && (GetPort() == other.GetPort());
|
||||||
}
|
}
|
||||||
|
|
||||||
bool operator!=(const plNetAddress& other) const {
|
bool operator!=(const plNetAddress& other) const {
|
||||||
return !(*this == other);
|
return !(*this == other);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Clears the address and zeros out the sockaddr fields.
|
||||||
|
*/
|
||||||
void Clear();
|
void Clear();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the address to INADDR_ANY for binding to any host.
|
||||||
|
*/
|
||||||
bool SetAnyAddr();
|
bool SetAnyAddr();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the port number to 0 to allow binding to any port.
|
||||||
|
*/
|
||||||
bool SetAnyPort();
|
bool SetAnyPort();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the port number of the host.
|
||||||
|
*
|
||||||
|
* @return The host port number.
|
||||||
|
*/
|
||||||
uint16_t GetPort() const;
|
uint16_t GetPort() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the port number of the host.
|
||||||
|
*
|
||||||
|
* @param port The port number in host byte order.
|
||||||
|
*/
|
||||||
bool SetPort(uint16_t port);
|
bool SetPort(uint16_t port);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the IPv4 address of the host as a 32-bit integer in network byte
|
||||||
|
* order (big endian).
|
||||||
|
*
|
||||||
|
* @return The IPv4 host address.
|
||||||
|
*/
|
||||||
uint32_t GetHost() const;
|
uint32_t GetHost() const;
|
||||||
uint32_t GetHostLE() const;
|
|
||||||
bool SetHost(const char* hostname);
|
|
||||||
bool SetHost(uint32_t ip4addr);
|
|
||||||
bool SetHostLE(uint32_t addr);
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the IPv4 address of the host from a DNS name.
|
||||||
|
*
|
||||||
|
* @param hostname The DNS name of the host.
|
||||||
|
*/
|
||||||
|
bool SetHost(const char* hostname);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the IPv4 address of the host from an unsigned 32-bit integer in
|
||||||
|
* network byte order (big endian).
|
||||||
|
*
|
||||||
|
* @param ip4addr The host IPv4 address in network byte order.
|
||||||
|
*/
|
||||||
|
bool SetHost(uint32_t ip4addr);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieves the internal address type.
|
||||||
|
*
|
||||||
|
* @return A constant sockaddr_in.
|
||||||
|
*/
|
||||||
const AddressType& GetAddressInfo() const { return fAddr; }
|
const AddressType& GetAddressInfo() const { return fAddr; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieves the internal address type.
|
||||||
|
*
|
||||||
|
* @return A sockaddr_in.
|
||||||
|
*/
|
||||||
AddressType& GetAddressInfo() { return fAddr; }
|
AddressType& GetAddressInfo() { return fAddr; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the IPv4 address of the host as a string in 4-octet dotted
|
||||||
|
* notation.
|
||||||
|
*
|
||||||
|
* @return A string of the IPv4 host address.
|
||||||
|
*/
|
||||||
plString GetHostString() const;
|
plString GetHostString() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the IPv4 address and port number of the host as a string in
|
||||||
|
* 4-octet dotted notation with a colon separated port.
|
||||||
|
*
|
||||||
|
* @return A string of the IPv4 host address and port number.
|
||||||
|
*/
|
||||||
plString GetHostWithPort() const;
|
plString GetHostWithPort() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a string representation of the host address and port number.
|
||||||
|
*
|
||||||
|
* @return A string representation of the address.
|
||||||
|
*/
|
||||||
plString AsString() const;
|
plString AsString() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reads and deserializes the address from a stream.
|
||||||
|
*
|
||||||
|
* @param stream The stream from which to read the address.
|
||||||
|
*/
|
||||||
void Read(hsStream * stream);
|
void Read(hsStream * stream);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Serializes and writes the address to a stream.
|
||||||
|
*
|
||||||
|
* @param stream The stream to which to write the address.
|
||||||
|
*/
|
||||||
void Write(hsStream * stream);
|
void Write(hsStream * stream);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user