コード例 #1
0
ファイル: accounts.c プロジェクト: nopslide/profanity
void
accounts_close(void)
{
    autocomplete_free(all_ac);
    autocomplete_free(enabled_ac);
    g_key_file_free(accounts);
}
コード例 #2
0
ファイル: preferences.c プロジェクト: 0xPoly/profanity
void
prefs_close(void)
{
    autocomplete_free(boolean_choice_ac);
    autocomplete_free(room_trigger_ac);
    g_key_file_free(prefs);
    prefs = NULL;
}
コード例 #3
0
ファイル: roster_list.c プロジェクト: Liangwz/profanity
void
roster_free(void)
{
    autocomplete_free(name_ac);
    autocomplete_free(barejid_ac);
    autocomplete_free(fulljid_ac);
    autocomplete_free(groups_ac);
}
コード例 #4
0
ファイル: muc.c プロジェクト: pasis/profanity
void
muc_close(void)
{
    autocomplete_free(invite_ac);
    autocomplete_free(confservers_ac);
    g_hash_table_destroy(rooms);
    g_hash_table_destroy(invite_passwords);
    rooms = NULL;
    invite_passwords = NULL;
}
コード例 #5
0
ファイル: muc.c プロジェクト: Liangwz/profanity
void
muc_close(void)
{
    autocomplete_free(invite_ac);
    g_hash_table_destroy(rooms);
    rooms = NULL;
}
コード例 #6
0
ファイル: roster_list.c プロジェクト: 0xPoly/profanity
void
roster_destroy(void)
{
    assert(roster != NULL);

    g_hash_table_destroy(roster->contacts);
    autocomplete_free(roster->name_ac);
    autocomplete_free(roster->barejid_ac);
    autocomplete_free(roster->fulljid_ac);
    g_hash_table_destroy(roster->name_to_barejid);
    autocomplete_free(roster->groups_ac);
    g_hash_table_destroy(roster->group_count);

    free(roster);
    roster = NULL;
}
コード例 #7
0
ファイル: tlscerts.c プロジェクト: jowlo/profanity
void
tlscerts_close(void)
{
    g_key_file_free(tlscerts);
    tlscerts = NULL;
    autocomplete_free(certs_ac);
}
コード例 #8
0
ファイル: bookmark.c プロジェクト: mrshu/profanity
void
bookmark_request(void)
{
    char *id;
    xmpp_conn_t *conn = connection_get_conn();
    xmpp_ctx_t *ctx = connection_get_ctx();
    xmpp_stanza_t *iq;

    id = strdup("bookmark_init_request");

    autojoin_count = 0;
    if (bookmark_ac != NULL) {
        autocomplete_free(bookmark_ac);
    }
    bookmark_ac = autocomplete_new();
    if (bookmark_list != NULL) {
        g_list_free_full(bookmark_list, _bookmark_item_destroy);
        bookmark_list = NULL;
    }

    xmpp_timed_handler_add(conn, _bookmark_handle_delete, BOOKMARK_TIMEOUT, id);
    xmpp_id_handler_add(conn, _bookmark_handle_result, id, id);

    iq = stanza_create_storage_bookmarks(ctx);
    xmpp_stanza_set_id(iq, id);
    xmpp_send(conn, iq);
    xmpp_stanza_release(iq);
}
コード例 #9
0
ファイル: blocking.c プロジェクト: incertia/profanity
void
blocking_request(void)
{
    char *id = create_unique_id("blocked_list_request");
    xmpp_ctx_t *ctx = connection_get_ctx();
    xmpp_stanza_t *iq;

    if (blocked) {
        g_list_free_full(blocked, free);
        blocked = NULL;
    }

    if (blocked_ac) {
        autocomplete_free(blocked_ac);
    }
    blocked_ac = autocomplete_new();

    iq_id_handler_add(id, _blocklist_result_handler, NULL, NULL);

    iq = stanza_create_blocked_list_request(ctx);
    xmpp_stanza_set_id(iq, id);
    iq_send_stanza(iq);
    xmpp_stanza_release(iq);
    free(id);
}
コード例 #10
0
ファイル: gpg.c プロジェクト: klement/profanity
void
p_gpg_close(void)
{
    if (pubkeys) {
        g_hash_table_destroy(pubkeys);
        pubkeys = NULL;
    }

    if (pubkeyfile) {
        g_key_file_free(pubkeyfile);
        pubkeyfile = NULL;
    }

    free(pubsloc);
    pubsloc = NULL;

    autocomplete_free(key_ac);
    key_ac = NULL;

    if (passphrase) {
        free(passphrase);
        passphrase = NULL;
    }

    if (passphrase_attempt) {
        free(passphrase_attempt);
        passphrase_attempt = NULL;
    }
}
コード例 #11
0
ファイル: form.c プロジェクト: sizeofvoid/profanity
void
form_destroy(DataForm *form)
{
    if (form) {
        free(form->type);
        free(form->title);
        free(form->instructions);
        g_slist_free_full(form->fields, (GDestroyNotify)_free_field);
        g_hash_table_destroy(form->var_to_tag);
        g_hash_table_destroy(form->tag_to_var);
        autocomplete_free(form->tag_ac);
        free(form);
    }
}
コード例 #12
0
ファイル: muc.c プロジェクト: Liangwz/profanity
static void
_free_room(ChatRoom *room)
{
    if (room) {
        free(room->room);
        free(room->nick);
        free(room->subject);
        free(room->password);
        free(room->autocomplete_prefix);
        if (room->roster) {
            g_hash_table_destroy(room->roster);
        }
        autocomplete_free(room->nick_ac);
        autocomplete_free(room->jid_ac);
        if (room->nick_changes) {
            g_hash_table_destroy(room->nick_changes);
        }
        if (room->pending_broadcasts) {
            g_list_free_full(room->pending_broadcasts, free);
        }
        free(room);
    }
}
コード例 #13
0
ファイル: form.c プロジェクト: sizeofvoid/profanity
static void
_free_field(FormField *field)
{
    if (field) {
        free(field->label);
        free(field->type);
        free(field->var);
        free(field->description);
        g_slist_free_full(field->values, free);
        g_slist_free_full(field->options, (GDestroyNotify)_free_option);
        autocomplete_free(field->value_ac);
        free(field);
    }
}
コード例 #14
0
ファイル: bookmark.c プロジェクト: pasis/profanity
void
bookmark_request(void)
{
    if (bookmarks) {
        g_hash_table_destroy(bookmarks);
    }
    bookmarks = g_hash_table_new_full(g_str_hash, g_str_equal, free, (GDestroyNotify)_bookmark_destroy);

    autocomplete_free(bookmark_ac);
    bookmark_ac = autocomplete_new();

    char *id = "bookmark_init_request";
    iq_id_handler_add(id, _bookmark_result_id_handler, free, NULL);

    xmpp_ctx_t *ctx = connection_get_ctx();
    xmpp_stanza_t *iq = stanza_create_bookmarks_storage_request(ctx);
    xmpp_stanza_set_id(iq, id);

    iq_send_stanza(iq);
    xmpp_stanza_release(iq);
}
コード例 #15
0
ファイル: muc.c プロジェクト: nolanjian/profanity
static void
_free_room(ChatRoom *room)
{
    if (room != NULL) {
        free(room->room);
        free(room->nick);
        free(room->subject);
        free(room->password);
        if (room->roster != NULL) {
            g_hash_table_remove_all(room->roster);
        }
        if (room->nick_ac != NULL) {
            autocomplete_free(room->nick_ac);
        }
        if (room->nick_changes != NULL) {
            g_hash_table_remove_all(room->nick_changes);
        }
        free(room);
        if (room->pending_broadcasts != NULL) {
            g_list_free_full(room->pending_broadcasts, free);
        }
    }
}
コード例 #16
0
ファイル: contact.c プロジェクト: 0xPoly/profanity
void
p_contact_free(PContact contact)
{
    if (contact) {
        free(contact->barejid);
        free(contact->barejid_collate_key);
        free(contact->name);
        free(contact->name_collate_key);
        free(contact->subscription);
        free(contact->offline_message);

        if (contact->groups) {
            g_slist_free_full(contact->groups, g_free);
        }

        if (contact->last_activity) {
            g_date_time_unref(contact->last_activity);
        }

        g_hash_table_destroy(contact->available_resources);
        autocomplete_free(contact->resource_ac);
        free(contact);
    }
}
コード例 #17
0
ファイル: cmd_state.c プロジェクト: dstenb/tfm
/* clear and reset autocomplete data */
void autocomplete_clear()
{
	autocomplete_free(ac_data.node);
	ac_data.node = NULL;
	ac_data.curr = NULL;
}
コード例 #18
0
ファイル: preferences.c プロジェクト: cjopcjop/profanity
void
prefs_close(void)
{
    autocomplete_free(boolean_choice_ac);
    g_key_file_free(prefs);
}