aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/exchange-operations/exchange-operations.c
diff options
context:
space:
mode:
authorSarfraaz Ahmed <asarfraaz@novell.com>2005-08-22 21:18:42 +0800
committerAhmed Sarfraaz <sarfraaz@src.gnome.org>2005-08-22 21:18:42 +0800
commitff350e0cc76767df61dd7d60143abf260f822dfb (patch)
treeac4c1e93d353a6031525590ce8a4703dd3fc5f12 /plugins/exchange-operations/exchange-operations.c
parent78d8426bc15dda59c8ff1194c09655757bee5aef (diff)
downloadgsoc2013-evolution-ff350e0cc76767df61dd7d60143abf260f822dfb.tar.gz
gsoc2013-evolution-ff350e0cc76767df61dd7d60143abf260f822dfb.tar.zst
gsoc2013-evolution-ff350e0cc76767df61dd7d60143abf260f822dfb.zip
Use exchange_operations_get_exchange_account. Fetch the password and
2005-08-22 Sarfraaz Ahmed <asarfraaz@novell.com> * exchange-account-setup.c (btn_fsize_clicked) (set_oof_info) : Use exchange_operations_get_exchange_account. * exchange-config-listener.c (exchange_config_listener_authenticate) : Fetch the password and connect. Added new * exchange-config-listener.h : Similar. * exchange-operations.c (exchange_operations_get_exchange_account) : Try authenticating if account is not found. svn path=/trunk/; revision=30199
Diffstat (limited to 'plugins/exchange-operations/exchange-operations.c')
-rw-r--r--plugins/exchange-operations/exchange-operations.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/plugins/exchange-operations/exchange-operations.c b/plugins/exchange-operations/exchange-operations.c
index 23794a079b..b7b8b436e5 100644
--- a/plugins/exchange-operations/exchange-operations.c
+++ b/plugins/exchange-operations/exchange-operations.c
@@ -184,14 +184,25 @@ ExchangeAccount *
exchange_operations_get_exchange_account (void)
{
ExchangeAccount *account = NULL;
+ ExchangeAccountResult result;
GSList *acclist;
acclist = exchange_config_listener_get_accounts (exchange_global_config_listener);
/* FIXME: Need to be changed for handling multiple accounts */
- if (acclist)
+ if (acclist) {
account = acclist->data;
- return account;
+ if (exchange_account_get_context (account))
+ return account;
+ else {
+ /* Try authenticating */
+ result = exchange_config_listener_authenticate(exchange_global_config_listener, account);
+ if (exchange_account_get_context (account))
+ return account;
+ }
+ }
+
+ return NULL;
}
void