/* -------------------------------------------------------------------------
- * Project: GSocket (Generic Socket) for WX
- * Name: gsockunx.h
- * Purpose: GSocket Macintosh header
- * CVSID: $Id$
+ * Project: GSocket (Generic Socket) for WX
+ * Name: gsockunx.h
+ * Copyright: (c) Guilhem Lavaux
+ * Licence: wxWindows Licence
+ * Purpose: GSocket Macintosh header
+ * CVSID: $Id$
* -------------------------------------------------------------------------
*/
#include "gsocket.h"
#endif
+#ifndef OTUNIXERRORS
+
#include <MacHeaders.c>
#define OTUNIXERRORS 1
+// we get a conflict in OT headers otherwise :
+#undef EDEADLK
#include <OpenTransport.h>
#include <OpenTransportProviders.h>
#include <OpenTptInternet.h>
+#endif
+
/* Definition of GSocket */
class GSocket
{
public:
GSocket();
~GSocket();
- bool IsOK() { return m_ok; }
+ bool IsOk() { return m_ok; }
void Shutdown();
GSocketError SetLocal(GAddress *address);
GAddress *GetPeer();
GSocketError SetServer();
GSocket *WaitConnection();
- int SetReusable() { return 0; }
+ 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(int non_block);
+ void SetNonBlocking(bool non_block);
void SetTimeout(unsigned long millisec);
GSocketError WXDLLIMPEXP_NET GetError();
void SetCallback(GSocketEventFlags flags,
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 ;
};
-/* Compatibility methods to support old C API (from gsocket.h) */
-inline void GSocket_Shutdown(GSocket *socket)
-{ socket->Shutdown(); }
-inline GSocketError GSocket_SetLocal(GSocket *socket, GAddress *address)
-{ return socket->SetLocal(address); }
-inline GSocketError GSocket_SetPeer(GSocket *socket, GAddress *address)
-{ return socket->SetPeer(address); }
-inline GAddress *GSocket_GetLocal(GSocket *socket)
-{ return socket->GetLocal(); }
-inline GAddress *GSocket_GetPeer(GSocket *socket)
-{ return socket->GetPeer(); }
-inline GSocketError GSocket_SetServer(GSocket *socket)
-{ return socket->SetServer(); }
-inline GSocket *GSocket_WaitConnection(GSocket *socket)
-{ return socket->WaitConnection(); }
-inline int GSocket_SetReusable(GSocket *socket)
-{ return socket->SetReusable(); }
-inline GSocketError GSocket_Connect(GSocket *socket, GSocketStream stream)
-{ return socket->Connect(stream); }
-inline GSocketError GSocket_SetNonOriented(GSocket *socket)
-{ return socket->SetNonOriented(); }
-inline int GSocket_Read(GSocket *socket, char *buffer, int size)
-{ return socket->Read(buffer,size); }
-inline int GSocket_Write(GSocket *socket, const char *buffer, int size)
-{ return socket->Write(buffer,size); }
-inline GSocketEventFlags GSocket_Select(GSocket *socket, GSocketEventFlags flags)
-{ return socket->Select(flags); }
-inline void GSocket_SetNonBlocking(GSocket *socket, int non_block)
-{ socket->SetNonBlocking(non_block); }
-inline void GSocket_SetTimeout(GSocket *socket, unsigned long millisec)
-{ socket->SetTimeout(millisec); }
-inline GSocketError GSocket_GetError(GSocket *socket)
-{ return socket->GetError(); }
-inline void GSocket_SetCallback(GSocket *socket, GSocketEventFlags flags,
- GSocketCallback fallback, char *cdata)
-{ socket->SetCallback(flags,fallback,cdata); }
-inline void GSocket_UnsetCallback(GSocket *socket, GSocketEventFlags flags)
-{ socket->UnsetCallback(flags); }
-inline GSocketError GSocket_GetSockOpt(GSocket *socket, int level, int optname,
- void *optval, int *optlen)
-{ return socket->GetSockOpt(level,optname,optval,optlen); }
-inline GSocketError GSocket_SetSockOpt(GSocket *socket, int level, int optname,
- const void *optval, int optlen)
-{ return socket->SetSockOpt(level,optname,optval,optlen); }
-inline void GSocket_destroy(GSocket *socket)
-{ delete socket; }
#ifdef __cplusplus
extern "C" {