示例#1
0
static void read_cb (int fd, short event, void *vclient)
{
    CcnetClient *client = vclient;

    if (ccnet_client_read_input (client) <= 0) {
        ccnet_client_disconnect_daemon (client);
        exit (1);
    }
}
void MessageListener::readConnfd()
{
    socket_notifier_->setEnabled(false);
    if (ccnet_client_read_input(async_client_) <= 0) {
        // network error
        return;
    } else {
        socket_notifier_->setEnabled(true);
    }
}
static gboolean
client_io_cb (GIOChannel *source, GIOCondition condition, gpointer data)
{
    if (condition & G_IO_IN) {
        if (ccnet_client_read_input (ctl->client) <= 0) {
            on_ccnet_daemon_down ();
            return FALSE;
        }
        return TRUE;
    } else {
        on_ccnet_daemon_down ();
        return FALSE;
    }
}
示例#4
0
int
tray_socket_cb (UINT message, WPARAM wParam, LPARAM lParam)
{
    if (WSAGETSELECTERROR(lParam)) {
        closesocket(wParam);
        on_ccnet_daemon_down ();
        return FALSE;
    }
    
    switch (WSAGETSELECTEVENT(lParam)) {
    case FD_READ:
        if (ccnet_client_read_input (applet->client) <= 0) {
            on_ccnet_daemon_down ();
            return FALSE;
        }
        return TRUE;
        
    case FD_CLOSE:
        closesocket(wParam);
        on_ccnet_daemon_down ();
        break;
    }
    return TRUE;
}