diff options
| author | Sankarasivasubramanian Pasupathilingam <psankar@src.gnome.org> | 2008-10-31 10:27:56 +0000 |
|---|---|---|
| committer | Sankarasivasubramanian Pasupathilingam <psankar@src.gnome.org> | 2008-10-31 10:27:56 +0000 |
| commit | 848e4053e29dc91b0de1b157277c5550374ededf (patch) | |
| tree | 078330934ad98a69b0bd72802a6add26f4f00134 /servers | |
| parent | f5cac8dcfae1e9d800b422d35c8063979b1fda7a (diff) | |
| download | evolution-data-server-848e4053e29dc91b0de1b157277c5550374ededf.tar.gz | |
** Fix for bnc bugs #440502, #209514, #434958, #434946,
GroupWise improvements
svn path=/trunk/; revision=9715
Diffstat (limited to 'servers')
| -rw-r--r-- | servers/groupwise/ChangeLog | 12 | ||||
| -rw-r--r-- | servers/groupwise/e-gw-connection.c | 44 | ||||
| -rw-r--r-- | servers/groupwise/e-gw-connection.h | 3 | ||||
| -rw-r--r-- | servers/groupwise/e-gw-item.c | 2 |
4 files changed, 59 insertions, 2 deletions
diff --git a/servers/groupwise/ChangeLog b/servers/groupwise/ChangeLog index d0ab1572b..0f8f9d842 100644 --- a/servers/groupwise/ChangeLog +++ b/servers/groupwise/ChangeLog @@ -1,3 +1,15 @@ +2008-10-31 Sankar P <psankar@novell.com> + + ** Fix for bnc bugs #440502, #209514, #434958, #434946, + #435725, #434950, #372382, #435727 + + * e-gw-connection.c (e_gw_connection_get_container_list), + (e_gw_connection_get_container_id), + (e_gw_connection_get_container): + * e-gw-connection.h: + * e-gw-item.c (e_gw_item_new_from_soap_parameter): + GroupWise improvements + 2008-10-03 Milan Crha <mcrha@redhat.com> ** Part of fix for bug #547243 diff --git a/servers/groupwise/e-gw-connection.c b/servers/groupwise/e-gw-connection.c index 458d94f2a..3eb340ad5 100644 --- a/servers/groupwise/e-gw-connection.c +++ b/servers/groupwise/e-gw-connection.c @@ -734,7 +734,6 @@ e_gw_connection_get_container_list (EGwConnection *cnc, const char *top, GList * if (!cnc) return E_GW_CONNECTION_STATUS_UNKNOWN; - g_return_val_if_fail (E_IS_GW_CONNECTION (cnc), E_GW_CONNECTION_STATUS_UNKNOWN); g_return_val_if_fail (container_list != NULL, E_GW_CONNECTION_STATUS_UNKNOWN); msg = e_gw_message_new_with_header (cnc->priv->uri, cnc->priv->session_id, "getFolderListRequest"); @@ -824,6 +823,49 @@ e_gw_connection_get_container_id (EGwConnection *cnc, const char *name) return container_id; } +EGwContainer * +e_gw_connection_get_container (EGwConnection *cnc, const char * uid) +{ + SoupSoapMessage *msg; + SoupSoapResponse *response; + EGwConnectionStatus status; + + g_return_val_if_fail (E_IS_GW_CONNECTION (cnc), NULL); + g_return_val_if_fail (uid!= NULL, NULL); + + msg = e_gw_message_new_with_header (cnc->priv->uri, cnc->priv->session_id, "getFolderRequest"); + if (!msg) { + g_warning (G_STRLOC ": Could not build SOAP message"); + return NULL; + } + + e_gw_message_write_string_parameter (msg, "uid", NULL, uid); + e_gw_message_write_string_parameter (msg, "view", NULL, "count"); + e_gw_message_write_footer (msg); + + /* send message to server */ + response = e_gw_connection_send_message (cnc, msg); + if (!response) { + g_object_unref (msg); + return NULL; + } + + status = e_gw_connection_parse_response_status (response); + g_object_unref (msg); + + if (status == E_GW_CONNECTION_STATUS_OK) { + EGwContainer *container; + SoupSoapParameter *subparam; + + subparam = soup_soap_response_get_first_parameter_by_name (response, "folder"); + container = e_gw_container_new_from_soap_parameter (subparam); + + return container; + } + + return NULL; +} + EGwConnectionStatus e_gw_connection_get_items_delta_info (EGwConnection *cnc, const char *container, gdouble *first_sequence, gdouble *last_sequence, gdouble *last_po_rebuild_time ) diff --git a/servers/groupwise/e-gw-connection.h b/servers/groupwise/e-gw-connection.h index 17c7c3e9e..6a92039b1 100644 --- a/servers/groupwise/e-gw-connection.h +++ b/servers/groupwise/e-gw-connection.h @@ -99,9 +99,12 @@ EGwConnectionStatus e_gw_connection_parse_response_status (SoupSoapResponse *res const char *e_gw_connection_get_error_message (EGwConnectionStatus status); EGwConnectionStatus e_gw_connection_logout (EGwConnection *cnc); + EGwConnectionStatus e_gw_connection_get_container_list (EGwConnection *cnc, const char *top, GList **container_list); void e_gw_connection_free_container_list (GList *container_list); char *e_gw_connection_get_container_id (EGwConnection *cnc, const char *name); +EGwContainer * e_gw_connection_get_container (EGwConnection *cnc, const char * uid); + EGwConnectionStatus e_gw_connection_get_items (EGwConnection *cnc, const char *container, const char *view, EGwFilter *filter, GList **list); EGwConnectionStatus e_gw_connection_get_deltas ( EGwConnection *cnc, GSList **adds, GSList **deletes, GSList **updates); diff --git a/servers/groupwise/e-gw-item.c b/servers/groupwise/e-gw-item.c index 4f10e6f7a..f8263ba92 100644 --- a/servers/groupwise/e-gw-item.c +++ b/servers/groupwise/e-gw-item.c @@ -2058,7 +2058,7 @@ e_gw_item_new_from_soap_parameter (const char *email, const char *container, Sou } else if (!g_ascii_strcasecmp (name, "alarm")) { char *enabled; enabled = soup_soap_parameter_get_property (child, "enabled"); - if (!g_ascii_strcasecmp (enabled, "1") ) { + if (enabled && !g_ascii_strcasecmp (enabled, "1") ) { value = soup_soap_parameter_get_string_value (child); /* convert it into integer */ item->priv->trigger = atoi (value); |
