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:
Vadim Zeitlin
2008-11-28 15:06:50 +00:00
parent acd523a964
commit 54cb21d692
5 changed files with 15 additions and 23 deletions

View File

@@ -21,7 +21,7 @@
- wxSocketImpl is actually just an abstract base class having only code
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
GUI applications. wxSocketManager class exists to abstract this in such
@@ -153,14 +153,6 @@ public:
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
// specified events inside the currently running event loop (but notice
// that both BSD and Winsock implementations actually use socket->m_server
@@ -185,7 +177,7 @@ private:
BSD and Winsock sockets.
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
{

View File

@@ -141,12 +141,6 @@ public:
virtual bool OnInit() { return true; }
virtual void OnExit() { }
// allocate/free the storage we need
virtual wxSocketImpl *CreateSocket(wxSocketBase& wxsocket)
{
return new wxSocketImplUnix(wxsocket);
}
protected:
// identifies either input or output direction
//

View File

@@ -160,13 +160,6 @@ void wxSocketManager::Init()
// wxSocketImpl
// ==========================================================================
/* static */
wxSocketImpl *wxSocketImpl::Create(wxSocketBase& wxsocket)
{
wxSocketManager * const manager = wxSocketManager::Get();
return manager ? manager->CreateSocket(wxsocket) : NULL;
}
wxSocketImpl::wxSocketImpl(wxSocketBase& wxsocket)
: m_wxsocket(&wxsocket)
{

View File

@@ -77,6 +77,12 @@ wxFORCE_LINK_MODULE(gsockmsw)
#include "wx/private/socket.h"
/* static */
wxSocketImpl *wxSocketImpl::Create(wxSocketBase& wxsocket)
{
return new wxSocketImplMSW(wxsocket);
}
void wxSocketImplMSW::DoClose()
{
wxSocketManager::Get()->

View File

@@ -431,6 +431,12 @@ struct servent *wxGetservbyname_r(const char *port, const char *protocol,
# define SOCKET_DEBUG(args)
#endif /* __GSOCKET_DEBUG__ */
/* static */
wxSocketImpl *wxSocketImpl::Create(wxSocketBase& wxsocket)
{
return new wxSocketImplUnix(wxsocket);
}
/*
* 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;
}
#endif /* !defined(__VISAGECPP__) */
#endif /* wxUSE_SOCKETS */