Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:pchenthill
evolution-data-server
subscribed_cal_eds.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File subscribed_cal_eds.diff of Package evolution-data-server
Index: servers/exchange/storage/exchange-account.c =================================================================== --- servers/exchange/storage/exchange-account.c (revision 7580) +++ servers/exchange/storage/exchange-account.c (working copy) @@ -1306,6 +1306,7 @@ continue; setup_hierarchy_foreign (account, hier); + exchange_hierarchy_scan_subtree (hier, hier->toplevel, mode); } g_dir_close (d); } Index: servers/exchange/storage/exchange-hierarchy-foreign.c =================================================================== --- servers/exchange/storage/exchange-hierarchy-foreign.c (revision 7580) +++ servers/exchange/storage/exchange-hierarchy-foreign.c (working copy) @@ -353,17 +353,21 @@ folder_type = e_folder_get_type_string (folder); physical_uri = e_folder_get_physical_uri (folder); - if (strcmp (folder_type, "calendar") == 0) { + if (!strcmp (folder_type, "calendar") || + !strcmp (folder_type, "calendar/public")) { remove_folder_esource (hier->account, EXCHANGE_CALENDAR_FOLDER, physical_uri); } - else if (strcmp (folder_type, "tasks") == 0) { + else if (!strcmp (folder_type, "tasks") || + !(strcmp (folder_type, "tasks/public"))) { remove_folder_esource (hier->account, EXCHANGE_TASKS_FOLDER, physical_uri); } - else if (strcmp (folder_type, "contacts") == 0) { + else if (!strcmp (folder_type, "contacts") || + !(strcmp (folder_type, "contacts/public")) || + !(strcmp (folder_type, "contacts/ldap"))) { remove_folder_esource (hier->account, EXCHANGE_CONTACTS_FOLDER, physical_uri); Index: servers/exchange/storage/exchange-esource.c =================================================================== --- servers/exchange/storage/exchange-esource.c (revision 7580) +++ servers/exchange/storage/exchange-esource.c (working copy) @@ -110,8 +110,10 @@ 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, "foreign", "1"); + } e_source_set_property (source, "username", username); e_source_set_property (source, "auth-domain", "Exchange"); @@ -151,8 +153,10 @@ 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, "foreign", "1"); + } e_source_group_add_source (source_group, source, -1); source_new = TRUE; --- servers/exchange/storage/exchange-account.h (revision 7574) +++ servers/exchange/storage/exchange-account.h (working copy) @@ -89,6 +89,7 @@ char *exchange_account_get_foreign_uri (ExchangeAccount *acct, E2kGlobalCatalogEntry *entry, const char *std_uri_prop); +ExchangeHierarchy *exchange_account_get_hierarchy_by_email (ExchangeAccount *account, const char *email); char *exchange_account_get_authtype (ExchangeAccount *account); --- servers/exchange/storage/exchange-account.c (revision 7574) +++ servers/exchange/storage/exchange-account.c (working copy) @@ -1767,6 +1767,42 @@ } /** + * exchange_account_get_hierarchy_by_email: + * @account: an #ExchangeAccount + * @email: email id of the foreign user + * + * If the hierarchy is present just return it back. Else try to get it + * from the filesystem and return it. + * + * Return value: Returns the ExchangeHierarchy of the foreign user's folder. + **/ + +ExchangeHierarchy * +exchange_account_get_hierarchy_by_email (ExchangeAccount *account, const char *email) +{ + char *dir; + ExchangeHierarchy *hier = NULL; + int mode; + + g_return_val_if_fail (email != NULL, NULL); + + hier = g_hash_table_lookup (account->priv->foreign_hierarchies, email); + if (!hier) { + dir = g_strdup_printf ("%s/%s", account->storage_dir, email); + if (g_file_test (dir, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR)) { + hier = exchange_hierarchy_foreign_new_from_dir (account, dir); + g_free (dir); + if (hier) { + exchange_account_is_offline (account, &mode); + setup_hierarchy_foreign (account, hier); + } + } + } + + return hier; + } + +/** * exchange_account_get_folder: * @account: an #ExchangeAccount * @path_or_uri: the shell path or URI referring to the folder
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor