|
Packit |
4b6dd7 |
/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
|
|
Packit |
4b6dd7 |
/*
|
|
Packit |
4b6dd7 |
* GData Client
|
|
Packit |
4b6dd7 |
* Copyright (C) Philip Withnall 2009–2010 <philip@tecnocode.co.uk>
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* GData Client is free software; you can redistribute it and/or
|
|
Packit |
4b6dd7 |
* modify it under the terms of the GNU Lesser General Public
|
|
Packit |
4b6dd7 |
* License as published by the Free Software Foundation; either
|
|
Packit |
4b6dd7 |
* version 2.1 of the License, or (at your option) any later version.
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* GData Client is distributed in the hope that it will be useful,
|
|
Packit |
4b6dd7 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Packit |
4b6dd7 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Packit |
4b6dd7 |
* Lesser General Public License for more details.
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* You should have received a copy of the GNU Lesser General Public
|
|
Packit |
4b6dd7 |
* License along with GData Client. If not, see <http://www.gnu.org/licenses/>.
|
|
Packit |
4b6dd7 |
*/
|
|
Packit |
4b6dd7 |
|
|
Packit |
4b6dd7 |
/**
|
|
Packit |
4b6dd7 |
* SECTION:gdata-contacts-query
|
|
Packit |
4b6dd7 |
* @short_description: GData Contacts query object
|
|
Packit |
4b6dd7 |
* @stability: Stable
|
|
Packit |
4b6dd7 |
* @include: gdata/services/contacts/gdata-contacts-query.h
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* #GDataContactsQuery represents a collection of query parameters specific to the Google Contacts service, which go above and beyond
|
|
Packit |
4b6dd7 |
* those catered for by #GDataQuery.
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* For more information on the custom GData query parameters supported by #GDataContactsQuery, see the
|
|
Packit |
4b6dd7 |
* url="http://code.google.com/apis/contacts/docs/2.0/reference.html#Parameters">online documentation</ulink>.
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* <example>
|
|
Packit |
4b6dd7 |
* <title>Querying for Contacts</title>
|
|
Packit |
4b6dd7 |
* <programlisting>
|
|
Packit |
4b6dd7 |
* GDataContactsService *service;
|
|
Packit |
4b6dd7 |
* gchar *group_id;
|
|
Packit |
4b6dd7 |
* GDataContactsQuery *query;
|
|
Packit |
4b6dd7 |
* GDataFeed *feed;
|
|
Packit |
4b6dd7 |
* GList *i;
|
|
Packit |
4b6dd7 |
* GError *error = NULL;
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* /* Create a service and return the group we're querying within. */
|
|
Packit |
4b6dd7 |
* service = create_contacts_service ();
|
|
Packit |
4b6dd7 |
* group_id = query_user_for_group (service);
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* /* Create the query to use. We're going to query for contacts which match the search term "John" within a given group,
|
|
Packit |
4b6dd7 |
* * including deleted contacts. The group is specified by its ID. */
|
|
Packit |
4b6dd7 |
* query = gdata_contacts_query_new ("John");
|
|
Packit |
4b6dd7 |
* gdata_contacts_query_set_show_deleted (query, TRUE);
|
|
Packit |
4b6dd7 |
* gdata_contacts_query_set_group (query, group_id);
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* g_free (group_id);
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* /* Execute the query */
|
|
Packit |
4b6dd7 |
* feed = gdata_contacts_service_query_contacts (service, query, NULL, NULL, NULL, &error);
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* g_object_unref (query);
|
|
Packit |
4b6dd7 |
* g_object_unref (service);
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* if (error != NULL) {
|
|
Packit |
4b6dd7 |
* g_error ("Error querying for contacts: %s", error->message);
|
|
Packit |
4b6dd7 |
* g_error_free (error);
|
|
Packit |
4b6dd7 |
* return;
|
|
Packit |
4b6dd7 |
* }
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* /* Iterate through the returned contacts and do something with them */
|
|
Packit |
4b6dd7 |
* for (i = gdata_feed_get_entries (feed); i != NULL; i = i->next) {
|
|
Packit |
4b6dd7 |
* GDataContactsContact *contact = GDATA_CONTACTS_CONTACT (i->data);
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* /* Do something with the contact here, such as insert it into a UI */
|
|
Packit |
4b6dd7 |
* }
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* g_object_unref (feed);
|
|
Packit |
4b6dd7 |
* </programlisting>
|
|
Packit |
4b6dd7 |
* </example>
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* Since: 0.2.0
|
|
Packit |
4b6dd7 |
*/
|
|
Packit |
4b6dd7 |
|
|
Packit |
4b6dd7 |
#include <config.h>
|
|
Packit |
4b6dd7 |
#include <glib.h>
|
|
Packit |
4b6dd7 |
#include <glib/gi18n-lib.h>
|
|
Packit |
4b6dd7 |
#include <string.h>
|
|
Packit |
4b6dd7 |
|
|
Packit |
4b6dd7 |
#include "gdata-contacts-query.h"
|
|
Packit |
4b6dd7 |
#include "gdata-query.h"
|
|
Packit |
4b6dd7 |
#include "gdata-private.h"
|
|
Packit |
4b6dd7 |
|
|
Packit |
4b6dd7 |
static void gdata_contacts_query_finalize (GObject *object);
|
|
Packit |
4b6dd7 |
static void gdata_contacts_query_get_property (GObject *object, guint property_id, GValue *value, GParamSpec *pspec);
|
|
Packit |
4b6dd7 |
static void gdata_contacts_query_set_property (GObject *object, guint property_id, const GValue *value, GParamSpec *pspec);
|
|
Packit |
4b6dd7 |
static void get_query_uri (GDataQuery *self, const gchar *feed_uri, GString *query_uri, gboolean *params_started);
|
|
Packit |
4b6dd7 |
|
|
Packit |
4b6dd7 |
struct _GDataContactsQueryPrivate {
|
|
Packit |
4b6dd7 |
gchar *order_by; /* TODO: #defined values */
|
|
Packit |
4b6dd7 |
gboolean show_deleted;
|
|
Packit |
4b6dd7 |
gchar *sort_order; /* TODO: #defined values */
|
|
Packit |
4b6dd7 |
gchar *group;
|
|
Packit |
4b6dd7 |
};
|
|
Packit |
4b6dd7 |
|
|
Packit |
4b6dd7 |
enum {
|
|
Packit |
4b6dd7 |
PROP_ORDER_BY = 1,
|
|
Packit |
4b6dd7 |
PROP_SHOW_DELETED,
|
|
Packit |
4b6dd7 |
PROP_SORT_ORDER,
|
|
Packit |
4b6dd7 |
PROP_GROUP
|
|
Packit |
4b6dd7 |
};
|
|
Packit |
4b6dd7 |
|
|
Packit |
4b6dd7 |
G_DEFINE_TYPE (GDataContactsQuery, gdata_contacts_query, GDATA_TYPE_QUERY)
|
|
Packit |
4b6dd7 |
|
|
Packit |
4b6dd7 |
static void
|
|
Packit |
4b6dd7 |
gdata_contacts_query_class_init (GDataContactsQueryClass *klass)
|
|
Packit |
4b6dd7 |
{
|
|
Packit |
4b6dd7 |
GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
|
|
Packit |
4b6dd7 |
GDataQueryClass *query_class = GDATA_QUERY_CLASS (klass);
|
|
Packit |
4b6dd7 |
|
|
Packit |
4b6dd7 |
g_type_class_add_private (klass, sizeof (GDataContactsQueryPrivate));
|
|
Packit |
4b6dd7 |
|
|
Packit |
4b6dd7 |
gobject_class->set_property = gdata_contacts_query_set_property;
|
|
Packit |
4b6dd7 |
gobject_class->get_property = gdata_contacts_query_get_property;
|
|
Packit |
4b6dd7 |
gobject_class->finalize = gdata_contacts_query_finalize;
|
|
Packit |
4b6dd7 |
|
|
Packit |
4b6dd7 |
query_class->get_query_uri = get_query_uri;
|
|
Packit |
4b6dd7 |
|
|
Packit |
4b6dd7 |
/**
|
|
Packit |
4b6dd7 |
* GDataContactsQuery:order-by:
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* Sorting criterion. The only supported value is <literal>lastmodified</literal>.
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* Since: 0.2.0
|
|
Packit |
4b6dd7 |
*/
|
|
Packit |
4b6dd7 |
g_object_class_install_property (gobject_class, PROP_ORDER_BY,
|
|
Packit |
4b6dd7 |
g_param_spec_string ("order-by",
|
|
Packit |
4b6dd7 |
"Order by", "Sorting criterion.",
|
|
Packit |
4b6dd7 |
NULL,
|
|
Packit |
4b6dd7 |
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
|
|
Packit |
4b6dd7 |
|
|
Packit |
4b6dd7 |
/**
|
|
Packit |
4b6dd7 |
* GDataContactsQuery:show-deleted:
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* Whether to include deleted contacts in the query feed. Deleted contacts return %TRUE
|
|
Packit |
4b6dd7 |
* from gdata_contacts_contact_is_deleted(), and have no other information. They do not
|
|
Packit |
4b6dd7 |
* normally appear in query results.
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* Since: 0.2.0
|
|
Packit |
4b6dd7 |
*/
|
|
Packit |
4b6dd7 |
g_object_class_install_property (gobject_class, PROP_SHOW_DELETED,
|
|
Packit |
4b6dd7 |
g_param_spec_boolean ("show-deleted",
|
|
Packit |
4b6dd7 |
"Show deleted?", "Whether to include deleted contacts in the query feed.",
|
|
Packit |
4b6dd7 |
FALSE,
|
|
Packit |
4b6dd7 |
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
|
|
Packit |
4b6dd7 |
|
|
Packit |
4b6dd7 |
/**
|
|
Packit |
4b6dd7 |
* GDataContactsQuery:sort-order:
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* Sorting order direction. Can be either <literal>ascending</literal> or <literal>descending</literal>.
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* Since: 0.2.0
|
|
Packit |
4b6dd7 |
*/
|
|
Packit |
4b6dd7 |
g_object_class_install_property (gobject_class, PROP_SORT_ORDER,
|
|
Packit |
4b6dd7 |
g_param_spec_string ("sort-order",
|
|
Packit |
4b6dd7 |
"Sort order", "Sorting order direction.",
|
|
Packit |
4b6dd7 |
NULL,
|
|
Packit |
4b6dd7 |
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
|
|
Packit |
4b6dd7 |
|
|
Packit |
4b6dd7 |
/**
|
|
Packit |
4b6dd7 |
* GDataContactsQuery:group:
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* Constrains the results to only those belonging to the group specified. The value of this parameter
|
|
Packit |
4b6dd7 |
* should be a group ID URI.
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* Since: 0.2.0
|
|
Packit |
4b6dd7 |
*/
|
|
Packit |
4b6dd7 |
g_object_class_install_property (gobject_class, PROP_GROUP,
|
|
Packit |
4b6dd7 |
g_param_spec_string ("group",
|
|
Packit |
4b6dd7 |
"Group", "Constrains the results to only those belonging to the group specified.",
|
|
Packit |
4b6dd7 |
NULL,
|
|
Packit |
4b6dd7 |
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
|
|
Packit |
4b6dd7 |
}
|
|
Packit |
4b6dd7 |
|
|
Packit |
4b6dd7 |
static void
|
|
Packit |
4b6dd7 |
gdata_contacts_query_init (GDataContactsQuery *self)
|
|
Packit |
4b6dd7 |
{
|
|
Packit |
4b6dd7 |
self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, GDATA_TYPE_CONTACTS_QUERY, GDataContactsQueryPrivate);
|
|
Packit |
4b6dd7 |
|
|
Packit |
4b6dd7 |
/* https://developers.google.com/google-apps/contacts/v3/reference#contacts-query-parameters-reference */
|
|
Packit |
4b6dd7 |
_gdata_query_set_pagination_type (GDATA_QUERY (self),
|
|
Packit |
4b6dd7 |
GDATA_QUERY_PAGINATION_INDEXED);
|
|
Packit |
4b6dd7 |
}
|
|
Packit |
4b6dd7 |
|
|
Packit |
4b6dd7 |
static void
|
|
Packit |
4b6dd7 |
gdata_contacts_query_finalize (GObject *object)
|
|
Packit |
4b6dd7 |
{
|
|
Packit |
4b6dd7 |
GDataContactsQueryPrivate *priv = GDATA_CONTACTS_QUERY (object)->priv;
|
|
Packit |
4b6dd7 |
|
|
Packit |
4b6dd7 |
g_free (priv->order_by);
|
|
Packit |
4b6dd7 |
g_free (priv->sort_order);
|
|
Packit |
4b6dd7 |
g_free (priv->group);
|
|
Packit |
4b6dd7 |
|
|
Packit |
4b6dd7 |
/* Chain up to the parent class */
|
|
Packit |
4b6dd7 |
G_OBJECT_CLASS (gdata_contacts_query_parent_class)->finalize (object);
|
|
Packit |
4b6dd7 |
}
|
|
Packit |
4b6dd7 |
|
|
Packit |
4b6dd7 |
static void
|
|
Packit |
4b6dd7 |
gdata_contacts_query_get_property (GObject *object, guint property_id, GValue *value, GParamSpec *pspec)
|
|
Packit |
4b6dd7 |
{
|
|
Packit |
4b6dd7 |
GDataContactsQueryPrivate *priv = GDATA_CONTACTS_QUERY (object)->priv;
|
|
Packit |
4b6dd7 |
|
|
Packit |
4b6dd7 |
switch (property_id) {
|
|
Packit |
4b6dd7 |
case PROP_ORDER_BY:
|
|
Packit |
4b6dd7 |
g_value_set_string (value, priv->order_by);
|
|
Packit |
4b6dd7 |
break;
|
|
Packit |
4b6dd7 |
case PROP_SHOW_DELETED:
|
|
Packit |
4b6dd7 |
g_value_set_boolean (value, priv->show_deleted);
|
|
Packit |
4b6dd7 |
break;
|
|
Packit |
4b6dd7 |
case PROP_SORT_ORDER:
|
|
Packit |
4b6dd7 |
g_value_set_string (value, priv->sort_order);
|
|
Packit |
4b6dd7 |
break;
|
|
Packit |
4b6dd7 |
case PROP_GROUP:
|
|
Packit |
4b6dd7 |
g_value_set_string (value, priv->group);
|
|
Packit |
4b6dd7 |
break;
|
|
Packit |
4b6dd7 |
default:
|
|
Packit |
4b6dd7 |
/* We don't have any other property... */
|
|
Packit |
4b6dd7 |
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
|
|
Packit |
4b6dd7 |
break;
|
|
Packit |
4b6dd7 |
}
|
|
Packit |
4b6dd7 |
}
|
|
Packit |
4b6dd7 |
|
|
Packit |
4b6dd7 |
static void
|
|
Packit |
4b6dd7 |
gdata_contacts_query_set_property (GObject *object, guint property_id, const GValue *value, GParamSpec *pspec)
|
|
Packit |
4b6dd7 |
{
|
|
Packit |
4b6dd7 |
GDataContactsQuery *self = GDATA_CONTACTS_QUERY (object);
|
|
Packit |
4b6dd7 |
|
|
Packit |
4b6dd7 |
switch (property_id) {
|
|
Packit |
4b6dd7 |
case PROP_ORDER_BY:
|
|
Packit |
4b6dd7 |
gdata_contacts_query_set_order_by (self, g_value_get_string (value));
|
|
Packit |
4b6dd7 |
break;
|
|
Packit |
4b6dd7 |
case PROP_SHOW_DELETED:
|
|
Packit |
4b6dd7 |
gdata_contacts_query_set_show_deleted (self, g_value_get_boolean (value));
|
|
Packit |
4b6dd7 |
break;
|
|
Packit |
4b6dd7 |
case PROP_SORT_ORDER:
|
|
Packit |
4b6dd7 |
gdata_contacts_query_set_sort_order (self, g_value_get_string (value));
|
|
Packit |
4b6dd7 |
break;
|
|
Packit |
4b6dd7 |
case PROP_GROUP:
|
|
Packit |
4b6dd7 |
gdata_contacts_query_set_group (self, g_value_get_string (value));
|
|
Packit |
4b6dd7 |
break;
|
|
Packit |
4b6dd7 |
default:
|
|
Packit |
4b6dd7 |
/* We don't have any other property... */
|
|
Packit |
4b6dd7 |
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
|
|
Packit |
4b6dd7 |
break;
|
|
Packit |
4b6dd7 |
}
|
|
Packit |
4b6dd7 |
}
|
|
Packit |
4b6dd7 |
|
|
Packit |
4b6dd7 |
static void
|
|
Packit |
4b6dd7 |
get_query_uri (GDataQuery *self, const gchar *feed_uri, GString *query_uri, gboolean *params_started)
|
|
Packit |
4b6dd7 |
{
|
|
Packit |
4b6dd7 |
GDataContactsQueryPrivate *priv = GDATA_CONTACTS_QUERY (self)->priv;
|
|
Packit |
4b6dd7 |
|
|
Packit |
4b6dd7 |
#define APPEND_SEP g_string_append_c (query_uri, (*params_started == FALSE) ? '?' : '&';; *params_started = TRUE;
|
|
Packit |
4b6dd7 |
|
|
Packit |
4b6dd7 |
/* Chain up to the parent class */
|
|
Packit |
4b6dd7 |
GDATA_QUERY_CLASS (gdata_contacts_query_parent_class)->get_query_uri (self, feed_uri, query_uri, params_started);
|
|
Packit |
4b6dd7 |
|
|
Packit |
4b6dd7 |
if (priv->order_by != NULL) {
|
|
Packit |
4b6dd7 |
APPEND_SEP
|
|
Packit |
4b6dd7 |
g_string_append (query_uri, "orderby=");
|
|
Packit |
4b6dd7 |
g_string_append_uri_escaped (query_uri, priv->order_by, NULL, FALSE);
|
|
Packit |
4b6dd7 |
}
|
|
Packit |
4b6dd7 |
|
|
Packit |
4b6dd7 |
APPEND_SEP
|
|
Packit |
4b6dd7 |
if (priv->show_deleted == TRUE)
|
|
Packit |
4b6dd7 |
g_string_append (query_uri, "showdeleted=true");
|
|
Packit |
4b6dd7 |
else
|
|
Packit |
4b6dd7 |
g_string_append (query_uri, "showdeleted=false");
|
|
Packit |
4b6dd7 |
|
|
Packit |
4b6dd7 |
if (priv->sort_order != NULL) {
|
|
Packit |
4b6dd7 |
APPEND_SEP
|
|
Packit |
4b6dd7 |
g_string_append (query_uri, "sortorder=");
|
|
Packit |
4b6dd7 |
g_string_append_uri_escaped (query_uri, priv->sort_order, NULL, FALSE);
|
|
Packit |
4b6dd7 |
}
|
|
Packit |
4b6dd7 |
|
|
Packit |
4b6dd7 |
if (priv->group != NULL) {
|
|
Packit |
4b6dd7 |
APPEND_SEP
|
|
Packit |
4b6dd7 |
g_string_append (query_uri, "group=");
|
|
Packit |
4b6dd7 |
g_string_append_uri_escaped (query_uri, priv->group, NULL, FALSE);
|
|
Packit |
4b6dd7 |
}
|
|
Packit |
4b6dd7 |
}
|
|
Packit |
4b6dd7 |
|
|
Packit |
4b6dd7 |
/**
|
|
Packit |
4b6dd7 |
* gdata_contacts_query_new:
|
|
Packit |
4b6dd7 |
* @q: (allow-none): a query string, or %NULL
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* Creates a new #GDataContactsQuery with its #GDataQuery:q property set to @q.
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* Return value: a new #GDataContactsQuery
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* Since: 0.2.0
|
|
Packit |
4b6dd7 |
*/
|
|
Packit |
4b6dd7 |
GDataContactsQuery *
|
|
Packit |
4b6dd7 |
gdata_contacts_query_new (const gchar *q)
|
|
Packit |
4b6dd7 |
{
|
|
Packit |
4b6dd7 |
return g_object_new (GDATA_TYPE_CONTACTS_QUERY, "q", q, NULL);
|
|
Packit |
4b6dd7 |
}
|
|
Packit |
4b6dd7 |
|
|
Packit |
4b6dd7 |
/**
|
|
Packit |
4b6dd7 |
* gdata_contacts_query_new_with_limits:
|
|
Packit |
4b6dd7 |
* @q: (allow-none): a query string, or %NULL
|
|
Packit |
4b6dd7 |
* @start_index: a one-based start index for the results, or 0
|
|
Packit |
4b6dd7 |
* @max_results: the maximum number of results to return, or 0
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* Creates a new #GDataContactsQuery with its #GDataQuery:q property set to @q, and the limits @start_index and @max_results
|
|
Packit |
4b6dd7 |
* applied.
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* Return value: a new #GDataContactsQuery
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* Since: 0.2.0
|
|
Packit |
4b6dd7 |
*/
|
|
Packit |
4b6dd7 |
GDataContactsQuery *
|
|
Packit |
4b6dd7 |
gdata_contacts_query_new_with_limits (const gchar *q, guint start_index, guint max_results)
|
|
Packit |
4b6dd7 |
{
|
|
Packit |
4b6dd7 |
return g_object_new (GDATA_TYPE_CONTACTS_QUERY,
|
|
Packit |
4b6dd7 |
"q", q,
|
|
Packit |
4b6dd7 |
"start-index", start_index,
|
|
Packit |
4b6dd7 |
"max-results", max_results,
|
|
Packit |
4b6dd7 |
NULL);
|
|
Packit |
4b6dd7 |
}
|
|
Packit |
4b6dd7 |
|
|
Packit |
4b6dd7 |
/**
|
|
Packit |
4b6dd7 |
* gdata_contacts_query_get_order_by:
|
|
Packit |
4b6dd7 |
* @self: a #GDataContactsQuery
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* Gets the #GDataContactsQuery:order-by property.
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* Return value: the order by property, or %NULL if it is unset
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* Since: 0.2.0
|
|
Packit |
4b6dd7 |
*/
|
|
Packit |
4b6dd7 |
const gchar *
|
|
Packit |
4b6dd7 |
gdata_contacts_query_get_order_by (GDataContactsQuery *self)
|
|
Packit |
4b6dd7 |
{
|
|
Packit |
4b6dd7 |
g_return_val_if_fail (GDATA_IS_CONTACTS_QUERY (self), NULL);
|
|
Packit |
4b6dd7 |
return self->priv->order_by;
|
|
Packit |
4b6dd7 |
}
|
|
Packit |
4b6dd7 |
|
|
Packit |
4b6dd7 |
/**
|
|
Packit |
4b6dd7 |
* gdata_contacts_query_set_order_by:
|
|
Packit |
4b6dd7 |
* @self: a #GDataContactsQuery
|
|
Packit |
4b6dd7 |
* @order_by: (allow-none): a new order by string, or %NULL
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* Sets the #GDataContactsQuery:order-by property of the #GDataContactsQuery to the new order by string, @order_by.
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* Set @order_by to %NULL to unset the property in the query URI.
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* Since: 0.2.0
|
|
Packit |
4b6dd7 |
*/
|
|
Packit |
4b6dd7 |
void
|
|
Packit |
4b6dd7 |
gdata_contacts_query_set_order_by (GDataContactsQuery *self, const gchar *order_by)
|
|
Packit |
4b6dd7 |
{
|
|
Packit |
4b6dd7 |
g_return_if_fail (GDATA_IS_CONTACTS_QUERY (self));
|
|
Packit |
4b6dd7 |
|
|
Packit |
4b6dd7 |
g_free (self->priv->order_by);
|
|
Packit |
4b6dd7 |
self->priv->order_by = g_strdup (order_by);
|
|
Packit |
4b6dd7 |
g_object_notify (G_OBJECT (self), "order-by");
|
|
Packit |
4b6dd7 |
|
|
Packit |
4b6dd7 |
/* Our current ETag will no longer be relevant */
|
|
Packit |
4b6dd7 |
gdata_query_set_etag (GDATA_QUERY (self), NULL);
|
|
Packit |
4b6dd7 |
}
|
|
Packit |
4b6dd7 |
|
|
Packit |
4b6dd7 |
/**
|
|
Packit |
4b6dd7 |
* gdata_contacts_query_show_deleted:
|
|
Packit |
4b6dd7 |
* @self: a #GDataContactsQuery
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* Gets the #GDataContactsQuery:show-deleted property.
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* Return value: %TRUE if deleted contacts should be shown, %FALSE otherwise
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* Since: 0.2.0
|
|
Packit |
4b6dd7 |
*/
|
|
Packit |
4b6dd7 |
gboolean
|
|
Packit |
4b6dd7 |
gdata_contacts_query_show_deleted (GDataContactsQuery *self)
|
|
Packit |
4b6dd7 |
{
|
|
Packit |
4b6dd7 |
g_return_val_if_fail (GDATA_IS_CONTACTS_QUERY (self), FALSE);
|
|
Packit |
4b6dd7 |
return self->priv->show_deleted;
|
|
Packit |
4b6dd7 |
}
|
|
Packit |
4b6dd7 |
|
|
Packit |
4b6dd7 |
/**
|
|
Packit |
4b6dd7 |
* gdata_contacts_query_set_show_deleted:
|
|
Packit |
4b6dd7 |
* @self: a #GDataContactsQuery
|
|
Packit |
4b6dd7 |
* @show_deleted: %TRUE to show deleted contacts, %FALSE otherwise
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* Sets the #GDataContactsQuery:show-deleted property of the #GDataContactsQuery.
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* Since: 0.2.0
|
|
Packit |
4b6dd7 |
*/
|
|
Packit |
4b6dd7 |
void
|
|
Packit |
4b6dd7 |
gdata_contacts_query_set_show_deleted (GDataContactsQuery *self, gboolean show_deleted)
|
|
Packit |
4b6dd7 |
{
|
|
Packit |
4b6dd7 |
g_return_if_fail (GDATA_IS_CONTACTS_QUERY (self));
|
|
Packit |
4b6dd7 |
self->priv->show_deleted = show_deleted;
|
|
Packit |
4b6dd7 |
g_object_notify (G_OBJECT (self), "show-deleted");
|
|
Packit |
4b6dd7 |
|
|
Packit |
4b6dd7 |
/* Our current ETag will no longer be relevant */
|
|
Packit |
4b6dd7 |
gdata_query_set_etag (GDATA_QUERY (self), NULL);
|
|
Packit |
4b6dd7 |
}
|
|
Packit |
4b6dd7 |
|
|
Packit |
4b6dd7 |
/**
|
|
Packit |
4b6dd7 |
* gdata_contacts_query_get_sort_order:
|
|
Packit |
4b6dd7 |
* @self: a #GDataContactsQuery
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* Gets the #GDataContactsQuery:sort-order property.
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* Return value: the sort order property, or %NULL if it is unset
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* Since: 0.2.0
|
|
Packit |
4b6dd7 |
*/
|
|
Packit |
4b6dd7 |
const gchar *
|
|
Packit |
4b6dd7 |
gdata_contacts_query_get_sort_order (GDataContactsQuery *self)
|
|
Packit |
4b6dd7 |
{
|
|
Packit |
4b6dd7 |
g_return_val_if_fail (GDATA_IS_CONTACTS_QUERY (self), NULL);
|
|
Packit |
4b6dd7 |
return self->priv->sort_order;
|
|
Packit |
4b6dd7 |
}
|
|
Packit |
4b6dd7 |
|
|
Packit |
4b6dd7 |
/**
|
|
Packit |
4b6dd7 |
* gdata_contacts_query_set_sort_order:
|
|
Packit |
4b6dd7 |
* @self: a #GDataContactsQuery
|
|
Packit |
4b6dd7 |
* @sort_order: (allow-none): a new sort order string, or %NULL
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* Sets the #GDataContactsQuery:sort-order property of the #GDataContactsQuery to the new sort order string, @sort_order.
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* Set @sort_order to %NULL to unset the property in the query URI.
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* Since: 0.2.0
|
|
Packit |
4b6dd7 |
*/
|
|
Packit |
4b6dd7 |
void
|
|
Packit |
4b6dd7 |
gdata_contacts_query_set_sort_order (GDataContactsQuery *self, const gchar *sort_order)
|
|
Packit |
4b6dd7 |
{
|
|
Packit |
4b6dd7 |
g_return_if_fail (GDATA_IS_CONTACTS_QUERY (self));
|
|
Packit |
4b6dd7 |
|
|
Packit |
4b6dd7 |
g_free (self->priv->sort_order);
|
|
Packit |
4b6dd7 |
self->priv->sort_order = g_strdup (sort_order);
|
|
Packit |
4b6dd7 |
g_object_notify (G_OBJECT (self), "sort-order");
|
|
Packit |
4b6dd7 |
|
|
Packit |
4b6dd7 |
/* Our current ETag will no longer be relevant */
|
|
Packit |
4b6dd7 |
gdata_query_set_etag (GDATA_QUERY (self), NULL);
|
|
Packit |
4b6dd7 |
}
|
|
Packit |
4b6dd7 |
|
|
Packit |
4b6dd7 |
/**
|
|
Packit |
4b6dd7 |
* gdata_contacts_query_get_group:
|
|
Packit |
4b6dd7 |
* @self: a #GDataContactsQuery
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* Gets the #GDataContactsQuery:group property.
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* Return value: the group property, or %NULL if it is unset
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* Since: 0.2.0
|
|
Packit |
4b6dd7 |
*/
|
|
Packit |
4b6dd7 |
const gchar *
|
|
Packit |
4b6dd7 |
gdata_contacts_query_get_group (GDataContactsQuery *self)
|
|
Packit |
4b6dd7 |
{
|
|
Packit |
4b6dd7 |
g_return_val_if_fail (GDATA_IS_CONTACTS_QUERY (self), NULL);
|
|
Packit |
4b6dd7 |
return self->priv->group;
|
|
Packit |
4b6dd7 |
}
|
|
Packit |
4b6dd7 |
|
|
Packit |
4b6dd7 |
/**
|
|
Packit |
4b6dd7 |
* gdata_contacts_query_set_group:
|
|
Packit |
4b6dd7 |
* @self: a #GDataContactsQuery
|
|
Packit |
4b6dd7 |
* @group: (allow-none): a new group ID URI, or %NULL
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* Sets the #GDataContactsQuery:group property of the #GDataContactsQuery to the new group ID URI, @group.
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* Set @group to %NULL to unset the property in the query URI.
|
|
Packit |
4b6dd7 |
*
|
|
Packit |
4b6dd7 |
* Since: 0.2.0
|
|
Packit |
4b6dd7 |
*/
|
|
Packit |
4b6dd7 |
void
|
|
Packit |
4b6dd7 |
gdata_contacts_query_set_group (GDataContactsQuery *self, const gchar *group)
|
|
Packit |
4b6dd7 |
{
|
|
Packit |
4b6dd7 |
g_return_if_fail (GDATA_IS_CONTACTS_QUERY (self));
|
|
Packit |
4b6dd7 |
|
|
Packit |
4b6dd7 |
g_free (self->priv->group);
|
|
Packit |
4b6dd7 |
self->priv->group = g_strdup (group);
|
|
Packit |
4b6dd7 |
g_object_notify (G_OBJECT (self), "group");
|
|
Packit |
4b6dd7 |
|
|
Packit |
4b6dd7 |
/* Our current ETag will no longer be relevant */
|
|
Packit |
4b6dd7 |
gdata_query_set_etag (GDATA_QUERY (self), NULL);
|
|
Packit |
4b6dd7 |
}
|