create the single global IO dispatcher in wxFDIODispatcher; don't use wxSelectDispatcher in wxGSocket as the global dispatcher may be of a different type (modified patch 1733626)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47471 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -15,6 +15,8 @@
|
||||
#include "wx/setup.h"
|
||||
#endif
|
||||
|
||||
class wxGSocketIOHandler;
|
||||
|
||||
#if wxUSE_SOCKETS || defined(__GSOCKET_STANDALONE__)
|
||||
|
||||
#ifndef __GSOCKET_STANDALONE__
|
||||
@@ -23,7 +25,7 @@
|
||||
#include "gsocket.h"
|
||||
#endif
|
||||
|
||||
class GSocketGUIFunctionsTableConcrete: public GSocketGUIFunctionsTable
|
||||
class GSocketGUIFunctionsTableConcrete : public GSocketGUIFunctionsTable
|
||||
{
|
||||
public:
|
||||
virtual bool OnInit();
|
||||
@@ -84,6 +86,7 @@ public:
|
||||
/* DFE: We can't protect these data member until the GUI code is updated */
|
||||
/* protected: */
|
||||
int m_fd;
|
||||
wxGSocketIOHandler *m_handler;
|
||||
GAddress *m_local;
|
||||
GAddress *m_peer;
|
||||
GSocketError m_error;
|
||||
|
@@ -20,11 +20,11 @@
|
||||
class WXDLLIMPEXP_CORE wxEpollDispatcher : public wxFDIODispatcher
|
||||
{
|
||||
public:
|
||||
// get pointer to the unique instance of this class, can return NULL if
|
||||
// create a new instance of this class, can return NULL if
|
||||
// epoll() is not supported on this system
|
||||
//
|
||||
// do not delete the returned pointer
|
||||
static wxEpollDispatcher *Get();
|
||||
// the caller should delete the returned pointer
|
||||
static wxEpollDispatcher *Create();
|
||||
|
||||
// implement base class pure virtual methods
|
||||
virtual bool RegisterFD(int fd, wxFDIOHandler* handler, int flags = wxFDIO_ALL);
|
||||
@@ -33,11 +33,8 @@ public:
|
||||
virtual void Dispatch(int timeout = TIMEOUT_INFINITE);
|
||||
|
||||
private:
|
||||
// ctor is private, use Get()
|
||||
wxEpollDispatcher();
|
||||
|
||||
// return true if the object was successfully initialized
|
||||
bool IsOk() const { return m_epollDescriptor != -1; }
|
||||
// ctor is private, use Create()
|
||||
wxEpollDispatcher(int epollDescriptor);
|
||||
|
||||
int m_epollDescriptor;
|
||||
};
|
||||
|
Reference in New Issue
Block a user