git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57610
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
private:
virtual void DoClose()
{
private:
virtual void DoClose()
{
- wxSocketManager * const manager = wxSocketManager::Get();
- if ( manager )
- {
- manager->Uninstall_Callback(this, wxSOCKET_INPUT);
- manager->Uninstall_Callback(this, wxSOCKET_OUTPUT);
- }
void DoEnableEvents(bool enable);
void DoEnableEvents(bool enable);
- // enable or disable events for the given event
- void EnableEvent(wxSocketNotify event);
- void DisableEvent(wxSocketNotify event);
-
int Recv_Stream(void *buffer, int size);
int Recv_Dgram(void *buffer, int size);
int Send_Stream(const void *buffer, int size);
int Recv_Stream(void *buffer, int size);
int Recv_Dgram(void *buffer, int size);
int Send_Stream(const void *buffer, int size);
- /* Disable events during query of socket status */
- DisableEvent(wxSOCKET_INPUT);
-
/* Read the data */
if (m_stream)
ret = Recv_Stream(buffer, size);
/* Read the data */
if (m_stream)
ret = Recv_Stream(buffer, size);
m_error = wxSOCKET_IOERR;
}
m_error = wxSOCKET_IOERR;
}
- /* Enable events again now that we are done processing */
- EnableEvent(wxSOCKET_INPUT);
-
{
m_error = wxSOCKET_IOERR;
}
{
m_error = wxSOCKET_IOERR;
}
-
- /* Only reenable OUTPUT events after an error (just like WSAAsyncSelect
- * in MSW). Once the first OUTPUT event is received, users can assume
- * that the socket is writable until a read operation fails. Only then
- * will further OUTPUT events be posted.
- */
- EnableEvent(wxSOCKET_OUTPUT);
-
- return -1;
-void wxSocketImplUnix::EnableEvent(wxSocketNotify event)
-{
- wxSocketManager::Get()->Install_Callback(this, event);
-}
-
-void wxSocketImplUnix::DisableEvent(wxSocketNotify event)
-{
- wxSocketManager::Get()->Uninstall_Callback(this, event);
-}
-
int wxSocketImplUnix::Recv_Stream(void *buffer, int size)
{
int ret;
int wxSocketImplUnix::Recv_Stream(void *buffer, int size)
{
int ret;
void wxSocketImplUnix::OnStateChange(wxSocketNotify event)
{
void wxSocketImplUnix::OnStateChange(wxSocketNotify event)
{
NotifyOnStateChange(event);
if ( event == wxSOCKET_LOST )
NotifyOnStateChange(event);
if ( event == wxSOCKET_LOST )