having been defined in sys/types.h" when winsock.h is included later and
doesn't seem to be necessary anyhow. It's not needed under Mac neither.
*/
-#if !defined(__WXMAC__) && !defined(__CYGWIN__) && !defined(__WXWINCE__)
+#if !defined(__WXMAC__) && !defined(__WXMSW__) && !defined(__WXWINCE__)
#include <sys/types.h>
#endif
// include the header defining timeval: under Windows this struct is used only
// with sockets so we need to include winsock.h which we do via windows.h
-#ifdef __WXMSW__
+#ifdef __WINDOWS__
#include "wx/msw/wrapwin.h"
#else
#include <sys/time.h> // for timeval
// define some symbols which winsock.h defines but traditional BSD headers
// don't
-#ifndef __WXMSW__
+#ifndef __WINDOWS__
#define SOCKET int
#endif
virtual void OnExit() = 0;
+ // create the socket implementation object matching this manager
+ 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
Base class for all socket implementations providing functionality common to
BSD and Winsock sockets.
- Objects of this class are not created directly but only via its static
- Create() method which is implemented in port-specific code.
+ Objects of this class are not created directly but only via the factory
+ function wxSocketManager::CreateSocket().
*/
class wxSocketImpl
{
public:
- // static factory function: creates the low-level socket associated with
- // the given wxSocket (and inherits its attributes such as timeout)
- static wxSocketImpl *Create(wxSocketBase& wxsocket);
-
virtual ~wxSocketImpl();
// set various socket properties: all of those can only be called before
// socket is shut down
wxSocketBase *m_wxsocket;
- DECLARE_NO_COPY_CLASS(wxSocketImpl)
+ wxDECLARE_NO_COPY_CLASS(wxSocketImpl);
};
-#if defined(__WXMSW__)
+#if defined(__WINDOWS__)
#include "wx/msw/private/sockmsw.h"
#else
#include "wx/unix/private/sockunix.h"