-static GList*
-tny_accounts_from_server_accounts (ModestTnyAccountStore *self, GSList *accounts,
- gboolean is_store)
-{
- GSList *cursor = accounts;
- GList *tny_accounts = NULL;
-
- g_return_val_if_fail (self, NULL);
-
- while (cursor) {
- TnyAccountIface *tny_account;
- tny_account = tny_account_from_key (self, (gchar*)cursor->data,
- is_store);
- if (!tny_account) {
- g_warning ("could not create tnyaccount for %s",
- (gchar*)cursor->data);
- } else {
- tny_accounts =
- g_list_append (tny_accounts, tny_account);
- }
- cursor = cursor->next;
- }
-
- return tny_accounts;
-}
-
-
-static void
-manager_new_account (ModestAccountMgr *modest_acc_mgr, gchar *name, gpointer data)
-{
- ModestTnyAccountStore *self = data;
- ModestTnyAccountStorePrivate *priv = MODEST_TNY_ACCOUNT_STORE_GET_PRIVATE(self);
- TnyAccountIface *new_account;
- gchar *proto;
- gint i = 0;
- gboolean is_store = TRUE;
-
- g_print ("new account signal %s\n", name);
-
- proto = modest_account_mgr_get_server_account_string (priv->modest_acc_mgr, name,
- MODEST_ACCOUNT_PROTO, NULL);
- if (!proto) {
- g_printerr ("Cannot add account: unknown type.");
- return;
- }
-
- while (transport_protocols [i]) {
- if (!strcmp (transport_protocols [i], proto)) {
- is_store = FALSE;
- break;
- }
- i++;
- }
-
- /* fill account lists */
- if (!priv->store_accounts)
- modest_tny_account_store_get_store_accounts (TNY_ACCOUNT_STORE_IFACE(self));
- if (!priv->transport_accounts)
- modest_tny_account_store_get_transport_accounts (TNY_ACCOUNT_STORE_IFACE(self));
-
-
- if (is_store) {
- new_account = tny_account_from_key (self, name, is_store);
- g_mutex_lock (priv->store_lock);
- priv->store_accounts = g_list_append (priv->store_accounts, new_account);
- g_mutex_unlock (priv->store_lock);
- } else {
- new_account = tny_account_from_key (self, name, is_store);
- g_mutex_lock (priv->transport_lock);
- priv->transport_accounts = g_list_append (priv->transport_accounts, new_account);
- g_mutex_unlock (priv->transport_lock);
- }
- g_signal_emit (self,
- tny_account_store_iface_signals [TNY_ACCOUNT_STORE_IFACE_ACCOUNT_INSERTED], 0, new_account);
-}
-
-
-static void
-manager_remove_account (ModestAccountMgr *modest_acc_mgr, gchar *name, gpointer data)
-{
- g_print ("remove account signal %s\n", name);
-}
-
-
-static void
-manager_change_account (ModestAccountMgr *modest_acc_mgr, gchar *accountname,
- gchar *key, gchar* value, gpointer data)
-{
- ModestTnyAccountStore *self = data;
- ModestTnyAccountStorePrivate *priv = MODEST_TNY_ACCOUNT_STORE_GET_PRIVATE(self);
- GList *iter;
- TnyAccountIface *account = NULL;
-
- g_print ("account change signal: account: %s key: %s value: %s\n", accountname, key, value);
-
- /* fill account lists */
- if (!priv->store_accounts)
- modest_tny_account_store_get_store_accounts (TNY_ACCOUNT_STORE_IFACE(self));
- if (!priv->transport_accounts)
- modest_tny_account_store_get_transport_accounts (TNY_ACCOUNT_STORE_IFACE(self));
-
- for (iter = priv->store_accounts; iter; iter = iter->next) {
- TnyAccountIface *acc = iter->data;
- if (!strcmp (tny_account_iface_get_name (acc), accountname)) {
- account = acc;
- break;
- }
- }
-
- if (!account)
- for (iter = priv->transport_accounts; iter; iter = iter->next) {
- TnyAccountIface *acc = iter->data;
- if (!strcmp (tny_account_iface_get_name (acc), accountname)) {
- account = acc;
- break;
- }
- }
-
- if (!account) {
- g_printerr ("Couldn't find account - returning without applying changes.");
- return;
- }
-
- g_mutex_lock (priv->store_lock);
- g_mutex_lock (priv->transport_lock);
-
- if (!strcmp (key, MODEST_ACCOUNT_HOSTNAME))
- tny_account_iface_set_hostname (account, value);
- if (!strcmp (key, MODEST_ACCOUNT_USERNAME))
- tny_account_iface_set_user (account, value);
-
- g_mutex_unlock (priv->transport_lock);
- g_mutex_unlock (priv->store_lock);
-
- /* TODO: handle protocol and password changes */
- g_signal_emit (self,
- tny_account_store_iface_signals [TNY_ACCOUNT_STORE_IFACE_ACCOUNTS_RELOADED], 0);
-}
-