+public:
+ GSocket::GSocket(wxSocketBase& wxsocket)
+ : GSocketBase(wxsocket)
+ {
+ m_msgnumber = 0;
+ }
+
+ virtual void Close();
+
+ virtual GSocket *WaitConnection(wxSocketBase& wxsocket);
+
+
+ GSocketError SetServer();
+
+ // not used under MSW
+ void Notify(bool) { }
+ bool SetReusable();
+ bool SetBroadcast();
+ bool DontDoBind();
+ GSocketError Connect(GSocketStream stream);
+ GSocketError SetNonOriented();
+ int Read(char *buffer, int size);
+ int Write(const char *buffer, int size);
+ void SetNonBlocking(bool non_block);
+ GSocketError WXDLLIMPEXP_NET GetError();
+ GSocketError GetSockOpt(int level, int optname,
+ void *optval, int *optlen);
+ GSocketError SetSockOpt(int level, int optname,
+ const void *optval, int optlen);
+
+protected:
+ GSocketError Input_Timeout();
+ GSocketError Output_Timeout();
+ GSocketError Connect_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);
+
+/* TODO: Make these protected */
+public: