aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/exchange-operations/exchange-operations.c
diff options
context:
space:
mode:
authorArunprakash <arunp@novell.com>2005-08-25 23:27:51 +0800
committerArunprakash S <arunp@src.gnome.org>2005-08-25 23:27:51 +0800
commitf7780399f460eb357653f02a243c7347d40bc35e (patch)
tree622a30bf28e0b505283706fe8404914e4f6adf3b /plugins/exchange-operations/exchange-operations.c
parent3f9c05b3ad0da596400e88558c86edeefa593f58 (diff)
downloadgsoc2013-evolution-f7780399f460eb357653f02a243c7347d40bc35e.tar
gsoc2013-evolution-f7780399f460eb357653f02a243c7347d40bc35e.tar.gz
gsoc2013-evolution-f7780399f460eb357653f02a243c7347d40bc35e.tar.bz2
gsoc2013-evolution-f7780399f460eb357653f02a243c7347d40bc35e.tar.lz
gsoc2013-evolution-f7780399f460eb357653f02a243c7347d40bc35e.tar.xz
gsoc2013-evolution-f7780399f460eb357653f02a243c7347d40bc35e.tar.zst
gsoc2013-evolution-f7780399f460eb357653f02a243c7347d40bc35e.zip
Need to set the account's linestatus to online as there is no way to get
2005-08-25 Arunprakash <arunp@novell.com> * exchange-config-listener.c (account_added) : Need to set the account's linestatus to online as there is no way to get the linestatus in plugin. Also moved the authentication code to exchange_operations_get_exchange_account as it is not needed here. * exchange-operations.c (exchange_operations_get_exchange_account) : Updated to return the account in offline mode. svn path=/trunk/; revision=30251
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 64d3d8da09..b804c47102 100644
--- a/plugins/exchange-operations/exchange-operations.c
+++ b/plugins/exchange-operations/exchange-operations.c
@@ -186,17 +186,28 @@ exchange_operations_get_exchange_account (void)
ExchangeAccount *account = NULL;
ExchangeAccountResult result;
GSList *acclist;
+ gint mode;
acclist = exchange_config_listener_get_accounts (exchange_global_config_listener);
/* FIXME: Need to be changed for handling multiple accounts */
if (acclist) {
account = acclist->data;
- if (exchange_account_get_context (account))
+ exchange_config_listener_get_offline_status (exchange_global_config_listener,
+ &mode);
+
+ if (mode == OFFLINE_MODE) {
+ return account;
+ }
+ else if (exchange_account_get_context (account)) {
return account;
- else {
+ } else {
/* Try authenticating */
result = exchange_config_listener_authenticate(exchange_global_config_listener, account);
+ if (result != EXCHANGE_ACCOUNT_CONNECT_SUCCESS) {
+ exchange_operations_report_error (account, result);
+ return NULL;
+ }
if (exchange_account_get_context (account))
return account;
}