⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gsockmac.h

📁 很牛的GUI源码wxWidgets-2.8.0.zip 可在多种平台下运行.
💻 H
字号:
/* ------------------------------------------------------------------------- * Project:     GSocket (Generic Socket) for WX * Name:        gsockunx.h * Copyright:   (c) Guilhem Lavaux * Licence:     wxWindows Licence * Purpose:     GSocket Macintosh header * CVSID:       $Id: gsockmac.h,v 1.10 2005/05/04 18:52:58 JS Exp $ * ------------------------------------------------------------------------- */#ifndef __GSOCK_UNX_H#define __GSOCK_UNX_H#ifndef __GSOCKET_STANDALONE__#include "wx/setup.h"#endif#if wxUSE_SOCKETS || defined(__GSOCKET_STANDALONE__)#ifndef __GSOCKET_STANDALONE__#include "wx/gsocket.h"#else#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; }    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 protectedpublic:  wxMacNotifierTableRef m_mac_events ;  EndpointRef m_endpoint;  GAddress *m_local;  GAddress *m_peer;  GSocketError m_error;  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];  bool m_takesEvents ;};#ifdef __cplusplusextern "C" {#endif /* __cplusplus *//* Definition of GAddress */struct _GAddress{  UInt32         m_host ;  UInt16         m_port ;  GAddressType m_family;  GSocketError m_error;};/* Callbacks */void _GSocket_Internal_Proc(unsigned long e , void* data ) ;/* GAddress */GSocketError _GAddress_translate_from(GAddress *address,                                      InetAddress *addr );GSocketError _GAddress_translate_to(GAddress *address,                                    InetAddress *addr);GSocketError _GAddress_Init_INET(GAddress *address);#ifdef __cplusplus}#endif  /* __cplusplus */#endif  /* wxUSE_SOCKETS || defined(__GSOCKET_STANDALONE__) */#endif  /* __GSOCK_UNX_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -