remove wxSocketManager::CreateSocket() function, we don't need to have different wxSocketImpl implementation for the same platform, all the differences between console and GUI applications are abstracted by wxSocketManager::Install/Uninstall_Callback() methods
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57000 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -21,7 +21,7 @@
|
|||||||
|
|
||||||
- wxSocketImpl is actually just an abstract base class having only code
|
- wxSocketImpl is actually just an abstract base class having only code
|
||||||
common to all platforms, the concrete implementation classes derive from
|
common to all platforms, the concrete implementation classes derive from
|
||||||
it and are created by wxSocketManager::CreateSocket().
|
it and are created by wxSocketImpl::Create().
|
||||||
|
|
||||||
- Some socket operations have different implementations in console-mode and
|
- Some socket operations have different implementations in console-mode and
|
||||||
GUI applications. wxSocketManager class exists to abstract this in such
|
GUI applications. wxSocketManager class exists to abstract this in such
|
||||||
@@ -153,14 +153,6 @@ public:
|
|||||||
virtual void OnExit() = 0;
|
virtual void OnExit() = 0;
|
||||||
|
|
||||||
|
|
||||||
// create a concrete socket implementation associated with the given
|
|
||||||
// wxSocket object
|
|
||||||
//
|
|
||||||
// the returned object must be deleted by the caller
|
|
||||||
virtual wxSocketImpl *CreateSocket(wxSocketBase& wxsocket) = 0;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// these functions enable or disable monitoring of the given socket for the
|
// these functions enable or disable monitoring of the given socket for the
|
||||||
// specified events inside the currently running event loop (but notice
|
// specified events inside the currently running event loop (but notice
|
||||||
// that both BSD and Winsock implementations actually use socket->m_server
|
// that both BSD and Winsock implementations actually use socket->m_server
|
||||||
@@ -185,7 +177,7 @@ private:
|
|||||||
BSD and Winsock sockets.
|
BSD and Winsock sockets.
|
||||||
|
|
||||||
Objects of this class are not created directly but only via its static
|
Objects of this class are not created directly but only via its static
|
||||||
Create() method which in turn forwards to wxSocketManager::CreateSocket().
|
Create() method which is implemented in port-specific code.
|
||||||
*/
|
*/
|
||||||
class wxSocketImpl
|
class wxSocketImpl
|
||||||
{
|
{
|
||||||
|
@@ -141,12 +141,6 @@ public:
|
|||||||
virtual bool OnInit() { return true; }
|
virtual bool OnInit() { return true; }
|
||||||
virtual void OnExit() { }
|
virtual void OnExit() { }
|
||||||
|
|
||||||
// allocate/free the storage we need
|
|
||||||
virtual wxSocketImpl *CreateSocket(wxSocketBase& wxsocket)
|
|
||||||
{
|
|
||||||
return new wxSocketImplUnix(wxsocket);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// identifies either input or output direction
|
// identifies either input or output direction
|
||||||
//
|
//
|
||||||
|
@@ -160,13 +160,6 @@ void wxSocketManager::Init()
|
|||||||
// wxSocketImpl
|
// wxSocketImpl
|
||||||
// ==========================================================================
|
// ==========================================================================
|
||||||
|
|
||||||
/* static */
|
|
||||||
wxSocketImpl *wxSocketImpl::Create(wxSocketBase& wxsocket)
|
|
||||||
{
|
|
||||||
wxSocketManager * const manager = wxSocketManager::Get();
|
|
||||||
return manager ? manager->CreateSocket(wxsocket) : NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
wxSocketImpl::wxSocketImpl(wxSocketBase& wxsocket)
|
wxSocketImpl::wxSocketImpl(wxSocketBase& wxsocket)
|
||||||
: m_wxsocket(&wxsocket)
|
: m_wxsocket(&wxsocket)
|
||||||
{
|
{
|
||||||
|
@@ -77,6 +77,12 @@ wxFORCE_LINK_MODULE(gsockmsw)
|
|||||||
|
|
||||||
#include "wx/private/socket.h"
|
#include "wx/private/socket.h"
|
||||||
|
|
||||||
|
/* static */
|
||||||
|
wxSocketImpl *wxSocketImpl::Create(wxSocketBase& wxsocket)
|
||||||
|
{
|
||||||
|
return new wxSocketImplMSW(wxsocket);
|
||||||
|
}
|
||||||
|
|
||||||
void wxSocketImplMSW::DoClose()
|
void wxSocketImplMSW::DoClose()
|
||||||
{
|
{
|
||||||
wxSocketManager::Get()->
|
wxSocketManager::Get()->
|
||||||
|
@@ -431,6 +431,12 @@ struct servent *wxGetservbyname_r(const char *port, const char *protocol,
|
|||||||
# define SOCKET_DEBUG(args)
|
# define SOCKET_DEBUG(args)
|
||||||
#endif /* __GSOCKET_DEBUG__ */
|
#endif /* __GSOCKET_DEBUG__ */
|
||||||
|
|
||||||
|
/* static */
|
||||||
|
wxSocketImpl *wxSocketImpl::Create(wxSocketBase& wxsocket)
|
||||||
|
{
|
||||||
|
return new wxSocketImplUnix(wxsocket);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Disallow further read/write operations on this socket, close
|
* Disallow further read/write operations on this socket, close
|
||||||
@@ -1680,4 +1686,5 @@ wxSocketError GAddress_UNIX_GetPath(GAddress *address, char *path, size_t sbuf)
|
|||||||
return wxSOCKET_NOERROR;
|
return wxSOCKET_NOERROR;
|
||||||
}
|
}
|
||||||
#endif /* !defined(__VISAGECPP__) */
|
#endif /* !defined(__VISAGECPP__) */
|
||||||
|
|
||||||
#endif /* wxUSE_SOCKETS */
|
#endif /* wxUSE_SOCKETS */
|
||||||
|
Reference in New Issue
Block a user