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:
parent
778f682e4d
commit
c363ead1e2
@ -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() { }
|
||||
|
||||
|
@ -39,8 +39,7 @@ enum wxSocketNotify
|
||||
wxSOCKET_INPUT,
|
||||
wxSOCKET_OUTPUT,
|
||||
wxSOCKET_CONNECTION,
|
||||
wxSOCKET_LOST,
|
||||
wxSOCKET_MAX_EVENT
|
||||
wxSOCKET_LOST
|
||||
};
|
||||
|
||||
enum
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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:
|
||||
|
Loading…
Reference in New Issue
Block a user