remove wxSOCKET_MAX_EVENT, it is not really necessary and results in gcc warnings about unhandled enum value in switch in existing code (including our own sample)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57653 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2008-12-30 00:11:04 +00:00
parent 778f682e4d
commit c363ead1e2
5 changed files with 26 additions and 16 deletions

View File

@ -144,10 +144,15 @@ public:
// that both BSD and Winsock implementations actually use socket->m_server
// value to determine what exactly should be monitored so it needs to be
// set before calling these functions)
//
// the default event value is used just for the convenience of wxMSW
// implementation which doesn't use this parameter anyhow, it doesn't make
// sense to pass wxSOCKET_LOST for the Unix implementation which does use
// this parameter
virtual void Install_Callback(wxSocketImpl *socket,
wxSocketNotify event = wxSOCKET_MAX_EVENT) = 0;
wxSocketNotify event = wxSOCKET_LOST) = 0;
virtual void Uninstall_Callback(wxSocketImpl *socket,
wxSocketNotify event = wxSOCKET_MAX_EVENT) = 0;
wxSocketNotify event = wxSOCKET_LOST) = 0;
virtual ~wxSocketManager() { }

View File

@ -39,8 +39,7 @@ enum wxSocketNotify
wxSOCKET_INPUT,
wxSOCKET_OUTPUT,
wxSOCKET_CONNECTION,
wxSOCKET_LOST,
wxSOCKET_MAX_EVENT
wxSOCKET_LOST
};
enum

View File

@ -109,11 +109,12 @@ protected:
switch ( event )
{
default:
wxFAIL_MSG( "unexpected socket event" );
// fall through
wxFAIL_MSG( "unknown socket event" );
return FD_INPUT; // we must return something
case wxSOCKET_LOST:
// fall through
wxFAIL_MSG( "unexpected socket event" );
return FD_INPUT; // as above
case wxSOCKET_INPUT:
return FD_INPUT;
@ -122,7 +123,12 @@ protected:
return FD_OUTPUT;
case wxSOCKET_CONNECTION:
// FIXME: explain this?
// for server sockets we're interested in events indicating
// that a new connection is pending, i.e. that accept() will
// succeed and this is indicated by socket becoming ready for
// reading, while for the other ones we're interested in the
// completion of non-blocking connect() which is indicated by
// the socket becoming ready for writing
return socket->IsServer() ? FD_INPUT : FD_OUTPUT;
}
}

View File

@ -179,8 +179,10 @@ public:
{
return new wxSocketImplMSW(wxsocket);
}
virtual void Install_Callback(wxSocketImpl *socket, wxSocketNotify event);
virtual void Uninstall_Callback(wxSocketImpl *socket, wxSocketNotify event);
virtual void Install_Callback(wxSocketImpl *socket,
wxSocketNotify event = wxSOCKET_LOST);
virtual void Uninstall_Callback(wxSocketImpl *socket,
wxSocketNotify event = wxSOCKET_LOST);
private:
static wxDynamicLibrary gs_wsock32dll;
@ -402,7 +404,7 @@ void wxSocketMSWManager::Install_Callback(wxSocketImpl *socket_,
* Disable event notifications (used when shutting down the socket)
*/
void wxSocketMSWManager::Uninstall_Callback(wxSocketImpl *socket_,
wxSocketNotify WXUNUSED(event))
wxSocketNotify WXUNUSED(event))
{
wxSocketImplMSW * const socket = static_cast<wxSocketImplMSW *>(socket_);
@ -442,8 +444,7 @@ wxSocketImpl *wxSocketImpl::Create(wxSocketBase& wxsocket)
void wxSocketImplMSW::DoClose()
{
wxSocketManager::Get()->
Uninstall_Callback(this, wxSOCKET_MAX_EVENT /* unused anyhow */);
wxSocketManager::Get()->Uninstall_Callback(this);
closesocket(m_fd);
}

View File

@ -222,15 +222,14 @@ int wxSocketManagerMac::GetCFCallback(wxSocketImpl *socket, wxSocketNotify event
return socket->IsServer() ? kCFSocketReadCallBack
: kCFSocketConnectCallBack;
case wxSOCKET_LOST:
case wxSOCKET_INPUT:
return kCFSocketReadCallBack;
case wxSOCKET_OUTPUT:
return kCFSocketWriteCallBack;
case wxSOCKET_MAX_EVENT:
wxFAIL_MSG( "invalid wxSocketNotify" );
case wxSOCKET_LOST:
wxFAIL_MSG( "unexpected wxSocketNotify" );
return 0;
default: