Updated gsocket.c to current unix version, use gsockunx.h instead of gsockos2.h
Added gsockpm.c. Hooked socket handling into main loop. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10242 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -12,12 +12,16 @@
|
||||
#ifndef _WX_APP_H_
|
||||
#define _WX_APP_H_
|
||||
|
||||
#include <sys/time.h>
|
||||
#include <sys/types.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include "wx/event.h"
|
||||
#include "wx/icon.h"
|
||||
|
||||
class WXDLLEXPORT wxFrame;
|
||||
class WXDLLEXPORT wxWindow;
|
||||
class WXDLLEXPORT wxApp ;
|
||||
class WXDLLEXPORT wxApp;
|
||||
class WXDLLEXPORT wxKeyEvent;
|
||||
class WXDLLEXPORT wxLog;
|
||||
|
||||
@@ -36,6 +40,7 @@ extern MRESULT EXPENTRY wxWndProc( HWND
|
||||
,MPARAM
|
||||
);
|
||||
|
||||
|
||||
// Represents the application. Derive OnInit and declare
|
||||
// a new App object to start application
|
||||
class WXDLLEXPORT wxApp : public wxAppBase
|
||||
@@ -76,6 +81,11 @@ public:
|
||||
void SetAuto3D(bool bFlag) { m_bAuto3D = bFlag; }
|
||||
bool GetAuto3D(void) const { return m_bAuto3D; }
|
||||
|
||||
int AddSocketHandler(int handle, int mask,
|
||||
void (*callback)(void*), void * gsock);
|
||||
void RemoveSocketHandler(int handle);
|
||||
void HandleSockets();
|
||||
|
||||
protected:
|
||||
bool m_bShowOnInit;
|
||||
int m_nPrintMode; // wxPRINT_WINDOWS, wxPRINT_POSTSCRIPT
|
||||
@@ -84,6 +94,13 @@ protected:
|
||||
//
|
||||
// PM-specific wxApp definitions */
|
||||
//
|
||||
private:
|
||||
int m_maxSocketHandles;
|
||||
int m_maxSocketNr;
|
||||
int m_lastUsedHandle;
|
||||
fd_set m_readfds, m_writefds;
|
||||
void *m_sockCallbackInfo;
|
||||
|
||||
public:
|
||||
|
||||
// Implementation
|
||||
@@ -98,13 +115,12 @@ public:
|
||||
|
||||
public:
|
||||
int m_nCmdShow;
|
||||
HMQ m_hMq;
|
||||
|
||||
protected:
|
||||
bool m_bKeepGoing ;
|
||||
|
||||
DECLARE_EVENT_TABLE()
|
||||
private:
|
||||
HMQ m_hMq;
|
||||
};
|
||||
|
||||
int WXDLLEXPORT wxEntry( int argc, char *argv[] );
|
||||
|
@@ -1,105 +0,0 @@
|
||||
/* -------------------------------------------------------------------------
|
||||
* Project: GSocket (Generic Socket) for WX
|
||||
* Name: gsockos2.h
|
||||
* Purpose: GSocket OS/2 header
|
||||
* CVSID: $Id$
|
||||
* -------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#ifndef __GSOCK_OS2_H
|
||||
#define __GSOCK_OS2_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
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#define SIGPIPE 13
|
||||
|
||||
/* Definition of GSocket */
|
||||
struct _GSocket
|
||||
{
|
||||
int m_fd;
|
||||
GAddress *m_local;
|
||||
GAddress *m_peer;
|
||||
GSocketError m_error;
|
||||
|
||||
int m_non_blocking;
|
||||
int m_server;
|
||||
int m_stream;
|
||||
int m_oriented;
|
||||
int m_establishing;
|
||||
unsigned long m_timeout;
|
||||
|
||||
/* Callbacks */
|
||||
GSocketEventFlags m_detected;
|
||||
GSocketCallback m_cbacks[GSOCK_MAX_EVENT];
|
||||
char *m_data[GSOCK_MAX_EVENT];
|
||||
|
||||
char *m_gui_dependent;
|
||||
};
|
||||
|
||||
/* Definition of GAddress */
|
||||
struct _GAddress
|
||||
{
|
||||
struct sockaddr *m_addr;
|
||||
size_t m_len;
|
||||
|
||||
GAddressType m_family;
|
||||
int m_realfamily;
|
||||
|
||||
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(GSocket *socket, GSocketEvent event);
|
||||
void _GSocket_Disable(GSocket *socket, GSocketEvent event);
|
||||
void _GSocket_Detected_Read(GSocket *socket);
|
||||
void _GSocket_Detected_Write(GSocket *socket);
|
||||
|
||||
void _GSocket_GUI_Init(GSocket *socket);
|
||||
void _GSocket_GUI_Destroy(GSocket *socket);
|
||||
void _GSocket_Enable_Events(GSocket *socket);
|
||||
void _GSocket_Disable_Events(GSocket *socket);
|
||||
void _GSocket_Install_Callback(GSocket *socket, GSocketEvent event);
|
||||
void _GSocket_Uninstall_Callback(GSocket *socket, GSocketEvent event);
|
||||
|
||||
/* GAddress */
|
||||
|
||||
GSocketError _GAddress_translate_from(GAddress *address,
|
||||
struct sockaddr *addr, int len);
|
||||
GSocketError _GAddress_translate_to(GAddress *address,
|
||||
struct sockaddr **addr, int *len);
|
||||
|
||||
GSocketError _GAddress_Init_INET(GAddress *address);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#endif /* wxUSE_SOCKETS || defined(__GSOCKET_STANDALONE__) */
|
||||
|
||||
#endif /* __GSOCK_UNX_H */
|
||||
|
Reference in New Issue
Block a user