]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/mac/carbon/gsockmac.h
Wrap <commdlgs.h> as <commctls.h>. Required makefiles rebuilded.
[wxWidgets.git] / include / wx / mac / carbon / gsockmac.h
index 6bb4a2aa71fe92ae01eda6d7abdc9c422684e0ad..0b73be833efea8da28759511100619b52f36b773 100644 (file)
 #include "gsocket.h"
 #endif
 
+#ifndef OTUNIXERRORS
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+#include <MacHeaders.c>
+#define OTUNIXERRORS 1
+#include <OpenTransport.h>
+#include <OpenTransportProviders.h>
+#include <OpenTptInternet.h>
 
-typedef GSocket* GSocketPtr ;
+#endif
 
 /* Definition of GSocket */
-struct _GSocket
+class GSocket
 {
+public:
+    GSocket();
+    ~GSocket();
+    bool IsOk() { return m_ok; }
+
+    void Shutdown();
+    GSocketError SetLocal(GAddress *address);
+    GSocketError SetPeer(GAddress *address);
+    GAddress *GetLocal();
+    GAddress *GetPeer();
+    GSocketError SetServer();
+    GSocket *WaitConnection();
+    bool SetReusable() { return false; }
+    GSocketError SetNonOriented();
+    GSocketError Connect(GSocketStream stream);
+    int Read(char *buffer, int size);
+    int Write(const char *buffer, int size);
+    GSocketEventFlags Select(GSocketEventFlags flags);
+    void SetNonBlocking(bool non_block);
+    void SetTimeout(unsigned long millisec);
+    GSocketError WXDLLIMPEXP_NET GetError();
+    void SetCallback(GSocketEventFlags flags,
+        GSocketCallback callback, char *cdata);
+    void UnsetCallback(GSocketEventFlags flags);
+    GSocketError GetSockOpt(int level, int optname, void *optval, int *optlen)
+    {   return GSOCK_INVOP; }
+    GSocketError SetSockOpt(int level, int optname,
+        const void *optval, int optlen)
+    {   return GSOCK_INVOP; }
+
+protected:
+    bool m_ok;
+
+    /* Input / Output */
+    GSocketError Input_Timeout();
+    GSocketError Output_Timeout();
+    int Recv_Stream(char *buffer, int size);
+    int Recv_Dgram(char *buffer, int size);
+    int Send_Stream(const char *buffer, int size);
+    int Send_Dgram(const char *buffer, int size);
+    
+    /* Callbacks */
+    void Enable_Events();
+    void Disable_Events();
+
+// TODO: Make these protected
+public:
   wxMacNotifierTableRef m_mac_events ;
   EndpointRef m_endpoint;
   GAddress *m_local;
   GAddress *m_peer;
   GSocketError m_error;
 
-  int m_non_blocking;
-  int m_server;
-  int m_stream;
-  int m_oriented;
+  bool m_non_blocking;
+  bool m_server;
+  bool m_stream;
+  bool m_oriented;
   unsigned long m_timeout;
 
   /* Callbacks */
   GSocketEventFlags m_detected;
   GSocketCallback m_cbacks[GSOCK_MAX_EVENT];
   char *m_data[GSOCK_MAX_EVENT];
-  int m_takesEvents ;
+  bool m_takesEvents ;
 };
 
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
 /* Definition of GAddress */
 
 struct _GAddress
@@ -60,19 +115,8 @@ struct _GAddress
   GSocketError m_error;
 };
 
-/* Input / Output */
-
-GSocketError _GSocket_Input_Timeout(GSocket *socket);
-GSocketError _GSocket_Output_Timeout(GSocket *socket);
-int _GSocket_Recv_Stream(GSocket *socket, char *buffer, int size);
-int _GSocket_Recv_Dgram(GSocket *socket, char *buffer, int size);
-int _GSocket_Send_Stream(GSocket *socket, const char *buffer, int size);
-int _GSocket_Send_Dgram(GSocket *socket, const char *buffer, int size);
-
 /* Callbacks */
 
-void _GSocket_Enable_Events(GSocket *socket);
-void _GSocket_Disable_Events(GSocket *socket);
 void _GSocket_Internal_Proc(unsigned long e , void* data ) ;
 
 /* GAddress */