void msn_session_destroy (MsnSession *session) { if (!session) return; pn_oim_session_free (session->oim_session); purple_signal_disconnect (purple_conversations_get_handle(), "conversation-created", session, PURPLE_CALLBACK (conversation_created_cb)); if (session->connected) msn_session_disconnect (session); #if defined(PECAN_CVR) g_hash_table_destroy (session->links); #endif /* defined(PECAN_CVR) */ msn_notification_destroy (session->notification); pn_dp_manager_free (session->dp_manager); g_hash_table_destroy (session->conversations); g_hash_table_destroy (session->chats); pn_contactlist_destroy (session->contactlist); g_free (session->passport_info.kv); g_free (session->passport_info.sid); g_free (session->passport_info.mspauth); g_free (session->passport_info.client_ip); g_free (session->passport_info.mail_url); g_free (session->passport_cookie.t); g_free (session->passport_cookie.p); if (session->autoupdate_tune.timer) g_source_remove (session->autoupdate_tune.timer); if (session->sync) msn_sync_destroy (session->sync); if (session->nexus) msn_nexus_destroy (session->nexus); pn_contact_free (session->user); g_hash_table_destroy (session->config); g_free (session->username); g_free (session->password); #ifdef INTERNAL_MAINLOOP purple_timeout_remove (session->g_main_loop_timer); g_main_loop_unref (session->g_main_loop); #endif g_free (session); }
void msn_session_destroy (MsnSession *session) { if (!session) return; pn_oim_session_free (session->oim_session); pn_service_session_free (session->service_session); pn_roaming_session_free (session->roaming_session); g_free (session->cid); g_free (session->machineguid); if (session->connected) msn_session_disconnect (session); #if defined(PECAN_CVR) g_hash_table_destroy (session->links); #endif /* defined(PECAN_CVR) */ msn_notification_destroy (session->notification); pn_dp_manager_free (session->dp_manager); g_hash_table_destroy (session->conversations); g_hash_table_destroy (session->chats); pn_contactlist_destroy (session->contactlist); g_free (session->passport_info.kv); g_free (session->passport_info.sid); g_free (session->passport_info.mspauth); g_free (session->passport_info.client_ip); g_free (session->passport_info.mail_url); g_free (session->passport_cookie.t); g_free (session->passport_cookie.p); if (session->autoupdate_tune.timer) g_source_remove (session->autoupdate_tune.timer); if (session->auth) pn_auth_free (session->auth); pn_contact_free (session->user); g_hash_table_destroy (session->config); g_free (session->username); g_free (session->password); #ifdef INTERNAL_MAINLOOP purple_timeout_remove (session->g_main_loop_timer); g_main_loop_unref (session->g_main_loop); #endif g_free (session); }
static void destroy_cb(MsnServConn *servconn) { MsnNotification *notification; notification = servconn->cmdproc->data; g_return_if_fail(notification != NULL); msn_notification_destroy(notification); }
void msn_session_destroy(MsnSession *session) { g_return_if_fail(session != NULL); session->destroying = TRUE; while (session->url_datas) { purple_util_fetch_url_cancel(session->url_datas->data); session->url_datas = g_slist_delete_link(session->url_datas, session->url_datas); } if (session->connected) msn_session_disconnect(session); if (session->soap_cleanup_handle) purple_timeout_remove(session->soap_cleanup_handle); if (session->soap_table != NULL) g_hash_table_destroy(session->soap_table); while (session->slplinks != NULL) msn_slplink_unref(session->slplinks->data); while (session->switches != NULL) msn_switchboard_destroy(session->switches->data); if (session->oim != NULL) msn_oim_destroy(session->oim); if (session->nexus != NULL) msn_nexus_destroy(session->nexus); if (session->user != NULL) msn_user_unref(session->user); if (session->notification != NULL) msn_notification_destroy(session->notification); msn_userlist_destroy(session->userlist); g_free(session->psm); g_free(session->guid); g_free(session->abch_cachekey); #if 0 g_free(session->blocked_text); #endif g_free(session->passport_info.sid); g_free(session->passport_info.mspauth); g_free(session->passport_info.client_ip); g_free(session->passport_info.mail_url); g_free(session); }
void msn_session_destroy(MsnSession *session) { g_return_if_fail(session != NULL); session->destroying = TRUE; purple_http_connection_set_destroy(session->http_reqs); if (session->connected) msn_session_disconnect(session); msn_soap_service_destroy(session->soap); while (session->slplinks != NULL) msn_slplink_unref(session->slplinks->data); while (session->switches != NULL) msn_switchboard_destroy(session->switches->data); if (session->oim != NULL) msn_oim_destroy(session->oim); if (session->nexus != NULL) msn_nexus_destroy(session->nexus); if (session->user != NULL) msn_user_unref(session->user); if (session->notification != NULL) msn_notification_destroy(session->notification); msn_userlist_destroy(session->userlist); g_free(session->psm); g_free(session->guid); g_free(session->abch_cachekey); #if 0 g_free(session->blocked_text); #endif g_free(session->passport_info.sid); g_free(session->passport_info.mspauth); g_free(session->passport_info.client_ip); g_free(session->passport_info.mail_url); g_free(session); }
void msn_session_destroy(MsnSession *session) { g_return_if_fail(session != NULL); session->destroying = TRUE; if (session->connected) msn_session_disconnect(session); if (session->notification != NULL) msn_notification_destroy(session->notification); while (session->switches != NULL) msn_switchboard_destroy(session->switches->data); while (session->slplinks != NULL) msn_slplink_destroy(session->slplinks->data); msn_userlist_destroy(session->userlist); g_free(session->passport_info.kv); g_free(session->passport_info.sid); g_free(session->passport_info.mspauth); g_free(session->passport_info.client_ip); if (session->passport_info.file != NULL) { g_unlink(session->passport_info.file); g_free(session->passport_info.file); } if (session->sync != NULL) msn_sync_destroy(session->sync); if (session->nexus != NULL) msn_nexus_destroy(session->nexus); if (session->user != NULL) msn_user_destroy(session->user); g_free(session); }