Blob Blame History Raw
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GDataContactsService: GData Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="GData Reference Manual">
<link rel="up" href="ch15.html" title="Google Contacts API">
<link rel="prev" href="ch15.html" title="Google Contacts API">
<link rel="next" href="GDataContactsQuery.html" title="GDataContactsQuery">
<meta name="generator" content="GTK-Doc V1.26.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
                  <a href="#GDataContactsService.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
                  <a href="#GDataContactsService.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
                  <a href="#GDataContactsService.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="ch15.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="ch15.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="GDataContactsQuery.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="GDataContactsService"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="GDataContactsService.top_of_page"></a>GDataContactsService</span></h2>
<p>GDataContactsService — GData Contacts service object</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="GDataContactsService.stability-level"></a><h2>Stability Level</h2>
<acronym title="The intention of a Stable interface is to enable arbitrary third parties to
develop applications to these interfaces, release them, and have confidence that
they will run on all minor releases of the product (after the one in which the
interface was introduced, and within the same major release). Even at a major
release, incompatible changes are expected to be rare, and to have strong
justifications.
"><span class="acronym">Stable</span></acronym>, unless otherwise indicated
</div>
<div class="refsect1">
<a name="GDataContactsService.functions"></a><h2>Functions</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
</colgroup>
<tbody>
<tr>
<td class="function_type">
<a class="link" href="GDataContactsService.html" title="GDataContactsService"><span class="returnvalue">GDataContactsService</span></a> *
</td>
<td class="function_name">
<a class="link" href="GDataContactsService.html#gdata-contacts-service-new" title="gdata_contacts_service_new ()">gdata_contacts_service_new</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GDataAuthorizationDomain.html" title="GDataAuthorizationDomain"><span class="returnvalue">GDataAuthorizationDomain</span></a> *
</td>
<td class="function_name">
<a class="link" href="GDataContactsService.html#gdata-contacts-service-get-primary-authorization-domain" title="gdata_contacts_service_get_primary_authorization_domain ()">gdata_contacts_service_get_primary_authorization_domain</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GDataFeed.html" title="GDataFeed"><span class="returnvalue">GDataFeed</span></a> *
</td>
<td class="function_name">
<a class="link" href="GDataContactsService.html#gdata-contacts-service-query-contacts" title="gdata_contacts_service_query_contacts ()">gdata_contacts_service_query_contacts</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GDataContactsService.html#gdata-contacts-service-query-contacts-async" title="gdata_contacts_service_query_contacts_async ()">gdata_contacts_service_query_contacts_async</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GDataContactsContact.html" title="GDataContactsContact"><span class="returnvalue">GDataContactsContact</span></a> *
</td>
<td class="function_name">
<a class="link" href="GDataContactsService.html#gdata-contacts-service-insert-contact" title="gdata_contacts_service_insert_contact ()">gdata_contacts_service_insert_contact</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GDataContactsService.html#gdata-contacts-service-insert-contact-async" title="gdata_contacts_service_insert_contact_async ()">gdata_contacts_service_insert_contact_async</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GDataFeed.html" title="GDataFeed"><span class="returnvalue">GDataFeed</span></a> *
</td>
<td class="function_name">
<a class="link" href="GDataContactsService.html#gdata-contacts-service-query-groups" title="gdata_contacts_service_query_groups ()">gdata_contacts_service_query_groups</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GDataContactsService.html#gdata-contacts-service-query-groups-async" title="gdata_contacts_service_query_groups_async ()">gdata_contacts_service_query_groups_async</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GDataContactsGroup.html" title="GDataContactsGroup"><span class="returnvalue">GDataContactsGroup</span></a> *
</td>
<td class="function_name">
<a class="link" href="GDataContactsService.html#gdata-contacts-service-insert-group" title="gdata_contacts_service_insert_group ()">gdata_contacts_service_insert_group</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GDataContactsService.html#gdata-contacts-service-insert-group-async" title="gdata_contacts_service_insert_group_async ()">gdata_contacts_service_insert_group_async</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="GDataContactsService.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
</colgroup>
<tbody>
<tr>
<td class="datatype_keyword"> </td>
<td class="function_name"><a class="link" href="GDataContactsService.html#GDataContactsService-struct" title="GDataContactsService">GDataContactsService</a></td>
</tr>
<tr>
<td class="datatype_keyword"> </td>
<td class="function_name"><a class="link" href="GDataContactsService.html#GDataContactsServiceClass" title="GDataContactsServiceClass">GDataContactsServiceClass</a></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="GDataContactsService.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="screen">    <a href="../gobject/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
    <span class="lineart">╰──</span> <a class="link" href="GDataService.html" title="GDataService">GDataService</a>
        <span class="lineart">╰──</span> GDataContactsService
</pre>
</div>
<div class="refsect1">
<a name="GDataContactsService.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
<p>
GDataContactsService implements
 <a class="link" href="GDataBatchable.html" title="GDataBatchable">GDataBatchable</a>.</p>
</div>
<div class="refsect1">
<a name="GDataContactsService.includes"></a><h2>Includes</h2>
<pre class="synopsis">#include &lt;gdata/services/contacts/gdata-contacts-service.h&gt;
</pre>
</div>
<div class="refsect1">
<a name="GDataContactsService.description"></a><h2>Description</h2>
<p><a class="link" href="GDataContactsService.html" title="GDataContactsService"><span class="type">GDataContactsService</span></a> is a subclass of <a class="link" href="GDataService.html" title="GDataService"><span class="type">GDataService</span></a> for communicating with the GData API of Google Contacts. It supports querying
for, inserting, editing and deleting contacts from a Google address book.</p>
<p>For more details of Google Contacts' GData API, see the <a class="ulink" href="http://code.google.com/apis/contacts/docs/2.0/reference.html" target="_top">
online documentation</a>.</p>
<div class="example">
<a name="id-1.5.4.2.9.4"></a><p class="title"><b>Example 20. Querying for Groups</b></p>
<div class="example-contents">
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
    <tbody>
      <tr>
        <td class="listing_lines" align="right"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37</pre></td>
        <td class="listing_code"><pre class="programlisting"><span class="usertype">GDataContactsService</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">service</span><span class="symbol">;</span>
<span class="usertype">GDataFeed</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">feed</span><span class="symbol">;</span>
<span class="usertype">GList</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">i</span><span class="symbol">;</span>
<span class="usertype">GError</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">error </span><span class="symbol">=</span><span class="normal"> <a href="../glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">;</span>

<span class="comment">/* Create a service */</span>
<span class="normal">service </span><span class="symbol">=</span><span class="normal"> </span><span class="function">create_contacts_service</span><span class="normal"> </span><span class="symbol">();</span>

<span class="comment">/* Query for groups */</span>
<span class="normal">feed </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GDataContactsService.html#gdata-contacts-service-query-groups">gdata_contacts_service_query_groups</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">service</span><span class="symbol">,</span><span class="normal"> <a href="../glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span><span class="normal"> <a href="../glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span><span class="normal"> <a href="../glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span><span class="normal"> <a href="../glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&amp;</span><span class="normal">error</span><span class="symbol">);</span>

<span class="function"><a href="../gobject/gobject-The-Base-Object-Type.html#g-object-unref">g_object_unref</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">service</span><span class="symbol">);</span>

<span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">error </span><span class="symbol">!=</span><span class="normal"> <a href="../glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">)</span><span class="normal"> </span><span class="cbracket">{</span>
<span class="normal">    </span><span class="function"><a href="../glib/glib-Message-Logging.html#g-error">g_error</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"Error querying for groups: %s"</span><span class="symbol">,</span><span class="normal"> error</span><span class="symbol">-&gt;</span><span class="normal">message</span><span class="symbol">);</span>
<span class="normal">    </span><span class="function"><a href="../glib/glib-Error-Reporting.html#g-error-free">g_error_free</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">error</span><span class="symbol">);</span>
<span class="normal">    </span><span class="keyword">return</span><span class="symbol">;</span>
<span class="cbracket">}</span>

<span class="comment">/* Iterate through the returned groups and do something with them */</span>
<span class="keyword">for</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">i </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GDataFeed.html#gdata-feed-get-entries">gdata_feed_get_entries</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">feed</span><span class="symbol">);</span><span class="normal"> i </span><span class="symbol">!=</span><span class="normal"> <a href="../glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">;</span><span class="normal"> i </span><span class="symbol">=</span><span class="normal"> i</span><span class="symbol">-&gt;</span><span class="normal">next</span><span class="symbol">)</span><span class="normal"> </span><span class="cbracket">{</span>
<span class="normal">    </span><span class="keyword">const</span><span class="normal"> </span><span class="usertype">gchar</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">system_group_id</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">group_name</span><span class="symbol">;</span>
<span class="normal">    </span><span class="usertype">gboolean</span><span class="normal"> is_system_group</span><span class="symbol">;</span>
<span class="normal">    </span><span class="usertype">GDataContactsGroup</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">group </span><span class="symbol">=</span><span class="normal"> </span><span class="function">GDATA_CONTACTS_GROUP</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">i</span><span class="symbol">-&gt;</span><span class="normal">data</span><span class="symbol">);</span>

<span class="normal">    </span><span class="comment">/* Determine whether the group's a system group. If so, you should use the system group ID to provide your application's own</span>
<span class="comment">     * translations of the group name, as it's not translated. */</span>
<span class="normal">    system_group_id </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GDataContactsGroup.html#gdata-contacts-group-get-system-group-id">gdata_contacts_group_get_system_group_id</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">group</span><span class="symbol">);</span>
<span class="normal">    is_system_group </span><span class="symbol">=</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">system_group_id </span><span class="symbol">!=</span><span class="normal"> <a href="../glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">)</span><span class="normal"> </span><span class="symbol">?</span><span class="normal"> <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS">TRUE</a> </span><span class="symbol">:</span><span class="normal"> <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS">FALSE</a></span><span class="symbol">;</span>
<span class="normal">    group_name </span><span class="symbol">=</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">is_system_group </span><span class="symbol">==</span><span class="normal"> <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS">TRUE</a></span><span class="symbol">)</span><span class="normal"> </span><span class="symbol">?</span><span class="normal"> </span><span class="function">get_group_name_for_system_group_id</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">system_group_id</span><span class="symbol">)</span>
<span class="normal">                                           </span><span class="symbol">:</span><span class="normal"> </span><span class="function"><a href="GDataEntry.html#gdata-entry-get-title">gdata_entry_get_title</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">GDATA_ENTRY</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">group</span><span class="symbol">));</span>

<span class="normal">    </span><span class="comment">/* Do something with the group here, such as insert it into a UI. Note that system groups are not allowed to be deleted,</span>
<span class="comment">     * so you may want to make certain parts of your UI insensitive accordingly if the group is a system group. */</span>
<span class="cbracket">}</span>

<span class="function"><a href="../gobject/gobject-The-Base-Object-Type.html#g-object-unref">g_object_unref</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">feed</span><span class="symbol">);</span></pre></td>
      </tr>
    </tbody>
  </table>
</div>

</div>
<br class="example-break"><p>The Contacts service can be manipulated using batch operations, too. See the</p>
<a class="ulink" href="http://code.google.com/apis/contacts/docs/3.0/developers_guide_protocol.html#Batch" target="_top">online documentation on batch
operations</a> for more information.
<div class="example">
<a name="id-1.5.4.2.9.7"></a><p class="title"><b>Example 21. Performing a Batch Operation on Contacts</b></p>
<div class="example-contents">
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
    <tbody>
      <tr>
        <td class="listing_lines" align="right"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60</pre></td>
        <td class="listing_code"><pre class="programlisting"><span class="usertype">GDataContactsService</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">service</span><span class="symbol">;</span>
<span class="usertype">GDataBatchOperation</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">operation</span><span class="symbol">;</span>
<span class="usertype">GDataFeed</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">feed</span><span class="symbol">;</span>
<span class="usertype">GDataLink</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">batch_link</span><span class="symbol">;</span>
<span class="usertype">GList</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">i</span><span class="symbol">;</span>
<span class="usertype">GError</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">error </span><span class="symbol">=</span><span class="normal"> <a href="../glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">;</span>

<span class="comment">/* Create a service */</span>
<span class="normal">service </span><span class="symbol">=</span><span class="normal"> </span><span class="function">create_contacts_service</span><span class="normal"> </span><span class="symbol">();</span>

<span class="comment">/* Create the batch operation; this requires that we have done a query first so that we can get the batch link */</span>
<span class="normal">feed </span><span class="symbol">=</span><span class="normal"> </span><span class="function">do_some_query</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">service</span><span class="symbol">);</span>
<span class="normal">batch_link </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GDataFeed.html#gdata-feed-look-up-link">gdata_feed_look_up_link</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">feed</span><span class="symbol">,</span><span class="normal"> <a href="GDataLink.html#GDATA-LINK-BATCH:CAPS">GDATA_LINK_BATCH</a></span><span class="symbol">);</span>
<span class="normal">operation </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GDataBatchable.html#gdata-batchable-create-operation">gdata_batchable_create_operation</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">GDATA_BATCHABLE</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">service</span><span class="symbol">),</span><span class="normal"> </span><span class="function"><a href="GDataLink.html#gdata-link-get-uri">gdata_link_get_uri</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">batch_link</span><span class="symbol">));</span>
<span class="function"><a href="../gobject/gobject-The-Base-Object-Type.html#g-object-unref">g_object_unref</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">feed</span><span class="symbol">);</span>

<span class="function"><a href="GDataBatchOperation.html#gdata-batch-operation-add-query">gdata_batch_operation_add_query</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">operation</span><span class="symbol">,</span><span class="normal"> contact_entry_id_to_query</span><span class="symbol">,</span><span class="normal"> GDATA_TYPE_CONTACTS_CONTACT</span><span class="symbol">,</span>
<span class="normal">                                 </span><span class="symbol">(</span><span class="normal"><a href="GDataBatchOperation.html#GDataBatchOperationCallback">GDataBatchOperationCallback</a></span><span class="symbol">)</span><span class="normal"> batch_query_cb</span><span class="symbol">,</span><span class="normal"> user_data</span><span class="symbol">);</span>
<span class="function"><a href="GDataBatchOperation.html#gdata-batch-operation-add-insertion">gdata_batch_operation_add_insertion</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">operation</span><span class="symbol">,</span><span class="normal"> new_entry</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">(</span><span class="normal"><a href="GDataBatchOperation.html#GDataBatchOperationCallback">GDataBatchOperationCallback</a></span><span class="symbol">)</span><span class="normal"> batch_insertion_cb</span><span class="symbol">,</span><span class="normal"> user_data</span><span class="symbol">);</span>
<span class="function"><a href="GDataBatchOperation.html#gdata-batch-operation-add-update">gdata_batch_operation_add_update</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">operation</span><span class="symbol">,</span><span class="normal"> old_entry</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">(</span><span class="normal"><a href="GDataBatchOperation.html#GDataBatchOperationCallback">GDataBatchOperationCallback</a></span><span class="symbol">)</span><span class="normal"> batch_update_cb</span><span class="symbol">,</span><span class="normal"> user_data</span><span class="symbol">);</span>
<span class="function"><a href="GDataBatchOperation.html#gdata-batch-operation-add-deletion">gdata_batch_operation_add_deletion</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">operation</span><span class="symbol">,</span><span class="normal"> entry_to_delete</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">(</span><span class="normal"><a href="GDataBatchOperation.html#GDataBatchOperationCallback">GDataBatchOperationCallback</a></span><span class="symbol">)</span><span class="normal"> batch_deletion_cb</span><span class="symbol">,</span><span class="normal"> user_data</span><span class="symbol">);</span>

<span class="comment">/* Run the batch operation and handle the results in the various callbacks */</span>
<span class="function">gdata_test_batch_operation_run</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">operation</span><span class="symbol">,</span><span class="normal"> <a href="../glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&amp;</span><span class="normal">error</span><span class="symbol">);</span>

<span class="function"><a href="../gobject/gobject-The-Base-Object-Type.html#g-object-unref">g_object_unref</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">operation</span><span class="symbol">);</span>
<span class="function"><a href="../gobject/gobject-The-Base-Object-Type.html#g-object-unref">g_object_unref</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">service</span><span class="symbol">);</span>

<span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">error </span><span class="symbol">!=</span><span class="normal"> <a href="../glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">)</span><span class="normal"> </span><span class="cbracket">{</span>
<span class="normal">    </span><span class="function"><a href="../glib/glib-Message-Logging.html#g-error">g_error</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"Error running batch operation: %s"</span><span class="symbol">,</span><span class="normal"> error</span><span class="symbol">-&gt;</span><span class="normal">message</span><span class="symbol">);</span>
<span class="normal">    </span><span class="function"><a href="../glib/glib-Error-Reporting.html#g-error-free">g_error_free</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">error</span><span class="symbol">);</span>
<span class="normal">    </span><span class="keyword">return</span><span class="symbol">;</span>
<span class="cbracket">}</span>

<span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
<span class="function">batch_query_cb</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">guint</span><span class="normal"> operation_id</span><span class="symbol">,</span><span class="normal"> </span><span class="usertype">GDataBatchOperationType</span><span class="normal"> operation_type</span><span class="symbol">,</span><span class="normal"> </span><span class="usertype">GDataEntry</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">entry</span><span class="symbol">,</span><span class="normal"> </span><span class="usertype">GError</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">error</span><span class="symbol">,</span><span class="normal"> </span><span class="usertype">gpointer</span><span class="normal"> user_data</span><span class="symbol">)</span>
<span class="cbracket">{</span>
<span class="normal">    </span><span class="comment">/* operation_type == GDATA_BATCH_OPERATION_QUERY */</span>
<span class="normal">    </span><span class="comment">/* Reference and do something with the returned entry. */</span>
<span class="cbracket">}</span>

<span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
<span class="function">batch_insertion_cb</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">guint</span><span class="normal"> operation_id</span><span class="symbol">,</span><span class="normal"> </span><span class="usertype">GDataBatchOperationType</span><span class="normal"> operation_type</span><span class="symbol">,</span><span class="normal"> </span><span class="usertype">GDataEntry</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">entry</span><span class="symbol">,</span><span class="normal"> </span><span class="usertype">GError</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">error</span><span class="symbol">,</span><span class="normal"> </span><span class="usertype">gpointer</span><span class="normal"> user_data</span><span class="symbol">)</span>
<span class="cbracket">{</span>
<span class="normal">    </span><span class="comment">/* operation_type == GDATA_BATCH_OPERATION_INSERTION */</span>
<span class="normal">    </span><span class="comment">/* Reference and do something with the returned entry. */</span>
<span class="cbracket">}</span>

<span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
<span class="function">batch_update_cb</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">guint</span><span class="normal"> operation_id</span><span class="symbol">,</span><span class="normal"> </span><span class="usertype">GDataBatchOperationType</span><span class="normal"> operation_type</span><span class="symbol">,</span><span class="normal"> </span><span class="usertype">GDataEntry</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">entry</span><span class="symbol">,</span><span class="normal"> </span><span class="usertype">GError</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">error</span><span class="symbol">,</span><span class="normal"> </span><span class="usertype">gpointer</span><span class="normal"> user_data</span><span class="symbol">)</span>
<span class="cbracket">{</span>
<span class="normal">    </span><span class="comment">/* operation_type == GDATA_BATCH_OPERATION_UPDATE */</span>
<span class="normal">    </span><span class="comment">/* Reference and do something with the returned entry. */</span>
<span class="cbracket">}</span>

<span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
<span class="function">batch_deletion_cb</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">guint</span><span class="normal"> operation_id</span><span class="symbol">,</span><span class="normal"> </span><span class="usertype">GDataBatchOperationType</span><span class="normal"> operation_type</span><span class="symbol">,</span><span class="normal"> </span><span class="usertype">GDataEntry</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">entry</span><span class="symbol">,</span><span class="normal"> </span><span class="usertype">GError</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">error</span><span class="symbol">,</span><span class="normal"> </span><span class="usertype">gpointer</span><span class="normal"> user_data</span><span class="symbol">)</span>
<span class="cbracket">{</span>
<span class="normal">    </span><span class="comment">/* operation_type == GDATA_BATCH_OPERATION_DELETION, entry == NULL */</span>
<span class="cbracket">}</span></pre></td>
      </tr>
    </tbody>
  </table>
</div>

</div>
<br class="example-break">
</div>
<div class="refsect1">
<a name="GDataContactsService.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="gdata-contacts-service-new"></a><h3>gdata_contacts_service_new ()</h3>
<pre class="programlisting"><a class="link" href="GDataContactsService.html" title="GDataContactsService"><span class="returnvalue">GDataContactsService</span></a> *
gdata_contacts_service_new (<em class="parameter"><code><a class="link" href="GDataAuthorizer.html" title="GDataAuthorizer"><span class="type">GDataAuthorizer</span></a> *authorizer</code></em>);</pre>
<p>Creates a new <a class="link" href="GDataContactsService.html" title="GDataContactsService"><span class="type">GDataContactsService</span></a> using the given <a class="link" href="GDataAuthorizer.html" title="GDataAuthorizer"><span class="type">GDataAuthorizer</span></a>. If <em class="parameter"><code>authorizer</code></em>
 is <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, all requests are made as an unauthenticated user.</p>
<div class="refsect3">
<a name="gdata-contacts-service-new.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>authorizer</p></td>
<td class="parameter_description"><p>a <a class="link" href="GDataAuthorizer.html" title="GDataAuthorizer"><span class="type">GDataAuthorizer</span></a> to authorize the service's requests, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gdata-contacts-service-new.returns"></a><h4>Returns</h4>
<p> a new <a class="link" href="GDataContactsService.html" title="GDataContactsService"><span class="type">GDataContactsService</span></a>, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>; unref with <a href="../gobject/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a></p>
</div>
<p class="since">Since: <a class="link" href="ix11.html#api-index-0.9.0">0.9.0</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gdata-contacts-service-get-primary-authorization-domain"></a><h3>gdata_contacts_service_get_primary_authorization_domain ()</h3>
<pre class="programlisting"><a class="link" href="GDataAuthorizationDomain.html" title="GDataAuthorizationDomain"><span class="returnvalue">GDataAuthorizationDomain</span></a> *
gdata_contacts_service_get_primary_authorization_domain
                               (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>The primary <a class="link" href="GDataAuthorizationDomain.html" title="GDataAuthorizationDomain"><span class="type">GDataAuthorizationDomain</span></a> for interacting with Google Contacts. This will not normally need to be used, as it's used internally
by the <a class="link" href="GDataContactsService.html" title="GDataContactsService"><span class="type">GDataContactsService</span></a> methods. However, if using the plain <a class="link" href="GDataService.html" title="GDataService"><span class="type">GDataService</span></a> methods to implement custom queries or requests which libgdata
does not support natively, then this domain may be needed to authorize the requests.</p>
<p>The domain never changes, and is interned so that pointer comparison can be used to differentiate it from other authorization domains.</p>
<div class="refsect3">
<a name="gdata-contacts-service-get-primary-authorization-domain.returns"></a><h4>Returns</h4>
<p>the service's authorization domain. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
<p class="since">Since: <a class="link" href="ix11.html#api-index-0.9.0">0.9.0</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gdata-contacts-service-query-contacts"></a><h3>gdata_contacts_service_query_contacts ()</h3>
<pre class="programlisting"><a class="link" href="GDataFeed.html" title="GDataFeed"><span class="returnvalue">GDataFeed</span></a> *
gdata_contacts_service_query_contacts (<em class="parameter"><code><a class="link" href="GDataContactsService.html" title="GDataContactsService"><span class="type">GDataContactsService</span></a> *self</code></em>,
                                       <em class="parameter"><code><a class="link" href="GDataQuery.html" title="GDataQuery"><span class="type">GDataQuery</span></a> *query</code></em>,
                                       <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                       <em class="parameter"><code><a class="link" href="GDataService.html#GDataQueryProgressCallback" title="GDataQueryProgressCallback ()"><span class="type">GDataQueryProgressCallback</span></a> progress_callback</code></em>,
                                       <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> progress_user_data</code></em>,
                                       <em class="parameter"><code><a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
<p>Queries the service to return a list of contacts matching the given <em class="parameter"><code>query</code></em>
.</p>
<p>For more details, see <a class="link" href="GDataService.html#gdata-service-query" title="gdata_service_query ()"><code class="function">gdata_service_query()</code></a>.</p>
<div class="refsect3">
<a name="gdata-contacts-service-query-contacts.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>a <a class="link" href="GDataContactsService.html" title="GDataContactsService"><span class="type">GDataContactsService</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>query</p></td>
<td class="parameter_description"><p>a <a class="link" href="GDataQuery.html" title="GDataQuery"><span class="type">GDataQuery</span></a> with the query parameters, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>optional <span class="type">GCancellable</span> object, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>progress_callback</p></td>
<td class="parameter_description"><p>a <a class="link" href="GDataService.html#GDataQueryProgressCallback" title="GDataQueryProgressCallback ()"><span class="type">GDataQueryProgressCallback</span></a> to call when an entry is loaded, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="The callback is valid only during the call to the method."><span class="acronym">scope call</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym> progress_user_data]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>progress_user_data</p></td>
<td class="parameter_description"><p>data to pass to the <em class="parameter"><code>progress_callback</code></em>
function. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>a <a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gdata-contacts-service-query-contacts.returns"></a><h4>Returns</h4>
<p>a <a class="link" href="GDataFeed.html" title="GDataFeed"><span class="type">GDataFeed</span></a> of query results; unref with <a href="../gobject/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
<p class="since">Since: <a class="link" href="ix04.html#api-index-0.2.0">0.2.0</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gdata-contacts-service-query-contacts-async"></a><h3>gdata_contacts_service_query_contacts_async ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gdata_contacts_service_query_contacts_async
                               (<em class="parameter"><code><a class="link" href="GDataContactsService.html" title="GDataContactsService"><span class="type">GDataContactsService</span></a> *self</code></em>,
                                <em class="parameter"><code><a class="link" href="GDataQuery.html" title="GDataQuery"><span class="type">GDataQuery</span></a> *query</code></em>,
                                <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                <em class="parameter"><code><a class="link" href="GDataService.html#GDataQueryProgressCallback" title="GDataQueryProgressCallback ()"><span class="type">GDataQueryProgressCallback</span></a> progress_callback</code></em>,
                                <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> progress_user_data</code></em>,
                                <em class="parameter"><code><a href="../glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> destroy_progress_user_data</code></em>,
                                <em class="parameter"><code><span class="type">GAsyncReadyCallback</span> callback</code></em>,
                                <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
<p>Queries the service to return a list of contacts matching the given <em class="parameter"><code>query</code></em>
. <em class="parameter"><code>self</code></em>
 and
<em class="parameter"><code>query</code></em>
 are all reffed when this function is called, so can safely be unreffed after this function returns.</p>
<p>For more details, see <a class="link" href="GDataContactsService.html#gdata-contacts-service-query-contacts" title="gdata_contacts_service_query_contacts ()"><code class="function">gdata_contacts_service_query_contacts()</code></a>, which is the synchronous version of this function,
and <a class="link" href="GDataService.html#gdata-service-query-async" title="gdata_service_query_async ()"><code class="function">gdata_service_query_async()</code></a>, which is the base asynchronous query function.</p>
<div class="refsect3">
<a name="gdata-contacts-service-query-contacts-async.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>a <a class="link" href="GDataContactsService.html" title="GDataContactsService"><span class="type">GDataContactsService</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>query</p></td>
<td class="parameter_description"><p>a <a class="link" href="GDataQuery.html" title="GDataQuery"><span class="type">GDataQuery</span></a> with the query parameters, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>optional <span class="type">GCancellable</span> object, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>progress_callback</p></td>
<td class="parameter_description"><p>a <a class="link" href="GDataService.html#GDataQueryProgressCallback" title="GDataQueryProgressCallback ()"><span class="type">GDataQueryProgressCallback</span></a> to call when an entry is loaded, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym> progress_user_data]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>progress_user_data</p></td>
<td class="parameter_description"><p>data to pass to the <em class="parameter"><code>progress_callback</code></em>
function. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>destroy_progress_user_data</p></td>
<td class="parameter_description"><p>the function to call when <em class="parameter"><code>progress_callback</code></em>
will not be called any more, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. This function will be
called with <em class="parameter"><code>progress_user_data</code></em>
as a parameter and can be used to free any memory allocated for it. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description"><p>a <span class="type">GAsyncReadyCallback</span> to call when the query is finished</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>data to pass to the <em class="parameter"><code>callback</code></em>
function. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix12.html#api-index-0.9.1">0.9.1</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gdata-contacts-service-insert-contact"></a><h3>gdata_contacts_service_insert_contact ()</h3>
<pre class="programlisting"><a class="link" href="GDataContactsContact.html" title="GDataContactsContact"><span class="returnvalue">GDataContactsContact</span></a> *
gdata_contacts_service_insert_contact (<em class="parameter"><code><a class="link" href="GDataContactsService.html" title="GDataContactsService"><span class="type">GDataContactsService</span></a> *self</code></em>,
                                       <em class="parameter"><code><a class="link" href="GDataContactsContact.html" title="GDataContactsContact"><span class="type">GDataContactsContact</span></a> *contact</code></em>,
                                       <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                       <em class="parameter"><code><a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
<p>Inserts <em class="parameter"><code>contact</code></em>
 by uploading it to the online contacts service.</p>
<p>For more details, see <a class="link" href="GDataService.html#gdata-service-insert-entry" title="gdata_service_insert_entry ()"><code class="function">gdata_service_insert_entry()</code></a>.</p>
<div class="refsect3">
<a name="gdata-contacts-service-insert-contact.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>a <a class="link" href="GDataContactsService.html" title="GDataContactsService"><span class="type">GDataContactsService</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>contact</p></td>
<td class="parameter_description"><p>the <a class="link" href="GDataContactsContact.html" title="GDataContactsContact"><span class="type">GDataContactsContact</span></a> to insert</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>optional <span class="type">GCancellable</span> object, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>a <a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gdata-contacts-service-insert-contact.returns"></a><h4>Returns</h4>
<p>an updated <a class="link" href="GDataContactsContact.html" title="GDataContactsContact"><span class="type">GDataContactsContact</span></a>, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>; unref with <a href="../gobject/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
<p class="since">Since: <a class="link" href="ix04.html#api-index-0.2.0">0.2.0</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gdata-contacts-service-insert-contact-async"></a><h3>gdata_contacts_service_insert_contact_async ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gdata_contacts_service_insert_contact_async
                               (<em class="parameter"><code><a class="link" href="GDataContactsService.html" title="GDataContactsService"><span class="type">GDataContactsService</span></a> *self</code></em>,
                                <em class="parameter"><code><a class="link" href="GDataContactsContact.html" title="GDataContactsContact"><span class="type">GDataContactsContact</span></a> *contact</code></em>,
                                <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                <em class="parameter"><code><span class="type">GAsyncReadyCallback</span> callback</code></em>,
                                <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
<p>Inserts <em class="parameter"><code>contact</code></em>
 by uploading it to the online contacts service. <em class="parameter"><code>self</code></em>
 and <em class="parameter"><code>contact</code></em>
 are both reffed when this function is called, so can safely be
unreffed after this function returns.</p>
<p><em class="parameter"><code>callback</code></em>
 should call <a class="link" href="GDataService.html#gdata-service-insert-entry-finish" title="gdata_service_insert_entry_finish ()"><code class="function">gdata_service_insert_entry_finish()</code></a> to obtain a <a class="link" href="GDataContactsContact.html" title="GDataContactsContact"><span class="type">GDataContactsContact</span></a> representing the inserted contact and to check for
possible errors.</p>
<p>For more details, see <a class="link" href="GDataContactsService.html#gdata-contacts-service-insert-contact" title="gdata_contacts_service_insert_contact ()"><code class="function">gdata_contacts_service_insert_contact()</code></a>, which is the synchronous version of this function,
and <a class="link" href="GDataService.html#gdata-service-insert-entry-async" title="gdata_service_insert_entry_async ()"><code class="function">gdata_service_insert_entry_async()</code></a>, which is the base asynchronous insertion function.</p>
<div class="refsect3">
<a name="gdata-contacts-service-insert-contact-async.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>a <a class="link" href="GDataContactsService.html" title="GDataContactsService"><span class="type">GDataContactsService</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>contact</p></td>
<td class="parameter_description"><p>the <a class="link" href="GDataContactsContact.html" title="GDataContactsContact"><span class="type">GDataContactsContact</span></a> to insert</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>optional <span class="type">GCancellable</span> object, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description"><p>a <span class="type">GAsyncReadyCallback</span> to call when insertion is finished</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>data to pass to the <em class="parameter"><code>callback</code></em>
function. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix09.html#api-index-0.7.0">0.7.0</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gdata-contacts-service-query-groups"></a><h3>gdata_contacts_service_query_groups ()</h3>
<pre class="programlisting"><a class="link" href="GDataFeed.html" title="GDataFeed"><span class="returnvalue">GDataFeed</span></a> *
gdata_contacts_service_query_groups (<em class="parameter"><code><a class="link" href="GDataContactsService.html" title="GDataContactsService"><span class="type">GDataContactsService</span></a> *self</code></em>,
                                     <em class="parameter"><code><a class="link" href="GDataQuery.html" title="GDataQuery"><span class="type">GDataQuery</span></a> *query</code></em>,
                                     <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                     <em class="parameter"><code><a class="link" href="GDataService.html#GDataQueryProgressCallback" title="GDataQueryProgressCallback ()"><span class="type">GDataQueryProgressCallback</span></a> progress_callback</code></em>,
                                     <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> progress_user_data</code></em>,
                                     <em class="parameter"><code><a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
<p>Queries the service to return a list of groups matching the given <em class="parameter"><code>query</code></em>
.</p>
<p>For more details, see <a class="link" href="GDataService.html#gdata-service-query" title="gdata_service_query ()"><code class="function">gdata_service_query()</code></a>.</p>
<div class="refsect3">
<a name="gdata-contacts-service-query-groups.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>a <a class="link" href="GDataContactsService.html" title="GDataContactsService"><span class="type">GDataContactsService</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>query</p></td>
<td class="parameter_description"><p>a <a class="link" href="GDataQuery.html" title="GDataQuery"><span class="type">GDataQuery</span></a> with the query parameters, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>optional <span class="type">GCancellable</span> object, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>progress_callback</p></td>
<td class="parameter_description"><p>a <a class="link" href="GDataService.html#GDataQueryProgressCallback" title="GDataQueryProgressCallback ()"><span class="type">GDataQueryProgressCallback</span></a> to call when an entry is loaded, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="The callback is valid only during the call to the method."><span class="acronym">scope call</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym> progress_user_data]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>progress_user_data</p></td>
<td class="parameter_description"><p>data to pass to the <em class="parameter"><code>progress_callback</code></em>
function. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>a <a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gdata-contacts-service-query-groups.returns"></a><h4>Returns</h4>
<p>a <a class="link" href="GDataFeed.html" title="GDataFeed"><span class="type">GDataFeed</span></a> of query results; unref with <a href="../gobject/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
<p class="since">Since: <a class="link" href="ix09.html#api-index-0.7.0">0.7.0</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gdata-contacts-service-query-groups-async"></a><h3>gdata_contacts_service_query_groups_async ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gdata_contacts_service_query_groups_async
                               (<em class="parameter"><code><a class="link" href="GDataContactsService.html" title="GDataContactsService"><span class="type">GDataContactsService</span></a> *self</code></em>,
                                <em class="parameter"><code><a class="link" href="GDataQuery.html" title="GDataQuery"><span class="type">GDataQuery</span></a> *query</code></em>,
                                <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                <em class="parameter"><code><a class="link" href="GDataService.html#GDataQueryProgressCallback" title="GDataQueryProgressCallback ()"><span class="type">GDataQueryProgressCallback</span></a> progress_callback</code></em>,
                                <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> progress_user_data</code></em>,
                                <em class="parameter"><code><a href="../glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> destroy_progress_user_data</code></em>,
                                <em class="parameter"><code><span class="type">GAsyncReadyCallback</span> callback</code></em>,
                                <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
<p>Queries the service to return a list of groups matching the given <em class="parameter"><code>query</code></em>
. <em class="parameter"><code>self</code></em>
 and <em class="parameter"><code>query</code></em>
 are all reffed when this function is called, so can
safely be unreffed after this function returns.</p>
<p>For more details, see <a class="link" href="GDataContactsService.html#gdata-contacts-service-query-groups" title="gdata_contacts_service_query_groups ()"><code class="function">gdata_contacts_service_query_groups()</code></a>, which is the synchronous version of this function, and <a class="link" href="GDataService.html#gdata-service-query-async" title="gdata_service_query_async ()"><code class="function">gdata_service_query_async()</code></a>,
which is the base asynchronous query function.</p>
<div class="refsect3">
<a name="gdata-contacts-service-query-groups-async.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>a <a class="link" href="GDataContactsService.html" title="GDataContactsService"><span class="type">GDataContactsService</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>query</p></td>
<td class="parameter_description"><p>a <a class="link" href="GDataQuery.html" title="GDataQuery"><span class="type">GDataQuery</span></a> with the query parameters, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>optional <span class="type">GCancellable</span> object, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>progress_callback</p></td>
<td class="parameter_description"><p>a <a class="link" href="GDataService.html#GDataQueryProgressCallback" title="GDataQueryProgressCallback ()"><span class="type">GDataQueryProgressCallback</span></a> to call when an entry is loaded, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym> progress_user_data]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>progress_user_data</p></td>
<td class="parameter_description"><p>data to pass to the <em class="parameter"><code>progress_callback</code></em>
function. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>destroy_progress_user_data</p></td>
<td class="parameter_description"><p>the function to call when <em class="parameter"><code>progress_callback</code></em>
will not be called any more, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. This function will be
called with <em class="parameter"><code>progress_user_data</code></em>
as a parameter and can be used to free any memory allocated for it. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description"><p>a <span class="type">GAsyncReadyCallback</span> to call when the query is finished</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>data to pass to the <em class="parameter"><code>callback</code></em>
function. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix12.html#api-index-0.9.1">0.9.1</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gdata-contacts-service-insert-group"></a><h3>gdata_contacts_service_insert_group ()</h3>
<pre class="programlisting"><a class="link" href="GDataContactsGroup.html" title="GDataContactsGroup"><span class="returnvalue">GDataContactsGroup</span></a> *
gdata_contacts_service_insert_group (<em class="parameter"><code><a class="link" href="GDataContactsService.html" title="GDataContactsService"><span class="type">GDataContactsService</span></a> *self</code></em>,
                                     <em class="parameter"><code><a class="link" href="GDataContactsGroup.html" title="GDataContactsGroup"><span class="type">GDataContactsGroup</span></a> *group</code></em>,
                                     <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                     <em class="parameter"><code><a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
<p>Inserts a new contact group described by <em class="parameter"><code>group</code></em>
. The user must be authenticated to use this function.</p>
<div class="refsect3">
<a name="gdata-contacts-service-insert-group.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>a <a class="link" href="GDataContactsService.html" title="GDataContactsService"><span class="type">GDataContactsService</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>group</p></td>
<td class="parameter_description"><p>a <a class="link" href="GDataContactsGroup.html" title="GDataContactsGroup"><span class="type">GDataContactsGroup</span></a> to create on the server</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>optional <span class="type">GCancellable</span> object, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>a <a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gdata-contacts-service-insert-group.returns"></a><h4>Returns</h4>
<p>the inserted <a class="link" href="GDataContactsGroup.html" title="GDataContactsGroup"><span class="type">GDataContactsGroup</span></a>; unref with <a href="../gobject/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
<p class="since">Since: <a class="link" href="ix09.html#api-index-0.7.0">0.7.0</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gdata-contacts-service-insert-group-async"></a><h3>gdata_contacts_service_insert_group_async ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gdata_contacts_service_insert_group_async
                               (<em class="parameter"><code><a class="link" href="GDataContactsService.html" title="GDataContactsService"><span class="type">GDataContactsService</span></a> *self</code></em>,
                                <em class="parameter"><code><a class="link" href="GDataContactsGroup.html" title="GDataContactsGroup"><span class="type">GDataContactsGroup</span></a> *group</code></em>,
                                <em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
                                <em class="parameter"><code><span class="type">GAsyncReadyCallback</span> callback</code></em>,
                                <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
<p>Inserts a new contact group described by <em class="parameter"><code>group</code></em>
. The user must be authenticated to use this function. <em class="parameter"><code>self</code></em>
 and <em class="parameter"><code>group</code></em>
 are both reffed when this
function is called, so can safely be unreffed after this function returns.</p>
<p><em class="parameter"><code>callback</code></em>
 should call <a class="link" href="GDataService.html#gdata-service-insert-entry-finish" title="gdata_service_insert_entry_finish ()"><code class="function">gdata_service_insert_entry_finish()</code></a> to obtain a <a class="link" href="GDataContactsGroup.html" title="GDataContactsGroup"><span class="type">GDataContactsGroup</span></a> representing the inserted group and to check for possible
errors.</p>
<p>For more details, see <a class="link" href="GDataContactsService.html#gdata-contacts-service-insert-group" title="gdata_contacts_service_insert_group ()"><code class="function">gdata_contacts_service_insert_group()</code></a>, which is the synchronous version of this function, and
<a class="link" href="GDataService.html#gdata-service-insert-entry-async" title="gdata_service_insert_entry_async ()"><code class="function">gdata_service_insert_entry_async()</code></a>, which is the base asynchronous insertion function.</p>
<div class="refsect3">
<a name="gdata-contacts-service-insert-group-async.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>a <a class="link" href="GDataContactsService.html" title="GDataContactsService"><span class="type">GDataContactsService</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>group</p></td>
<td class="parameter_description"><p>the <a class="link" href="GDataContactsGroup.html" title="GDataContactsGroup"><span class="type">GDataContactsGroup</span></a> to insert</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cancellable</p></td>
<td class="parameter_description"><p>optional <span class="type">GCancellable</span> object, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>callback</p></td>
<td class="parameter_description"><p>a <span class="type">GAsyncReadyCallback</span> to call when insertion is finished</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>data to pass to the <em class="parameter"><code>callback</code></em>
function. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix09.html#api-index-0.7.0">0.7.0</a></p>
</div>
</div>
<div class="refsect1">
<a name="GDataContactsService.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="GDataContactsService-struct"></a><h3>GDataContactsService</h3>
<pre class="programlisting">typedef struct _GDataContactsService GDataContactsService;</pre>
<p>All the fields in the <a class="link" href="GDataContactsService.html" title="GDataContactsService"><span class="type">GDataContactsService</span></a> structure are private and should never be accessed directly.</p>
<p class="since">Since: <a class="link" href="ix04.html#api-index-0.2.0">0.2.0</a></p>
</div>
<hr>
<div class="refsect2">
<a name="GDataContactsServiceClass"></a><h3>GDataContactsServiceClass</h3>
<pre class="programlisting">typedef struct {
} GDataContactsServiceClass;
</pre>
<p>All the fields in the <a class="link" href="GDataContactsService.html#GDataContactsServiceClass" title="GDataContactsServiceClass"><span class="type">GDataContactsServiceClass</span></a> structure are private and should never be accessed directly.</p>
<p class="since">Since: <a class="link" href="ix04.html#api-index-0.2.0">0.2.0</a></p>
</div>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.26.1</div>
</body>
</html>