]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/gsockmsw.c
Compilaton fixes.
[wxWidgets.git] / src / msw / gsockmsw.c
index b8a3bda68329918916693a48616506ee689dcf75..5016995a452473806e39bafc0a1fd2ad6f6217f6 100644 (file)
@@ -7,11 +7,36 @@
  * -------------------------------------------------------------------------
  */
 
+/*
+ * TODO: for WinCE we need to replace WSAAsyncSelect
+ * (Windows message-based notification of network events for a socket)
+ * with another mechanism.
+ * We may need to have a separate thread that polls for socket events
+ * using select() and sends a message to the main thread.
+ */
+
 /*
  * PLEASE don't put C++ comments here - this is a C source file.
  */
 
+/* including rasasync.h (included from windows.h itself included from
+ * wx/setup.h and/or winsock.h results in this warning for
+ * RPCNOTIFICATION_ROUTINE
+ */
+#ifdef _MSC_VER
+#  pragma warning(disable:4115) /* named type definition in parentheses */
+#endif
+
+/* This needs to be before the wx/defs/h inclusion
+ * for some reason
+ */
+
+#ifdef __WXWINCE__
+#include <windows.h>
+#endif
+
 #ifndef __GSOCKET_STANDALONE__
+#include "wx/defs.h"
 #include "wx/setup.h"
 #endif
 
 #include "gsocket.h"
 
 /* If not using wxWindows, a global var called hInst must
- * be available and it must containt the app's instance
+ * be available and it must contain the app's instance
  * handle.
  */
 #define INSTANCE hInst
 
 #endif /* __GSOCKET_STANDALONE__ */
 
+#ifndef __WXWINCE__
 #include <assert.h>
+#else
+#define assert(x)
+#include <winsock.h>
+#include "wx/msw/wince/net.h"
+#endif
+
 #include <string.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <stddef.h>
 #include <ctype.h>
+
 #include <winsock.h>
 
-#define CLASSNAME  "_GSocket_Internal_Window_Class"
-#define WINDOWNAME "_GSocket_Internal_Window_Name"
+#ifdef _MSC_VER
+#  pragma warning(default:4115) /* named type definition in parentheses */
+#endif
+
+#define CLASSNAME  TEXT("_GSocket_Internal_Window_Class")
+#define WINDOWNAME TEXT("_GSocket_Internal_Window_Name")
 
 /* Maximum number of different GSocket objects at a given time.
  * This value can be modified at will, but it CANNOT be greater
@@ -69,7 +106,7 @@ static int firstAvailable;
 
 /* Global initializers */
 
-bool GSocket_Init(void)
+int GSocket_Init(void)
 {
   WSADATA wsaData;
   WNDCLASS winClass;
@@ -123,7 +160,7 @@ void GSocket_Cleanup(void)
 
 /* Per-socket GUI initialization / cleanup */
 
-bool _GSocket_GUI_Init(GSocket *socket)
+int _GSocket_GUI_Init(GSocket *socket)
 {
   int i;
 
@@ -174,7 +211,7 @@ LRESULT CALLBACK _GSocket_Internal_WinProc(HWND hWnd,
   {
     EnterCriticalSection(&critical);
     socket = socketList[(uMsg - WM_USER)];
-    event = -1;
+    event = (GSocketEvent) -1;
     cback = NULL;
     data = NULL;
 
@@ -265,10 +302,10 @@ void _GSocket_Disable_Events(GSocket *socket)
 
 #else /* !wxUSE_SOCKETS */
 
-/* 
+/*
  * Translation unit shouldn't be empty, so include this typedef to make the
  * compiler (VC++ 6.0, for example) happy
  */
-typedef (*wxDummy)();
+typedef void (*wxDummy)();
 
 #endif  /* wxUSE_SOCKETS || defined(__GSOCKET_STANDALONE__) */