2001-10-06 18:13:28 +04:00
|
|
|
#include "XSocket.h"
|
|
|
|
|
|
|
|
//
|
|
|
|
// XSocketAddress
|
|
|
|
//
|
|
|
|
|
2002-06-17 17:31:21 +04:00
|
|
|
XSocketAddress::XSocketAddress(Error error,
|
|
|
|
const CString& hostname, UInt16 port) throw() :
|
2002-06-11 02:06:45 +04:00
|
|
|
m_error(error),
|
|
|
|
m_hostname(hostname),
|
|
|
|
m_port(port)
|
2001-10-06 18:13:28 +04:00
|
|
|
{
|
|
|
|
// do nothing
|
|
|
|
}
|
|
|
|
|
2002-06-11 02:06:45 +04:00
|
|
|
XSocketAddress::Error
|
|
|
|
XSocketAddress::getError() const throw()
|
2001-10-06 18:13:28 +04:00
|
|
|
{
|
|
|
|
return m_error;
|
|
|
|
}
|
|
|
|
|
2002-06-11 02:06:45 +04:00
|
|
|
CString
|
|
|
|
XSocketAddress::getHostname() const throw()
|
2001-10-06 18:13:28 +04:00
|
|
|
{
|
|
|
|
return m_hostname;
|
|
|
|
}
|
|
|
|
|
2002-06-11 02:06:45 +04:00
|
|
|
UInt16
|
|
|
|
XSocketAddress::getPort() const throw()
|
2001-10-06 18:13:28 +04:00
|
|
|
{
|
|
|
|
return m_port;
|
|
|
|
}
|
|
|
|
|
2002-06-11 02:06:45 +04:00
|
|
|
CString
|
|
|
|
XSocketAddress::getWhat() const throw()
|
2001-10-06 18:13:28 +04:00
|
|
|
{
|
2002-07-25 21:52:40 +04:00
|
|
|
static const char* s_errorID[] = {
|
|
|
|
"XSocketAddressUnknown",
|
|
|
|
"XSocketAddressNotFound",
|
|
|
|
"XSocketAddressNoAddress",
|
|
|
|
"XSocketAddressBadPort"
|
|
|
|
};
|
|
|
|
static const char* s_errorMsg[] = {
|
|
|
|
"unknown error for: %{1}:%{2}",
|
|
|
|
"address not found for: %{1}",
|
|
|
|
"no address for: %{1}",
|
2002-07-25 21:58:01 +04:00
|
|
|
"invalid port" // m_port may not be set to the bad port
|
2002-07-25 21:52:40 +04:00
|
|
|
};
|
|
|
|
return format(s_errorID[m_error], s_errorMsg[m_error],
|
|
|
|
m_hostname.c_str(),
|
|
|
|
CStringUtil::print("%d", m_port).c_str());
|
2001-10-06 18:13:28 +04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
// XSocketErrno
|
|
|
|
//
|
|
|
|
|
2002-06-11 02:06:45 +04:00
|
|
|
XSocketErrno::XSocketErrno() :
|
|
|
|
MXErrno()
|
2001-10-06 18:13:28 +04:00
|
|
|
{
|
|
|
|
// do nothing
|
|
|
|
}
|
|
|
|
|
2002-06-17 17:31:21 +04:00
|
|
|
XSocketErrno::XSocketErrno(int err) :
|
2002-06-11 02:06:45 +04:00
|
|
|
MXErrno(err)
|
2001-10-06 18:13:28 +04:00
|
|
|
{
|
|
|
|
// do nothing
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
// XSocketBind
|
|
|
|
//
|
|
|
|
|
2002-06-11 02:06:45 +04:00
|
|
|
CString
|
|
|
|
XSocketBind::getWhat() const throw()
|
2001-10-06 18:13:28 +04:00
|
|
|
{
|
|
|
|
return format("XSocketBind", "cannot bind address");
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
// XSocketConnect
|
|
|
|
//
|
|
|
|
|
2002-06-11 02:06:45 +04:00
|
|
|
CString
|
|
|
|
XSocketConnect::getWhat() const throw()
|
2001-10-06 18:13:28 +04:00
|
|
|
{
|
|
|
|
return format("XSocketConnect", "cannot connect socket");
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
// XSocketCreate
|
|
|
|
//
|
|
|
|
|
2002-06-11 02:06:45 +04:00
|
|
|
CString
|
|
|
|
XSocketCreate::getWhat() const throw()
|
2001-10-06 18:13:28 +04:00
|
|
|
{
|
|
|
|
return format("XSocketCreate", "cannot create socket");
|
|
|
|
}
|