about summary refs log tree commit diff stats
path: root/src/config
diff options
context:
space:
mode:
authorJames Booth <boothj5@gmail.com>2014-11-24 00:38:22 +0000
committerJames Booth <boothj5@gmail.com>2014-11-24 00:38:22 +0000
commit679513ae7318f7cb41e710188d042cbce3d65401 (patch)
treee13869772fe7de67f860dccda3ad085987fd0365 /src/config
parentd1c5cfefb6114a759fd05723802db0fa7c838f5d (diff)
parentbe031bbe5407edae923b7e2c28e757ffcb9b5052 (diff)
downloadprofani-tty-679513ae7318f7cb41e710188d042cbce3d65401.tar.gz
Merge remote-tracking branch 'incertia/account-remove'
Diffstat (limited to 'src/config')
-rw-r--r--src/config/accounts.c11
-rw-r--r--src/config/accounts.h1
2 files changed, 12 insertions, 0 deletions
diff --git a/src/config/accounts.c b/src/config/accounts.c
index 175cac5f..36007ddc 100644
--- a/src/config/accounts.c
+++ b/src/config/accounts.c
@@ -193,6 +193,16 @@ _accounts_add(const char *account_name, const char *altdomain, const int port)
     jid_destroy(jid);
 }
 
+static int
+_accounts_remove(const char *account_name)
+{
+    int r = g_key_file_remove_group(accounts, account_name, NULL);
+    _save_accounts();
+    autocomplete_remove(all_ac, account_name);
+    autocomplete_remove(enabled_ac, account_name);
+    return r;
+}
+
 static gchar**
 _accounts_get_list(void)
 {
@@ -861,6 +871,7 @@ accounts_init_module(void)
     accounts_reset_all_search = _accounts_reset_all_search;
     accounts_reset_enabled_search = _accounts_reset_enabled_search;
     accounts_add = _accounts_add;
+    accounts_remove = _accounts_remove;
     accounts_get_list = _accounts_get_list;
     accounts_get_account = _accounts_get_account;
     accounts_enable = _accounts_enable;
diff --git a/src/config/accounts.h b/src/config/accounts.h
index 97c125eb..0ca0d82c 100644
--- a/src/config/accounts.h
+++ b/src/config/accounts.h
@@ -50,6 +50,7 @@ char * (*accounts_find_enabled)(char *prefix);
 void (*accounts_reset_all_search)(void);
 void (*accounts_reset_enabled_search)(void);
 void (*accounts_add)(const char *jid, const char *altdomain, const int port);
+int  (*accounts_remove)(const char *jid);
 gchar** (*accounts_get_list)(void);
 ProfAccount* (*accounts_get_account)(const char * const name);
 gboolean (*accounts_enable)(const char * const name);