summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChenthill Palanisamy <pchen@src.gnome.org>2007-07-09 10:46:09 +0000
committerChenthill Palanisamy <pchen@src.gnome.org>2007-07-09 10:46:09 +0000
commitea88f8e5a30a6dd288da7a0088136ee3296ee4e8 (patch)
tree24ea808c5364e067dc0f4524b6074a103c147e0c
parentd2bf26807010a8261d17395d42b28425125196fd (diff)
downloadevolution-data-server-ea88f8e5a30a6dd288da7a0088136ee3296ee4e8.tar.gz
Adding the exchange delegation feature.
svn path=/trunk/; revision=7866
-rw-r--r--servers/exchange/ChangeLog11
-rw-r--r--servers/exchange/storage/exchange-account.c17
-rw-r--r--servers/exchange/storage/exchange-account.h2
-rw-r--r--servers/exchange/storage/exchange-esource.c11
4 files changed, 38 insertions, 3 deletions
diff --git a/servers/exchange/ChangeLog b/servers/exchange/ChangeLog
index 3ee93fd35..51d9f7430 100644
--- a/servers/exchange/ChangeLog
+++ b/servers/exchange/ChangeLog
@@ -1,3 +1,14 @@
+2007-07-09 Chenthill Palanisamy <pchenthill@novell.com>
+
+ * storage/exchange-account.c:
+ * storage/exchange-account.h: (exchange_account_fetch): Fetch
+ the EAaccount from the exchange account.
+ * storage/exchange-esource.c: (add_folder_esource): Added the subscriber's
+ email id to corresponding esource.
+
+ Committing on behalf of Suman Manjunath <msuman@novell.com> and
+ Bharath Acharya <abharath@novell.com>
+
2007-07-03 Srinivasa Ragavan <sragavan@novell.com>
diff --git a/servers/exchange/storage/exchange-account.c b/servers/exchange/storage/exchange-account.c
index 06e0c7232..cd0424c35 100644
--- a/servers/exchange/storage/exchange-account.c
+++ b/servers/exchange/storage/exchange-account.c
@@ -891,6 +891,8 @@ static const char *mailbox_info_props[] = {
};
static const int n_mailbox_info_props = G_N_ELEMENTS (mailbox_info_props);
+
+
static gboolean
account_moved (ExchangeAccount *account, E2kAutoconfig *ac)
{
@@ -1653,6 +1655,21 @@ exchange_account_get_global_catalog (ExchangeAccount *account)
}
/**
+ * exchange_account_fetch:
+ * @acct: an #ExchangeAccount
+ *
+ * Return value: @account's #EAccount, if it is connected and
+ * online, or %NULL if not.
+ **/
+EAccount *
+exchange_account_fetch (ExchangeAccount *acct)
+{
+ g_return_val_if_fail (EXCHANGE_IS_ACCOUNT (acct), NULL);
+
+ return acct->priv->account;
+}
+
+/**
* exchange_account_get_standard_uri:
* @account: an #ExchangeAccount
* @item: the short name of the standard URI
diff --git a/servers/exchange/storage/exchange-account.h b/servers/exchange/storage/exchange-account.h
index 432edadcd..1a722cfe1 100644
--- a/servers/exchange/storage/exchange-account.h
+++ b/servers/exchange/storage/exchange-account.h
@@ -80,6 +80,8 @@ ExchangeAccount *exchange_account_new (EAccountList *acco
E2kContext *exchange_account_get_context (ExchangeAccount *acct);
E2kGlobalCatalog *exchange_account_get_global_catalog (ExchangeAccount *acct);
+EAccount *exchange_account_fetch (ExchangeAccount *acct);
+
const char *exchange_account_get_standard_uri (ExchangeAccount *acct,
const char *item);
diff --git a/servers/exchange/storage/exchange-esource.c b/servers/exchange/storage/exchange-esource.c
index 69a70f220..3c6d2527a 100644
--- a/servers/exchange/storage/exchange-esource.c
+++ b/servers/exchange/storage/exchange-esource.c
@@ -45,7 +45,7 @@ add_folder_esource (ExchangeAccount *account,
GConfClient *client;
gboolean is_contacts_folder = TRUE, group_new = FALSE, source_new = FALSE;
const char *offline = NULL;
- char *username, *authtype = NULL;
+ char *username, *useremail, *authtype = NULL;
int mode;
ESourceList *source_list = NULL;
gboolean offline_flag, update_selection = TRUE, foriegn_folder;
@@ -81,6 +81,7 @@ add_folder_esource (ExchangeAccount *account,
exchange_account_is_offline_sync_set (account, &mode);
username = exchange_account_get_username (account);
+ useremail = exchange_account_get_email_id (account);
authtype = exchange_account_get_authtype (account);
if ((source_group = e_source_list_peek_group_by_name (source_list,
@@ -110,8 +111,10 @@ add_folder_esource (ExchangeAccount *account,
e_source_set_property (source, "offline_sync", "1");
}
- if (foriegn_folder && (folder_type != EXCHANGE_CONTACTS_FOLDER))
+ if (foriegn_folder && (folder_type != EXCHANGE_CONTACTS_FOLDER)) {
e_source_set_property (source, "alarm", "never");
+ e_source_set_property (source, "subscriber", useremail);
+ }
e_source_set_property (source, "username", username);
e_source_set_property (source, "auth-domain", "Exchange");
@@ -151,8 +154,10 @@ add_folder_esource (ExchangeAccount *account,
else
e_source_set_property (source, "auth", "1");
- if (foriegn_folder && (folder_type != EXCHANGE_CONTACTS_FOLDER))
+ if (foriegn_folder && (folder_type != EXCHANGE_CONTACTS_FOLDER)) {
e_source_set_property (source, "alarm", "never");
+ e_source_set_property (source, "subscriber", useremail);
+ }
e_source_group_add_source (source_group, source, -1);
source_new = TRUE;