コード例 #1
0
ファイル: protocol.c プロジェクト: N8Fear/purple-facebook
static void
purple_protocol_finalize(GObject *object)
{
	PurpleProtocol *protocol = PURPLE_PROTOCOL(object);
	GList *accounts, *l;

	accounts = purple_accounts_get_all_active();
	for (l = accounts; l != NULL; l = l->next) {
		PurpleAccount *account = PURPLE_ACCOUNT(l->data);
		if (purple_account_is_disconnected(account))
			continue;

		if (purple_strequal(protocol->id,
				purple_account_get_protocol_id(account)))
			purple_account_disconnect(account);
	}

	g_list_free(accounts);

	purple_request_close_with_handle(protocol);
	purple_notify_close_with_handle(protocol);

	purple_signals_disconnect_by_handle(protocol);
	purple_signals_unregister_by_instance(protocol);

	purple_prefs_disconnect_by_handle(protocol);

	user_splits_free(protocol);
	account_options_free(protocol);
	icon_spec_free(protocol);

	PURPLE_DBUS_UNREGISTER_POINTER(protocol);

	parent_class->finalize(object);
}
コード例 #2
0
ファイル: imgstore.c プロジェクト: CkNoSFeRaTU/pidgin
void
purple_imgstore_uninit()
{
	g_hash_table_destroy(imgstore);

	purple_signals_unregister_by_instance(purple_imgstore_get_handle());
}
コード例 #3
0
ファイル: sound.c プロジェクト: N8Fear/purple-facebook
void
purple_sound_uninit()
{
	if(sound_ui_ops && sound_ui_ops->uninit)
		sound_ui_ops->uninit();

	purple_signals_unregister_by_instance(purple_sounds_get_handle());
}
コード例 #4
0
ファイル: conversations.c プロジェクト: Distrotech/pidgin
void
purple_conversations_uninit(void)
{
	while (conversations)
		g_object_unref(G_OBJECT(conversations->data));

	g_hash_table_destroy(conversation_cache);
	purple_signals_unregister_by_instance(purple_conversations_get_handle());
}
コード例 #5
0
ファイル: ft.c プロジェクト: crodjer/pidgin_whiteboard
void
purple_xfers_uninit(void)
{
	void *handle = purple_xfers_get_handle();

	purple_signals_disconnect_by_handle(handle);
	purple_signals_unregister_by_instance(handle);

	g_hash_table_destroy(xfers_data);
	xfers_data = NULL;
}
コード例 #6
0
ファイル: plugin.c プロジェクト: Distrotech/pidgin
void
purple_plugins_uninit(void)
{
	void *handle = purple_plugins_get_handle();

	purple_signals_disconnect_by_handle(handle);
	purple_signals_unregister_by_instance(handle);

	while (search_paths) {
		g_free(search_paths->data);
		search_paths = g_list_delete_link(search_paths, search_paths);
	}
}
コード例 #7
0
ファイル: cipher.c プロジェクト: CkNoSFeRaTU/pidgin
void
purple_ciphers_uninit() {
	PurpleCipher *cipher;
	GList *l, *ll;

	for(l = ciphers; l; l = ll) {
		ll = l->next;

		cipher = PURPLE_CIPHER(l->data);
		purple_ciphers_unregister_cipher(cipher);
	}

	g_list_free(ciphers);

	purple_signals_unregister_by_instance(purple_ciphers_get_handle());
}
コード例 #8
0
ファイル: libxmpp.c プロジェクト: psunkari/spicebird
static gboolean unload_plugin(PurplePlugin *plugin)
{
    purple_signals_unregister_by_instance(plugin);

    /* reverse order of init_plugin */
    jabber_bosh_uninit();
    jabber_data_uninit();
    jabber_si_uninit();
    jabber_ibb_uninit();
    /* PEP things should be uninit via jabber_pep_uninit, not here */
    jabber_pep_uninit();
    jabber_caps_uninit();
    jabber_iq_uninit();

    jabber_unregister_commands();

    /* Stay on target...stay on target... Almost there... */
    jabber_uninit_plugin(plugin);

    return TRUE;
}
コード例 #9
0
ファイル: gtklog.c プロジェクト: bf4/pidgin-mac
void
pidgin_log_uninit(void)
{
	purple_signals_unregister_by_instance(pidgin_log_get_handle());
}
コード例 #10
0
ファイル: notify.c プロジェクト: N8Fear/purple-facebook
void
purple_notify_uninit(void)
{
	purple_signals_unregister_by_instance(purple_notify_get_handle());
}
コード例 #11
0
void
purple_connections_uninit(void)
{
	purple_signals_unregister_by_instance(purple_connections_get_handle());
}