From 2c5160bcb91ee9d808f283458b8a7a9740c70672 Mon Sep 17 00:00:00 2001 From: Frederic Peters Date: Fri, 30 Jan 2009 10:43:15 +0000 Subject: Added a new empathy_account_manager_get_count function, to get the number of accounts. svn path=/trunk/; revision=2264 --- libempathy/empathy-account-manager.c | 22 ++++++++++++++++++++-- libempathy/empathy-account-manager.h | 2 ++ 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/libempathy/empathy-account-manager.c b/libempathy/empathy-account-manager.c index 26017c97f..5c86e29b2 100644 --- a/libempathy/empathy-account-manager.c +++ b/libempathy/empathy-account-manager.c @@ -162,9 +162,8 @@ account_deleted_cb (McAccountMonitor *mon, if (account) { - g_signal_emit (manager, signals[ACCOUNT_DELETED], 0, account); - g_hash_table_remove (priv->accounts, account); + g_signal_emit (manager, signals[ACCOUNT_DELETED], 0, account); g_object_unref (account); } } @@ -621,3 +620,22 @@ empathy_account_manager_is_account_just_connected (EmpathyAccountManager *manage return (data->source_id > 0); } +/** + * empathy_account_manager_get_count: + * @manager: a #EmpathyAccountManager + * + * Get the number of accounts. + * + * Returns: the number of accounts. + **/ +int +empathy_account_manager_get_count (EmpathyAccountManager *manager) +{ + EmpathyAccountManagerPriv *priv; + + g_return_val_if_fail (EMPATHY_IS_ACCOUNT_MANAGER (manager), 0); + + priv = GET_PRIV (manager); + + return g_hash_table_size (priv->accounts); +} diff --git a/libempathy/empathy-account-manager.h b/libempathy/empathy-account-manager.h index 58d977fc5..b9aecb09f 100644 --- a/libempathy/empathy-account-manager.h +++ b/libempathy/empathy-account-manager.h @@ -59,6 +59,8 @@ int empathy_account_manager_get_connecting_accounts gboolean empathy_account_manager_is_account_just_connected (EmpathyAccountManager *manager, McAccount *account); +int empathy_account_manager_get_count + (EmpathyAccountManager *manager); G_END_DECLS -- cgit v1.2.3