Fix compilation of SocketPoller class on windows

This commit is contained in:
New Pagodi
2021-02-06 22:57:38 -06:00
parent 38510d8e89
commit f406fcd12a

View File

@@ -28,7 +28,7 @@
#include "wx/hashset.h" #include "wx/hashset.h"
#include "wx/hashmap.h" #include "wx/hashmap.h"
#ifdef __WXMSW__ #ifdef __WINDOWS__
#include <wx/msw/wrapwin.h> #include <wx/msw/wrapwin.h>
#else #else
#include <sys/socket.h> #include <sys/socket.h>
@@ -403,14 +403,7 @@ public:
void ResumePolling(wxSOCKET_T); void ResumePolling(wxSOCKET_T);
private: private:
enum static const wxSOCKET_T SOCKET_POLLER_INVALID_SOCKET;
{
#ifdef INVALID_SOCKET
SOCKET_POLLER_INVALID_SOCKET = INVALID_SOCKET
#else
SOCKET_POLLER_INVALID_SOCKET = ((wxSOCKET_T)(~0))
#endif
};
class Message class Message
{ {
@@ -424,7 +417,7 @@ private:
LastMessageId LastMessageId
}; };
Message(MessageId i = LastMessageId, explicit Message(MessageId i = LastMessageId,
wxSOCKET_T s = SOCKET_POLLER_INVALID_SOCKET, wxSOCKET_T s = SOCKET_POLLER_INVALID_SOCKET,
int f = 0, int f = 0,
wxEvtHandler* h = NULL) wxEvtHandler* h = NULL)
@@ -486,10 +479,18 @@ private:
wxDEFINE_EVENT(wxSocketAction,wxThreadEvent); wxDEFINE_EVENT(wxSocketAction,wxThreadEvent);
#ifdef INVALID_SOCKET
const wxSOCKET_T SocketPoller::SOCKET_POLLER_INVALID_SOCKET =
INVALID_SOCKET;
#else
const wxSOCKET_T SocketPoller::SOCKET_POLLER_INVALID_SOCKET =
static_cast<wxSOCKET_T>(~0);
#endif
SocketPoller::SocketPoller() SocketPoller::SocketPoller()
{ {
m_writeEnd = SocketPoller::SOCKET_POLLER_INVALID_SOCKET; m_writeEnd = static_cast<wxSOCKET_T>(SocketPoller::SOCKET_POLLER_INVALID_SOCKET);
m_readEnd = SocketPoller::SOCKET_POLLER_INVALID_SOCKET; m_readEnd = SocketPoller::SOCKET_POLLER_INVALID_SOCKET;
CreateSocketPair(); CreateSocketPair();
@@ -516,14 +517,14 @@ SocketPoller::~SocketPoller()
CloseSocket(m_writeEnd); CloseSocket(m_writeEnd);
CloseSocket(m_readEnd); CloseSocket(m_readEnd);
#ifdef __WXMSW__ #ifdef __WINDOWS__
WSACleanup(); WSACleanup();
#endif #endif
} }
void SocketPoller::CreateSocketPair() void SocketPoller::CreateSocketPair()
{ {
#ifdef __WXMSW__ #ifdef __WINDOWS__
WORD wVersionRequested = MAKEWORD(1,1); WORD wVersionRequested = MAKEWORD(1,1);
WSADATA wsaData; WSADATA wsaData;
WSAStartup(wVersionRequested, &wsaData); WSAStartup(wVersionRequested, &wsaData);
@@ -586,7 +587,7 @@ void SocketPoller::CreateSocketPair()
void SocketPoller::CloseSocket(wxSOCKET_T s) void SocketPoller::CloseSocket(wxSOCKET_T s)
{ {
#ifdef __WXMSW__ #ifdef __WINDOWS__
closesocket(s); closesocket(s);
#else #else
close(s); close(s);