[evolution-data-server] Add e_book_backend_sexp_text().
- From: Matthew Barnes <mbarnes src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-data-server] Add e_book_backend_sexp_text().
- Date: Sat, 13 Oct 2012 13:23:00 +0000 (UTC)
commit a5bf5d0d29716c6207107dcec18875c7ba210fb7
Author: Matthew Barnes <mbarnes redhat com>
Date: Sat Oct 13 07:48:51 2012 -0400
Add e_book_backend_sexp_text().
Similar to e_cal_backend_sexp_text(), returns the original textual
expression used to build the EBookBackendSExp object.
addressbook/libedata-book/e-book-backend-sexp.c | 22 +++++++++++++++++++-
addressbook/libedata-book/e-book-backend-sexp.h | 1 +
.../libedata-book/libedata-book-sections.txt | 1 +
3 files changed, 23 insertions(+), 1 deletions(-)
---
diff --git a/addressbook/libedata-book/e-book-backend-sexp.c b/addressbook/libedata-book/e-book-backend-sexp.c
index 3947712..a701c9b 100644
--- a/addressbook/libedata-book/e-book-backend-sexp.c
+++ b/addressbook/libedata-book/e-book-backend-sexp.c
@@ -32,6 +32,7 @@ typedef struct _SearchContext SearchContext;
struct _EBookBackendSExpPrivate {
ESExp *search_sexp;
+ gchar *text;
SearchContext *search_context;
};
@@ -1022,6 +1023,7 @@ e_book_backend_sexp_new (const gchar *text)
gint i;
sexp->priv->search_sexp = e_sexp_new ();
+ sexp->priv->text = g_strdup (text);
for (i = 0; i < G_N_ELEMENTS (symbols); i++) {
if (symbols[i].type == 1) {
@@ -1045,6 +1047,24 @@ e_book_backend_sexp_new (const gchar *text)
return sexp;
}
+/**
+ * e_book_backend_sexp_text:
+ * @sexp: an #EBookBackendSExp
+ *
+ * Retrieve the text expression for the given #EBookBackendSExp object.
+ *
+ * Returns: the text expression
+ *
+ * Since: 3.8
+ **/
+const gchar *
+e_book_backend_sexp_text (EBookBackendSExp *sexp)
+{
+ g_return_val_if_fail (E_IS_BOOK_BACKEND_SEXP (sexp), NULL);
+
+ return sexp->priv->text;
+}
+
static void
e_book_backend_sexp_finalize (GObject *object)
{
@@ -1053,7 +1073,7 @@ e_book_backend_sexp_finalize (GObject *object)
priv = E_BOOK_BACKEND_SEXP_GET_PRIVATE (object);
e_sexp_unref (priv->search_sexp);
-
+ g_free (priv->text);
g_free (priv->search_context);
/* Chain up to parent's finalize() method. */
diff --git a/addressbook/libedata-book/e-book-backend-sexp.h b/addressbook/libedata-book/e-book-backend-sexp.h
index d511ba0..cf98bbf 100644
--- a/addressbook/libedata-book/e-book-backend-sexp.h
+++ b/addressbook/libedata-book/e-book-backend-sexp.h
@@ -67,6 +67,7 @@ struct _EBookBackendSExpClass {
GType e_book_backend_sexp_get_type (void) G_GNUC_CONST;
EBookBackendSExp *
e_book_backend_sexp_new (const gchar *text);
+const gchar * e_book_backend_sexp_text (EBookBackendSExp *sexp);
gboolean e_book_backend_sexp_match_vcard (EBookBackendSExp *sexp,
const gchar *vcard);
gboolean e_book_backend_sexp_match_contact
diff --git a/docs/reference/addressbook/libedata-book/libedata-book-sections.txt b/docs/reference/addressbook/libedata-book/libedata-book-sections.txt
index 7dfc7f9..d0b989e 100644
--- a/docs/reference/addressbook/libedata-book/libedata-book-sections.txt
+++ b/docs/reference/addressbook/libedata-book/libedata-book-sections.txt
@@ -128,6 +128,7 @@ e_book_backend_factory_get_type
<TITLE>EBookBackendSExp</TITLE>
EBookBackendSExp
e_book_backend_sexp_new
+e_book_backend_sexp_text
e_book_backend_sexp_match_vcard
e_book_backend_sexp_match_contact
<SUBSECTION Standard>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]