void KSMCloseConnectionProc ( SmsConn smsConn, SmPointer managerData, int count, char ** reasonMsgs ) { the_server->deleteClient( ( KSMClient* ) managerData ); if ( count ) SmFreeReasons( count, reasonMsgs ); IceConn iceConn = SmsGetIceConnection( smsConn ); SmsCleanUp( smsConn ); IceSetShutdownNegotiation (iceConn, False); IceCloseConnection( iceConn ); }
static void close_connection_callback (SmsConn conn, SmPointer manager_data, int count, char **reason_msgs) { GsmXSMPClient *client = manager_data; int i; g_debug ("GsmXSMPClient: Client '%s' received CloseConnection", client->priv->description); for (i = 0; i < count; i++) { g_debug ("GsmXSMPClient: close reason: '%s'", reason_msgs[i]); } SmFreeReasons (count, reason_msgs); gsm_client_set_status (GSM_CLIENT (client), GSM_CLIENT_FINISHED); gsm_client_disconnected (GSM_CLIENT (client)); }
static void CloseConnectionProc(SmsConn smsConn, SmPointer managerData, int count, char **reasonMsgs) { ClientRec *client = (ClientRec *) managerData; if (verbose) { int i; printf ("Client Id = %s, received CONNECTION CLOSED\n", client->clientId); for (i = 0; i < count; i++) printf (" Reason string %d: %s\n", i + 1, reasonMsgs[i]); printf ("\n"); } SmFreeReasons (count, reasonMsgs); CloseDownClient (client); }
static void sm_close_connection (SmsConn sms_conn, SmPointer client_data, int num_reasons, char **reasons) { XfsmClient *client = (XfsmClient *) client_data; gint n; if (G_UNLIKELY (verbose)) { xfsm_verbose ("Client Id = %s, received CLOSE CONNECTION [Num reasons = %d]\n", client->id, num_reasons); for (n = 0; n < num_reasons; ++n) xfsm_verbose (" Reason %2d: %s\n", n, reasons[n]); xfsm_verbose ("\n"); } xfsm_manager_close_connection (client, TRUE); if (num_reasons > 0) SmFreeReasons (num_reasons, reasons); }