diff options
author | Hans Petter Jansson <hpj@ximian.com> | 2003-12-17 00:43:56 +0000 |
---|---|---|
committer | Hans Petter <hansp@src.gnome.org> | 2003-12-17 00:43:56 +0000 |
commit | 8c76cacf3a622a9366c5ea825728e8576b465ed8 (patch) | |
tree | 3c917c9f2013e69dc98dfd4c6083e2ecded75379 /libedataserver | |
parent | 19a0f2dc3566f87737bd7dd9cc33da9e8474046d (diff) | |
download | evolution-data-server-8c76cacf3a622a9366c5ea825728e8576b465ed8.tar.gz |
Implement. Compares two sources based on UID and full URI.
2003-12-16 Hans Petter Jansson <hpj@ximian.com>
* libedataserver/e-source.c (e_source_equal): Implement. Compares
two sources based on UID and full URI.
Diffstat (limited to 'libedataserver')
-rw-r--r-- | libedataserver/e-source.c | 26 | ||||
-rw-r--r-- | libedataserver/e-source.h | 2 |
2 files changed, 28 insertions, 0 deletions
diff --git a/libedataserver/e-source.c b/libedataserver/e-source.c index 71631d399..abb4977be 100644 --- a/libedataserver/e-source.c +++ b/libedataserver/e-source.c @@ -206,6 +206,32 @@ e_source_new_from_xml_node (xmlNodePtr node) return NULL; } +gboolean +e_source_equal (ESource *source_1, ESource *source_2) +{ + gboolean equal = FALSE; + + g_return_val_if_fail (E_IS_SOURCE (source_1), FALSE); + g_return_val_if_fail (E_IS_SOURCE (source_2), FALSE); + + if (source_1->priv->uid && source_2->priv->uid && + !strcmp (source_1->priv->uid, source_2->priv->uid)) { + equal = TRUE; + } else { + gchar *uri_1, *uri_2; + + uri_1 = e_source_get_uri (source_1); + uri_2 = e_source_get_uri (source_2); + + if (uri_1 && uri_2 && !strcmp (uri_1, uri_2)) + equal = TRUE; + + g_free (uri_1); + g_free (uri_2); + } + + return equal; +} static void import_properties (ESource *source, diff --git a/libedataserver/e-source.h b/libedataserver/e-source.h index 1a668ba1b..1a8f40842 100644 --- a/libedataserver/e-source.h +++ b/libedataserver/e-source.h @@ -62,6 +62,8 @@ ESource *e_source_new_from_standalone_xml (const char *xml); ESource *e_source_copy (ESource *source); +gboolean e_source_equal (ESource *source_1, ESource *source_2); + gboolean e_source_update_from_xml_node (ESource *source, xmlNodePtr node, gboolean *changed_return); |