<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations.  -->
<repository version="1.2"
            xmlns="http://www.gtk.org/introspection/core/1.0"
            xmlns:c="http://www.gtk.org/introspection/c/1.0"
            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
  <include name="GLib" version="2.0"/>
  <include name="GObject" version="2.0"/>
  <include name="Gio" version="2.0"/>
  <include name="Soup" version="2.4"/>
  <include name="libxml2" version="2.0"/>
  <package name="libgdata"/>
  <c:include name="gdata/gdata.h"/>
  <namespace name="GData"
             version="0.0"
             shared-library="libgdata.so.3.0"
             c:identifier-prefixes="GData"
             c:symbol-prefixes="gdata">
    <constant name="ACCESS_ROLE_NONE" value="none">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="ACCESS_SCOPE_DEFAULT" value="default">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="ACCESS_SCOPE_DOMAIN" value="domain">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="ACCESS_SCOPE_USER" value="user">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <class name="APPCategories"
           c:symbol-prefix="app_categories"
           c:type="GDataAPPCategories"
           version="0.7.0"
           parent="Parsable"
           glib:type-name="GDataAPPCategories"
           glib:get-type="gdata_app_categories_get_type"
           glib:type-struct="APPCategoriesClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataAPPCategories structure are private and should never be accessed directly.</doc>
      <method name="get_categories"
              c:identifier="gdata_app_categories_get_categories"
              version="0.7.0">
        <doc xml:whitespace="preserve">Returns a list of the categories in this category list.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GList of #GDataCategory&lt;!-- --&gt;s</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Category"/>
          </type>
        </return-value>
      </method>
      <method name="is_fixed"
              c:identifier="gdata_app_categories_is_fixed"
              version="0.7.0">
        <doc xml:whitespace="preserve">Returns #GDataAPPCategories:is-fixed.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">whether entries may use categories not in this category list</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <property name="is-fixed" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <field name="parent" readable="0" private="1">
        <type name="Parsable" c:type="GDataParsable"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="APPCategoriesPrivate" c:type="GDataAPPCategoriesPrivate*"/>
      </field>
    </class>
    <record name="APPCategoriesClass"
            c:type="GDataAPPCategoriesClass"
            glib:is-gtype-struct-for="APPCategories"
            version="0.7.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataAPPCategoriesClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="ParsableClass" c:type="GDataParsableClass"/>
      </field>
    </record>
    <record name="APPCategoriesPrivate"
            c:type="GDataAPPCategoriesPrivate"
            disguised="1">
    </record>
    <interface name="AccessHandler"
               c:symbol-prefix="access_handler"
               c:type="GDataAccessHandler"
               version="0.3.0"
               glib:type-name="GDataAccessHandler"
               glib:get-type="gdata_access_handler_get_type"
               glib:type-struct="AccessHandlerIface">
      <doc xml:whitespace="preserve">All the fields in the #GDataAccessHandler structure are private and should never be accessed directly.</doc>
      <prerequisite name="Entry"/>
      <method name="get_rules"
              c:identifier="gdata_access_handler_get_rules"
              version="0.3.0"
              throws="1">
        <doc xml:whitespace="preserve">Retrieves a #GDataFeed containing all the access rules which apply to the given #GDataAccessHandler. Only the owner of a #GDataAccessHandler may
view its rule feed.
If @cancellable is not %NULL, then the operation can be cancelled by triggering the @cancellable object from another thread.
If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
A %GDATA_SERVICE_ERROR_PROTOCOL_ERROR will be returned if the server indicates there is a problem with the query.
For each rule in the response feed, @progress_callback will be called in the main thread. If there was an error parsing the XML response,
a #GDataParserError will be returned.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a #GDataFeed of access control rules, or %NULL; unref with g_object_unref()</doc>
          <type name="Feed" c:type="GDataFeed*"/>
        </return-value>
        <parameters>
          <parameter name="service" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GDataService</doc>
            <type name="Service" c:type="GDataService*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="progress_callback"
                     transfer-ownership="none"
                     scope="call"
                     closure="3">
            <doc xml:whitespace="preserve">a #GDataQueryProgressCallback to call when a rule is loaded, or %NULL</doc>
            <type name="QueryProgressCallback"
                  c:type="GDataQueryProgressCallback"/>
          </parameter>
          <parameter name="progress_user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @progress_callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_rules_async"
              c:identifier="gdata_access_handler_get_rules_async"
              version="0.7.0"
              introspectable="0">
        <doc xml:whitespace="preserve">Retrieves a #GDataFeed containing all the access rules which apply to the given #GDataAccessHandler. Only the owner of a #GDataAccessHandler may
view its rule feed. @self and @service are both reffed when this function is called, so can safely be unreffed after this function returns.
For more details, see gdata_access_handler_get_rules(), which is the synchronous version of this function, and gdata_service_query_async(), which
is the base asynchronous query function.
When the operation is finished, @callback will be called. You can then call gdata_service_query_finish()
to get the results of the operation.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="service" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GDataService</doc>
            <type name="Service" c:type="GDataService*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="progress_callback"
                     transfer-ownership="none"
                     closure="3">
            <doc xml:whitespace="preserve">a #GDataQueryProgressCallback to call when a rule is loaded, or %NULL</doc>
            <type name="QueryProgressCallback"
                  c:type="GDataQueryProgressCallback"/>
          </parameter>
          <parameter name="progress_user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @progress_callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="async"
                     closure="5">
            <doc xml:whitespace="preserve">a #GAsyncReadyCallback to call when the query is finished</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
    </interface>
    <record name="AccessHandlerIface"
            c:type="GDataAccessHandlerIface"
            glib:is-gtype-struct-for="AccessHandler"
            version="0.3.0">
      <doc xml:whitespace="preserve">The class structure for the #GDataAccessHandler interface.</doc>
      <field name="parent">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="is_owner_rule">
        <callback name="is_owner_rule">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="rule" transfer-ownership="none">
              <type name="AccessRule" c:type="GDataAccessRule*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="AccessRule"
           c:symbol-prefix="access_rule"
           c:type="GDataAccessRule"
           version="0.3.0"
           parent="Entry"
           glib:type-name="GDataAccessRule"
           glib:get-type="gdata_access_rule_get_type"
           glib:type-struct="AccessRuleClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataAccessRule structure are private and should never be accessed directly.</doc>
      <constructor name="new"
                   c:identifier="gdata_access_rule_new"
                   version="0.3.0">
        <doc xml:whitespace="preserve">Creates a new #GDataAccessRule with the given ID and default properties.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GDataAccessRule; unref with g_object_unref()</doc>
          <type name="AccessRule" c:type="GDataAccessRule*"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <doc xml:whitespace="preserve">the access rule's ID, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_edited"
              c:identifier="gdata_access_rule_get_edited"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets the #GDataAccessRule:edited property. If the property is unset, &lt;code class="literal"&gt;-1&lt;/code&gt; will be returned.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the UNIX timestamp for the time the access rule was last edited, or &lt;code class="literal"&gt;-1&lt;/code&gt;</doc>
          <type name="gint64" c:type="gint64"/>
        </return-value>
      </method>
      <method name="get_role"
              c:identifier="gdata_access_rule_get_role"
              version="0.3.0">
        <doc xml:whitespace="preserve">Gets the #GDataAccessRule:role property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the access rule's role, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_scope"
              c:identifier="gdata_access_rule_get_scope"
              version="0.3.0">
        <doc xml:whitespace="preserve">Gets the #GDataAccessRule:scope-type and #GDataAccessRule:scope-value properties.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="type"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="none">
            <doc xml:whitespace="preserve">return location for the scope type, or %NULL</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
          <parameter name="value"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="none">
            <doc xml:whitespace="preserve">return location for the scope value, or %NULL</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_role"
              c:identifier="gdata_access_rule_set_role"
              version="0.3.0">
        <doc xml:whitespace="preserve">Sets the #GDataAccessRule:role property to @role.
Set @role to %NULL to unset the property in the access rule.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="role" transfer-ownership="none">
            <doc xml:whitespace="preserve">a new role, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_scope"
              c:identifier="gdata_access_rule_set_scope"
              version="0.3.0">
        <doc xml:whitespace="preserve">Sets the #GDataAccessRule:scope-type property to @type and the #GDataAccessRule:scope-value property to @value.
Set @scope_value to %NULL to unset the #GDataAccessRule:scope-value property in the access rule. @type cannot
be %NULL. @scope_value must be %NULL if @type is &lt;literal&gt;default&lt;/literal&gt;, and non-%NULL otherwise.
See the &lt;ulink type="http" url="http://code.google.com/apis/calendar/docs/2.0/reference.html#gacl_reference"&gt;online documentation&lt;/ulink&gt;
for more information.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="type" transfer-ownership="none">
            <doc xml:whitespace="preserve">a new scope type</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:whitespace="preserve">a new scope value, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="edited" transfer-ownership="none">
        <type name="gint64"/>
      </property>
      <property name="role" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="scope-type" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="scope-value" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <field name="parent">
        <type name="Entry" c:type="GDataEntry"/>
      </field>
      <field name="priv">
        <type name="AccessRulePrivate" c:type="GDataAccessRulePrivate*"/>
      </field>
    </class>
    <record name="AccessRuleClass"
            c:type="GDataAccessRuleClass"
            glib:is-gtype-struct-for="AccessRule"
            version="0.3.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataAccessRuleClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="EntryClass" c:type="GDataEntryClass"/>
      </field>
    </record>
    <record name="AccessRulePrivate"
            c:type="GDataAccessRulePrivate"
            disguised="1">
    </record>
    <enumeration name="AuthenticationError"
                 glib:type-name="GDataAuthenticationError"
                 glib:get-type="gdata_authentication_error_get_type"
                 c:type="GDataAuthenticationError">
      <doc xml:whitespace="preserve">Error codes for #GDataService authentication operations. See the
&lt;ulink type="http" url="http://code.google.com/apis/accounts/docs/AuthForInstalledApps.html#Errors"&gt;Google accounts documentation&lt;/ulink&gt; for
more information.</doc>
      <member name="bad_authentication"
              value="1"
              c:identifier="GDATA_AUTHENTICATION_ERROR_BAD_AUTHENTICATION"
              glib:nick="bad-authentication"/>
      <member name="not_verified"
              value="2"
              c:identifier="GDATA_AUTHENTICATION_ERROR_NOT_VERIFIED"
              glib:nick="not-verified"/>
      <member name="terms_not_agreed"
              value="3"
              c:identifier="GDATA_AUTHENTICATION_ERROR_TERMS_NOT_AGREED"
              glib:nick="terms-not-agreed"/>
      <member name="captcha_required"
              value="4"
              c:identifier="GDATA_AUTHENTICATION_ERROR_CAPTCHA_REQUIRED"
              glib:nick="captcha-required"/>
      <member name="account_deleted"
              value="5"
              c:identifier="GDATA_AUTHENTICATION_ERROR_ACCOUNT_DELETED"
              glib:nick="account-deleted"/>
      <member name="account_disabled"
              value="6"
              c:identifier="GDATA_AUTHENTICATION_ERROR_ACCOUNT_DISABLED"
              glib:nick="account-disabled"/>
      <member name="service_disabled"
              value="7"
              c:identifier="GDATA_AUTHENTICATION_ERROR_SERVICE_DISABLED"
              glib:nick="service-disabled"/>
      <member name="account_migrated"
              value="8"
              c:identifier="GDATA_AUTHENTICATION_ERROR_ACCOUNT_MIGRATED"
              glib:nick="account-migrated"/>
    </enumeration>
    <class name="Author"
           c:symbol-prefix="author"
           c:type="GDataAuthor"
           parent="Parsable"
           glib:type-name="GDataAuthor"
           glib:get-type="gdata_author_get_type"
           glib:type-struct="AuthorClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataAuthor structure are private and should never be accessed directly.</doc>
      <implements name="Comparable"/>
      <constructor name="new" c:identifier="gdata_author_new">
        <doc xml:whitespace="preserve">Creates a new #GDataAuthor. More information is available in the &lt;ulink type="http"
url="http://www.atomenabled.org/developers/syndication/atom-format-spec.php#element.author"&gt;Atom specification&lt;/ulink&gt;.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GDataAuthor, or %NULL; unref with g_object_unref()</doc>
          <type name="Author" c:type="GDataAuthor*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">the author's name</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="uri" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">an IRI describing the author, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="email_address"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the author's e-mail address, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_email_address"
              c:identifier="gdata_author_get_email_address"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataAuthor:email-address property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the author's e-mail address, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_name"
              c:identifier="gdata_author_get_name"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataAuthor:name property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the author's name</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_uri"
              c:identifier="gdata_author_get_uri"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataAuthor:uri property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the author's URI, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="set_email_address"
              c:identifier="gdata_author_set_email_address"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataAuthor:email-address property to @email_address.
Set @email_address to %NULL to unset the property in the author.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="email_address"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the new e-mail address for the author, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_name"
              c:identifier="gdata_author_set_name"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataAuthor:name property to @name.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">the new name for the author</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_uri"
              c:identifier="gdata_author_set_uri"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataAuthor:uri property to @uri.
Set @uri to %NULL to unset the property in the author.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new URI for the author, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="email-address" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="name" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="uri" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <field name="parent">
        <type name="Parsable" c:type="GDataParsable"/>
      </field>
      <field name="priv">
        <type name="AuthorPrivate" c:type="GDataAuthorPrivate*"/>
      </field>
    </class>
    <record name="AuthorClass"
            c:type="GDataAuthorClass"
            glib:is-gtype-struct-for="Author"
            version="0.4.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataAuthorClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="ParsableClass" c:type="GDataParsableClass"/>
      </field>
    </record>
    <record name="AuthorPrivate" c:type="GDataAuthorPrivate" disguised="1">
    </record>
    <class name="BatchOperation"
           c:symbol-prefix="batch_operation"
           c:type="GDataBatchOperation"
           version="0.7.0"
           parent="GObject.Object"
           glib:type-name="GDataBatchOperation"
           glib:get-type="gdata_batch_operation_get_type"
           glib:type-struct="BatchOperationClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataBatchOperation structure are private and should never be accessed directly.</doc>
      <method name="add_deletion"
              c:identifier="gdata_batch_operation_add_deletion"
              version="0.7.0">
        <doc xml:whitespace="preserve">Add an entry to the #GDataBatchOperation, to be deleted on the server when the operation is run. @entry is reffed by the function, so may be freed
after it returns.
Note that a single batch operation should not operate on a given #GDataEntry more than once, as there's no guarantee about the order in which the
batch operation's operations will be performed.
%GDATA_BATCH_OPERATION_DELETION.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">operation ID for the added deletion, or &lt;code class="literal"&gt;0&lt;/code&gt;</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <parameter name="entry" transfer-ownership="none">
            <doc xml:whitespace="preserve">the #GDataEntry to delete</doc>
            <type name="Entry" c:type="GDataEntry*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="async"
                     closure="2">
            <doc xml:whitespace="preserve">a #GDataBatchOperationCallback to call when the deletion is finished, or %NULL</doc>
            <type name="BatchOperationCallback"
                  c:type="GDataBatchOperationCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_insertion"
              c:identifier="gdata_batch_operation_add_insertion"
              version="0.7.0">
        <doc xml:whitespace="preserve">Add an entry to the #GDataBatchOperation, to be inserted on the server when the operation is run. The insertion will return the inserted version
of @entry. @entry is reffed by the function, so may be freed after it returns.
%GDATA_BATCH_OPERATION_INSERTION.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">operation ID for the added insertion, or &lt;code class="literal"&gt;0&lt;/code&gt;</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <parameter name="entry" transfer-ownership="none">
            <doc xml:whitespace="preserve">the #GDataEntry to insert</doc>
            <type name="Entry" c:type="GDataEntry*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="async"
                     closure="2">
            <doc xml:whitespace="preserve">a #GDataBatchOperationCallback to call when the insertion is finished, or %NULL</doc>
            <type name="BatchOperationCallback"
                  c:type="GDataBatchOperationCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_query"
              c:identifier="gdata_batch_operation_add_query"
              version="0.7.0">
        <doc xml:whitespace="preserve">Add a query to the #GDataBatchOperation, to be executed when the operation is run. The query will return a #GDataEntry (of subclass type
Note that a single batch operation should not operate on a given #GDataEntry more than once, as there's no guarantee about the order in which the
batch operation's operations will be performed.
ran the batch operation), or with gdata_batch_operation_run_async() (in which case it will be called in an idle handler in the main thread). The
%GDATA_BATCH_OPERATION_QUERY. If the query was successful, the resulting entry will be passed to the callback function as @entry, and @error will
be %NULL. If, however, the query was unsuccessful, @entry will be %NULL and @error will contain a #GError detailing what went wrong.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">operation ID for the added query, or &lt;code class="literal"&gt;0&lt;/code&gt;</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <doc xml:whitespace="preserve">the ID of the entry being queried for</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="entry_type" transfer-ownership="none">
            <doc xml:whitespace="preserve">the type of the entry which will be returned</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="async"
                     closure="3">
            <doc xml:whitespace="preserve">a #GDataBatchOperationCallback to call when the query is finished, or %NULL</doc>
            <type name="BatchOperationCallback"
                  c:type="GDataBatchOperationCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_update"
              c:identifier="gdata_batch_operation_add_update"
              version="0.7.0">
        <doc xml:whitespace="preserve">Add an entry to the #GDataBatchOperation, to be updated on the server when the operation is run. The update will return the updated version of
Note that a single batch operation should not operate on a given #GDataEntry more than once, as there's no guarantee about the order in which the
batch operation's operations will be performed.
%GDATA_BATCH_OPERATION_UPDATE.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">operation ID for the added update, or &lt;code class="literal"&gt;0&lt;/code&gt;</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <parameter name="entry" transfer-ownership="none">
            <doc xml:whitespace="preserve">the #GDataEntry to update</doc>
            <type name="Entry" c:type="GDataEntry*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="async"
                     closure="2">
            <doc xml:whitespace="preserve">a #GDataBatchOperationCallback to call when the update is finished, or %NULL</doc>
            <type name="BatchOperationCallback"
                  c:type="GDataBatchOperationCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_feed_uri"
              c:identifier="gdata_batch_operation_get_feed_uri"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets the #GDataBatchOperation:feed-uri property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the batch operation's feed URI</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_service"
              c:identifier="gdata_batch_operation_get_service"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets the #GDataBatchOperation:service property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the batch operation's attached service</doc>
          <type name="Service" c:type="GDataService*"/>
        </return-value>
      </method>
      <method name="run"
              c:identifier="gdata_batch_operation_run"
              version="0.7.0"
              throws="1">
        <doc xml:whitespace="preserve">Run the #GDataBatchOperation synchronously. This will send all the operations in the batch operation to the server, and call their respective
callbacks synchronously (i.e. before gdata_batch_operation_run() returns, and in the same thread that called gdata_batch_operation_run()) as the
server returns results for each operation.
The callbacks for all of the operations in the batch operation are always guaranteed to be called, even if the batch operation as a whole fails.
Each callback will be called exactly once for each time gdata_batch_operation_run() is called.
The return value of the function indicates whether the overall batch operation was successful, and doesn't indicate the status of any of the
operations it comprises. gdata_batch_operation_run() could return %TRUE even if all of its operations failed.
after network activity has finished, gdata_batch_operation_run() will continue and finish as normal.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE on success, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">a #GCancellable, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="run_async"
              c:identifier="gdata_batch_operation_run_async"
              version="0.7.0">
        <doc xml:whitespace="preserve">Run the #GDataBatchOperation asynchronously. This will send all the operations in the batch operation to the server, and call their respective
callbacks asynchronously (i.e. in idle functions in the main thread, usually after gdata_batch_operation_run_async() has returned) as the
server returns results for each operation. @self is reffed when this function is called, so can safely be unreffed after this function returns.
For more details, see gdata_batch_operation_run(), which is the synchronous version of this function.
When the entire batch operation is finished, @callback will be called. You can then call gdata_batch_operation_run_finish() to get the results of
the batch operation.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">a #GCancellable, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="async"
                     closure="2">
            <doc xml:whitespace="preserve">a #GAsyncReadyCallback to call when the batch operation is finished, or %NULL</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="run_finish"
              c:identifier="gdata_batch_operation_run_finish"
              version="0.7.0"
              throws="1">
        <doc xml:whitespace="preserve">Finishes an asynchronous batch operation run with gdata_batch_operation_run_async().
Return values are as for gdata_batch_operation_run().</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE on success, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="async_result" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GAsyncResult</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <property name="feed-uri"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="service"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Service"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="BatchOperationPrivate"
              c:type="GDataBatchOperationPrivate*"/>
      </field>
    </class>
    <callback name="BatchOperationCallback"
              c:type="GDataBatchOperationCallback"
              version="0.7.0">
      <doc xml:whitespace="preserve">Callback function called once for each operation in a batch operation run. The operation is identified by @operation_id and @operation_type (where
gdata_batch_operation_add_update() or gdata_batch_operation_add_deletion(), and @operation_type shows which one of the above was called).
If the operation was successful, the resulting #GDataEntry will be passed in as @entry, and @error will be %NULL. Otherwise, @entry will be %NULL
and a descriptive error will be in @error. If @operation_type is %GDATA_BATCH_OPERATION_DELETION, @entry will always be %NULL, and @error will be
%NULL or non-%NULL as appropriate.
If the callback code needs to retain a copy of @entry, it must be referenced (with g_object_ref()). Similarly, @error is owned by the calling code,
and must not be freed.
The callback is called in the main thread, and there is no guarantee on the order in which the callbacks for the operations in a run are executed,
or whether they will be called in a timely manner. It is, however, guaranteed that they will all be called before the #GAsyncReadyCallback which
signals the completion of the run (if initiated with gdata_batch_operation_run_async()) is called; or gdata_batch_operation_run() returns (if
initiated synchronously).</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="operation_id" transfer-ownership="none">
          <doc xml:whitespace="preserve">the operation ID returned from gdata_batch_operation_add_*()</doc>
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="operation_type" transfer-ownership="none">
          <doc xml:whitespace="preserve">the type of operation which was requested</doc>
          <type name="BatchOperationType" c:type="GDataBatchOperationType"/>
        </parameter>
        <parameter name="entry" transfer-ownership="none">
          <doc xml:whitespace="preserve">the result of the operation, or %NULL</doc>
          <type name="Entry" c:type="GDataEntry*"/>
        </parameter>
        <parameter name="error" transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GError describing any error which occurred, or %NULL</doc>
          <type name="GLib.Error" c:type="GError*"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none" closure="4">
          <doc xml:whitespace="preserve">user data passed to the callback</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <record name="BatchOperationClass"
            c:type="GDataBatchOperationClass"
            glib:is-gtype-struct-for="BatchOperation"
            version="0.7.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataBatchOperationClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="BatchOperationPrivate"
            c:type="GDataBatchOperationPrivate"
            disguised="1">
    </record>
    <enumeration name="BatchOperationType"
                 version="0.7.0"
                 glib:type-name="GDataBatchOperationType"
                 glib:get-type="gdata_batch_operation_type_get_type"
                 c:type="GDataBatchOperationType">
      <doc xml:whitespace="preserve">Indicates which type of batch operation caused the current #GDataBatchOperationCallback to be called.</doc>
      <member name="query"
              value="0"
              c:identifier="GDATA_BATCH_OPERATION_QUERY"
              glib:nick="query"/>
      <member name="insertion"
              value="1"
              c:identifier="GDATA_BATCH_OPERATION_INSERTION"
              glib:nick="insertion"/>
      <member name="update"
              value="2"
              c:identifier="GDATA_BATCH_OPERATION_UPDATE"
              glib:nick="update"/>
      <member name="deletion"
              value="3"
              c:identifier="GDATA_BATCH_OPERATION_DELETION"
              glib:nick="deletion"/>
    </enumeration>
    <interface name="Batchable"
               c:symbol-prefix="batchable"
               c:type="GDataBatchable"
               version="0.7.0"
               glib:type-name="GDataBatchable"
               glib:get-type="gdata_batchable_get_type"
               glib:type-struct="BatchableIface">
      <doc xml:whitespace="preserve">All the fields in the #GDataBatchable structure are private and should never be accessed directly.</doc>
      <prerequisite name="Service"/>
      <method name="create_operation"
              c:identifier="gdata_batchable_create_operation"
              version="0.7.0">
        <doc xml:whitespace="preserve">Creates a new #GDataBatchOperation for the given #GDataBatchable service, and with the given @feed_uri. @feed_uri is normally the %GDATA_LINK_BATCH
link URI in the appropriate #GDataFeed from the service.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GDataBatchOperation; unref with g_object_unref()</doc>
          <type name="BatchOperation" c:type="GDataBatchOperation*"/>
        </return-value>
        <parameters>
          <parameter name="feed_uri" transfer-ownership="none">
            <doc xml:whitespace="preserve">the URI to send the batch operation request to</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
    </interface>
    <record name="BatchableIface"
            c:type="GDataBatchableIface"
            glib:is-gtype-struct-for="Batchable"
            version="0.7.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataBatchableIface structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
    </record>
    <constant name="CALENDAR_ACCESS_ROLE_EDITOR"
              value="http://schemas.google.com/gCal/2005#editor">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="CALENDAR_ACCESS_ROLE_FREE_BUSY"
              value="http://schemas.google.com/gCal/2005#freebusy">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="CALENDAR_ACCESS_ROLE_OWNER"
              value="http://schemas.google.com/gCal/2005#owner">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="CALENDAR_ACCESS_ROLE_READ"
              value="http://schemas.google.com/gCal/2005#read">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="CALENDAR_ACCESS_ROLE_ROOT"
              value="http://schemas.google.com/gCal/2005#root">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="CONTACTS_GENDER_FEMALE" value="female">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="CONTACTS_GENDER_MALE" value="male">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="CONTACTS_GROUP_CONTACTS" value="Contacts">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="CONTACTS_GROUP_COWORKERS" value="Coworkers">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="CONTACTS_GROUP_FAMILY" value="Family">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="CONTACTS_GROUP_FRIENDS" value="Friends">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="CONTACTS_PRIORITY_HIGH" value="high">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="CONTACTS_PRIORITY_LOW" value="low">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="CONTACTS_PRIORITY_NORMAL" value="normal">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="CONTACTS_SENSITIVITY_CONFIDENTIAL" value="confidential">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="CONTACTS_SENSITIVITY_NORMAL" value="normal">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="CONTACTS_SENSITIVITY_PERSONAL" value="personal">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="CONTACTS_SENSITIVITY_PRIVATE" value="private">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <class name="CalendarCalendar"
           c:symbol-prefix="calendar_calendar"
           c:type="GDataCalendarCalendar"
           parent="Entry"
           glib:type-name="GDataCalendarCalendar"
           glib:get-type="gdata_calendar_calendar_get_type"
           glib:type-struct="CalendarCalendarClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataCalendarCalendar structure are private and should never be accessed directly.</doc>
      <implements name="AccessHandler"/>
      <constructor name="new" c:identifier="gdata_calendar_calendar_new">
        <doc xml:whitespace="preserve">Creates a new #GDataCalendarCalendar with the given ID and default properties.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GDataCalendarCalendar; unref with g_object_unref()</doc>
          <type name="CalendarCalendar" c:type="GDataCalendarCalendar*"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the calendar's ID, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_access_level"
              c:identifier="gdata_calendar_calendar_get_access_level">
        <doc xml:whitespace="preserve">Gets the #GDataCalendarCalendar:access-level property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the authenticated user's access level to the calendar, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_color"
              c:identifier="gdata_calendar_calendar_get_color">
        <doc xml:whitespace="preserve">Gets the #GDataCalendarCalendar:color property and puts it in @color.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="color"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GDataColor</doc>
            <type name="Color" c:type="GDataColor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_edited"
              c:identifier="gdata_calendar_calendar_get_edited">
        <doc xml:whitespace="preserve">Gets the #GDataCalendarCalendar:edited property. If the property is unset, &lt;code class="literal"&gt;-1&lt;/code&gt; will be returned.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the UNIX timestamp for the time the calendar was last edited, or &lt;code class="literal"&gt;-1&lt;/code&gt;</doc>
          <type name="gint64" c:type="gint64"/>
        </return-value>
      </method>
      <method name="get_times_cleaned"
              c:identifier="gdata_calendar_calendar_get_times_cleaned">
        <doc xml:whitespace="preserve">Gets the #GDataCalendarCalendar:times-cleaned property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the number of times the calendar has been totally emptied</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
      </method>
      <method name="get_timezone"
              c:identifier="gdata_calendar_calendar_get_timezone">
        <doc xml:whitespace="preserve">Gets the #GDataCalendarCalendar:timezone property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the calendar's timezone, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="is_hidden"
              c:identifier="gdata_calendar_calendar_is_hidden"
              version="0.2.0">
        <doc xml:whitespace="preserve">Gets the #GDataCalendarCalendar:is-hidden property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the calendar is hidden, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="is_selected"
              c:identifier="gdata_calendar_calendar_is_selected"
              version="0.2.0">
        <doc xml:whitespace="preserve">Gets the #GDataCalendarCalendar:is-selected property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the calendar is selected, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="set_color"
              c:identifier="gdata_calendar_calendar_set_color">
        <doc xml:whitespace="preserve">Sets the #GDataCalendarCalendar:color property to @color.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="color" transfer-ownership="none">
            <doc xml:whitespace="preserve">a new #GDataColor</doc>
            <type name="Color" c:type="GDataColor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_is_hidden"
              c:identifier="gdata_calendar_calendar_set_is_hidden"
              version="0.2.0">
        <doc xml:whitespace="preserve">Sets the #GDataCalendarCalendar:is-hidden property to @is_hidden.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="is_hidden" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE to hide the calendar, %FALSE otherwise</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_is_selected"
              c:identifier="gdata_calendar_calendar_set_is_selected"
              version="0.2.0">
        <doc xml:whitespace="preserve">Sets the #GDataCalendarCalendar:is-selected property to @is_selected.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="is_selected" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE to select the calendar, %FALSE otherwise</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_timezone"
              c:identifier="gdata_calendar_calendar_set_timezone">
        <doc xml:whitespace="preserve">Sets the #GDataCalendarCalendar:timezone property to the new timezone, @_timezone.
Set @_timezone to %NULL to unset the property in the calendar.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="_timezone" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a new timezone, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="access-level" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="color" writable="1" transfer-ownership="none">
        <type name="Color"/>
      </property>
      <property name="edited" transfer-ownership="none">
        <type name="gint64"/>
      </property>
      <property name="is-hidden" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="is-selected" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="times-cleaned" transfer-ownership="none">
        <type name="guint"/>
      </property>
      <property name="timezone" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <field name="parent">
        <type name="Entry" c:type="GDataEntry"/>
      </field>
      <field name="priv">
        <type name="CalendarCalendarPrivate"
              c:type="GDataCalendarCalendarPrivate*"/>
      </field>
    </class>
    <record name="CalendarCalendarClass"
            c:type="GDataCalendarCalendarClass"
            glib:is-gtype-struct-for="CalendarCalendar">
      <doc xml:whitespace="preserve">All the fields in the #GDataCalendarCalendarClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="EntryClass" c:type="GDataEntryClass"/>
      </field>
    </record>
    <record name="CalendarCalendarPrivate"
            c:type="GDataCalendarCalendarPrivate"
            disguised="1">
    </record>
    <class name="CalendarEvent"
           c:symbol-prefix="calendar_event"
           c:type="GDataCalendarEvent"
           parent="Entry"
           glib:type-name="GDataCalendarEvent"
           glib:get-type="gdata_calendar_event_get_type"
           glib:type-struct="CalendarEventClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataCalendarEvent structure are private and should never be accessed directly.</doc>
      <constructor name="new" c:identifier="gdata_calendar_event_new">
        <doc xml:whitespace="preserve">Creates a new #GDataCalendarEvent with the given ID and default properties.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GDataCalendarEvent; unref with g_object_unref()</doc>
          <type name="CalendarEvent" c:type="GDataCalendarEvent*"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the event's ID, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="add_person" c:identifier="gdata_calendar_event_add_person">
        <doc xml:whitespace="preserve">Adds the person @who to the event as a guest (attendee, organiser, performer, etc.), and increments its reference count.
Duplicate people will not be added to the list.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="who" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GDataGDWho to add</doc>
            <type name="GDWho" c:type="GDataGDWho*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_place" c:identifier="gdata_calendar_event_add_place">
        <doc xml:whitespace="preserve">Adds the place @where to the event as a location and increments its reference count.
Duplicate places will not be added to the list.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="where" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GDataGDWhere to add</doc>
            <type name="GDWhere" c:type="GDataGDWhere*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_time"
              c:identifier="gdata_calendar_event_add_time"
              version="0.2.0">
        <doc xml:whitespace="preserve">Adds @when to the event as a time period when the event happens, and increments its reference count.
Duplicate times will not be added to the list.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="when" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GDataGDWhen to add</doc>
            <type name="GDWhen" c:type="GDataGDWhen*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_anyone_can_add_self"
              c:identifier="gdata_calendar_event_get_anyone_can_add_self">
        <doc xml:whitespace="preserve">Gets the #GDataCalendarEvent:anyone-can-add-self property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if anyone can add themselves as an attendee to the event, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_edited" c:identifier="gdata_calendar_event_get_edited">
        <doc xml:whitespace="preserve">Gets the #GDataCalendarEvent:edited property. If the property is unset, &lt;code class="literal"&gt;-1&lt;/code&gt; will be returned.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the UNIX timestamp for the time the event was last edited, or &lt;code class="literal"&gt;-1&lt;/code&gt;</doc>
          <type name="gint64" c:type="gint64"/>
        </return-value>
      </method>
      <method name="get_guests_can_invite_others"
              c:identifier="gdata_calendar_event_get_guests_can_invite_others">
        <doc xml:whitespace="preserve">Gets the #GDataCalendarEvent:guests-can-invite-others property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if attendees can invite others to the event, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_guests_can_modify"
              c:identifier="gdata_calendar_event_get_guests_can_modify">
        <doc xml:whitespace="preserve">Gets the #GDataCalendarEvent:guests-can-modify property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if attendees can modify the original event, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_guests_can_see_guests"
              c:identifier="gdata_calendar_event_get_guests_can_see_guests">
        <doc xml:whitespace="preserve">Gets the #GDataCalendarEvent:guests-can-see-guests property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if attendees can see who's attending the event, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_original_event_details"
              c:identifier="gdata_calendar_event_get_original_event_details"
              version="0.3.0">
        <doc xml:whitespace="preserve">Gets details of the original event, if this event is an exception to a recurring event. The original
event's ID and the URI of the event's XML are returned in @event_id and @event_uri, respectively.
If this event is not an exception to a recurring event, @event_id and @event_uri will be set to %NULL.
See gdata_calendar_event_is_exception() to determine more simply whether an event is an exception to a
recurring event.
If both @event_id and @event_uri are %NULL, this function is a no-op. Otherwise, they should both be
freed with g_free().</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="event_id"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:whitespace="preserve">return location for the original event's ID, or %NULL</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
          <parameter name="event_uri"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:whitespace="preserve">return location for the original event's URI, or %NULL</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_people"
              c:identifier="gdata_calendar_event_get_people"
              version="0.2.0">
        <doc xml:whitespace="preserve">Gets a list of the people attending the event.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GList of #GDataGDWho&lt;!-- --&gt;s, or %NULL</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="GDWho"/>
          </type>
        </return-value>
      </method>
      <method name="get_places"
              c:identifier="gdata_calendar_event_get_places"
              version="0.2.0">
        <doc xml:whitespace="preserve">Gets a list of the locations associated with the event.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GList of #GDataGDWhere&lt;!-- --&gt;s, or %NULL</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="GDWhere"/>
          </type>
        </return-value>
      </method>
      <method name="get_primary_time"
              c:identifier="gdata_calendar_event_get_primary_time"
              version="0.2.0">
        <doc xml:whitespace="preserve">Gets the first time period associated with the event, conveniently returning just its start and
end times if required.
If there are no time periods, or more than one time period, associated with the event, %FALSE will
be returned, and the parameters will remain unmodified.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if there is only one time period associated with the event, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="start_time"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:whitespace="preserve">a #gint64 for the start time, or %NULL</doc>
            <type name="gint64" c:type="gint64*"/>
          </parameter>
          <parameter name="end_time"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:whitespace="preserve">a #gint64 for the end time, or %NULL</doc>
            <type name="gint64" c:type="gint64*"/>
          </parameter>
          <parameter name="when"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GDataGDWhen for the primary time structure, or %NULL</doc>
            <type name="GDWhen" c:type="GDataGDWhen**"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_recurrence"
              c:identifier="gdata_calendar_event_get_recurrence"
              version="0.3.0">
        <doc xml:whitespace="preserve">Gets the #GDataCalendarEvent:recurrence property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the event recurrence patterns, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_sequence"
              c:identifier="gdata_calendar_event_get_sequence">
        <doc xml:whitespace="preserve">Gets the #GDataCalendarEvent:sequence property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the event's sequence number</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
      </method>
      <method name="get_status"
              c:identifier="gdata_calendar_event_get_status"
              version="0.2.0">
        <doc xml:whitespace="preserve">Gets the #GDataCalendarEvent:status property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the event status, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_times"
              c:identifier="gdata_calendar_event_get_times"
              version="0.2.0">
        <doc xml:whitespace="preserve">Gets a list of the time periods associated with the event.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GList of #GDataGDWhen&lt;!-- --&gt;s, or %NULL</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="GDWhen"/>
          </type>
        </return-value>
      </method>
      <method name="get_transparency"
              c:identifier="gdata_calendar_event_get_transparency">
        <doc xml:whitespace="preserve">Gets the #GDataCalendarEvent:transparency property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the event transparency, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_uid" c:identifier="gdata_calendar_event_get_uid">
        <doc xml:whitespace="preserve">Gets the #GDataCalendarEvent:uid property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the event's UID, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_visibility"
              c:identifier="gdata_calendar_event_get_visibility">
        <doc xml:whitespace="preserve">Gets the #GDataCalendarEvent:visibility property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the event visibility, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="is_exception"
              c:identifier="gdata_calendar_event_is_exception"
              version="0.3.0">
        <doc xml:whitespace="preserve">Determines whether the event is an exception to a recurring event. If it is, details of the original event
can be retrieved using gdata_calendar_event_get_original_event_details().</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the event is an exception, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="set_anyone_can_add_self"
              c:identifier="gdata_calendar_event_set_anyone_can_add_self">
        <doc xml:whitespace="preserve">Sets the #GDataCalendarEvent:anyone-can-add-self property to @anyone_can_add_self.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="anyone_can_add_self" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE if anyone can add themselves as an attendee to the event, %FALSE otherwise</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_guests_can_invite_others"
              c:identifier="gdata_calendar_event_set_guests_can_invite_others">
        <doc xml:whitespace="preserve">Sets the #GDataCalendarEvent:guests-can-invite-others property to @guests_can_invite_others.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="guests_can_invite_others" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE if attendees can invite others to the event, %FALSE otherwise</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_guests_can_modify"
              c:identifier="gdata_calendar_event_set_guests_can_modify">
        <doc xml:whitespace="preserve">Sets the #GDataCalendarEvent:guests-can-modify property to @guests_can_modify.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="guests_can_modify" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE if attendees can modify the original event, %FALSE otherwise</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_guests_can_see_guests"
              c:identifier="gdata_calendar_event_set_guests_can_see_guests">
        <doc xml:whitespace="preserve">Sets the #GDataCalendarEvent:guests-can-see-guests property to @guests_can_see_guests.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="guests_can_see_guests" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE if attendees can see who's attending the event, %FALSE otherwise</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_recurrence"
              c:identifier="gdata_calendar_event_set_recurrence"
              version="0.3.0">
        <doc xml:whitespace="preserve">Sets the #GDataCalendarEvent:recurrence property to the new recurrence, @recurrence.
Set @recurrence to %NULL to unset the property in the event.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="recurrence"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">a new event recurrence, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_sequence"
              c:identifier="gdata_calendar_event_set_sequence">
        <doc xml:whitespace="preserve">Sets the #GDataCalendarEvent:sequence property to the new sequence number, @sequence.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="sequence" transfer-ownership="none">
            <doc xml:whitespace="preserve">a new sequence number, or &lt;code class="literal"&gt;0&lt;/code&gt;</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_status"
              c:identifier="gdata_calendar_event_set_status"
              version="0.2.0">
        <doc xml:whitespace="preserve">Sets the #GDataCalendarEvent:status property to the new status, @status.
Set @status to %NULL to unset the property in the event.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="status" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a new event status, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_transparency"
              c:identifier="gdata_calendar_event_set_transparency">
        <doc xml:whitespace="preserve">Sets the #GDataCalendarEvent:transparency property to the new transparency, @transparency.
Set @transparency to %NULL to unset the property in the event.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="transparency"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">a new event transparency, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_uid" c:identifier="gdata_calendar_event_set_uid">
        <doc xml:whitespace="preserve">Sets the #GDataCalendarEvent:uid property to the new UID, @uid.
Set @uid to %NULL to unset the property in the event.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="uid" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a new event UID, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_visibility"
              c:identifier="gdata_calendar_event_set_visibility">
        <doc xml:whitespace="preserve">Sets the #GDataCalendarEvent:visibility property to the new visibility, @visibility.
Set @visibility to %NULL to unset the property in the event.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="visibility"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">a new event visibility, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="anyone-can-add-self"
                writable="1"
                transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="edited" transfer-ownership="none">
        <type name="gint64"/>
      </property>
      <property name="guests-can-invite-others"
                writable="1"
                transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="guests-can-modify"
                writable="1"
                transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="guests-can-see-guests"
                writable="1"
                transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="original-event-id" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="original-event-uri" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="recurrence" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="sequence" writable="1" transfer-ownership="none">
        <type name="guint"/>
      </property>
      <property name="status" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="transparency" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="uid" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="visibility" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <field name="parent">
        <type name="Entry" c:type="GDataEntry"/>
      </field>
      <field name="priv">
        <type name="CalendarEventPrivate" c:type="GDataCalendarEventPrivate*"/>
      </field>
    </class>
    <record name="CalendarEventClass"
            c:type="GDataCalendarEventClass"
            glib:is-gtype-struct-for="CalendarEvent">
      <doc xml:whitespace="preserve">All the fields in the #GDataCalendarEventClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="EntryClass" c:type="GDataEntryClass"/>
      </field>
    </record>
    <record name="CalendarEventPrivate"
            c:type="GDataCalendarEventPrivate"
            disguised="1">
    </record>
    <class name="CalendarFeed"
           c:symbol-prefix="calendar_feed"
           c:type="GDataCalendarFeed"
           version="0.3.0"
           parent="Feed"
           glib:type-name="GDataCalendarFeed"
           glib:get-type="gdata_calendar_feed_get_type"
           glib:type-struct="CalendarFeedClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataCalendarFeed structure are private and should never be accessed directly.</doc>
      <method name="get_times_cleaned"
              c:identifier="gdata_calendar_feed_get_times_cleaned"
              version="0.3.0">
        <doc xml:whitespace="preserve">Gets the #GDataCalendarFeed:times-cleaned property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the number of times the feed has been totally emptied</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
      </method>
      <method name="get_timezone"
              c:identifier="gdata_calendar_feed_get_timezone"
              version="0.3.0">
        <doc xml:whitespace="preserve">Gets the #GDataCalendarFeed:timezone property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the feed's timezone, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <property name="times-cleaned" transfer-ownership="none">
        <type name="guint"/>
      </property>
      <property name="timezone" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <field name="parent">
        <type name="Feed" c:type="GDataFeed"/>
      </field>
      <field name="priv">
        <type name="CalendarFeedPrivate" c:type="GDataCalendarFeedPrivate*"/>
      </field>
    </class>
    <record name="CalendarFeedClass"
            c:type="GDataCalendarFeedClass"
            glib:is-gtype-struct-for="CalendarFeed"
            version="0.3.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataCalendarFeedClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="FeedClass" c:type="GDataFeedClass"/>
      </field>
    </record>
    <record name="CalendarFeedPrivate"
            c:type="GDataCalendarFeedPrivate"
            disguised="1">
    </record>
    <class name="CalendarQuery"
           c:symbol-prefix="calendar_query"
           c:type="GDataCalendarQuery"
           parent="Query"
           glib:type-name="GDataCalendarQuery"
           glib:get-type="gdata_calendar_query_get_type"
           glib:type-struct="CalendarQueryClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataCalendarQuery structure are private and should never be accessed directly.</doc>
      <constructor name="new" c:identifier="gdata_calendar_query_new">
        <doc xml:whitespace="preserve">Creates a new #GDataCalendarQuery with its #GDataQuery:q property set to @q.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GDataCalendarQuery</doc>
          <type name="CalendarQuery" c:type="GDataCalendarQuery*"/>
        </return-value>
        <parameters>
          <parameter name="q" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a query string, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_with_limits"
                   c:identifier="gdata_calendar_query_new_with_limits">
        <doc xml:whitespace="preserve">Creates a new #GDataCalendarQuery with its #GDataQuery:q property set to @q, and the time limits @start_min and @start_max
applied.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GDataCalendarQuery</doc>
          <type name="CalendarQuery" c:type="GDataCalendarQuery*"/>
        </return-value>
        <parameters>
          <parameter name="q" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a query string, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="start_min" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a starting time for the event period, or %NULL</doc>
            <type name="gint64" c:type="gint64"/>
          </parameter>
          <parameter name="start_max" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">an ending time for the event period, or %NULL</doc>
            <type name="gint64" c:type="gint64"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_future_events"
              c:identifier="gdata_calendar_query_get_future_events">
        <doc xml:whitespace="preserve">Gets the #GDataCalendarQuery:future-events property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the future events property</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_order_by"
              c:identifier="gdata_calendar_query_get_order_by">
        <doc xml:whitespace="preserve">Gets the #GDataCalendarQuery:order-by property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the order by property, or %NULL if it is unset</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_recurrence_expansion_end"
              c:identifier="gdata_calendar_query_get_recurrence_expansion_end">
        <doc xml:whitespace="preserve">Gets the #GDataCalendarQuery:recurrence-expansion-end property. If the property is unset, &lt;code class="literal"&gt;-1&lt;/code&gt; will be returned.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the UNIX timestamp for the recurrence-expansion-end property, or &lt;code class="literal"&gt;-1&lt;/code&gt;</doc>
          <type name="gint64" c:type="gint64"/>
        </return-value>
      </method>
      <method name="get_recurrence_expansion_start"
              c:identifier="gdata_calendar_query_get_recurrence_expansion_start">
        <doc xml:whitespace="preserve">Gets the #GDataCalendarQuery:recurrence-expansion-start property. If the property is unset, &lt;code class="literal"&gt;-1&lt;/code&gt; will be returned.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the UNIX timestamp for the recurrence-expansion-start property, or &lt;code class="literal"&gt;-1&lt;/code&gt;</doc>
          <type name="gint64" c:type="gint64"/>
        </return-value>
      </method>
      <method name="get_single_events"
              c:identifier="gdata_calendar_query_get_single_events">
        <doc xml:whitespace="preserve">Gets the #GDataCalendarQuery:single-events property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the single events property</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_sort_order"
              c:identifier="gdata_calendar_query_get_sort_order">
        <doc xml:whitespace="preserve">Gets the #GDataCalendarQuery:sort-order property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the sort order property, or %NULL if it is unset</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_start_max"
              c:identifier="gdata_calendar_query_get_start_max">
        <doc xml:whitespace="preserve">Gets the #GDataCalendarQuery:start-max property. If the property is unset, &lt;code class="literal"&gt;-1&lt;/code&gt; will be returned.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the UNIX timestamp for the start-max property, or &lt;code class="literal"&gt;-1&lt;/code&gt;</doc>
          <type name="gint64" c:type="gint64"/>
        </return-value>
      </method>
      <method name="get_start_min"
              c:identifier="gdata_calendar_query_get_start_min">
        <doc xml:whitespace="preserve">Gets the #GDataCalendarQuery:start-min property. If the property is unset, &lt;code class="literal"&gt;-1&lt;/code&gt; will be returned.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the UNIX timestamp for the start-min property, or &lt;code class="literal"&gt;-1&lt;/code&gt;</doc>
          <type name="gint64" c:type="gint64"/>
        </return-value>
      </method>
      <method name="get_timezone"
              c:identifier="gdata_calendar_query_get_timezone"
              version="0.2.0">
        <doc xml:whitespace="preserve">Gets the #GDataCalendarQuery:timezone property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the timezone property, or %NULL if it is unset</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="set_future_events"
              c:identifier="gdata_calendar_query_set_future_events">
        <doc xml:whitespace="preserve">Sets the #GDataCalendarQuery:future-events property of the #GDataCalendarQuery to @future_events.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="future_events" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE to unconditionally show future events, %FALSE otherwise</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_order_by"
              c:identifier="gdata_calendar_query_set_order_by">
        <doc xml:whitespace="preserve">Sets the #GDataCalendarQuery:order-by property of the #GDataCalendarQuery to the new order by string, @order_by.
Set @order_by to %NULL to unset the property in the query URI.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="order_by" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a new order by string, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_recurrence_expansion_end"
              c:identifier="gdata_calendar_query_set_recurrence_expansion_end">
        <doc xml:whitespace="preserve">Sets the #GDataCalendarQuery:recurrence-expansion-end property of the #GDataCalendarQuery
to the new time/date, @end.
Set @end to &lt;code class="literal"&gt;-1&lt;/code&gt; to unset the property in the query URI.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="end" transfer-ownership="none">
            <doc xml:whitespace="preserve">a new end time, or &lt;code class="literal"&gt;-1&lt;/code&gt;</doc>
            <type name="gint64" c:type="gint64"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_recurrence_expansion_start"
              c:identifier="gdata_calendar_query_set_recurrence_expansion_start">
        <doc xml:whitespace="preserve">Sets the #GDataCalendarQuery:recurrence-expansion-start property of the #GDataCalendarQuery
to the new time/date, @start.
Set @start to &lt;code class="literal"&gt;-1&lt;/code&gt; to unset the property in the query URI.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="start" transfer-ownership="none">
            <doc xml:whitespace="preserve">a new start time, or &lt;code class="literal"&gt;-1&lt;/code&gt;</doc>
            <type name="gint64" c:type="gint64"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_single_events"
              c:identifier="gdata_calendar_query_set_single_events">
        <doc xml:whitespace="preserve">Sets the #GDataCalendarQuery:single-events property of the #GDataCalendarQuery to @single_events.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="single_events" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE to show recurring events as single events, %FALSE otherwise</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_sort_order"
              c:identifier="gdata_calendar_query_set_sort_order">
        <doc xml:whitespace="preserve">Sets the #GDataCalendarQuery:sort-order property of the #GDataCalendarQuery to the new sort order string, @sort_order.
Set @sort_order to %NULL to unset the property in the query URI.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="sort_order"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">a new sort order string, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_start_max"
              c:identifier="gdata_calendar_query_set_start_max">
        <doc xml:whitespace="preserve">Sets the #GDataCalendarQuery:start-max property of the #GDataCalendarQuery
to the new time/date, @start_max.
Set @start_max to &lt;code class="literal"&gt;-1&lt;/code&gt; to unset the property in the query URI.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="start_max" transfer-ownership="none">
            <doc xml:whitespace="preserve">a new maximum start time, or &lt;code class="literal"&gt;-1&lt;/code&gt;</doc>
            <type name="gint64" c:type="gint64"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_start_min"
              c:identifier="gdata_calendar_query_set_start_min">
        <doc xml:whitespace="preserve">Sets the #GDataCalendarQuery:start-min property of the #GDataCalendarQuery
to the new time/date, @start_min.
Set @start_min to &lt;code class="literal"&gt;-1&lt;/code&gt; to unset the property in the query URI.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="start_min" transfer-ownership="none">
            <doc xml:whitespace="preserve">a new minimum start time, or &lt;code class="literal"&gt;-1&lt;/code&gt;</doc>
            <type name="gint64" c:type="gint64"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_timezone"
              c:identifier="gdata_calendar_query_set_timezone"
              version="0.2.0">
        <doc xml:whitespace="preserve">Sets the #GDataCalendarQuery:timezone property of the #GDataCalendarQuery to the new timezone string, @timezone.
Set @timezone to %NULL to unset the property in the query URI.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="_timezone" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a new timezone string, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="future-events" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="order-by" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="recurrence-expansion-end"
                writable="1"
                transfer-ownership="none">
        <type name="gint64"/>
      </property>
      <property name="recurrence-expansion-start"
                writable="1"
                transfer-ownership="none">
        <type name="gint64"/>
      </property>
      <property name="single-events" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="sort-order" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="start-max" writable="1" transfer-ownership="none">
        <type name="gint64"/>
      </property>
      <property name="start-min" writable="1" transfer-ownership="none">
        <type name="gint64"/>
      </property>
      <property name="timezone" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <field name="parent">
        <type name="Query" c:type="GDataQuery"/>
      </field>
      <field name="priv">
        <type name="CalendarQueryPrivate" c:type="GDataCalendarQueryPrivate*"/>
      </field>
    </class>
    <record name="CalendarQueryClass"
            c:type="GDataCalendarQueryClass"
            glib:is-gtype-struct-for="CalendarQuery">
      <doc xml:whitespace="preserve">All the fields in the #GDataCalendarQueryClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="QueryClass" c:type="GDataQueryClass"/>
      </field>
    </record>
    <record name="CalendarQueryPrivate"
            c:type="GDataCalendarQueryPrivate"
            disguised="1">
    </record>
    <class name="CalendarService"
           c:symbol-prefix="calendar_service"
           c:type="GDataCalendarService"
           parent="Service"
           glib:type-name="GDataCalendarService"
           glib:get-type="gdata_calendar_service_get_type"
           glib:type-struct="CalendarServiceClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataCalendarService structure are private and should never be accessed directly.</doc>
      <implements name="Batchable"/>
      <constructor name="new" c:identifier="gdata_calendar_service_new">
        <doc xml:whitespace="preserve">Creates a new #GDataCalendarService. The @client_id must be unique for your application, and as registered with Google.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GDataCalendarService, or %NULL</doc>
          <type name="CalendarService" c:type="GDataCalendarService*"/>
        </return-value>
        <parameters>
          <parameter name="client_id" transfer-ownership="none">
            <doc xml:whitespace="preserve">your application's client ID</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="insert_event"
              c:identifier="gdata_calendar_service_insert_event"
              version="0.2.0"
              throws="1">
        <doc xml:whitespace="preserve">Inserts @event by uploading it to the online calendar service.
For more details, see gdata_service_insert_entry().</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">an updated #GDataCalendarEvent, or %NULL; unref with g_object_unref()</doc>
          <type name="CalendarEvent" c:type="GDataCalendarEvent*"/>
        </return-value>
        <parameters>
          <parameter name="event" transfer-ownership="none">
            <doc xml:whitespace="preserve">the #GDataCalendarEvent to insert</doc>
            <type name="CalendarEvent" c:type="GDataCalendarEvent*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="insert_event_async"
              c:identifier="gdata_calendar_service_insert_event_async"
              version="0.8.0">
        <doc xml:whitespace="preserve">Inserts @event by uploading it to the online calendar service. @self and @event are both reffed when this function is called, so can safely be
unreffed after this function returns.
errors.
For more details, see gdata_calendar_service_insert_event(), which is the synchronous version of this function, and
gdata_service_insert_entry_async(), which is the base asynchronous insertion function.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="event" transfer-ownership="none">
            <doc xml:whitespace="preserve">the #GDataCalendarEvent to insert</doc>
            <type name="CalendarEvent" c:type="GDataCalendarEvent*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="async"
                     closure="3">
            <doc xml:whitespace="preserve">a #GAsyncReadyCallback to call when insertion is finished</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="query_all_calendars"
              c:identifier="gdata_calendar_service_query_all_calendars"
              throws="1">
        <doc xml:whitespace="preserve">Queries the service to return a list of all calendars from the authenticated account which match the given
calendars.
For more details, see gdata_service_query().</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a #GDataFeed of query results; unref with g_object_unref()</doc>
          <type name="Feed" c:type="GDataFeed*"/>
        </return-value>
        <parameters>
          <parameter name="query" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a #GDataQuery with the query parameters, or %NULL</doc>
            <type name="Query" c:type="GDataQuery*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="progress_callback"
                     transfer-ownership="none"
                     scope="call"
                     closure="3">
            <doc xml:whitespace="preserve">a #GDataQueryProgressCallback to call when an entry is loaded, or %NULL</doc>
            <type name="QueryProgressCallback"
                  c:type="GDataQueryProgressCallback"/>
          </parameter>
          <parameter name="progress_user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @progress_callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="query_all_calendars_async"
              c:identifier="gdata_calendar_service_query_all_calendars_async"
              introspectable="0">
        <doc xml:whitespace="preserve">Queries the service to return a list of all calendars from the authenticated account which match the given
this function returns.
For more details, see gdata_calendar_service_query_all_calendars(), which is the synchronous version of
this function, and gdata_service_query_async(), which is the base asynchronous query function.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="query" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a #GDataQuery with the query parameters, or %NULL</doc>
            <type name="Query" c:type="GDataQuery*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="progress_callback"
                     transfer-ownership="none"
                     closure="3">
            <doc xml:whitespace="preserve">a #GDataQueryProgressCallback to call when an entry is loaded, or %NULL</doc>
            <type name="QueryProgressCallback"
                  c:type="GDataQueryProgressCallback"/>
          </parameter>
          <parameter name="progress_user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @progress_callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="async"
                     closure="5">
            <doc xml:whitespace="preserve">a #GAsyncReadyCallback to call when authentication is finished</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="query_events"
              c:identifier="gdata_calendar_service_query_events"
              throws="1">
        <doc xml:whitespace="preserve">Queries the service to return a list of events in the given @calendar, which match @query.
For more details, see gdata_service_query().</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a #GDataFeed of query results; unref with g_object_unref()</doc>
          <type name="Feed" c:type="GDataFeed*"/>
        </return-value>
        <parameters>
          <parameter name="calendar" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GDataCalendarCalendar</doc>
            <type name="CalendarCalendar" c:type="GDataCalendarCalendar*"/>
          </parameter>
          <parameter name="query" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a #GDataQuery with the query parameters, or %NULL</doc>
            <type name="Query" c:type="GDataQuery*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="progress_callback"
                     transfer-ownership="none"
                     scope="call"
                     closure="4">
            <doc xml:whitespace="preserve">a #GDataQueryProgressCallback to call when an entry is loaded, or %NULL</doc>
            <type name="QueryProgressCallback"
                  c:type="GDataQueryProgressCallback"/>
          </parameter>
          <parameter name="progress_user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @progress_callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="query_events_async"
              c:identifier="gdata_calendar_service_query_events_async"
              version="0.8.0"
              introspectable="0">
        <doc xml:whitespace="preserve">Queries the service to return a list of events in the given @calendar, which match @query. @self, @calendar and @query are all reffed when this
function is called, so can safely be unreffed after this function returns.
Get the results of the query using gdata_service_query_finish() in the @callback.
For more details, see gdata_calendar_service_query_events(), which is the synchronous version of this function, and gdata_service_query_async(),
which is the base asynchronous query function.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="calendar" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GDataCalendarCalendar</doc>
            <type name="CalendarCalendar" c:type="GDataCalendarCalendar*"/>
          </parameter>
          <parameter name="query" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a #GDataQuery with the query parameters, or %NULL</doc>
            <type name="Query" c:type="GDataQuery*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="progress_callback"
                     transfer-ownership="none"
                     closure="4">
            <doc xml:whitespace="preserve">a #GDataQueryProgressCallback to call when an entry is loaded, or %NULL</doc>
            <type name="QueryProgressCallback"
                  c:type="GDataQueryProgressCallback"/>
          </parameter>
          <parameter name="progress_user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @progress_callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="async"
                     closure="6">
            <doc xml:whitespace="preserve">a #GAsyncReadyCallback to call when the query is finished</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="query_own_calendars"
              c:identifier="gdata_calendar_service_query_own_calendars"
              throws="1">
        <doc xml:whitespace="preserve">Queries the service to return a list of calendars from the authenticated account which match the given
as the ability to set permissions on the calendar.)
For more details, see gdata_service_query().</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a #GDataFeed of query results; unref with g_object_unref()</doc>
          <type name="Feed" c:type="GDataFeed*"/>
        </return-value>
        <parameters>
          <parameter name="query" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a #GDataQuery with the query parameters, or %NULL</doc>
            <type name="Query" c:type="GDataQuery*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="progress_callback"
                     transfer-ownership="none"
                     scope="call"
                     closure="3">
            <doc xml:whitespace="preserve">a #GDataQueryProgressCallback to call when an entry is loaded, or %NULL</doc>
            <type name="QueryProgressCallback"
                  c:type="GDataQueryProgressCallback"/>
          </parameter>
          <parameter name="progress_user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @progress_callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="query_own_calendars_async"
              c:identifier="gdata_calendar_service_query_own_calendars_async"
              introspectable="0">
        <doc xml:whitespace="preserve">Queries the service to return a list of calendars from the authenticated account which match the given
so can safely be unreffed after this function returns.
For more details, see gdata_calendar_service_query_own_calendars(), which is the synchronous version of
this function, and gdata_service_query_async(), which is the base asynchronous query function.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="query" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a #GDataQuery with the query parameters, or %NULL</doc>
            <type name="Query" c:type="GDataQuery*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="progress_callback"
                     transfer-ownership="none"
                     closure="3">
            <doc xml:whitespace="preserve">a #GDataQueryProgressCallback to call when an entry is loaded, or %NULL</doc>
            <type name="QueryProgressCallback"
                  c:type="GDataQueryProgressCallback"/>
          </parameter>
          <parameter name="progress_user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @progress_callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="async"
                     closure="5">
            <doc xml:whitespace="preserve">a #GAsyncReadyCallback to call when authentication is finished</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Service" c:type="GDataService"/>
      </field>
    </class>
    <record name="CalendarServiceClass"
            c:type="GDataCalendarServiceClass"
            glib:is-gtype-struct-for="CalendarService">
      <doc xml:whitespace="preserve">All the fields in the #GDataCalendarServiceClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="ServiceClass" c:type="GDataServiceClass"/>
      </field>
    </record>
    <record name="CalendarServicePrivate"
            c:type="GDataCalendarServicePrivate"
            disguised="1">
    </record>
    <class name="Category"
           c:symbol-prefix="category"
           c:type="GDataCategory"
           parent="Parsable"
           glib:type-name="GDataCategory"
           glib:get-type="gdata_category_get_type"
           glib:type-struct="CategoryClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataCategory structure are private and should never be accessed directly.</doc>
      <implements name="Comparable"/>
      <constructor name="new" c:identifier="gdata_category_new">
        <doc xml:whitespace="preserve">Creates a new #GDataCategory. More information is available in the &lt;ulink type="http"
url="http://www.atomenabled.org/developers/syndication/atom-format-spec.php#element.category"&gt;Atom specification&lt;/ulink&gt;.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GDataCategory, or %NULL; unref with g_object_unref()</doc>
          <type name="Category" c:type="GDataCategory*"/>
        </return-value>
        <parameters>
          <parameter name="term" transfer-ownership="none">
            <doc xml:whitespace="preserve">a category identifier</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="scheme" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">an IRI to define the categorisation scheme, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="label" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a human-readable label for the category, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_label"
              c:identifier="gdata_category_get_label"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataCategory:label property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the category's label, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_scheme"
              c:identifier="gdata_category_get_scheme"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataCategory:scheme property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the category's scheme, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_term"
              c:identifier="gdata_category_get_term"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataCategory:term property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the category's term</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="set_label"
              c:identifier="gdata_category_set_label"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataCategory:label property to @label.
Set @label to %NULL to unset the property in the category.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="label" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new label for the category, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_scheme"
              c:identifier="gdata_category_set_scheme"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataCategory:scheme property to @scheme.
Set @scheme to %NULL to unset the property in the category.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="scheme" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new scheme for the category, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_term"
              c:identifier="gdata_category_set_term"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataCategory:term property to @term.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="term" transfer-ownership="none">
            <doc xml:whitespace="preserve">the new term for the category</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="label" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="scheme" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="term" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <field name="parent">
        <type name="Parsable" c:type="GDataParsable"/>
      </field>
      <field name="priv">
        <type name="CategoryPrivate" c:type="GDataCategoryPrivate*"/>
      </field>
    </class>
    <record name="CategoryClass"
            c:type="GDataCategoryClass"
            glib:is-gtype-struct-for="Category"
            version="0.4.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataCategoryClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="ParsableClass" c:type="GDataParsableClass"/>
      </field>
    </record>
    <record name="CategoryPrivate" c:type="GDataCategoryPrivate" disguised="1">
    </record>
    <record name="Color"
            c:type="GDataColor"
            glib:type-name="GDataColor"
            glib:get-type="gdata_color_get_type"
            c:symbol-prefix="color">
      <doc xml:whitespace="preserve">Describes a color, such as used in the Google Calendar interface to
differentiate calendars.</doc>
      <field name="red" writable="1">
        <type name="guint16" c:type="guint16"/>
      </field>
      <field name="green" writable="1">
        <type name="guint16" c:type="guint16"/>
      </field>
      <field name="blue" writable="1">
        <type name="guint16" c:type="guint16"/>
      </field>
      <method name="to_hexadecimal"
              c:identifier="gdata_color_to_hexadecimal"
              version="0.3.0">
        <doc xml:whitespace="preserve">Returns a string describing @color in hexadecimal form; in the form &lt;literal&gt;#&lt;replaceable&gt;rr&lt;/replaceable&gt;&lt;replaceable&gt;gg&lt;/replaceable&gt;
&lt;replaceable&gt;bb&lt;/replaceable&gt;&lt;/literal&gt;, where &lt;replaceable&gt;rr&lt;/replaceable&gt; is a two-digit hexadecimal red intensity value,
&lt;replaceable&gt;gg&lt;/replaceable&gt; is green and &lt;replaceable&gt;bb&lt;/replaceable&gt; is blue. The hash is always present.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the color string; free with g_free()</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
    </record>
    <interface name="Comparable"
               c:symbol-prefix="comparable"
               c:type="GDataComparable"
               version="0.7.0"
               glib:type-name="GDataComparable"
               glib:get-type="gdata_comparable_get_type"
               glib:type-struct="ComparableIface">
      <doc xml:whitespace="preserve">All the fields in the #GDataComparable structure are private and should never be accessed directly.</doc>
      <virtual-method name="compare_with">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <parameter name="other" transfer-ownership="none">
            <type name="Comparable" c:type="GDataComparable*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="compare"
              c:identifier="gdata_comparable_compare"
              version="0.7.0">
        <doc xml:whitespace="preserve">Compares the two objects, returning &lt;code class="literal"&gt;-1&lt;/code&gt; if @self is "less than" @other by some metric, &lt;code class="literal"&gt;0&lt;/code&gt;
if they're equal, or &lt;code class="literal"&gt;1&lt;/code&gt; if @self is "greater than" @other.
%NULL values are handled gracefully, with &lt;code class="literal"&gt;0&lt;/code&gt; returned if both @self and @other are %NULL,
&lt;code class="literal"&gt;-1&lt;/code&gt; if @self is %NULL and &lt;code class="literal"&gt;1&lt;/code&gt; if @other is %NULL.
The @other object must be of the same type as @self, or of a type derived from @self's type.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE on success, %FALSE otherwise</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <parameter name="other" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">another #GDataComparable of the same type, or %NULL</doc>
            <type name="Comparable" c:type="GDataComparable*"/>
          </parameter>
        </parameters>
      </method>
    </interface>
    <record name="ComparableIface"
            c:type="GDataComparableIface"
            glib:is-gtype-struct-for="Comparable"
            version="0.7.0">
      <doc xml:whitespace="preserve">The class structure for the #GDataComparable interface.</doc>
      <field name="parent">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="compare_with">
        <callback name="compare_with">
          <return-value transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Comparable" c:type="GDataComparable*"/>
            </parameter>
            <parameter name="other" transfer-ownership="none">
              <type name="Comparable" c:type="GDataComparable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="ContactsContact"
           c:symbol-prefix="contacts_contact"
           c:type="GDataContactsContact"
           version="0.2.0"
           parent="Entry"
           glib:type-name="GDataContactsContact"
           glib:get-type="gdata_contacts_contact_get_type"
           glib:type-struct="ContactsContactClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataContactsContact structure are private and should never be accessed directly.</doc>
      <constructor name="new"
                   c:identifier="gdata_contacts_contact_new"
                   version="0.2.0">
        <doc xml:whitespace="preserve">Creates a new #GDataContactsContact with the given ID and default properties.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GDataContactsContact; unref with g_object_unref()</doc>
          <type name="ContactsContact" c:type="GDataContactsContact*"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the contact's ID, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="add_calendar"
              c:identifier="gdata_contacts_contact_add_calendar"
              version="0.7.0">
        <doc xml:whitespace="preserve">Adds a calendar to the contact's list of calendars and increments its reference count.
Duplicate calendars will not be added to the list, though the same URI may appear in several #GDataGContactCalendar&lt;!-- --&gt;s with different
relation types or labels.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="calendar" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GDataGContactCalendar to add</doc>
            <type name="GContactCalendar" c:type="GDataGContactCalendar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_email_address"
              c:identifier="gdata_contacts_contact_add_email_address"
              version="0.2.0">
        <doc xml:whitespace="preserve">Adds an e-mail address to the contact's list of e-mail addresses and increments its reference count.
Note that only one e-mail address per contact may be marked as "primary". Insertion and update operations
(with gdata_contacts_service_insert_contact()) will return an error if more than one e-mail address
is marked as primary.
Duplicate e-mail addresses will not be added to the list.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="email_address" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GDataGDEmailAddress to add</doc>
            <type name="GDEmailAddress" c:type="GDataGDEmailAddress*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_event"
              c:identifier="gdata_contacts_contact_add_event"
              version="0.7.0">
        <doc xml:whitespace="preserve">Adds an event to the contact's list of events and increments its reference count.
Duplicate events will be added to the list, and multiple events with the same event type can be added to a single contact.
Though it may not make sense for some event types to be repeated, adding them is allowed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="event" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GDataGContactEvent to add</doc>
            <type name="GContactEvent" c:type="GDataGContactEvent*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_external_id"
              c:identifier="gdata_contacts_contact_add_external_id"
              version="0.7.0">
        <doc xml:whitespace="preserve">Adds an external ID to the contact's list of external IDs and increments its reference count.
Duplicate IDs will not be added to the list.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="external_id" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GDataGContactExternalID to add</doc>
            <type name="GContactExternalID" c:type="GDataGContactExternalID*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_group"
              c:identifier="gdata_contacts_contact_add_group"
              version="0.2.0">
        <doc xml:whitespace="preserve">Adds the contact to the given group. @href should be a URI.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="href" transfer-ownership="none">
            <doc xml:whitespace="preserve">the group's ID URI</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_hobby"
              c:identifier="gdata_contacts_contact_add_hobby"
              version="0.7.0">
        <doc xml:whitespace="preserve">Adds a hobby to the contact's list of hobbies, copying it in the process.
Duplicate hobbies will not be added to the list.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="hobby" transfer-ownership="none">
            <doc xml:whitespace="preserve">a hobby to add</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_im_address"
              c:identifier="gdata_contacts_contact_add_im_address"
              version="0.2.0">
        <doc xml:whitespace="preserve">Adds an IM (instant messaging) address to the contact's list of IM addresses and increments its reference count.
Note that only one IM address per contact may be marked as "primary". Insertion and update operations
(with gdata_contacts_service_insert_contact()) will return an error if more than one IM address
is marked as primary.
Duplicate IM addresses will not be added to the list.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="im_address" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GDataGDIMAddress to add</doc>
            <type name="GDIMAddress" c:type="GDataGDIMAddress*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_jot"
              c:identifier="gdata_contacts_contact_add_jot"
              version="0.7.0">
        <doc xml:whitespace="preserve">Adds a jot to the contact's list of jots and increments its reference count.
Duplicate jots will be added to the list, and multiple jots with the same relation type can be added to a single contact.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="jot" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GDataGContactJot to add</doc>
            <type name="GContactJot" c:type="GDataGContactJot*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_language"
              c:identifier="gdata_contacts_contact_add_language"
              version="0.7.0">
        <doc xml:whitespace="preserve">Adds a language to the contact's list of languages and increments its reference count.
Duplicate languages will not be added to the list.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="language" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GDataGContactLanguage to add</doc>
            <type name="GContactLanguage" c:type="GDataGContactLanguage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_organization"
              c:identifier="gdata_contacts_contact_add_organization"
              version="0.2.0">
        <doc xml:whitespace="preserve">Adds an organization to the contact's list of organizations (e.g. employers) and increments its reference count.
Note that only one organization per contact may be marked as "primary". Insertion and update operations
(with gdata_contacts_service_insert_contact()) will return an error if more than one organization
is marked as primary.
Duplicate organizations will not be added to the list.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="organization" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GDataGDOrganization to add</doc>
            <type name="GDOrganization" c:type="GDataGDOrganization*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_phone_number"
              c:identifier="gdata_contacts_contact_add_phone_number"
              version="0.2.0">
        <doc xml:whitespace="preserve">Adds a phone number to the contact's list of phone numbers and increments its reference count
Note that only one phone number per contact may be marked as "primary". Insertion and update operations
(with gdata_contacts_service_insert_contact()) will return an error if more than one phone number
is marked as primary.
Duplicate phone numbers will not be added to the list.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="phone_number" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GDataGDPhoneNumber to add</doc>
            <type name="GDPhoneNumber" c:type="GDataGDPhoneNumber*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_postal_address"
              c:identifier="gdata_contacts_contact_add_postal_address"
              version="0.2.0">
        <doc xml:whitespace="preserve">Adds a postal address to the contact's list of postal addresses and increments its reference count.
Note that only one postal address per contact may be marked as "primary". Insertion and update operations
(with gdata_contacts_service_insert_contact()) will return an error if more than one postal address
is marked as primary.
Duplicate postal addresses will not be added to the list.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="postal_address" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GDataGDPostalAddress to add</doc>
            <type name="GDPostalAddress" c:type="GDataGDPostalAddress*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_relation"
              c:identifier="gdata_contacts_contact_add_relation"
              version="0.7.0">
        <doc xml:whitespace="preserve">Adds a relation to the contact's list of relations and increments its reference count.
Duplicate relations will be added to the list, and multiple relations with the same relation type can be added to a single contact.
Though it may not make sense for some relation types to be repeated, adding them is allowed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="relation" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GDataGContactRelation to add</doc>
            <type name="GContactRelation" c:type="GDataGContactRelation*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_website"
              c:identifier="gdata_contacts_contact_add_website"
              version="0.7.0">
        <doc xml:whitespace="preserve">Adds a website to the contact's list of websites and increments its reference count.
Duplicate websites will not be added to the list, though the same URI may appear in several #GDataGContactWebsite&lt;!-- --&gt;s with different
relation types or labels.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="website" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GDataGContactWebsite to add</doc>
            <type name="GContactWebsite" c:type="GDataGContactWebsite*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_billing_information"
              c:identifier="gdata_contacts_contact_get_billing_information"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets the #GDataContactsContact:billing-information property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the contact's billing information, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_birthday"
              c:identifier="gdata_contacts_contact_get_birthday"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets the #GDataContactsContact:birthday and #GDataContactsContact:birthday-has-year properties. If @birthday is non-%NULL,
#GDataContactsContact:birthday is returned in it. The function returns the value of #GDataContactsContact:birthday-has-year,
which specifies whether the year in @birthday is meaningful. Contacts may not have the year of their birth set, in which
case, the function would return %FALSE, and the year in @birthday should be ignored.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">whether the contact's birthday has the year set</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="birthday"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">return location for the birthday, or %NULL</doc>
            <type name="GLib.Date" c:type="GDate*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_calendars"
              c:identifier="gdata_contacts_contact_get_calendars"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets a list of the calendars of the contact.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GList of #GDataGContactCalendar&lt;!-- --&gt;s, or %NULL</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="GContactCalendar"/>
          </type>
        </return-value>
      </method>
      <method name="get_directory_server"
              c:identifier="gdata_contacts_contact_get_directory_server"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets the #GDataContactsContact:directory-server property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the name or address of a directory server associated with the contact, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_edited"
              c:identifier="gdata_contacts_contact_get_edited"
              version="0.2.0">
        <doc xml:whitespace="preserve">Gets the #GDataContactsContact:edited property. If the property is unset, &lt;code class="literal"&gt;-1&lt;/code&gt; will be returned.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the UNIX timestamp for the time the contact was last edited, or &lt;code class="literal"&gt;-1&lt;/code&gt;</doc>
          <type name="gint64" c:type="gint64"/>
        </return-value>
      </method>
      <method name="get_email_addresses"
              c:identifier="gdata_contacts_contact_get_email_addresses"
              version="0.2.0">
        <doc xml:whitespace="preserve">Gets a list of the e-mail addresses owned by the contact.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GList of #GDataGDEmailAddress&lt;!-- --&gt;es, or %NULL</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="GDEmailAddress"/>
          </type>
        </return-value>
      </method>
      <method name="get_events"
              c:identifier="gdata_contacts_contact_get_events"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets a list of the events of the contact.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GList of #GDataGContactEvent&lt;!-- --&gt;s, or %NULL</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="GContactEvent"/>
          </type>
        </return-value>
      </method>
      <method name="get_extended_properties"
              c:identifier="gdata_contacts_contact_get_extended_properties"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the full list of extended properties of the contact; a hash table mapping property name to value.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GHashTable of extended properties</doc>
          <type name="GLib.HashTable" c:type="GHashTable*">
            <type name="gpointer" c:type="gpointer"/>
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
      </method>
      <method name="get_extended_property"
              c:identifier="gdata_contacts_contact_get_extended_property"
              version="0.2.0">
        <doc xml:whitespace="preserve">Gets the value of an extended property of the contact. Each contact can have up to 10 client-set extended
properties to store data of the client's choosing.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the property's value, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">the property name; an arbitrary, unique string</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_external_ids"
              c:identifier="gdata_contacts_contact_get_external_ids"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets a list of the external IDs of the contact.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GList of #GDataGContactExternalID&lt;!-- --&gt;s, or %NULL</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="GContactExternalID"/>
          </type>
        </return-value>
      </method>
      <method name="get_gender"
              c:identifier="gdata_contacts_contact_get_gender"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets the #GDataContactsContact:gender property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the gender of the contact, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_groups"
              c:identifier="gdata_contacts_contact_get_groups"
              version="0.2.0">
        <doc xml:whitespace="preserve">Gets a list of the groups to which the contact belongs.</doc>
        <return-value transfer-ownership="container">
          <doc xml:whitespace="preserve">a #GList of constant group ID URIs, or %NULL; free with g_list_free()</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="utf8"/>
          </type>
        </return-value>
      </method>
      <method name="get_hobbies"
              c:identifier="gdata_contacts_contact_get_hobbies"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets a list of the hobbies of the contact.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GList of hobby strings, or %NULL</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="utf8"/>
          </type>
        </return-value>
      </method>
      <method name="get_im_addresses"
              c:identifier="gdata_contacts_contact_get_im_addresses"
              version="0.2.0">
        <doc xml:whitespace="preserve">Gets a list of the IM addresses owned by the contact.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GList of #GDataGDIMAddress&lt;!-- --&gt;es, or %NULL</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="GDIMAddress"/>
          </type>
        </return-value>
      </method>
      <method name="get_initials"
              c:identifier="gdata_contacts_contact_get_initials"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets the #GDataContactsContact:initials property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the initials of the contact, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_jots"
              c:identifier="gdata_contacts_contact_get_jots"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets a list of the jots attached to the contact.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GList of #GDataGContactJot&lt;!-- --&gt;s, or %NULL</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="GContactJot"/>
          </type>
        </return-value>
      </method>
      <method name="get_languages"
              c:identifier="gdata_contacts_contact_get_languages"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets a list of the languages of the contact.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GList of #GDataGContactLanguage&lt;!-- --&gt;s, or %NULL</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="GContactLanguage"/>
          </type>
        </return-value>
      </method>
      <method name="get_maiden_name"
              c:identifier="gdata_contacts_contact_get_maiden_name"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets the #GDataContactsContact:maiden-name property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the maiden name of the contact, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_mileage"
              c:identifier="gdata_contacts_contact_get_mileage"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets the #GDataContactsContact:mileage property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a mileage associated with the contact, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_name"
              c:identifier="gdata_contacts_contact_get_name"
              version="0.5.0">
        <doc xml:whitespace="preserve">Gets the #GDataContactsContact:name property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the contact's name, or %NULL</doc>
          <type name="GDName" c:type="GDataGDName*"/>
        </return-value>
      </method>
      <method name="get_nickname"
              c:identifier="gdata_contacts_contact_get_nickname"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets the #GDataContactsContact:nickname property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the contact's nickname, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_occupation"
              c:identifier="gdata_contacts_contact_get_occupation"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets the #GDataContactsContact:occupation property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the contact's occupation, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_organizations"
              c:identifier="gdata_contacts_contact_get_organizations"
              version="0.2.0">
        <doc xml:whitespace="preserve">Gets a list of the organizations to which the contact belongs.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GList of #GDataGDOrganization&lt;!-- --&gt;s, or %NULL</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="GDOrganization"/>
          </type>
        </return-value>
      </method>
      <method name="get_phone_numbers"
              c:identifier="gdata_contacts_contact_get_phone_numbers"
              version="0.2.0">
        <doc xml:whitespace="preserve">Gets a list of the phone numbers owned by the contact.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GList of #GDataGDPhoneNumber&lt;!-- --&gt;s, or %NULL</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="GDPhoneNumber"/>
          </type>
        </return-value>
      </method>
      <method name="get_photo"
              c:identifier="gdata_contacts_contact_get_photo"
              version="0.8.0"
              throws="1">
        <doc xml:whitespace="preserve">Downloads and returns the contact's photo, if they have one. If the contact doesn't
have a photo (i.e. gdata_contacts_contact_has_photo() returns %FALSE), %NULL is returned, but
no error is set in @error.
If @cancellable is not %NULL, then the operation can be cancelled by triggering the @cancellable object from another thread.
If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
If there is an error getting the photo, a %GDATA_SERVICE_ERROR_PROTOCOL_ERROR error will be returned.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the image data, or %NULL; free with g_free()</doc>
          <type name="guint8" c:type="guint8*"/>
        </return-value>
        <parameters>
          <parameter name="service" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GDataContactsService</doc>
            <type name="ContactsService" c:type="GDataContactsService*"/>
          </parameter>
          <parameter name="length"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:whitespace="preserve">return location for the image length, in bytes</doc>
            <type name="gsize" c:type="gsize*"/>
          </parameter>
          <parameter name="content_type"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     allow-none="1">
            <doc xml:whitespace="preserve">return location for the image's content type, or %NULL; free with g_free()</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_photo_async"
              c:identifier="gdata_contacts_contact_get_photo_async"
              version="0.8.0">
        <doc xml:whitespace="preserve">Downloads and returns the contact's photo, if they have one, asynchronously. @self and @service are both reffed when this function is called, so
can safely be unreffed after this function returns.
When the operation is finished, @callback will be called. You can then call gdata_contacts_contact_get_photo_finish() to get the results of the
operation.
For more details, see gdata_contacts_contact_get_photo(), which is the synchronous version of this function.
If @cancellable is not %NULL, then the operation can be cancelled by triggering the @cancellable object from another thread.
If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned by gdata_contacts_contact_get_photo_finish().
If there is an error getting the photo, a %GDATA_SERVICE_ERROR_PROTOCOL_ERROR error will be returned by gdata_contacts_contact_get_photo_finish().</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="service" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GDataContactsService</doc>
            <type name="ContactsService" c:type="GDataContactsService*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="async"
                     closure="3">
            <doc xml:whitespace="preserve">a #GAsyncReadyCallback to call when the photo has been retrieved, or %NULL</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_photo_finish"
              c:identifier="gdata_contacts_contact_get_photo_finish"
              version="0.8.0"
              throws="1">
        <doc xml:whitespace="preserve">Finishes an asynchronous contact photo retrieval operation started with gdata_contacts_contact_get_photo_async(). If the contact doesn't have a
photo (i.e. gdata_contacts_contact_has_photo() returns %FALSE), %NULL is returned, but no error is set in @error.
If there is an error getting the photo, a %GDATA_SERVICE_ERROR_PROTOCOL_ERROR error will be returned.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the image data, or %NULL; free with g_free()</doc>
          <type name="guint8" c:type="guint8*"/>
        </return-value>
        <parameters>
          <parameter name="async_result" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GAsyncResult</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
          <parameter name="length"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:whitespace="preserve">return location for the image length, in bytes</doc>
            <type name="gsize" c:type="gsize*"/>
          </parameter>
          <parameter name="content_type"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     allow-none="1">
            <doc xml:whitespace="preserve">return location for the image's content type, or %NULL; free with g_free()</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_postal_addresses"
              c:identifier="gdata_contacts_contact_get_postal_addresses"
              version="0.2.0">
        <doc xml:whitespace="preserve">Gets a list of the postal addresses owned by the contact.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GList of #GDataGDPostalAddress&lt;!-- --&gt;es, or %NULL</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="GDPostalAddress"/>
          </type>
        </return-value>
      </method>
      <method name="get_primary_calendar"
              c:identifier="gdata_contacts_contact_get_primary_calendar"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets the contact's primary calendar, if one exists.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GDataGContactCalendar, or %NULL</doc>
          <type name="GContactCalendar" c:type="GDataGContactCalendar*"/>
        </return-value>
      </method>
      <method name="get_primary_email_address"
              c:identifier="gdata_contacts_contact_get_primary_email_address"
              version="0.2.0">
        <doc xml:whitespace="preserve">Gets the contact's primary e-mail address, if one exists.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GDataGDEmailAddress, or %NULL</doc>
          <type name="GDEmailAddress" c:type="GDataGDEmailAddress*"/>
        </return-value>
      </method>
      <method name="get_primary_im_address"
              c:identifier="gdata_contacts_contact_get_primary_im_address"
              version="0.2.0">
        <doc xml:whitespace="preserve">Gets the contact's primary IM address, if one exists.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GDataGDIMAddress, or %NULL</doc>
          <type name="GDIMAddress" c:type="GDataGDIMAddress*"/>
        </return-value>
      </method>
      <method name="get_primary_organization"
              c:identifier="gdata_contacts_contact_get_primary_organization"
              version="0.2.0">
        <doc xml:whitespace="preserve">Gets the contact's primary organization, if one exists.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GDataGDOrganization, or %NULL</doc>
          <type name="GDOrganization" c:type="GDataGDOrganization*"/>
        </return-value>
      </method>
      <method name="get_primary_phone_number"
              c:identifier="gdata_contacts_contact_get_primary_phone_number"
              version="0.2.0">
        <doc xml:whitespace="preserve">Gets the contact's primary phone number, if one exists.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GDataGDPhoneNumber, or %NULL</doc>
          <type name="GDPhoneNumber" c:type="GDataGDPhoneNumber*"/>
        </return-value>
      </method>
      <method name="get_primary_postal_address"
              c:identifier="gdata_contacts_contact_get_primary_postal_address"
              version="0.2.0">
        <doc xml:whitespace="preserve">Gets the contact's primary postal address, if one exists.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GDataGDPostalAddress, or %NULL</doc>
          <type name="GDPostalAddress" c:type="GDataGDPostalAddress*"/>
        </return-value>
      </method>
      <method name="get_primary_website"
              c:identifier="gdata_contacts_contact_get_primary_website"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets the contact's primary website, if one exists.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GDataGContactWebsite, or %NULL</doc>
          <type name="GContactWebsite" c:type="GDataGContactWebsite*"/>
        </return-value>
      </method>
      <method name="get_priority"
              c:identifier="gdata_contacts_contact_get_priority"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets the #GDataContactsContact:priority property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the contact's priority, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_relations"
              c:identifier="gdata_contacts_contact_get_relations"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets a list of the relations of the contact.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GList of #GDataGContactRelation&lt;!-- --&gt;s, or %NULL</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="GContactRelation"/>
          </type>
        </return-value>
      </method>
      <method name="get_sensitivity"
              c:identifier="gdata_contacts_contact_get_sensitivity"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets the #GDataContactsContact:sensitivity property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the contact's sensitivity, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_short_name"
              c:identifier="gdata_contacts_contact_get_short_name"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets the #GDataContactsContact:short-name property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the contact's short name, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_subject"
              c:identifier="gdata_contacts_contact_get_subject"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets the #GDataContactsContact:subject property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the contact's subject, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_user_defined_field"
              c:identifier="gdata_contacts_contact_get_user_defined_field"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets the value of a user-defined field of the contact. User-defined fields are settable by the user through the Google Contacts web interface,
in contrast to extended properties, which are visible and settable only through the GData interface.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the field's value, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">the field name; an arbitrary, case-sensitive, unique string</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_user_defined_fields"
              c:identifier="gdata_contacts_contact_get_user_defined_fields"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets the full list of user-defined fields of the contact; a hash table mapping field name to value.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GHashTable of user-defined fields</doc>
          <type name="GLib.HashTable" c:type="GHashTable*">
            <type name="gpointer" c:type="gpointer"/>
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
      </method>
      <method name="get_websites"
              c:identifier="gdata_contacts_contact_get_websites"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets a list of the websites of the contact.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GList of #GDataGContactWebsite&lt;!-- --&gt;s, or %NULL</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="GContactWebsite"/>
          </type>
        </return-value>
      </method>
      <method name="has_photo"
              c:identifier="gdata_contacts_contact_has_photo"
              version="0.4.0">
        <doc xml:whitespace="preserve">Returns whether the contact has a photo attached to their contact entry. If the contact
does have a photo, it can be returned using gdata_contacts_contact_get_photo().</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the contact has a photo, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="is_deleted"
              c:identifier="gdata_contacts_contact_is_deleted"
              version="0.2.0">
        <doc xml:whitespace="preserve">Returns whether the contact has recently been deleted. This will always return
%FALSE unless #GDataContactsQuery:show-deleted has been set to
%TRUE for the query which returned the contact; then this function will return
%TRUE only if the contact has been deleted.
If a contact has been deleted, no other information is available about it. This
is designed to allow contacts to be deleted from local address books using
incremental updates from the server (e.g. with #GDataQuery:updated-min and
#GDataContactsQuery:show-deleted).</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the contact has been deleted, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="is_group_deleted"
              c:identifier="gdata_contacts_contact_is_group_deleted"
              version="0.2.0">
        <doc xml:whitespace="preserve">Returns whether the contact has recently been removed from the given group on the server. This
will always return %FALSE unless #GDataContactsQuery:show-deleted has been set to
%TRUE for the query which returned the contact.
If you've just removed a contact from a group locally using gdata_contacts_contact_remove_group(), %FALSE will still be returned by this function,
as the change hasn't been sent to the server.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the contact has recently been removed from the group, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="href" transfer-ownership="none">
            <doc xml:whitespace="preserve">the group's ID URI</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_all_calendars"
              c:identifier="gdata_contacts_contact_remove_all_calendars"
              version="0.7.0">
        <doc xml:whitespace="preserve">Removes all calendars from the contact.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="remove_all_email_addresses"
              c:identifier="gdata_contacts_contact_remove_all_email_addresses"
              version="0.4.0">
        <doc xml:whitespace="preserve">Removes all e-mail addresses from the contact.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="remove_all_events"
              c:identifier="gdata_contacts_contact_remove_all_events"
              version="0.7.0">
        <doc xml:whitespace="preserve">Removes all events from the contact.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="remove_all_external_ids"
              c:identifier="gdata_contacts_contact_remove_all_external_ids"
              version="0.7.0">
        <doc xml:whitespace="preserve">Removes all external IDs from the contact.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="remove_all_hobbies"
              c:identifier="gdata_contacts_contact_remove_all_hobbies"
              version="0.7.0">
        <doc xml:whitespace="preserve">Removes all hobbies from the contact.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="remove_all_im_addresses"
              c:identifier="gdata_contacts_contact_remove_all_im_addresses"
              version="0.4.0">
        <doc xml:whitespace="preserve">Removes all IM addresses from the contact.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="remove_all_jots"
              c:identifier="gdata_contacts_contact_remove_all_jots"
              version="0.7.0">
        <doc xml:whitespace="preserve">Removes all jots from the contact.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="remove_all_languages"
              c:identifier="gdata_contacts_contact_remove_all_languages"
              version="0.7.0">
        <doc xml:whitespace="preserve">Removes all languages from the contact.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="remove_all_organizations"
              c:identifier="gdata_contacts_contact_remove_all_organizations"
              version="0.4.0">
        <doc xml:whitespace="preserve">Removes all organizations from the contact.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="remove_all_phone_numbers"
              c:identifier="gdata_contacts_contact_remove_all_phone_numbers"
              version="0.4.0">
        <doc xml:whitespace="preserve">Removes all phone numbers from the contact.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="remove_all_postal_addresses"
              c:identifier="gdata_contacts_contact_remove_all_postal_addresses"
              version="0.4.0">
        <doc xml:whitespace="preserve">Removes all postal addresses from the contact.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="remove_all_relations"
              c:identifier="gdata_contacts_contact_remove_all_relations"
              version="0.7.0">
        <doc xml:whitespace="preserve">Removes all relations from the contact.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="remove_all_websites"
              c:identifier="gdata_contacts_contact_remove_all_websites"
              version="0.7.0">
        <doc xml:whitespace="preserve">Removes all websites from the contact.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="remove_group"
              c:identifier="gdata_contacts_contact_remove_group"
              version="0.2.0">
        <doc xml:whitespace="preserve">Removes the contact from the given group. @href should be a URI.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="href" transfer-ownership="none">
            <doc xml:whitespace="preserve">the group's ID URI</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_billing_information"
              c:identifier="gdata_contacts_contact_set_billing_information"
              version="0.7.0">
        <doc xml:whitespace="preserve">Sets the #GDataContactsContact:billing-information property to @billing_information.
If @billing_information is %NULL, the contact's billing information will be removed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="billing_information"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the new billing information for the contact, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_birthday"
              c:identifier="gdata_contacts_contact_set_birthday"
              version="0.7.0">
        <doc xml:whitespace="preserve">Sets the #GDataContactsContact:birthday property to @birthday and the #GDataContactsContact:birthday-has-year property to @birthday_has_year.
See gdata_contacts_contact_get_birthday() for an explanation of the interation between these two properties.
If @birthday is %NULL, the contact's birthday will be removed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="birthday" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new birthday, or %NULL</doc>
            <type name="GLib.Date" c:type="GDate*"/>
          </parameter>
          <parameter name="birthday_has_year" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE if @birthday's year is relevant, %FALSE otherwise</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_directory_server"
              c:identifier="gdata_contacts_contact_set_directory_server"
              version="0.7.0">
        <doc xml:whitespace="preserve">Sets the #GDataContactsContact:directory-server property to @directory_server.
If @directory_server is %NULL, the contact's directory server will be removed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="directory_server"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the new name or address of a directory server associated with the contact, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_extended_property"
              c:identifier="gdata_contacts_contact_set_extended_property"
              version="0.2.0">
        <doc xml:whitespace="preserve">Sets the value of a contact's extended property. Extended property names are unique (but of the client's choosing),
and reusing the same property name will result in the old value of that property being overwritten.
To unset a property, set @value to %NULL or an empty string.
A contact may have up to 10 extended properties, and each should be reasonably small (i.e. not a photo or ringtone).
For more information, see the &lt;ulink type="http"
url="http://code.google.com/apis/contacts/docs/2.0/reference.html#ProjectionsAndExtended"&gt;online documentation&lt;/ulink&gt;.
%FALSE will be returned if you attempt to add more than 10 extended properties.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the property was updated or deleted successfully, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">the property name; an arbitrary, unique string</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the property value, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_gender"
              c:identifier="gdata_contacts_contact_set_gender"
              version="0.7.0">
        <doc xml:whitespace="preserve">Sets the #GDataContactsContact:gender property to @gender.
If @gender is %NULL, the contact's gender will be removed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="gender" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new gender of the contact, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_initials"
              c:identifier="gdata_contacts_contact_set_initials"
              version="0.7.0">
        <doc xml:whitespace="preserve">Sets the #GDataContactsContact:initials property to @initials.
If @initials is %NULL, the contact's initials will be removed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="initials" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new initials of the contact, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_maiden_name"
              c:identifier="gdata_contacts_contact_set_maiden_name"
              version="0.7.0">
        <doc xml:whitespace="preserve">Sets the #GDataContactsContact:maiden-name property to @maiden_name.
If @maiden_name is %NULL, the contact's maiden name will be removed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="maiden_name"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the new maiden name of the contact, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_mileage"
              c:identifier="gdata_contacts_contact_set_mileage"
              version="0.7.0">
        <doc xml:whitespace="preserve">Sets the #GDataContactsContact:mileage property to @mileage.
If @mileage is %NULL, the contact's mileage will be removed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="mileage" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new mileage associated with the contact, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_name"
              c:identifier="gdata_contacts_contact_set_name"
              version="0.7.0">
        <doc xml:whitespace="preserve">Sets the #GDataContactsContact:name property to @name, and increments its reference count.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">the new #GDataGDName</doc>
            <type name="GDName" c:type="GDataGDName*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_nickname"
              c:identifier="gdata_contacts_contact_set_nickname"
              version="0.7.0">
        <doc xml:whitespace="preserve">Sets the #GDataContactsContact:nickname property to @nickname.
If @nickname is %NULL, the contact's nickname will be removed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="nickname" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new nickname, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_occupation"
              c:identifier="gdata_contacts_contact_set_occupation"
              version="0.7.0">
        <doc xml:whitespace="preserve">Sets the #GDataContactsContact:occupation property to @occupation.
If @occupation is %NULL, the contact's occupation will be removed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="occupation"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the contact's new occupation, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_photo"
              c:identifier="gdata_contacts_contact_set_photo"
              version="0.8.0"
              throws="1">
        <doc xml:whitespace="preserve">Sets the contact's photo to @data or, if @data is %NULL, deletes the contact's photo. @content_type must be specified if @data is non-%NULL.
If @cancellable is not %NULL, then the operation can be cancelled by triggering the @cancellable object from another thread.
If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
If there is an error setting the photo, a %GDATA_SERVICE_ERROR_PROTOCOL_ERROR error will be returned.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE on success, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="service" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GDataContactsService</doc>
            <type name="ContactsService" c:type="GDataContactsService*"/>
          </parameter>
          <parameter name="data" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the image data, or %NULL</doc>
            <type name="guint8" c:type="guint8*"/>
          </parameter>
          <parameter name="length" transfer-ownership="none">
            <doc xml:whitespace="preserve">the image length, in bytes</doc>
            <type name="gsize" c:type="gsize"/>
          </parameter>
          <parameter name="content_type"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the content type of the image, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_photo_async"
              c:identifier="gdata_contacts_contact_set_photo_async"
              version="0.8.0">
        <doc xml:whitespace="preserve">Sets the contact's photo to @data or, if @data is %NULL, deletes the contact's photo. @content_type must be specified if @data is non-%NULL. @self,
When the operation is finished, @callback will be called. You can then call gdata_contacts_contact_set_photo_finish() to get the results of the
operation.
For more details, see gdata_contacts_contact_set_photo(), which is the synchronous version of this function.
If @cancellable is not %NULL, then the operation can be cancelled by triggering the @cancellable object from another thread.
If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned by gdata_contacts_contact_set_photo_finish().
If there is an error setting the photo, a %GDATA_SERVICE_ERROR_PROTOCOL_ERROR error will be returned by gdata_contacts_contact_set_photo_finish().</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="service" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GDataContactsService</doc>
            <type name="ContactsService" c:type="GDataContactsService*"/>
          </parameter>
          <parameter name="data" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the image data, or %NULL</doc>
            <type name="guint8" c:type="guint8*"/>
          </parameter>
          <parameter name="length" transfer-ownership="none">
            <doc xml:whitespace="preserve">the image length, in bytes</doc>
            <type name="gsize" c:type="gsize"/>
          </parameter>
          <parameter name="content_type"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the content type of the image, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="async"
                     closure="6">
            <doc xml:whitespace="preserve">a #GAsyncReadyCallback to call when the photo has been set, or %NULL</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_photo_finish"
              c:identifier="gdata_contacts_contact_set_photo_finish"
              version="0.8.0"
              throws="1">
        <doc xml:whitespace="preserve">Finishes an asynchronous contact photo setting operation started with gdata_contacts_contact_set_photo_async().
If there is an error setting the photo, a %GDATA_SERVICE_ERROR_PROTOCOL_ERROR error will be returned.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE on success, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="async_result" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GAsyncResult</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_priority"
              c:identifier="gdata_contacts_contact_set_priority"
              version="0.7.0">
        <doc xml:whitespace="preserve">Sets the #GDataContactsContact:priority property to @priority.
If @priority is %NULL, the contact's priority will be removed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="priority" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the contact's new priority, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_sensitivity"
              c:identifier="gdata_contacts_contact_set_sensitivity"
              version="0.7.0">
        <doc xml:whitespace="preserve">Sets the #GDataContactsContact:sensitivity property to @sensitivity.
If @sensitivity is %NULL, the contact's sensitivity will be removed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="sensitivity"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the contact's new sensitivity, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_short_name"
              c:identifier="gdata_contacts_contact_set_short_name"
              version="0.7.0">
        <doc xml:whitespace="preserve">Sets the #GDataContactsContact:short-name property to @short_name.
If @short_name is %NULL, the contact's short name will be removed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="short_name"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the contact's new short name, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_subject"
              c:identifier="gdata_contacts_contact_set_subject"
              version="0.7.0">
        <doc xml:whitespace="preserve">Sets the #GDataContactsContact:subject property to @subject.
If @subject is %NULL, the contact's subject will be removed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="subject" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the contact's new subject, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_user_defined_field"
              c:identifier="gdata_contacts_contact_set_user_defined_field"
              version="0.7.0">
        <doc xml:whitespace="preserve">Sets the value of a contact's user-defined field. User-defined field names are unique (but of the client's choosing),
and reusing the same field name will result in the old value of that field being overwritten.
To unset a field, set @value to %NULL.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">the field name; an arbitrary, case-sensitive, unique string</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the field value, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="billing-information"
                writable="1"
                transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="birthday" writable="1" transfer-ownership="none">
        <type name="GObject.Date"/>
      </property>
      <property name="birthday-has-year"
                writable="1"
                transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="deleted" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="directory-server" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="edited" transfer-ownership="none">
        <type name="gint64"/>
      </property>
      <property name="gender" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="has-photo" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="initials" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="maiden-name" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="mileage" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="name" writable="1" transfer-ownership="none">
        <type name="GDName"/>
      </property>
      <property name="nickname" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="occupation" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="priority" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="sensitivity" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="short-name" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="subject" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <field name="parent">
        <type name="Entry" c:type="GDataEntry"/>
      </field>
      <field name="priv">
        <type name="ContactsContactPrivate"
              c:type="GDataContactsContactPrivate*"/>
      </field>
    </class>
    <record name="ContactsContactClass"
            c:type="GDataContactsContactClass"
            glib:is-gtype-struct-for="ContactsContact"
            version="0.2.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataContactsContactClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="EntryClass" c:type="GDataEntryClass"/>
      </field>
    </record>
    <record name="ContactsContactPrivate"
            c:type="GDataContactsContactPrivate"
            disguised="1">
    </record>
    <class name="ContactsGroup"
           c:symbol-prefix="contacts_group"
           c:type="GDataContactsGroup"
           version="0.7.0"
           parent="Entry"
           glib:type-name="GDataContactsGroup"
           glib:get-type="gdata_contacts_group_get_type"
           glib:type-struct="ContactsGroupClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataContactsGroup structure are private and should never be accessed directly.</doc>
      <constructor name="new"
                   c:identifier="gdata_contacts_group_new"
                   version="0.7.0">
        <doc xml:whitespace="preserve">Creates a new #GDataContactsGroup with the given ID and default properties.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GDataContactsGroup; unref with g_object_unref()</doc>
          <type name="ContactsGroup" c:type="GDataContactsGroup*"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the group's ID, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_edited"
              c:identifier="gdata_contacts_group_get_edited"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets the #GDataContactsGroup:edited property. If the property is unset, &lt;code class="literal"&gt;-1&lt;/code&gt; will be returned.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the UNIX timestamp for the time the file was last edited, or &lt;code class="literal"&gt;-1&lt;/code&gt;</doc>
          <type name="gint64" c:type="gint64"/>
        </return-value>
      </method>
      <method name="get_extended_properties"
              c:identifier="gdata_contacts_group_get_extended_properties"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets the full list of extended properties of the group; a hash table mapping property name to value.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GHashTable of extended properties</doc>
          <type name="GLib.HashTable" c:type="GHashTable*">
            <type name="gpointer" c:type="gpointer"/>
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
      </method>
      <method name="get_extended_property"
              c:identifier="gdata_contacts_group_get_extended_property"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets the value of an extended property of the group. Each group can have up to 10 client-set extended properties to store data of the client's
choosing.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the property's value, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">the property name; an arbitrary, unique string</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_system_group_id"
              c:identifier="gdata_contacts_group_get_system_group_id"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets the #GDataContactsGroup:system-group-id property. If the group is not a system group, %NULL will be returned.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the group's system group ID, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="is_deleted"
              c:identifier="gdata_contacts_group_is_deleted"
              version="0.7.0">
        <doc xml:whitespace="preserve">Returns whether the group has recently been deleted. This will always return %FALSE unless #GDataContactsQuery:show-deleted has been set to %TRUE
for the query which returned the group; then this function will return %TRUE only if the group has been deleted.
If a group has been deleted, no other information is available about it. This is designed to allow groups to be deleted from local address
books using incremental updates from the server (e.g. with #GDataQuery:updated-min and #GDataContactsQuery:show-deleted).</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the group has been deleted, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="set_extended_property"
              c:identifier="gdata_contacts_group_set_extended_property"
              version="0.7.0">
        <doc xml:whitespace="preserve">Sets the value of a group's extended property. Extended property names are unique (but of the client's choosing), and reusing the same property
name will result in the old value of that property being overwritten.
To unset a property, set @value to %NULL or an empty string.
A group may have up to 10 extended properties, and each should be reasonably small (i.e. not a photo or ringtone). For more information, see the
&lt;ulink type="http" url="http://code.google.com/apis/contacts/docs/2.0/reference.html#ProjectionsAndExtended"&gt;online documentation&lt;/ulink&gt;.
%FALSE will be returned if you attempt to add more than 10 extended properties.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the property was updated or deleted successfully, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">the property name; an arbitrary, unique string</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the property value, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="deleted" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="edited" transfer-ownership="none">
        <type name="gint64"/>
      </property>
      <property name="system-group-id" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <field name="parent">
        <type name="Entry" c:type="GDataEntry"/>
      </field>
      <field name="priv">
        <type name="ContactsGroupPrivate" c:type="GDataContactsGroupPrivate*"/>
      </field>
    </class>
    <record name="ContactsGroupClass"
            c:type="GDataContactsGroupClass"
            glib:is-gtype-struct-for="ContactsGroup"
            version="0.7.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataContactsGroupClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="EntryClass" c:type="GDataEntryClass"/>
      </field>
    </record>
    <record name="ContactsGroupPrivate"
            c:type="GDataContactsGroupPrivate"
            disguised="1">
    </record>
    <class name="ContactsQuery"
           c:symbol-prefix="contacts_query"
           c:type="GDataContactsQuery"
           version="0.2.0"
           parent="Query"
           glib:type-name="GDataContactsQuery"
           glib:get-type="gdata_contacts_query_get_type"
           glib:type-struct="ContactsQueryClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataContactsQuery structure are private and should never be accessed directly.</doc>
      <constructor name="new"
                   c:identifier="gdata_contacts_query_new"
                   version="0.2.0">
        <doc xml:whitespace="preserve">Creates a new #GDataContactsQuery with its #GDataQuery:q property set to @q.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GDataContactsQuery</doc>
          <type name="ContactsQuery" c:type="GDataContactsQuery*"/>
        </return-value>
        <parameters>
          <parameter name="q" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a query string, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_with_limits"
                   c:identifier="gdata_contacts_query_new_with_limits"
                   version="0.2.0">
        <doc xml:whitespace="preserve">Creates a new #GDataContactsQuery with its #GDataQuery:q property set to @q, and the limits @start_index and @max_results
applied.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GDataContactsQuery</doc>
          <type name="ContactsQuery" c:type="GDataContactsQuery*"/>
        </return-value>
        <parameters>
          <parameter name="q" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a query string, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="start_index" transfer-ownership="none">
            <doc xml:whitespace="preserve">a one-based start index for the results, or &lt;code class="literal"&gt;0&lt;/code&gt;</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="max_results" transfer-ownership="none">
            <doc xml:whitespace="preserve">the maximum number of results to return, or &lt;code class="literal"&gt;0&lt;/code&gt;</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_group"
              c:identifier="gdata_contacts_query_get_group"
              version="0.2.0">
        <doc xml:whitespace="preserve">Gets the #GDataContactsQuery:group property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the group property, or %NULL if it is unset</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_order_by"
              c:identifier="gdata_contacts_query_get_order_by"
              version="0.2.0">
        <doc xml:whitespace="preserve">Gets the #GDataContactsQuery:order-by property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the order by property, or %NULL if it is unset</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_sort_order"
              c:identifier="gdata_contacts_query_get_sort_order"
              version="0.2.0">
        <doc xml:whitespace="preserve">Gets the #GDataContactsQuery:sort-order property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the sort order property, or %NULL if it is unset</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="set_group"
              c:identifier="gdata_contacts_query_set_group"
              version="0.2.0">
        <doc xml:whitespace="preserve">Sets the #GDataContactsQuery:group property of the #GDataContactsQuery to the new group ID URI, @group.
Set @group to %NULL to unset the property in the query URI.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="group" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a new group ID URI, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_order_by"
              c:identifier="gdata_contacts_query_set_order_by"
              version="0.2.0">
        <doc xml:whitespace="preserve">Sets the #GDataContactsQuery:order-by property of the #GDataContactsQuery to the new order by string, @order_by.
Set @order_by to %NULL to unset the property in the query URI.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="order_by" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a new order by string, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_show_deleted"
              c:identifier="gdata_contacts_query_set_show_deleted"
              version="0.2.0">
        <doc xml:whitespace="preserve">Sets the #GDataContactsQuery:show-deleted property of the #GDataContactsQuery.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="show_deleted" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE to show deleted contacts, %FALSE otherwise</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_sort_order"
              c:identifier="gdata_contacts_query_set_sort_order"
              version="0.2.0">
        <doc xml:whitespace="preserve">Sets the #GDataContactsQuery:sort-order property of the #GDataContactsQuery to the new sort order string, @sort_order.
Set @sort_order to %NULL to unset the property in the query URI.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="sort_order"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">a new sort order string, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="show_deleted"
              c:identifier="gdata_contacts_query_show_deleted"
              version="0.2.0">
        <doc xml:whitespace="preserve">Gets the #GDataContactsQuery:show-deleted property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if deleted contacts should be shown, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <property name="group" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="order-by" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="show-deleted" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="sort-order" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <field name="parent">
        <type name="Query" c:type="GDataQuery"/>
      </field>
      <field name="priv">
        <type name="ContactsQueryPrivate" c:type="GDataContactsQueryPrivate*"/>
      </field>
    </class>
    <record name="ContactsQueryClass"
            c:type="GDataContactsQueryClass"
            glib:is-gtype-struct-for="ContactsQuery"
            version="0.2.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataContactsQueryClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="QueryClass" c:type="GDataQueryClass"/>
      </field>
    </record>
    <record name="ContactsQueryPrivate"
            c:type="GDataContactsQueryPrivate"
            disguised="1">
    </record>
    <class name="ContactsService"
           c:symbol-prefix="contacts_service"
           c:type="GDataContactsService"
           version="0.2.0"
           parent="Service"
           glib:type-name="GDataContactsService"
           glib:get-type="gdata_contacts_service_get_type"
           glib:type-struct="ContactsServiceClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataContactsService structure are private and should never be accessed directly.</doc>
      <implements name="Batchable"/>
      <constructor name="new"
                   c:identifier="gdata_contacts_service_new"
                   version="0.2.0">
        <doc xml:whitespace="preserve">Creates a new #GDataContactsService. The @client_id must be unique for your application, and as registered with Google.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GDataContactsService, or %NULL</doc>
          <type name="ContactsService" c:type="GDataContactsService*"/>
        </return-value>
        <parameters>
          <parameter name="client_id" transfer-ownership="none">
            <doc xml:whitespace="preserve">your application's client ID</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="insert_contact"
              c:identifier="gdata_contacts_service_insert_contact"
              version="0.2.0"
              throws="1">
        <doc xml:whitespace="preserve">Inserts @contact by uploading it to the online contacts service.
For more details, see gdata_service_insert_entry().</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">an updated #GDataContactsContact, or %NULL; unref with g_object_unref()</doc>
          <type name="ContactsContact" c:type="GDataContactsContact*"/>
        </return-value>
        <parameters>
          <parameter name="contact" transfer-ownership="none">
            <doc xml:whitespace="preserve">the #GDataContactsContact to insert</doc>
            <type name="ContactsContact" c:type="GDataContactsContact*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="insert_contact_async"
              c:identifier="gdata_contacts_service_insert_contact_async"
              version="0.7.0">
        <doc xml:whitespace="preserve">Inserts @contact by uploading it to the online contacts service. @self and @contact are both reffed when this function is called, so can safely be
unreffed after this function returns.
possible errors.
For more details, see gdata_contacts_service_insert_contact(), which is the synchronous version of this function,
and gdata_service_insert_entry_async(), which is the base asynchronous insertion function.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="contact" transfer-ownership="none">
            <doc xml:whitespace="preserve">the #GDataContactsContact to insert</doc>
            <type name="ContactsContact" c:type="GDataContactsContact*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="async"
                     closure="3">
            <doc xml:whitespace="preserve">a #GAsyncReadyCallback to call when insertion is finished</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="insert_group"
              c:identifier="gdata_contacts_service_insert_group"
              version="0.7.0"
              throws="1">
        <doc xml:whitespace="preserve">Inserts a new contact group described by @group. The user must be authenticated to use this function.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the inserted #GDataContactsGroup; unref with g_object_unref()</doc>
          <type name="ContactsGroup" c:type="GDataContactsGroup*"/>
        </return-value>
        <parameters>
          <parameter name="group" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GDataContactsGroup to create on the server</doc>
            <type name="ContactsGroup" c:type="GDataContactsGroup*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="insert_group_async"
              c:identifier="gdata_contacts_service_insert_group_async"
              version="0.7.0">
        <doc xml:whitespace="preserve">Inserts a new contact group described by @group. The user must be authenticated to use this function. @self and @group are both reffed when this
function is called, so can safely be unreffed after this function returns.
errors.
For more details, see gdata_contacts_service_insert_group(), which is the synchronous version of this function, and
gdata_service_insert_entry_async(), which is the base asynchronous insertion function.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="group" transfer-ownership="none">
            <doc xml:whitespace="preserve">the #GDataContactsGroup to insert</doc>
            <type name="ContactsGroup" c:type="GDataContactsGroup*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="async"
                     closure="3">
            <doc xml:whitespace="preserve">a #GAsyncReadyCallback to call when insertion is finished</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="query_contacts"
              c:identifier="gdata_contacts_service_query_contacts"
              version="0.2.0"
              throws="1">
        <doc xml:whitespace="preserve">Queries the service to return a list of contacts matching the given @query.
For more details, see gdata_service_query().</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a #GDataFeed of query results; unref with g_object_unref()</doc>
          <type name="Feed" c:type="GDataFeed*"/>
        </return-value>
        <parameters>
          <parameter name="query" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a #GDataQuery with the query parameters, or %NULL</doc>
            <type name="Query" c:type="GDataQuery*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="progress_callback"
                     transfer-ownership="none"
                     scope="call"
                     closure="3">
            <doc xml:whitespace="preserve">a #GDataQueryProgressCallback to call when an entry is loaded, or %NULL</doc>
            <type name="QueryProgressCallback"
                  c:type="GDataQueryProgressCallback"/>
          </parameter>
          <parameter name="progress_user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @progress_callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="query_contacts_async"
              c:identifier="gdata_contacts_service_query_contacts_async"
              version="0.2.0"
              introspectable="0">
        <doc xml:whitespace="preserve">Queries the service to return a list of contacts matching the given @query. @self and
For more details, see gdata_contacts_service_query_contacts(), which is the synchronous version of this function,
and gdata_service_query_async(), which is the base asynchronous query function.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="query" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a #GDataQuery with the query parameters, or %NULL</doc>
            <type name="Query" c:type="GDataQuery*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="progress_callback"
                     transfer-ownership="none"
                     closure="3">
            <doc xml:whitespace="preserve">a #GDataQueryProgressCallback to call when an entry is loaded, or %NULL</doc>
            <type name="QueryProgressCallback"
                  c:type="GDataQueryProgressCallback"/>
          </parameter>
          <parameter name="progress_user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @progress_callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="async"
                     closure="5">
            <doc xml:whitespace="preserve">a #GAsyncReadyCallback to call when the query is finished</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="query_groups"
              c:identifier="gdata_contacts_service_query_groups"
              version="0.7.0"
              throws="1">
        <doc xml:whitespace="preserve">Queries the service to return a list of groups matching the given @query.
For more details, see gdata_service_query().</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a #GDataFeed of query results; unref with g_object_unref()</doc>
          <type name="Feed" c:type="GDataFeed*"/>
        </return-value>
        <parameters>
          <parameter name="query" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a #GDataQuery with the query parameters, or %NULL</doc>
            <type name="Query" c:type="GDataQuery*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="progress_callback"
                     transfer-ownership="none"
                     scope="call"
                     closure="3">
            <doc xml:whitespace="preserve">a #GDataQueryProgressCallback to call when an entry is loaded, or %NULL</doc>
            <type name="QueryProgressCallback"
                  c:type="GDataQueryProgressCallback"/>
          </parameter>
          <parameter name="progress_user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @progress_callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="query_groups_async"
              c:identifier="gdata_contacts_service_query_groups_async"
              version="0.7.0"
              introspectable="0">
        <doc xml:whitespace="preserve">Queries the service to return a list of groups matching the given @query. @self and @query are all reffed when this function is called, so can
safely be unreffed after this function returns.
For more details, see gdata_contacts_service_query_groups(), which is the synchronous version of this function, and gdata_service_query_async(),
which is the base asynchronous query function.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="query" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a #GDataQuery with the query parameters, or %NULL</doc>
            <type name="Query" c:type="GDataQuery*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="progress_callback"
                     transfer-ownership="none"
                     closure="3">
            <doc xml:whitespace="preserve">a #GDataQueryProgressCallback to call when an entry is loaded, or %NULL</doc>
            <type name="QueryProgressCallback"
                  c:type="GDataQueryProgressCallback"/>
          </parameter>
          <parameter name="progress_user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @progress_callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="async"
                     closure="5">
            <doc xml:whitespace="preserve">a #GAsyncReadyCallback to call when the query is finished</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Service" c:type="GDataService"/>
      </field>
    </class>
    <record name="ContactsServiceClass"
            c:type="GDataContactsServiceClass"
            glib:is-gtype-struct-for="ContactsService"
            version="0.2.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataContactsServiceClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="ServiceClass" c:type="GDataServiceClass"/>
      </field>
    </record>
    <record name="ContactsServicePrivate"
            c:type="GDataContactsServicePrivate"
            disguised="1">
    </record>
    <constant name="DOCUMENTS_ACCESS_ROLE_OWNER" value="owner">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DOCUMENTS_ACCESS_ROLE_READER" value="reader">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DOCUMENTS_ACCESS_ROLE_WRITER" value="writer">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DOCUMENTS_PRESENTATION_PDF" value="pdf">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DOCUMENTS_PRESENTATION_PNG" value="png">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DOCUMENTS_PRESENTATION_PPT" value="ppt">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DOCUMENTS_PRESENTATION_SWF" value="swf">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DOCUMENTS_PRESENTATION_TXT" value="txt">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DOCUMENTS_SPREADSHEET_CSV" value="csv">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DOCUMENTS_SPREADSHEET_HTML" value="html">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DOCUMENTS_SPREADSHEET_ODS" value="ods">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DOCUMENTS_SPREADSHEET_PDF" value="pdf">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DOCUMENTS_SPREADSHEET_TSV" value="tsv">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DOCUMENTS_SPREADSHEET_XLS" value="xls">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DOCUMENTS_TEXT_DOC" value="doc">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DOCUMENTS_TEXT_HTML" value="html">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DOCUMENTS_TEXT_ODT" value="odt">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DOCUMENTS_TEXT_PDF" value="pdf">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DOCUMENTS_TEXT_PNG" value="png">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DOCUMENTS_TEXT_RTF" value="rtf">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DOCUMENTS_TEXT_TXT" value="txt">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DOCUMENTS_TEXT_ZIP" value="zip">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <class name="DocumentsDocument"
           c:symbol-prefix="documents_document"
           c:type="GDataDocumentsDocument"
           version="0.7.0"
           parent="DocumentsEntry"
           abstract="1"
           glib:type-name="GDataDocumentsDocument"
           glib:get-type="gdata_documents_document_get_type"
           glib:type-struct="DocumentsDocumentClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataDocumentsDocument structure are private and should never be accessed directly.</doc>
      <implements name="AccessHandler"/>
      <method name="download"
              c:identifier="gdata_documents_document_download"
              version="0.8.0"
              throws="1">
        <doc xml:whitespace="preserve">Downloads and returns the document file represented by the #GDataDocumentsDocument. If the document doesn't exist, %NULL is returned, but no error
is set in @error.
%GDATA_DOCUMENTS_PRESENTATION_PDF, %GDATA_DOCUMENTS_SPREADSHEET_ODS or %GDATA_DOCUMENTS_TEXT_ODT.
If @self is a #GDataDocumentsSpreadsheet, only the first grid, or sheet, in the spreadsheet will be downloaded for some export formats. To download
a specific a specific grid, use gdata_documents_spreadsheet_get_download_uri() with #GDataDownloadStream to download the grid manually. See the
&lt;ulink type="http" url="http://code.google.com/apis/documents/docs/2.0/developers_guide_protocol.html#DownloadingSpreadsheets"&gt;GData protocol
specification&lt;/ulink&gt; for more information.
To get the content type of the downloaded file, gdata_download_stream_get_content_type() can be called on the returned #GDataDownloadStream.
Calling gdata_download_stream_get_content_length() on the stream will not return a meaningful result, however, as the stream is encoded in chunks,
rather than by content length.
In order to cancel the download, a #GCancellable passed in to @cancellable must be cancelled using g_cancellable_cancel(). Cancelling the individual
#GInputStream operations on the #GDataDownloadStream will not cancel the entire download; merely the read or close operation in question. See the
#GDataDownloadStream:cancellable for more details.
If @service isn't authenticated, a %GDATA_SERVICE_ERROR_AUTHENTICATION_REQUIRED will be returned.
If there is an error getting the document, a %GDATA_SERVICE_ERROR_PROTOCOL_ERROR error will be returned.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a #GDataDownloadStream to download the document with, or %NULL; unref with g_object_unref()</doc>
          <type name="DownloadStream" c:type="GDataDownloadStream*"/>
        </return-value>
        <parameters>
          <parameter name="service" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GDataDocumentsService</doc>
            <type name="DocumentsService" c:type="GDataDocumentsService*"/>
          </parameter>
          <parameter name="export_format" transfer-ownership="none">
            <doc xml:whitespace="preserve">the format in which the document should be exported</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">a #GCancellable for the entire download stream, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_download_uri"
              c:identifier="gdata_documents_document_get_download_uri"
              version="0.7.0">
        <doc xml:whitespace="preserve">Builds and returns the download URI for the given #GDataDocumentsDocument in the desired format. Note that directly downloading the document using
this URI isn't possible, as authentication is required. You should instead use gdata_download_stream_new() with the URI, and use the resulting
#GInputStream.
%GDATA_DOCUMENTS_PRESENTATION_PDF, %GDATA_DOCUMENTS_SPREADSHEET_ODS or %GDATA_DOCUMENTS_TEXT_ODT.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the download URI; free with g_free()</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="export_format" transfer-ownership="none">
            <doc xml:whitespace="preserve">the format in which the document should be exported when downloaded</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="DocumentsEntry" c:type="GDataDocumentsEntry"/>
      </field>
      <field name="priv">
        <type name="DocumentsDocumentPrivate"
              c:type="GDataDocumentsDocumentPrivate*"/>
      </field>
    </class>
    <record name="DocumentsDocumentClass"
            c:type="GDataDocumentsDocumentClass"
            glib:is-gtype-struct-for="DocumentsDocument"
            version="0.7.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataDocumentsDocumentClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="DocumentsEntryClass" c:type="GDataDocumentsEntryClass"/>
      </field>
    </record>
    <record name="DocumentsDocumentPrivate"
            c:type="GDataDocumentsDocumentPrivate"
            disguised="1">
    </record>
    <class name="DocumentsEntry"
           c:symbol-prefix="documents_entry"
           c:type="GDataDocumentsEntry"
           version="0.4.0"
           parent="Entry"
           abstract="1"
           glib:type-name="GDataDocumentsEntry"
           glib:get-type="gdata_documents_entry_get_type"
           glib:type-struct="DocumentsEntryClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataDocumentsEntry structure are private and should never be accessed directly.</doc>
      <implements name="AccessHandler"/>
      <method name="get_document_id"
              c:identifier="gdata_documents_entry_get_document_id"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataDocumentsEntry:document-id property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the document's document ID</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_edited"
              c:identifier="gdata_documents_entry_get_edited"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataDocumentsEntry:edited property. If the property is unset, &lt;code class="literal"&gt;-1&lt;/code&gt; will be returned.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the UNIX timestamp for the time the document was last edited, or &lt;code class="literal"&gt;-1&lt;/code&gt;</doc>
          <type name="gint64" c:type="gint64"/>
        </return-value>
      </method>
      <method name="get_last_modified_by"
              c:identifier="gdata_documents_entry_get_last_modified_by"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataDocumentsEntry:last-modified-by property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the author who last modified the document</doc>
          <type name="Author" c:type="GDataAuthor*"/>
        </return-value>
      </method>
      <method name="get_last_viewed"
              c:identifier="gdata_documents_entry_get_last_viewed"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataDocumentsEntry:last-viewed property. If the property is unset, &lt;code class="literal"&gt;-1&lt;/code&gt; will be returned.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the UNIX timestamp for the time the document was last viewed, or &lt;code class="literal"&gt;-1&lt;/code&gt;</doc>
          <type name="gint64" c:type="gint64"/>
        </return-value>
      </method>
      <method name="get_path"
              c:identifier="gdata_documents_entry_get_path"
              version="0.4.0">
        <doc xml:whitespace="preserve">Builds a path for the #GDataDocumentsEntry, starting from a root node and traversing the folders containing the document, then ending with the
document's ID.
and not the entries' human-readable names (#GDataEntry:title).</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the folder hierarchy path containing the document, or %NULL; free with g_free()</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="is_deleted"
              c:identifier="gdata_documents_entry_is_deleted"
              version="0.5.0">
        <doc xml:whitespace="preserve">Gets the #GDataDocumentsEntry:is-deleted property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the document has been deleted, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="set_writers_can_invite"
              c:identifier="gdata_documents_entry_set_writers_can_invite"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataDocumentsEntry:writers-can-invite property to @writers_can_invite.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="writers_can_invite" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE if writers can invite other people to edit the document, %FALSE otherwise</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="writers_can_invite"
              c:identifier="gdata_documents_entry_writers_can_invite"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataDocumentsEntry:writers-can-invite property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if writers can invite other people to edit the document, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <property name="document-id" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="edited" transfer-ownership="none">
        <type name="gint64"/>
      </property>
      <property name="is-deleted" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="last-modified-by" transfer-ownership="none">
        <type name="Author"/>
      </property>
      <property name="last-viewed" transfer-ownership="none">
        <type name="gint64"/>
      </property>
      <property name="writers-can-invite"
                writable="1"
                transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <field name="parent">
        <type name="Entry" c:type="GDataEntry"/>
      </field>
      <field name="priv">
        <type name="DocumentsEntryPrivate"
              c:type="GDataDocumentsEntryPrivate*"/>
      </field>
    </class>
    <record name="DocumentsEntryClass"
            c:type="GDataDocumentsEntryClass"
            glib:is-gtype-struct-for="DocumentsEntry"
            version="0.4.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataDocumentsEntryClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="EntryClass" c:type="GDataEntryClass"/>
      </field>
    </record>
    <record name="DocumentsEntryPrivate"
            c:type="GDataDocumentsEntryPrivate"
            disguised="1">
    </record>
    <class name="DocumentsFeed"
           c:symbol-prefix="documents_feed"
           c:type="GDataDocumentsFeed"
           version="0.4.0"
           parent="Feed"
           glib:type-name="GDataDocumentsFeed"
           glib:get-type="gdata_documents_feed_get_type"
           glib:type-struct="DocumentsFeedClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataDocumentsFeed structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="Feed" c:type="GDataFeed"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="DocumentsFeedPrivate" c:type="GDataDocumentsFeedPrivate*"/>
      </field>
    </class>
    <record name="DocumentsFeedClass"
            c:type="GDataDocumentsFeedClass"
            glib:is-gtype-struct-for="DocumentsFeed"
            version="0.4.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataDocumentsFeedClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="FeedClass" c:type="GDataFeedClass"/>
      </field>
    </record>
    <record name="DocumentsFeedPrivate"
            c:type="GDataDocumentsFeedPrivate"
            disguised="1">
    </record>
    <class name="DocumentsFolder"
           c:symbol-prefix="documents_folder"
           c:type="GDataDocumentsFolder"
           version="0.4.0"
           parent="DocumentsEntry"
           glib:type-name="GDataDocumentsFolder"
           glib:get-type="gdata_documents_folder_get_type"
           glib:type-struct="DocumentsFolderClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataDocumentsFolder structure are private and should never be accessed directly.</doc>
      <implements name="AccessHandler"/>
      <constructor name="new"
                   c:identifier="gdata_documents_folder_new"
                   version="0.4.0">
        <doc xml:whitespace="preserve">Creates a new #GDataDocumentsFolder with the given entry ID (#GDataEntry:id).</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GDataDocumentsFolder, or %NULL; unref with g_object_unref()</doc>
          <type name="DocumentsFolder" c:type="GDataDocumentsFolder*"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the entry's ID (not the document ID of the folder), or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <field name="parent">
        <type name="DocumentsEntry" c:type="GDataDocumentsEntry"/>
      </field>
      <field name="priv">
        <type name="DocumentsFolderPrivate"
              c:type="GDataDocumentsFolderPrivate*"/>
      </field>
    </class>
    <record name="DocumentsFolderClass"
            c:type="GDataDocumentsFolderClass"
            glib:is-gtype-struct-for="DocumentsFolder"
            version="0.4.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataDocumentsFolderClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="DocumentsEntryClass" c:type="GDataDocumentsEntryClass"/>
      </field>
    </record>
    <record name="DocumentsFolderPrivate"
            c:type="GDataDocumentsFolderPrivate"
            disguised="1">
    </record>
    <class name="DocumentsPresentation"
           c:symbol-prefix="documents_presentation"
           c:type="GDataDocumentsPresentation"
           version="0.4.0"
           parent="DocumentsDocument"
           glib:type-name="GDataDocumentsPresentation"
           glib:get-type="gdata_documents_presentation_get_type"
           glib:type-struct="DocumentsPresentationClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataDocumentsPresentation structure are private and should never be accessed directly.</doc>
      <implements name="AccessHandler"/>
      <constructor name="new"
                   c:identifier="gdata_documents_presentation_new"
                   version="0.4.0">
        <doc xml:whitespace="preserve">Creates a new #GDataDocumentsPresentation with the given entry ID (#GDataEntry:id).</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GDataDocumentsPresentation, or %NULL; unref with g_object_unref()</doc>
          <type name="DocumentsPresentation"
                c:type="GDataDocumentsPresentation*"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the entry's ID (not the document ID of the presentation), or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <field name="parent">
        <type name="DocumentsDocument" c:type="GDataDocumentsDocument"/>
      </field>
      <field name="priv">
        <type name="DocumentsPresentationPrivate"
              c:type="GDataDocumentsPresentationPrivate*"/>
      </field>
    </class>
    <record name="DocumentsPresentationClass"
            c:type="GDataDocumentsPresentationClass"
            glib:is-gtype-struct-for="DocumentsPresentation"
            version="0.4.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataDocumentsPresentationClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="DocumentsDocumentClass"
              c:type="GDataDocumentsDocumentClass"/>
      </field>
    </record>
    <record name="DocumentsPresentationPrivate"
            c:type="GDataDocumentsPresentationPrivate"
            disguised="1">
    </record>
    <class name="DocumentsQuery"
           c:symbol-prefix="documents_query"
           c:type="GDataDocumentsQuery"
           version="0.4.0"
           parent="Query"
           glib:type-name="GDataDocumentsQuery"
           glib:get-type="gdata_documents_query_get_type"
           glib:type-struct="DocumentsQueryClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataDocumentsQuery structure are private and should never be accessed directly.</doc>
      <constructor name="new"
                   c:identifier="gdata_documents_query_new"
                   version="0.4.0">
        <doc xml:whitespace="preserve">Creates a new #GDataDocumentsQuery with its #GDataQuery:q property set to @q.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GDataDocumentsQuery</doc>
          <type name="DocumentsQuery" c:type="GDataDocumentsQuery*"/>
        </return-value>
        <parameters>
          <parameter name="q" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a query string, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_with_limits"
                   c:identifier="gdata_documents_query_new_with_limits"
                   version="0.4.0">
        <doc xml:whitespace="preserve">Creates a new #GDataDocumentsQuery with its #GDataQuery:q property set to @q, and the limits @start_index and @max_results
applied.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GDataDocumentsQuery</doc>
          <type name="DocumentsQuery" c:type="GDataDocumentsQuery*"/>
        </return-value>
        <parameters>
          <parameter name="q" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a query string, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="start_index" transfer-ownership="none">
            <doc xml:whitespace="preserve">a one-based start index for the results, or &lt;code class="literal"&gt;0&lt;/code&gt;</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="max_results" transfer-ownership="none">
            <doc xml:whitespace="preserve">the maximum number of results to return, or &lt;code class="literal"&gt;0&lt;/code&gt;</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="add_collaborator"
              c:identifier="gdata_documents_query_add_collaborator"
              version="0.4.0">
        <doc xml:whitespace="preserve">Add @email_address as a #GDataGDEmailAddress to the list of collaborators whose edited documents will be queried.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="email_address" transfer-ownership="none">
            <doc xml:whitespace="preserve">the e-mail address of the collaborator to add</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_reader"
              c:identifier="gdata_documents_query_add_reader"
              version="0.4.0">
        <doc xml:whitespace="preserve">Add @email_address as a #GDataGDEmailAddress to the list of readers, the documents readable by whom will be queried.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="email_address" transfer-ownership="none">
            <doc xml:whitespace="preserve">the e-mail address of the reader to add</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_collaborator_addresses"
              c:identifier="gdata_documents_query_get_collaborator_addresses"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets a list of #GDataGDEmailAddress&lt;!-- --&gt;es of the document collaborators whose documents will be queried.
query, or %NULL</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a list of #GDataGDEmailAddress&lt;!-- --&gt;es of the collaborators concerned by the</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="GDEmailAddress"/>
          </type>
        </return-value>
      </method>
      <method name="get_exact_title"
              c:identifier="gdata_documents_query_get_exact_title"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataDocumentsQuery:exact-title property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the query matches the exact title of documents with #GDataDocumentsQuery:title, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_folder_id"
              c:identifier="gdata_documents_query_get_folder_id"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataDocumentsQuery:folder-id property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the ID of the folder to be queried, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_reader_addresses"
              c:identifier="gdata_documents_query_get_reader_addresses"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets a list of #GDataGDEmailAddress&lt;!-- --&gt;es of the document readers whose documents will be queried.
or %NULL</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a list of #GDataGDEmailAddress&lt;!-- --&gt;es of the readers concerned by the query,</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="GDEmailAddress"/>
          </type>
        </return-value>
      </method>
      <method name="get_title"
              c:identifier="gdata_documents_query_get_title"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataDocumentsQuery:title property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the title (or title fragment) being queried for, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="set_folder_id"
              c:identifier="gdata_documents_query_set_folder_id"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataDocumentsQuery:folder-id property to @folder_id.
Set @folder_id to %NULL to unset the property in the query URI.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="folder_id" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the ID of the folder to be queried, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_show_deleted"
              c:identifier="gdata_documents_query_set_show_deleted"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataDocumentsQuery:show_deleted property to @show_deleted.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="show_deleted" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE if the request should return deleted entries, %FALSE otherwise</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_show_folders"
              c:identifier="gdata_documents_query_set_show_folders"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataDocumentsQuery:show-folders property to show_folders.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="show_folders" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE if the request should return folders, %FALSE otherwise</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_title"
              c:identifier="gdata_documents_query_set_title"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataDocumentsQuery:title property to @title.
Set @title to %NULL to unset the property in the query URI.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="title" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the title (or title fragment) to query for, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="exact_title" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE if the query should match the exact @title, %FALSE otherwise</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="show_deleted"
              c:identifier="gdata_documents_query_show_deleted"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataDocumentsQuery:show_deleted property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the request should return deleted entries, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="show_folders"
              c:identifier="gdata_documents_query_show_folders"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataDocumentsQuery:show-folders property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the request should return folders, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <property name="exact-title" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="folder-id" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="show-deleted" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="show-folders" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="title" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <field name="parent">
        <type name="Query" c:type="GDataQuery"/>
      </field>
      <field name="priv">
        <type name="DocumentsQueryPrivate"
              c:type="GDataDocumentsQueryPrivate*"/>
      </field>
    </class>
    <record name="DocumentsQueryClass"
            c:type="GDataDocumentsQueryClass"
            glib:is-gtype-struct-for="DocumentsQuery"
            version="0.4.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataDocumentsQueryClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="QueryClass" c:type="GDataQueryClass"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="DocumentsQueryPrivate"
              c:type="GDataDocumentsQueryPrivate*"/>
      </field>
    </record>
    <record name="DocumentsQueryPrivate"
            c:type="GDataDocumentsQueryPrivate"
            disguised="1">
    </record>
    <class name="DocumentsService"
           c:symbol-prefix="documents_service"
           c:type="GDataDocumentsService"
           version="0.4.0"
           parent="Service"
           glib:type-name="GDataDocumentsService"
           glib:get-type="gdata_documents_service_get_type"
           glib:type-struct="DocumentsServiceClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataDocumentsService structure are private and should never be accessed directly.</doc>
      <implements name="Batchable"/>
      <constructor name="new"
                   c:identifier="gdata_documents_service_new"
                   version="0.4.0">
        <doc xml:whitespace="preserve">Creates a new #GDataDocumentsService. The @client_id must be unique for your application, and as registered with Google.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GDataDocumentsService, or %NULL; unref with g_object_unref()</doc>
          <type name="DocumentsService" c:type="GDataDocumentsService*"/>
        </return-value>
        <parameters>
          <parameter name="client_id" transfer-ownership="none">
            <doc xml:whitespace="preserve">your application's client ID</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <function name="get_upload_uri"
                c:identifier="gdata_documents_service_get_upload_uri"
                version="0.5.0">
        <doc xml:whitespace="preserve">Gets the upload URI for documents for the service.
If @folder is %NULL, the URI will be the one to upload documents to the "root" folder.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the URI permitting the upload of documents to @folder, or %NULL; free with g_free()</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="folder" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the #GDataDocumentsFolder into which to upload the document, or %NULL</doc>
            <type name="DocumentsFolder" c:type="GDataDocumentsFolder*"/>
          </parameter>
        </parameters>
      </function>
      <method name="add_entry_to_folder"
              c:identifier="gdata_documents_service_add_entry_to_folder"
              version="0.8.0"
              throws="1">
        <doc xml:whitespace="preserve">Add the given @entry to the specified @folder, and return an updated #GDataDocumentsEntry for @entry. If the @entry is already in another folder, it
will be added to the new folder, but will also remain  in its other folders. Note that @entry can be either a #GDataDocumentsDocument or a
#GDataDocumentsFolder.
Errors from #GDataServiceError can be returned for exceptional conditions, as determined by the server.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">an updated #GDataDocumentsEntry, or %NULL; unref with g_object_unref()</doc>
          <type name="DocumentsEntry" c:type="GDataDocumentsEntry*"/>
        </return-value>
        <parameters>
          <parameter name="entry" transfer-ownership="none">
            <doc xml:whitespace="preserve">the #GDataDocumentsEntry to move</doc>
            <type name="DocumentsEntry" c:type="GDataDocumentsEntry*"/>
          </parameter>
          <parameter name="folder" transfer-ownership="none">
            <doc xml:whitespace="preserve">the #GDataDocumentsFolder to move @entry into</doc>
            <type name="DocumentsFolder" c:type="GDataDocumentsFolder*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_entry_to_folder_async"
              c:identifier="gdata_documents_service_add_entry_to_folder_async"
              version="0.8.0">
        <doc xml:whitespace="preserve">Add the given @entry to the specified @folder. @self, @entry and @folder are all reffed when this function is called, so can safely be unreffed
after this function returns.
For more details, see gdata_documents_service_add_entry_to_folder(), which is the synchronous version of this function.
When the operation is finished, @callback will be called. You can then call gdata_documents_service_add_entry_to_folder_finish() to get the results
of the operation.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="entry" transfer-ownership="none">
            <doc xml:whitespace="preserve">the #GDataDocumentsEntry to add to @folder</doc>
            <type name="DocumentsEntry" c:type="GDataDocumentsEntry*"/>
          </parameter>
          <parameter name="folder" transfer-ownership="none">
            <doc xml:whitespace="preserve">the #GDataDocumentsFolder to add @entry to</doc>
            <type name="DocumentsFolder" c:type="GDataDocumentsFolder*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="async"
                     closure="4">
            <doc xml:whitespace="preserve">a #GAsyncReadyCallback to call when the operation is finished, or %NULL</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_entry_to_folder_finish"
              c:identifier="gdata_documents_service_add_entry_to_folder_finish"
              version="0.8.0"
              throws="1">
        <doc xml:whitespace="preserve">Finish an asynchronous operation to add a #GDataDocumentsEntry to a folder started with gdata_documents_service_add_entry_to_folder_async().</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">an updated #GDataDocumentsEntry, or %NULL; unref with g_object_unref()</doc>
          <type name="DocumentsEntry" c:type="GDataDocumentsEntry*"/>
        </return-value>
        <parameters>
          <parameter name="async_result" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GAsyncResult</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="finish_upload"
              c:identifier="gdata_documents_service_finish_upload"
              version="0.8.0"
              throws="1">
        <doc xml:whitespace="preserve">Finish off a document upload or update operation started by gdata_documents_service_upload_document() or gdata_documents_service_update_document(),
parsing the result and returning the new or updated #GDataDocumentsDocument.
If an error occurred during the upload or update operation, it will have been returned during the operation (e.g. by g_output_stream_splice() or one
of the other stream methods). In such a case, %NULL will be returned but @error will remain unset. @error is only set in the case that the server
indicates that the operation was successful, but an error is encountered in parsing the result sent by the server.
In the case that no #GDataDocumentsDocument was passed (to gdata_documents_service_upload_document() or gdata_documents_service_update_document())
when starting the operation, %GDATA_DOCUMENTS_SERVICE_ERROR_INVALID_CONTENT_TYPE will be thrown in @error if the content type of the uploaded data
could not be mapped to a document type with which to interpret the response from the server.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the new or updated #GDataDocumentsDocument, or %NULL; unref with g_object_unref()</doc>
          <type name="DocumentsDocument" c:type="GDataDocumentsDocument*"/>
        </return-value>
        <parameters>
          <parameter name="upload_stream" transfer-ownership="none">
            <doc xml:whitespace="preserve">the #GDataUploadStream from the operation</doc>
            <type name="UploadStream" c:type="GDataUploadStream*"/>
          </parameter>
        </parameters>
      </method>
      <method name="query_documents"
              c:identifier="gdata_documents_service_query_documents"
              version="0.4.0"
              throws="1">
        <doc xml:whitespace="preserve">Queries the service to return a list of documents matching the given @query. Note that @query has to be a #GDataDocumentsQuery, rather than just
a #GDataQuery, as it uses the folder ID specified in #GDataDocumentsQuery:folder-id.
For more details, see gdata_service_query().</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a #GDataDocumentsFeed of query results; unref with g_object_unref()</doc>
          <type name="DocumentsFeed" c:type="GDataDocumentsFeed*"/>
        </return-value>
        <parameters>
          <parameter name="query" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a #GDataDocumentsQuery with the query parameters, or %NULL</doc>
            <type name="DocumentsQuery" c:type="GDataDocumentsQuery*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="progress_callback"
                     transfer-ownership="none"
                     scope="call"
                     closure="3">
            <doc xml:whitespace="preserve">a #GDataQueryProgressCallback to call when an entry is loaded, or %NULL</doc>
            <type name="QueryProgressCallback"
                  c:type="GDataQueryProgressCallback"/>
          </parameter>
          <parameter name="progress_user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @progress_callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="query_documents_async"
              c:identifier="gdata_documents_service_query_documents_async"
              version="0.4.0"
              introspectable="0">
        <doc xml:whitespace="preserve">Queries the service to return a list of documents matching the given @query. @self and
For more details, see gdata_documents_service_query_documents(), which is the synchronous version of this function,
and gdata_service_query_async(), which is the base asynchronous query function.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="query" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a #GDataDocumentsQuery with the query parameters, or %NULL</doc>
            <type name="DocumentsQuery" c:type="GDataDocumentsQuery*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="progress_callback"
                     transfer-ownership="none"
                     closure="3">
            <doc xml:whitespace="preserve">a #GDataQueryProgressCallback to call when an entry is loaded, or %NULL</doc>
            <type name="QueryProgressCallback"
                  c:type="GDataQueryProgressCallback"/>
          </parameter>
          <parameter name="progress_user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @progress_callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="async"
                     closure="5">
            <doc xml:whitespace="preserve">a #GAsyncReadyCallback to call when authentication is finished</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_entry_from_folder"
              c:identifier="gdata_documents_service_remove_entry_from_folder"
              version="0.8.0"
              throws="1">
        <doc xml:whitespace="preserve">Remove the given @entry from @folder, and return an updated #GDataDocumentsEntry for @entry. @entry will remain a member of any other folders it's
currently in. Note that @entry can be either a #GDataDocumentsDocument or a #GDataDocumentsFolder.
Errors from #GDataServiceError can be returned for exceptional conditions, as determined by the server.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">an updated #GDataDocumentsEntry, or %NULL; unref with g_object_unref()</doc>
          <type name="DocumentsEntry" c:type="GDataDocumentsEntry*"/>
        </return-value>
        <parameters>
          <parameter name="entry" transfer-ownership="none">
            <doc xml:whitespace="preserve">the #GDataDocumentsEntry to remove</doc>
            <type name="DocumentsEntry" c:type="GDataDocumentsEntry*"/>
          </parameter>
          <parameter name="folder" transfer-ownership="none">
            <doc xml:whitespace="preserve">the #GDataDocumentsFolder from which we should remove @entry</doc>
            <type name="DocumentsFolder" c:type="GDataDocumentsFolder*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_entry_from_folder_async"
              c:identifier="gdata_documents_service_remove_entry_from_folder_async"
              version="0.8.0">
        <doc xml:whitespace="preserve">Remove the given @entry from the specified @folder. @self, @entry and @folder are all reffed when this function is called, so can safely be unreffed
after this function returns.
For more details, see gdata_documents_service_remove_entry_from_folder(), which is the synchronous version of this function.
When the operation is finished, @callback will be called. You can then call gdata_documents_service_remove_entry_from_folder_finish() to get the
results of the operation.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="entry" transfer-ownership="none">
            <doc xml:whitespace="preserve">the #GDataDocumentsEntry to remove from @folder</doc>
            <type name="DocumentsEntry" c:type="GDataDocumentsEntry*"/>
          </parameter>
          <parameter name="folder" transfer-ownership="none">
            <doc xml:whitespace="preserve">the #GDataDocumentsFolder to remove @entry from</doc>
            <type name="DocumentsFolder" c:type="GDataDocumentsFolder*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="async"
                     closure="4">
            <doc xml:whitespace="preserve">a #GAsyncReadyCallback to call when the operation is finished, or %NULL</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_entry_from_folder_finish"
              c:identifier="gdata_documents_service_remove_entry_from_folder_finish"
              version="0.8.0"
              throws="1">
        <doc xml:whitespace="preserve">Finish an asynchronous operation to remove a #GDataDocumentsEntry from a folder started with
gdata_documents_service_remove_entry_from_folder_async().</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">an updated #GDataDocumentsEntry, or %NULL; unref with g_object_unref()</doc>
          <type name="DocumentsEntry" c:type="GDataDocumentsEntry*"/>
        </return-value>
        <parameters>
          <parameter name="async_result" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GAsyncResult</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="update_document"
              c:identifier="gdata_documents_service_update_document"
              version="0.8.0"
              throws="1">
        <doc xml:whitespace="preserve">Update the document using the properties from @document and the document data written to the resulting #GDataUploadStream. If the document data does
not need to be changed, just the metadata, use gdata_service_update_entry() instead.
The stream returned by this function should be written to using the standard #GOutputStream methods, asychronously or synchronously. Once the stream
is closed (using g_output_stream_close()), gdata_documents_service_finish_upload() should be called on it to parse and return the updated
#GDataDocumentsDocument for the document. This must be done, as @document isn't updated in-place.
In order to cancel the update, a #GCancellable passed in to @cancellable must be cancelled using g_cancellable_cancel(). Cancelling the individual
#GOutputStream operations on the #GDataUploadStream will not cancel the entire update; merely the write or close operation in question. See the
#GDataUploadStream:cancellable for more details.
Any upload errors will be thrown by the stream methods, and may come from the #GDataServiceError domain.
For more information, see gdata_service_update_entry().</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a #GDataUploadStream to write the document data to; unref with g_object_unref()</doc>
          <type name="UploadStream" c:type="GDataUploadStream*"/>
        </return-value>
        <parameters>
          <parameter name="document" transfer-ownership="none">
            <doc xml:whitespace="preserve">the #GDataDocumentsDocument to update</doc>
            <type name="DocumentsDocument" c:type="GDataDocumentsDocument*"/>
          </parameter>
          <parameter name="slug" transfer-ownership="none">
            <doc xml:whitespace="preserve">the filename to give to the uploaded document</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="content_type" transfer-ownership="none">
            <doc xml:whitespace="preserve">the content type of the uploaded data</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">a #GCancellable for the entire upload stream, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="upload_document"
              c:identifier="gdata_documents_service_upload_document"
              version="0.8.0"
              throws="1">
        <doc xml:whitespace="preserve">Uploads a document to Google Documents, using the properties from @document and the document data written to the resulting #GDataUploadStream. If
the document data does not need to be provided at the moment, just the metadata, use gdata_service_insert_entry() instead (e.g. in the case of
creating a new, empty file to be edited at a later date).
If @document is %NULL, only the document data will be uploaded. The new document entry will be named using @slug, and will have default metadata.
The stream returned by this function should be written to using the standard #GOutputStream methods, asychronously or synchronously. Once the stream
is closed (using g_output_stream_close()), gdata_documents_service_finish_upload() should be called on it to parse and return the updated
#GDataDocumentsDocument for the document. This must be done, as @document isn't updated in-place.
In order to cancel the upload, a #GCancellable passed in to @cancellable must be cancelled using g_cancellable_cancel(). Cancelling the individual
#GOutputStream operations on the #GDataUploadStream will not cancel the entire upload; merely the write or close operation in question. See the
#GDataUploadStream:cancellable for more details.
Any upload errors will be thrown by the stream methods, and may come from the #GDataServiceError domain.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a #GDataUploadStream to write the document data to, or %NULL; unref with g_object_unref()</doc>
          <type name="UploadStream" c:type="GDataUploadStream*"/>
        </return-value>
        <parameters>
          <parameter name="document" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the #GDataDocumentsDocument to insert, or %NULL</doc>
            <type name="DocumentsDocument" c:type="GDataDocumentsDocument*"/>
          </parameter>
          <parameter name="slug" transfer-ownership="none">
            <doc xml:whitespace="preserve">the filename to give to the uploaded document</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="content_type" transfer-ownership="none">
            <doc xml:whitespace="preserve">the content type of the uploaded data</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="folder" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the folder to which the document should be uploaded, or %NULL</doc>
            <type name="DocumentsFolder" c:type="GDataDocumentsFolder*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">a #GCancellable for the entire upload stream, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <property name="spreadsheet-service" transfer-ownership="none">
        <type name="Service"/>
      </property>
      <field name="parent">
        <type name="Service" c:type="GDataService"/>
      </field>
      <field name="priv">
        <type name="DocumentsServicePrivate"
              c:type="GDataDocumentsServicePrivate*"/>
      </field>
    </class>
    <record name="DocumentsServiceClass"
            c:type="GDataDocumentsServiceClass"
            glib:is-gtype-struct-for="DocumentsService"
            version="0.4.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataDocumentsServiceClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="ServiceClass" c:type="GDataServiceClass"/>
      </field>
    </record>
    <enumeration name="DocumentsServiceError"
                 version="0.4.0"
                 glib:type-name="GDataDocumentsServiceError"
                 glib:get-type="gdata_documents_service_error_get_type"
                 c:type="GDataDocumentsServiceError">
      <doc xml:whitespace="preserve">Error codes for #GDataDocumentsService operations.</doc>
      <member name="type"
              value="0"
              c:identifier="GDATA_DOCUMENTS_SERVICE_ERROR_INVALID_CONTENT_TYPE"
              glib:nick="type"/>
    </enumeration>
    <record name="DocumentsServicePrivate"
            c:type="GDataDocumentsServicePrivate"
            disguised="1">
    </record>
    <class name="DocumentsSpreadsheet"
           c:symbol-prefix="documents_spreadsheet"
           c:type="GDataDocumentsSpreadsheet"
           version="0.4.0"
           parent="DocumentsDocument"
           glib:type-name="GDataDocumentsSpreadsheet"
           glib:get-type="gdata_documents_spreadsheet_get_type"
           glib:type-struct="DocumentsSpreadsheetClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataDocumentsSpreadsheet structure are private and should never be accessed directly.</doc>
      <implements name="AccessHandler"/>
      <constructor name="new"
                   c:identifier="gdata_documents_spreadsheet_new"
                   version="0.4.0">
        <doc xml:whitespace="preserve">Creates a new #GDataDocumentsSpreadsheet with the given entry ID (#GDataEntry:id).</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GDataDocumentsSpreadsheet, or %NULL; unref with g_object_unref()</doc>
          <type name="DocumentsSpreadsheet"
                c:type="GDataDocumentsSpreadsheet*"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the entry's ID (not the document ID of the spreadsheet), or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_download_uri"
              c:identifier="gdata_documents_spreadsheet_get_download_uri"
              version="0.5.0">
        <doc xml:whitespace="preserve">Builds and returns the download URI for the given #GDataDocumentsSpreadsheet in the desired format. Note that directly downloading
the document using this URI isn't possible, as authentication is required. You should instead use gdata_download_stream_new() with
the URI, and use the resulting #GInputStream.
When requesting a &lt;code class="literal"&gt;"csv"&lt;/code&gt;, &lt;code class="literal"&gt;"tsv"&lt;/code&gt;, &lt;code class="literal"&gt;"pdf"&lt;/code&gt; or
&lt;code class="literal"&gt;"html"&lt;/code&gt; file you may specify an additional parameter called @gid which indicates which grid, or sheet, you wish to get
(the index is &lt;code class="literal"&gt;0&lt;/code&gt;-based, so GID &lt;code class="literal"&gt;1&lt;/code&gt; actually refers to the second sheet on a given
spreadsheet).</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the download URI; free with g_free()</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="export_format" transfer-ownership="none">
            <doc xml:whitespace="preserve">the format in which the spreadsheet should be exported when downloaded</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="gid" transfer-ownership="none">
            <doc xml:whitespace="preserve">the &lt;code class="literal"&gt;0&lt;/code&gt;-based sheet ID to download, or &lt;code class="literal"&gt;-1&lt;/code&gt;</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="DocumentsDocument" c:type="GDataDocumentsDocument"/>
      </field>
      <field name="priv">
        <type name="DocumentsSpreadsheetPrivate"
              c:type="GDataDocumentsSpreadsheetPrivate*"/>
      </field>
    </class>
    <record name="DocumentsSpreadsheetClass"
            c:type="GDataDocumentsSpreadsheetClass"
            glib:is-gtype-struct-for="DocumentsSpreadsheet"
            version="0.4.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataDocumentsSpreadsheetClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="DocumentsDocumentClass"
              c:type="GDataDocumentsDocumentClass"/>
      </field>
    </record>
    <record name="DocumentsSpreadsheetPrivate"
            c:type="GDataDocumentsSpreadsheetPrivate"
            disguised="1">
    </record>
    <class name="DocumentsText"
           c:symbol-prefix="documents_text"
           c:type="GDataDocumentsText"
           version="0.4.0"
           parent="DocumentsDocument"
           glib:type-name="GDataDocumentsText"
           glib:get-type="gdata_documents_text_get_type"
           glib:type-struct="DocumentsTextClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataDocumentsText structure are private and should never be accessed directly.</doc>
      <implements name="AccessHandler"/>
      <constructor name="new"
                   c:identifier="gdata_documents_text_new"
                   version="0.4.0">
        <doc xml:whitespace="preserve">Creates a new #GDataDocumentsText with the given entry ID (#GDataEntry:id).</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GDataDocumentsText, or %NULL; unref with g_object_unref()</doc>
          <type name="DocumentsText" c:type="GDataDocumentsText*"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the entry's ID (not the document ID of the text document), or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <field name="parent">
        <type name="DocumentsDocument" c:type="GDataDocumentsDocument"/>
      </field>
      <field name="priv">
        <type name="DocumentsTextPrivate" c:type="GDataDocumentsTextPrivate*"/>
      </field>
    </class>
    <record name="DocumentsTextClass"
            c:type="GDataDocumentsTextClass"
            glib:is-gtype-struct-for="DocumentsText"
            version="0.4.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataDocumentsTextClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="DocumentsDocumentClass"
              c:type="GDataDocumentsDocumentClass"/>
      </field>
    </record>
    <record name="DocumentsTextPrivate"
            c:type="GDataDocumentsTextPrivate"
            disguised="1">
    </record>
    <class name="DownloadStream"
           c:symbol-prefix="download_stream"
           c:type="GDataDownloadStream"
           version="0.5.0"
           parent="Gio.InputStream"
           glib:type-name="GDataDownloadStream"
           glib:get-type="gdata_download_stream_get_type"
           glib:type-struct="DownloadStreamClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataDownloadStream structure are private and should never be accessed directly.</doc>
      <implements name="Gio.Seekable"/>
      <constructor name="new"
                   c:identifier="gdata_download_stream_new"
                   version="0.8.0">
        <doc xml:whitespace="preserve">Creates a new #GDataDownloadStream, allowing a file to be downloaded from a GData service using standard #GInputStream API.
As well as the standard GIO errors, calls to the #GInputStream API on a #GDataDownloadStream can also return any relevant specific error from
#GDataServiceError, or %GDATA_SERVICE_ERROR_PROTOCOL_ERROR in the general case.
If a #GCancellable is provided in @cancellable, the download operation may be cancelled at any time from another thread using g_cancellable_cancel().
In this case, any ongoing network activity will be stopped, and any pending or future calls to #GInputStream API on the #GDataDownloadStream will
return %G_IO_ERROR_CANCELLED. Note that the #GCancellable objects which can be passed to individual #GInputStream operations will not cancel the
download operation proper if cancelled — they will merely cancel that API call. The only way to cancel the download operation completely is using
this @cancellable.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GInputStream, or %NULL; unref with g_object_unref()</doc>
          <type name="Gio.InputStream" c:type="GInputStream*"/>
        </return-value>
        <parameters>
          <parameter name="service" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GDataService</doc>
            <type name="Service" c:type="GDataService*"/>
          </parameter>
          <parameter name="download_uri" transfer-ownership="none">
            <doc xml:whitespace="preserve">the URI to download</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">a #GCancellable for the entire download stream, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_cancellable"
              c:identifier="gdata_download_stream_get_cancellable"
              version="0.8.0">
        <doc xml:whitespace="preserve">Gets the #GCancellable for the entire download operation, #GDataDownloadStream:cancellable.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the #GCancellable for the entire download operation</doc>
          <type name="Gio.Cancellable" c:type="GCancellable*"/>
        </return-value>
      </method>
      <method name="get_content_length"
              c:identifier="gdata_download_stream_get_content_length"
              version="0.5.0">
        <doc xml:whitespace="preserve">Gets the length (in bytes) of the file being downloaded. If the &lt;literal&gt;Content-Length&lt;/literal&gt; header has not yet
been received from the server, &lt;code class="literal"&gt;-1&lt;/code&gt; will be returned.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the content length of the file being downloaded, or &lt;code class="literal"&gt;-1&lt;/code&gt;</doc>
          <type name="gssize" c:type="gssize"/>
        </return-value>
      </method>
      <method name="get_content_type"
              c:identifier="gdata_download_stream_get_content_type"
              version="0.5.0">
        <doc xml:whitespace="preserve">Gets the content type of the file being downloaded. If the &lt;literal&gt;Content-Type&lt;/literal&gt; header has not yet
been received, %NULL will be returned.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the content type of the file being downloaded, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_download_uri"
              c:identifier="gdata_download_stream_get_download_uri"
              version="0.5.0">
        <doc xml:whitespace="preserve">Gets the URI of the file being downloaded, as passed to gdata_download_stream_new().</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the URI of the file being downloaded</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_service"
              c:identifier="gdata_download_stream_get_service"
              version="0.5.0">
        <doc xml:whitespace="preserve">Gets the service used to authenticate the download, as passed to gdata_download_stream_new().</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the #GDataService used to authenticate the download</doc>
          <type name="Service" c:type="GDataService*"/>
        </return-value>
      </method>
      <property name="cancellable"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Gio.Cancellable"/>
      </property>
      <property name="content-length" transfer-ownership="none">
        <type name="glong"/>
      </property>
      <property name="content-type" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="download-uri"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="service"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Service"/>
      </property>
      <field name="parent">
        <type name="Gio.InputStream" c:type="GInputStream"/>
      </field>
      <field name="priv">
        <type name="DownloadStreamPrivate"
              c:type="GDataDownloadStreamPrivate*"/>
      </field>
    </class>
    <record name="DownloadStreamClass"
            c:type="GDataDownloadStreamClass"
            glib:is-gtype-struct-for="DownloadStream"
            version="0.5.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataDownloadStreamClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="Gio.InputStreamClass" c:type="GInputStreamClass"/>
      </field>
    </record>
    <record name="DownloadStreamPrivate"
            c:type="GDataDownloadStreamPrivate"
            disguised="1">
    </record>
    <class name="Entry"
           c:symbol-prefix="entry"
           c:type="GDataEntry"
           parent="Parsable"
           glib:type-name="GDataEntry"
           glib:get-type="gdata_entry_get_type"
           glib:type-struct="EntryClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataEntry structure are private and should never be accessed directly.</doc>
      <constructor name="new" c:identifier="gdata_entry_new">
        <doc xml:whitespace="preserve">Creates a new #GDataEntry with the given ID and default properties.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GDataEntry; unref with g_object_unref()</doc>
          <type name="Entry" c:type="GDataEntry*"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the entry's ID, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="add_author" c:identifier="gdata_entry_add_author">
        <doc xml:whitespace="preserve">Adds @author to the list of authors in the given #GDataEntry and increments its reference count.
Duplicate authors will not be added to the list.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="author" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GDataAuthor to add</doc>
            <type name="Author" c:type="GDataAuthor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_category" c:identifier="gdata_entry_add_category">
        <doc xml:whitespace="preserve">Adds @category to the list of categories in the given #GDataEntry, and increments its reference count.
Duplicate categories will not be added to the list.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="category" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GDataCategory to add</doc>
            <type name="Category" c:type="GDataCategory*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_link" c:identifier="gdata_entry_add_link">
        <doc xml:whitespace="preserve">Adds @_link to the list of links in the given #GDataEntry and increments its reference count.
Duplicate links will not be added to the list.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="_link" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GDataLink to add</doc>
            <type name="Link" c:type="GDataLink*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_authors"
              c:identifier="gdata_entry_get_authors"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets a list of the #GDataAuthor&lt;!-- --&gt;s for this entry.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GList of #GDataAuthor&lt;!-- --&gt;s</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Author"/>
          </type>
        </return-value>
      </method>
      <method name="get_categories"
              c:identifier="gdata_entry_get_categories"
              version="0.2.0">
        <doc xml:whitespace="preserve">Gets a list of the #GDataCategory&lt;!-- --&gt;s containing this entry.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GList of #GDataCategory&lt;!-- --&gt;s</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Category"/>
          </type>
        </return-value>
      </method>
      <method name="get_content" c:identifier="gdata_entry_get_content">
        <doc xml:whitespace="preserve">Returns the textual content in this entry. If the content in this entry is pointed to by a URI, %NULL will be returned; the content URI will be
returned by gdata_entry_get_content_uri().</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the entry's content, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_content_uri"
              c:identifier="gdata_entry_get_content_uri"
              version="0.7.0">
        <doc xml:whitespace="preserve">Returns a URI pointing to the content of this entry. If the content in this entry is stored directly, %NULL will be returned; the content will be
returned by gdata_entry_get_content().</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a URI pointing to the entry's content, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_etag"
              c:identifier="gdata_entry_get_etag"
              version="0.2.0">
        <doc xml:whitespace="preserve">Returns the ETag of the entry; a unique identifier for each version of the entry. For more information, see the
&lt;ulink type="http" url="http://code.google.com/apis/gdata/docs/2.0/reference.html#ResourceVersioning"&gt;online documentation&lt;/ulink&gt;.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the entry's ETag</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_id" c:identifier="gdata_entry_get_id">
        <doc xml:whitespace="preserve">Returns the URN ID of the entry; a unique and permanent identifier for the object the entry represents.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the entry's ID</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_published" c:identifier="gdata_entry_get_published">
        <doc xml:whitespace="preserve">Gets the time the entry was originally published.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the UNIX timestamp for the original publish time of the entry</doc>
          <type name="gint64" c:type="gint64"/>
        </return-value>
      </method>
      <method name="get_rights"
              c:identifier="gdata_entry_get_rights"
              version="0.5.0">
        <doc xml:whitespace="preserve">Returns the rights pertaining to the entry, or %NULL if not set.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the entry's rights information</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_summary"
              c:identifier="gdata_entry_get_summary"
              version="0.4.0">
        <doc xml:whitespace="preserve">Returns the summary of the entry.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the entry's summary, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_title" c:identifier="gdata_entry_get_title">
        <doc xml:whitespace="preserve">Returns the title of the entry.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the entry's title</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_updated" c:identifier="gdata_entry_get_updated">
        <doc xml:whitespace="preserve">Gets the time the entry was last updated.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the UNIX timestamp for the last update of the entry</doc>
          <type name="gint64" c:type="gint64"/>
        </return-value>
      </method>
      <method name="is_inserted" c:identifier="gdata_entry_is_inserted">
        <doc xml:whitespace="preserve">Returns whether the entry is marked as having been inserted on (uploaded to) the server already.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the entry has been inserted already, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="look_up_link"
              c:identifier="gdata_entry_look_up_link"
              version="0.1.1">
        <doc xml:whitespace="preserve">Looks up a link by relation type from the list of links in the entry. If the link has one of the standard Atom relation types,
use one of the defined @rel values, instead of a static string. e.g. %GDATA_LINK_EDIT or %GDATA_LINK_SELF.
In the rare event of requiring a list of links with the same @rel value, use gdata_entry_look_up_links().</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GDataLink, or %NULL if one was not found</doc>
          <type name="Link" c:type="GDataLink*"/>
        </return-value>
        <parameters>
          <parameter name="rel" transfer-ownership="none">
            <doc xml:whitespace="preserve">the value of the &lt;structfield&gt;rel&lt;/structfield&gt; attribute of the desired link</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="look_up_links"
              c:identifier="gdata_entry_look_up_links"
              version="0.4.0">
        <doc xml:whitespace="preserve">Looks up a list of links by relation type from the list of links in the entry. If the links have one of the standard Atom
relation types, use one of the defined @rel values, instead of a static string. e.g. %GDATA_LINK_EDIT or %GDATA_LINK_SELF.
If you will only use the first link found, consider calling gdata_entry_look_up_link() instead.
g_list_free()</doc>
        <return-value transfer-ownership="container">
          <doc xml:whitespace="preserve">a #GList of #GDataLink&lt;!-- --&gt;s, or %NULL if none were found; free the list with</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Link"/>
          </type>
        </return-value>
        <parameters>
          <parameter name="rel" transfer-ownership="none">
            <doc xml:whitespace="preserve">the value of the &lt;structfield&gt;rel&lt;/structfield&gt; attribute of the desired links</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_content" c:identifier="gdata_entry_set_content">
        <doc xml:whitespace="preserve">Sets the entry's content to @content. This unsets #GDataEntry:content-uri.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="content" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new content for the entry, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_content_uri"
              c:identifier="gdata_entry_set_content_uri"
              version="0.7.0">
        <doc xml:whitespace="preserve">Sets the URI pointing to the entry's content to @content. This unsets #GDataEntry:content.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="content_uri"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the new URI pointing to the content for the entry, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_rights"
              c:identifier="gdata_entry_set_rights"
              version="0.5.0">
        <doc xml:whitespace="preserve">Sets the rights for this entry.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="rights" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new rights, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_summary"
              c:identifier="gdata_entry_set_summary"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the summary of the entry.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="summary" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new entry summary, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_title" c:identifier="gdata_entry_set_title">
        <doc xml:whitespace="preserve">Sets the title of the entry.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="title" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new entry title, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="content" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="content-uri" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="etag"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="id"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="is-inserted" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="published" transfer-ownership="none">
        <type name="gint64"/>
      </property>
      <property name="rights" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="summary" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="title" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="updated" transfer-ownership="none">
        <type name="gint64"/>
      </property>
      <field name="parent">
        <type name="Parsable" c:type="GDataParsable"/>
      </field>
      <field name="priv">
        <type name="EntryPrivate" c:type="GDataEntryPrivate*"/>
      </field>
    </class>
    <record name="EntryClass"
            c:type="GDataEntryClass"
            glib:is-gtype-struct-for="Entry">
      <doc xml:whitespace="preserve">The class structure for the #GDataEntry type.</doc>
      <field name="parent">
        <type name="ParsableClass" c:type="GDataParsableClass"/>
      </field>
      <field name="get_entry_uri">
        <callback name="get_entry_uri">
          <return-value transfer-ownership="full">
            <type name="utf8" c:type="gchar*"/>
          </return-value>
          <parameters>
            <parameter name="id" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="kind_term">
        <type name="utf8" c:type="gchar*"/>
      </field>
    </record>
    <record name="EntryPrivate" c:type="GDataEntryPrivate" disguised="1">
    </record>
    <class name="Feed"
           c:symbol-prefix="feed"
           c:type="GDataFeed"
           parent="Parsable"
           glib:type-name="GDataFeed"
           glib:get-type="gdata_feed_get_type"
           glib:type-struct="FeedClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataFeed structure are private and should never be accessed directly.</doc>
      <method name="get_authors" c:identifier="gdata_feed_get_authors">
        <doc xml:whitespace="preserve">Returns a list of the authors listed in this feed.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GList of #GDataAuthor&lt;!-- --&gt;s</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Author"/>
          </type>
        </return-value>
      </method>
      <method name="get_categories" c:identifier="gdata_feed_get_categories">
        <doc xml:whitespace="preserve">Returns a list of the categories listed in this feed.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GList of #GDataCategory&lt;!-- --&gt;s</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Category"/>
          </type>
        </return-value>
      </method>
      <method name="get_entries" c:identifier="gdata_feed_get_entries">
        <doc xml:whitespace="preserve">Returns a list of the entries contained in this feed.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GList of #GDataEntry&lt;!-- --&gt;s</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Entry"/>
          </type>
        </return-value>
      </method>
      <method name="get_etag"
              c:identifier="gdata_feed_get_etag"
              version="0.2.0">
        <doc xml:whitespace="preserve">Returns the feed's unique ETag for this version.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the feed's ETag</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_generator" c:identifier="gdata_feed_get_generator">
        <doc xml:whitespace="preserve">Returns details about the software which generated the feed.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GDataGenerator, or %NULL</doc>
          <type name="Generator" c:type="GDataGenerator*"/>
        </return-value>
      </method>
      <method name="get_icon"
              c:identifier="gdata_feed_get_icon"
              version="0.6.0">
        <doc xml:whitespace="preserve">Returns the icon URI of the feed.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the feed's icon URI, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_id" c:identifier="gdata_feed_get_id">
        <doc xml:whitespace="preserve">Returns the feed's unique and permanent URN ID.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the feed's ID</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_items_per_page"
              c:identifier="gdata_feed_get_items_per_page">
        <doc xml:whitespace="preserve">Returns the number of items per results page feed.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the number of items per results page feed, or &lt;code class="literal"&gt;0&lt;/code&gt;</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
      </method>
      <method name="get_links" c:identifier="gdata_feed_get_links">
        <doc xml:whitespace="preserve">Returns a list of the links listed in this feed.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GList of #GDataLink&lt;!-- --&gt;s</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Link"/>
          </type>
        </return-value>
      </method>
      <method name="get_logo" c:identifier="gdata_feed_get_logo">
        <doc xml:whitespace="preserve">Returns the logo URI of the feed.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the feed's logo URI, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_rights"
              c:identifier="gdata_feed_get_rights"
              version="0.7.0">
        <doc xml:whitespace="preserve">Returns the rights pertaining to the entire feed, or %NULL if not set.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the feed's rights information</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_start_index" c:identifier="gdata_feed_get_start_index">
        <doc xml:whitespace="preserve">Returns the one-based start index of the results feed in the result set.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the one-based start index, or &lt;code class="literal"&gt;0&lt;/code&gt;</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
      </method>
      <method name="get_subtitle" c:identifier="gdata_feed_get_subtitle">
        <doc xml:whitespace="preserve">Returns the subtitle of the feed.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the feed's subtitle, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_title" c:identifier="gdata_feed_get_title">
        <doc xml:whitespace="preserve">Returns the title of the feed.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the feed's title</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_total_results"
              c:identifier="gdata_feed_get_total_results">
        <doc xml:whitespace="preserve">Returns the total number of results in the result set, including results on other
pages.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the total number of results, or &lt;code class="literal"&gt;0&lt;/code&gt;</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
      </method>
      <method name="get_updated" c:identifier="gdata_feed_get_updated">
        <doc xml:whitespace="preserve">Gets the time the feed was last updated.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the UNIX timestamp for the time the feed was last updated</doc>
          <type name="gint64" c:type="gint64"/>
        </return-value>
      </method>
      <method name="look_up_entry"
              c:identifier="gdata_feed_look_up_entry"
              version="0.2.0">
        <doc xml:whitespace="preserve">Returns the entry in the feed with the given @id, if found.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the #GDataEntry, or %NULL</doc>
          <type name="Entry" c:type="GDataEntry*"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <doc xml:whitespace="preserve">the entry's ID</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="look_up_link"
              c:identifier="gdata_feed_look_up_link"
              version="0.1.1">
        <doc xml:whitespace="preserve">Looks up a link by #GDataLink:relation-type value from the list of links in the feed.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GDataLink, or %NULL if one was not found</doc>
          <type name="Link" c:type="GDataLink*"/>
        </return-value>
        <parameters>
          <parameter name="rel" transfer-ownership="none">
            <doc xml:whitespace="preserve">the value of the #GDataLink:relation-type property of the desired link</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="etag" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="generator" transfer-ownership="none">
        <type name="Generator"/>
      </property>
      <property name="icon" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="id" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="items-per-page" transfer-ownership="none">
        <type name="guint"/>
      </property>
      <property name="logo" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="rights" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="start-index" transfer-ownership="none">
        <type name="guint"/>
      </property>
      <property name="subtitle" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="title" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="total-results" transfer-ownership="none">
        <type name="guint"/>
      </property>
      <property name="updated" transfer-ownership="none">
        <type name="gint64"/>
      </property>
      <field name="parent" readable="0" private="1">
        <type name="Parsable" c:type="GDataParsable"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="FeedPrivate" c:type="GDataFeedPrivate*"/>
      </field>
    </class>
    <record name="FeedClass"
            c:type="GDataFeedClass"
            glib:is-gtype-struct-for="Feed">
      <doc xml:whitespace="preserve">All the fields in the #GDataFeedClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="ParsableClass" c:type="GDataParsableClass"/>
      </field>
    </record>
    <record name="FeedPrivate" c:type="GDataFeedPrivate" disguised="1">
    </record>
    <constant name="GCONTACT_CALENDAR_FREE_BUSY" value="free-busy">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GCONTACT_CALENDAR_HOME" value="home">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GCONTACT_CALENDAR_WORK" value="work">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GCONTACT_EVENT_ANNIVERSARY" value="anniversary">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GCONTACT_EVENT_OTHER" value="other">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GCONTACT_EXTERNAL_ID_ACCOUNT" value="account">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GCONTACT_EXTERNAL_ID_CUSTOMER" value="customer">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GCONTACT_EXTERNAL_ID_NETWORK" value="network">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GCONTACT_EXTERNAL_ID_ORGANIZATION" value="organization">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GCONTACT_JOT_HOME" value="home">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GCONTACT_JOT_KEYWORDS" value="keywords">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GCONTACT_JOT_OTHER" value="other">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GCONTACT_JOT_USER" value="user">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GCONTACT_JOT_WORK" value="work">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GCONTACT_RELATION_ASSISTANT" value="assistant">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GCONTACT_RELATION_BROTHER" value="brother">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GCONTACT_RELATION_CHILD" value="child">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GCONTACT_RELATION_DOMESTIC_PARTNER"
              value="domestic-partner">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GCONTACT_RELATION_FATHER" value="father">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GCONTACT_RELATION_FRIEND" value="friend">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GCONTACT_RELATION_MANAGER" value="manager">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GCONTACT_RELATION_MOTHER" value="mother">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GCONTACT_RELATION_PARENT" value="parent">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GCONTACT_RELATION_PARTNER" value="partner">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GCONTACT_RELATION_REFERRER" value="referred-by">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GCONTACT_RELATION_RELATIVE" value="relative">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GCONTACT_RELATION_SISTER" value="sister">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GCONTACT_RELATION_SPOUSE" value="spouse">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GCONTACT_WEBSITE_BLOG" value="blog">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GCONTACT_WEBSITE_FTP" value="ftp">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GCONTACT_WEBSITE_HOME" value="home">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GCONTACT_WEBSITE_HOME_PAGE" value="home-page">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GCONTACT_WEBSITE_OTHER" value="other">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GCONTACT_WEBSITE_PROFILE" value="profile">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GCONTACT_WEBSITE_WORK" value="work">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <class name="GContactCalendar"
           c:symbol-prefix="gcontact_calendar"
           c:type="GDataGContactCalendar"
           version="0.7.0"
           parent="Parsable"
           glib:type-name="GDataGContactCalendar"
           glib:get-type="gdata_gcontact_calendar_get_type"
           glib:type-struct="GContactCalendarClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataGContactCalendar structure are private and should never be accessed directly.</doc>
      <implements name="Comparable"/>
      <constructor name="new"
                   c:identifier="gdata_gcontact_calendar_new"
                   version="0.7.0">
        <doc xml:whitespace="preserve">Creates a new #GDataGContactCalendar. More information is available in the &lt;ulink type="http"
url="http://code.google.com/apis/contacts/docs/3.0/reference.html#gcCalendarLink"&gt;gContact specification&lt;/ulink&gt;.
Exactly one of @relation_type and @label should be provided; the other must be %NULL.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GDataGContactCalendar; unref with g_object_unref()</doc>
          <type name="GContactCalendar" c:type="GDataGContactCalendar*"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:whitespace="preserve">the URI of the calendar</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="relation_type"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the type of calendar, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="label" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a free-form label for the calendar, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="is_primary" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE if this calendar is its owner's primary calendar, %FALSE otherwise</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_label"
              c:identifier="gdata_gcontact_calendar_get_label"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets the #GDataGContactCalendar:label property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a free-form label for the calendar, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_relation_type"
              c:identifier="gdata_gcontact_calendar_get_relation_type"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets the #GDataGContactCalendar:relation-type property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the type of the relation, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_uri"
              c:identifier="gdata_gcontact_calendar_get_uri"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets the #GDataGContactCalendar:uri property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the calendar's URI</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="is_primary"
              c:identifier="gdata_gcontact_calendar_is_primary"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets the #GDataGContactCalendar:is-primary property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if this is the contact's primary calendar, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="set_is_primary"
              c:identifier="gdata_gcontact_calendar_set_is_primary"
              version="0.7.0">
        <doc xml:whitespace="preserve">Sets the #GDataGContactCalendar:is-primary property to @is_primary.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="is_primary" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE if this is the contact's primary calendar, %FALSE otherwise</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_label"
              c:identifier="gdata_gcontact_calendar_set_label"
              version="0.7.0">
        <doc xml:whitespace="preserve">Sets the #GDataGContactCalendar:label property to @label.
If @label is %NULL, the label will be unset. When the #GDataGContactCalendar is used in a query, however,
exactly one of #GDataGContactCalendar:relation-type and #GDataGContactCalendar:label must be %NULL.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="label" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new free-form label for the calendar, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_relation_type"
              c:identifier="gdata_gcontact_calendar_set_relation_type"
              version="0.7.0">
        <doc xml:whitespace="preserve">Sets the #GDataGContactCalendar:relation-type property to @relation_type,
such as %GDATA_GCONTACT_CALENDAR_HOME or %GDATA_GCONTACT_CALENDAR_FREE_BUSY.
If @relation_type is %NULL, the relation type will be unset. When the #GDataGContactCalendar is used in a query, however,
exactly one of #GDataGContactCalendar:relation-type and #GDataGContactCalendar:label must be %NULL.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="relation_type"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the new type for the calendar, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_uri"
              c:identifier="gdata_gcontact_calendar_set_uri"
              version="0.7.0">
        <doc xml:whitespace="preserve">Sets the #GDataGContactCalendar:uri property to @uri.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:whitespace="preserve">the new URI for the calendar</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="is-primary" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="label" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="relation-type" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="uri" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <field name="parent">
        <type name="Parsable" c:type="GDataParsable"/>
      </field>
      <field name="priv">
        <type name="GContactCalendarPrivate"
              c:type="GDataGContactCalendarPrivate*"/>
      </field>
    </class>
    <record name="GContactCalendarClass"
            c:type="GDataGContactCalendarClass"
            glib:is-gtype-struct-for="GContactCalendar"
            version="0.7.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataGContactCalendarClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="ParsableClass" c:type="GDataParsableClass"/>
      </field>
    </record>
    <record name="GContactCalendarPrivate"
            c:type="GDataGContactCalendarPrivate"
            disguised="1">
    </record>
    <class name="GContactEvent"
           c:symbol-prefix="gcontact_event"
           c:type="GDataGContactEvent"
           version="0.7.0"
           parent="Parsable"
           glib:type-name="GDataGContactEvent"
           glib:get-type="gdata_gcontact_event_get_type"
           glib:type-struct="GContactEventClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataGContactEvent structure are private and should never be accessed directly.</doc>
      <constructor name="new"
                   c:identifier="gdata_gcontact_event_new"
                   version="0.7.0">
        <doc xml:whitespace="preserve">Creates a new #GDataGContactEvent. More information is available in the &lt;ulink type="http"
url="http://code.google.com/apis/contacts/docs/3.0/reference.html#gcEvent"&gt;gContact specification&lt;/ulink&gt;.
Exactly one of @relation_type and @label should be provided; the other must be %NULL.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GDataGContactEvent; unref with g_object_unref()</doc>
          <type name="GContactEvent" c:type="GDataGContactEvent*"/>
        </return-value>
        <parameters>
          <parameter name="date" transfer-ownership="none">
            <doc xml:whitespace="preserve">the date of the event</doc>
            <type name="GLib.Date" c:type="GDate*"/>
          </parameter>
          <parameter name="relation_type"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the relationship between the event and its owner, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="label" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a human-readable label for the event, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_date"
              c:identifier="gdata_gcontact_event_get_date"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets the #GDataGContactEvent:date property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="date"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:whitespace="preserve">return location for the date of the event</doc>
            <type name="GLib.Date" c:type="GDate*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_label"
              c:identifier="gdata_gcontact_event_get_label"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets the #GDataGContactEvent:label property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the event's label, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_relation_type"
              c:identifier="gdata_gcontact_event_get_relation_type"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets the #GDataGContactEvent:relation-type property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the event's relation type, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="set_date"
              c:identifier="gdata_gcontact_event_set_date"
              version="0.7.0">
        <doc xml:whitespace="preserve">Sets the #GDataGContactEvent:date property to @date.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="date" transfer-ownership="none">
            <doc xml:whitespace="preserve">the new date for the event</doc>
            <type name="GLib.Date" c:type="GDate*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_label"
              c:identifier="gdata_gcontact_event_set_label"
              version="0.7.0">
        <doc xml:whitespace="preserve">Sets the #GDataGContactEvent:label property to @label.
If @label is %NULL, the label will be unset. When the #GDataGContactEvent is used in a query, however,
exactly one of #GDataGContactEvent:relation-type and #GDataGContactEvent:label must be %NULL.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="label" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new label for the event, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_relation_type"
              c:identifier="gdata_gcontact_event_set_relation_type"
              version="0.7.0">
        <doc xml:whitespace="preserve">Sets the #GDataGContactEvent:relation-type property to @relation_type
such as %GDATA_GCONTACT_EVENT_ANNIVERSARY or %GDATA_GCONTACT_EVENT_OTHER.
If @relation_type is %NULL, the relation type will be unset. When the #GDataGContactEvent is used in a query, however,
exactly one of #GDataGContactEvent:relation-type and #GDataGContactEvent:label must be %NULL.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="relation_type"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the new relation type for the event, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="date" writable="1" transfer-ownership="none">
        <type name="GObject.Date"/>
      </property>
      <property name="label" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="relation-type" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <field name="parent">
        <type name="Parsable" c:type="GDataParsable"/>
      </field>
      <field name="priv">
        <type name="GContactEventPrivate" c:type="GDataGContactEventPrivate*"/>
      </field>
    </class>
    <record name="GContactEventClass"
            c:type="GDataGContactEventClass"
            glib:is-gtype-struct-for="GContactEvent"
            version="0.7.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataGContactEventClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="ParsableClass" c:type="GDataParsableClass"/>
      </field>
    </record>
    <record name="GContactEventPrivate"
            c:type="GDataGContactEventPrivate"
            disguised="1">
    </record>
    <class name="GContactExternalID"
           c:symbol-prefix="gcontact_external_id"
           c:type="GDataGContactExternalID"
           version="0.7.0"
           parent="Parsable"
           glib:type-name="GDataGContactExternalID"
           glib:get-type="gdata_gcontact_external_id_get_type"
           glib:type-struct="GContactExternalIDClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataGContactExternalID structure are private and should never be accessed directly.</doc>
      <implements name="Comparable"/>
      <constructor name="new"
                   c:identifier="gdata_gcontact_external_id_new"
                   version="0.7.0">
        <doc xml:whitespace="preserve">Creates a new #GDataGContactExternalID. More information is available in the &lt;ulink type="http"
url="http://code.google.com/apis/contacts/docs/3.0/reference.html#gcExternalId"&gt;gContact specification&lt;/ulink&gt;.
Exactly one of @relation_type and @label should be provided; the other must be %NULL.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GDataGContactExternalID; unref with g_object_unref()</doc>
          <type name="GContactExternalID" c:type="GDataGContactExternalID*"/>
        </return-value>
        <parameters>
          <parameter name="value" transfer-ownership="none">
            <doc xml:whitespace="preserve">the value of the external ID</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="relation_type"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the type of external ID, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="label" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a free-form label for the external ID, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_label"
              c:identifier="gdata_gcontact_external_id_get_label"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets the #GDataGContactExternalID:label property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a free-form label for the external ID, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_relation_type"
              c:identifier="gdata_gcontact_external_id_get_relation_type"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets the #GDataGContactExternalID:relation-type property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the type of the relation, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_value"
              c:identifier="gdata_gcontact_external_id_get_value"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets the #GDataGContactExternalID:value property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the external ID's value</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="set_label"
              c:identifier="gdata_gcontact_external_id_set_label"
              version="0.7.0">
        <doc xml:whitespace="preserve">Sets the #GDataGContactExternalID:label property to @label.
If @label is %NULL, the label will be unset. When the #GDataGContactExternalID is used in a query, however,
exactly one of #GDataGContactExternalID:relation-type and #GDataGContactExternalID:label must be %NULL.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="label" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new free-form label for the external ID, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_relation_type"
              c:identifier="gdata_gcontact_external_id_set_relation_type"
              version="0.7.0">
        <doc xml:whitespace="preserve">Sets the #GDataGContactExternalID:relation-type property to @relation_type,
such as %GDATA_GCONTACT_EXTERNAL_ID_NETWORK or %GDATA_GCONTACT_EXTERNAL_ID_ACCOUNT.
If @relation_type is %NULL, the relation type will be unset. When the #GDataGContactExternalID is used in a query, however,
exactly one of #GDataGContactExternalID:relation-type and #GDataGContactExternalID:label must be %NULL.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="relation_type"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the new type for the external ID, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_value"
              c:identifier="gdata_gcontact_external_id_set_value"
              version="0.7.0">
        <doc xml:whitespace="preserve">Sets the #GDataGContactExternalID:value property to @value.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="value" transfer-ownership="none">
            <doc xml:whitespace="preserve">the new value for the external ID</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="label" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="relation-type" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="value" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <field name="parent">
        <type name="Parsable" c:type="GDataParsable"/>
      </field>
      <field name="priv">
        <type name="GContactExternalIDPrivate"
              c:type="GDataGContactExternalIDPrivate*"/>
      </field>
    </class>
    <record name="GContactExternalIDClass"
            c:type="GDataGContactExternalIDClass"
            glib:is-gtype-struct-for="GContactExternalID"
            version="0.7.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataGContactExternalIDClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="ParsableClass" c:type="GDataParsableClass"/>
      </field>
    </record>
    <record name="GContactExternalIDPrivate"
            c:type="GDataGContactExternalIDPrivate"
            disguised="1">
    </record>
    <class name="GContactJot"
           c:symbol-prefix="gcontact_jot"
           c:type="GDataGContactJot"
           version="0.7.0"
           parent="Parsable"
           glib:type-name="GDataGContactJot"
           glib:get-type="gdata_gcontact_jot_get_type"
           glib:type-struct="GContactJotClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataGContactJot structure are private and should never be accessed directly.</doc>
      <constructor name="new"
                   c:identifier="gdata_gcontact_jot_new"
                   version="0.7.0">
        <doc xml:whitespace="preserve">Creates a new #GDataGContactJot. More information is available in the &lt;ulink type="http"
url="http://code.google.com/apis/contacts/docs/3.0/reference.html#gcJot"&gt;gContact specification&lt;/ulink&gt;.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GDataGContactJot; unref with g_object_unref()</doc>
          <type name="GContactJot" c:type="GDataGContactJot*"/>
        </return-value>
        <parameters>
          <parameter name="content" transfer-ownership="none">
            <doc xml:whitespace="preserve">the content of the jot</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="relation_type" transfer-ownership="none">
            <doc xml:whitespace="preserve">the relationship between the jot and its owner</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_content"
              c:identifier="gdata_gcontact_jot_get_content"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets the #GDataGContactJot:content property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the jot's content</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_relation_type"
              c:identifier="gdata_gcontact_jot_get_relation_type"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets the #GDataGContactJot:relation-type property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the jot's relation type</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="set_content"
              c:identifier="gdata_gcontact_jot_set_content"
              version="0.7.0">
        <doc xml:whitespace="preserve">Sets the #GDataGContactJot:content property to @content.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="content" transfer-ownership="none">
            <doc xml:whitespace="preserve">the new content</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_relation_type"
              c:identifier="gdata_gcontact_jot_set_relation_type"
              version="0.7.0">
        <doc xml:whitespace="preserve">Sets the #GDataGContactJot:relation-type property to @relation_type
such as %GDATA_GCONTACT_JOT_HOME or %GDATA_GCONTACT_JOT_OTHER.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="relation_type" transfer-ownership="none">
            <doc xml:whitespace="preserve">the new relation type for the jot, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="content" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="relation-type" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <field name="parent">
        <type name="Parsable" c:type="GDataParsable"/>
      </field>
      <field name="priv">
        <type name="GContactJotPrivate" c:type="GDataGContactJotPrivate*"/>
      </field>
    </class>
    <record name="GContactJotClass"
            c:type="GDataGContactJotClass"
            glib:is-gtype-struct-for="GContactJot"
            version="0.7.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataGContactJotClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="ParsableClass" c:type="GDataParsableClass"/>
      </field>
    </record>
    <record name="GContactJotPrivate"
            c:type="GDataGContactJotPrivate"
            disguised="1">
    </record>
    <class name="GContactLanguage"
           c:symbol-prefix="gcontact_language"
           c:type="GDataGContactLanguage"
           version="0.7.0"
           parent="Parsable"
           glib:type-name="GDataGContactLanguage"
           glib:get-type="gdata_gcontact_language_get_type"
           glib:type-struct="GContactLanguageClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataGContactLanguage structure are private and should never be accessed directly.</doc>
      <implements name="Comparable"/>
      <constructor name="new"
                   c:identifier="gdata_gcontact_language_new"
                   version="0.7.0">
        <doc xml:whitespace="preserve">Creates a new #GDataGContactLanguage. More information is available in the &lt;ulink type="http"
url="http://code.google.com/apis/contacts/docs/3.0/reference.html#gcLanguage"&gt;gContact specification&lt;/ulink&gt;.
Exactly one of @code and @label should be provided; the other must be %NULL.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GDataGContactLanguage; unref with g_object_unref()</doc>
          <type name="GContactLanguage" c:type="GDataGContactLanguage*"/>
        </return-value>
        <parameters>
          <parameter name="code" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the language code, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="label" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a free-form label for the language, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_code"
              c:identifier="gdata_gcontact_language_get_code"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets the #GDataGContactLanguage:code property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the language's code, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_label"
              c:identifier="gdata_gcontact_language_get_label"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets the #GDataGContactLanguage:label property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a free-form label for the language, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="set_code"
              c:identifier="gdata_gcontact_language_set_code"
              version="0.7.0">
        <doc xml:whitespace="preserve">Sets the #GDataGContactLanguage:code property to @code.
If @code is %NULL, the code will be unset. When the #GDataGContactLanguage is used in a query, however,
exactly one of #GDataGContactLanguage:code and #GDataGContactLanguage:label must be %NULL.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="code" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new code for the language, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_label"
              c:identifier="gdata_gcontact_language_set_label"
              version="0.7.0">
        <doc xml:whitespace="preserve">Sets the #GDataGContactLanguage:label property to @label.
If @label is %NULL, the label will be unset. When the #GDataGContactLanguage is used in a query, however,
exactly one of #GDataGContactLanguage:code and #GDataGContactLanguage:label must be %NULL.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="label" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new free-form label for the language, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="code" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="label" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <field name="parent">
        <type name="Parsable" c:type="GDataParsable"/>
      </field>
      <field name="priv">
        <type name="GContactLanguagePrivate"
              c:type="GDataGContactLanguagePrivate*"/>
      </field>
    </class>
    <record name="GContactLanguageClass"
            c:type="GDataGContactLanguageClass"
            glib:is-gtype-struct-for="GContactLanguage"
            version="0.7.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataGContactLanguageClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="ParsableClass" c:type="GDataParsableClass"/>
      </field>
    </record>
    <record name="GContactLanguagePrivate"
            c:type="GDataGContactLanguagePrivate"
            disguised="1">
    </record>
    <class name="GContactRelation"
           c:symbol-prefix="gcontact_relation"
           c:type="GDataGContactRelation"
           version="0.7.0"
           parent="Parsable"
           glib:type-name="GDataGContactRelation"
           glib:get-type="gdata_gcontact_relation_get_type"
           glib:type-struct="GContactRelationClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataGContactRelation structure are private and should never be accessed directly.</doc>
      <constructor name="new"
                   c:identifier="gdata_gcontact_relation_new"
                   version="0.7.0">
        <doc xml:whitespace="preserve">Creates a new #GDataGContactRelation. More information is available in the &lt;ulink type="http"
url="http://code.google.com/apis/contacts/docs/3.0/reference.html#gcRelation"&gt;gContact specification&lt;/ulink&gt;.
Exactly one of @relation_type and @label should be provided; the other must be %NULL.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GDataGContactRelation; unref with g_object_unref()</doc>
          <type name="GContactRelation" c:type="GDataGContactRelation*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">the name of the relation</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="relation_type"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the type of relation, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="label" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a free-form label for the type of relation, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_label"
              c:identifier="gdata_gcontact_relation_get_label"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets the #GDataGContactRelation:label property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a free-form label for the type of the relation, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_name"
              c:identifier="gdata_gcontact_relation_get_name"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets the #GDataGContactRelation:name property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the relation's name</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_relation_type"
              c:identifier="gdata_gcontact_relation_get_relation_type"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets the #GDataGContactRelation:relation-type property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the type of the relation, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="set_label"
              c:identifier="gdata_gcontact_relation_set_label"
              version="0.7.0">
        <doc xml:whitespace="preserve">Sets the #GDataGContactRelation:label property to @label.
If @label is %NULL, the label will be unset. When the #GDataGContactRelation is used in a query, however,
exactly one of #GDataGContactRelation:relation-type and #GDataGContactRelation:label must be %NULL.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="label" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new free-form type for the relation, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_name"
              c:identifier="gdata_gcontact_relation_set_name"
              version="0.7.0">
        <doc xml:whitespace="preserve">Sets the #GDataGContactRelation:name property to @name.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new name for the relation</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_relation_type"
              c:identifier="gdata_gcontact_relation_set_relation_type"
              version="0.7.0">
        <doc xml:whitespace="preserve">Sets the #GDataGContactRelation:relation-type property to @relation_type,
such as %GDATA_GCONTACT_RELATION_MANAGER or %GDATA_GCONTACT_RELATION_CHILD.
If @relation_type is %NULL, the relation type will be unset. When the #GDataGContactRelation is used in a query, however,
exactly one of #GDataGContactRelation:relation-type and #GDataGContactRelation:label must be %NULL.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="relation_type"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the new type for the relation, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="label" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="name" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="relation-type" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <field name="parent">
        <type name="Parsable" c:type="GDataParsable"/>
      </field>
      <field name="priv">
        <type name="GContactRelationPrivate"
              c:type="GDataGContactRelationPrivate*"/>
      </field>
    </class>
    <record name="GContactRelationClass"
            c:type="GDataGContactRelationClass"
            glib:is-gtype-struct-for="GContactRelation"
            version="0.7.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataGContactRelationClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="ParsableClass" c:type="GDataParsableClass"/>
      </field>
    </record>
    <record name="GContactRelationPrivate"
            c:type="GDataGContactRelationPrivate"
            disguised="1">
    </record>
    <class name="GContactWebsite"
           c:symbol-prefix="gcontact_website"
           c:type="GDataGContactWebsite"
           version="0.7.0"
           parent="Parsable"
           glib:type-name="GDataGContactWebsite"
           glib:get-type="gdata_gcontact_website_get_type"
           glib:type-struct="GContactWebsiteClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataGContactWebsite structure are private and should never be accessed directly.</doc>
      <implements name="Comparable"/>
      <constructor name="new"
                   c:identifier="gdata_gcontact_website_new"
                   version="0.7.0">
        <doc xml:whitespace="preserve">Creates a new #GDataGContactWebsite. More information is available in the &lt;ulink type="http"
url="http://code.google.com/apis/contacts/docs/3.0/reference.html#gcWebsite"&gt;gContact specification&lt;/ulink&gt;.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GDataGContactWebsite; unref with g_object_unref()</doc>
          <type name="GContactWebsite" c:type="GDataGContactWebsite*"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:whitespace="preserve">the website URI</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="relation_type" transfer-ownership="none">
            <doc xml:whitespace="preserve">the relationship between the website and its owner</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="label" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a human-readable label for the website, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="is_primary" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE if this website is its owner's primary website, %FALSE otherwise</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_label"
              c:identifier="gdata_gcontact_website_get_label"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets the #GDataGContactWebsite:label property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the website's label, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_relation_type"
              c:identifier="gdata_gcontact_website_get_relation_type"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets the #GDataGContactWebsite:relation-type property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the website's relation type</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_uri"
              c:identifier="gdata_gcontact_website_get_uri"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets the #GDataGContactWebsite:uri property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the URI of the website</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="is_primary"
              c:identifier="gdata_gcontact_website_is_primary"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets the #GDataGContactWebsite:is-primary property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if this is the primary website, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="set_is_primary"
              c:identifier="gdata_gcontact_website_set_is_primary"
              version="0.7.0">
        <doc xml:whitespace="preserve">Sets the #GDataGContactWebsite:is-primary property to @is_primary.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="is_primary" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE if this is the primary website, %FALSE otherwise</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_label"
              c:identifier="gdata_gcontact_website_set_label"
              version="0.7.0">
        <doc xml:whitespace="preserve">Sets the #GDataGContactWebsite:label property to @label.
Set @label to %NULL to unset the property in the website.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="label" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new label for the website, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_relation_type"
              c:identifier="gdata_gcontact_website_set_relation_type"
              version="0.7.0">
        <doc xml:whitespace="preserve">Sets the #GDataGContactWebsite:relation-type property to @relation_type
such as %GDATA_GCONTACT_WEBSITE_HOME_PAGE or %GDATA_GCONTACT_WEBSITE_FTP.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="relation_type" transfer-ownership="none">
            <doc xml:whitespace="preserve">the new relation type for the website</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_uri"
              c:identifier="gdata_gcontact_website_set_uri"
              version="0.7.0">
        <doc xml:whitespace="preserve">Sets the #GDataGContactWebsite:uri property to @uri.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:whitespace="preserve">the new website URI</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="is-primary" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="label" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="relation-type" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="uri" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <field name="parent">
        <type name="Parsable" c:type="GDataParsable"/>
      </field>
      <field name="priv">
        <type name="GContactWebsitePrivate"
              c:type="GDataGContactWebsitePrivate*"/>
      </field>
    </class>
    <record name="GContactWebsiteClass"
            c:type="GDataGContactWebsiteClass"
            glib:is-gtype-struct-for="GContactWebsite"
            version="0.7.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataGContactWebsiteClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="ParsableClass" c:type="GDataParsableClass"/>
      </field>
    </record>
    <record name="GContactWebsitePrivate"
            c:type="GDataGContactWebsitePrivate"
            disguised="1">
    </record>
    <class name="GDEmailAddress"
           c:symbol-prefix="gd_email_address"
           c:type="GDataGDEmailAddress"
           version="0.2.0"
           parent="Parsable"
           glib:type-name="GDataGDEmailAddress"
           glib:get-type="gdata_gd_email_address_get_type"
           glib:type-struct="GDEmailAddressClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataGDEmailAddress structure are private and should never be accessed directly.</doc>
      <implements name="Comparable"/>
      <constructor name="new"
                   c:identifier="gdata_gd_email_address_new"
                   version="0.2.0">
        <doc xml:whitespace="preserve">Creates a new #GDataGDEmailAddress. More information is available in the &lt;ulink type="http"
url="http://code.google.com/apis/gdata/docs/2.0/elements.html#gdEmail"&gt;GData specification&lt;/ulink&gt;.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GDataGDEmailAddress, or %NULL; unref with g_object_unref()</doc>
          <type name="GDEmailAddress" c:type="GDataGDEmailAddress*"/>
        </return-value>
        <parameters>
          <parameter name="address" transfer-ownership="none">
            <doc xml:whitespace="preserve">the e-mail address</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="relation_type"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the relationship between the e-mail address and its owner, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="label" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a human-readable label for the e-mail address, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="is_primary" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE if this e-mail address is its owner's primary address, %FALSE otherwise</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_address"
              c:identifier="gdata_gd_email_address_get_address"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDEmailAddress:address property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the e-mail address itself, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_display_name"
              c:identifier="gdata_gd_email_address_get_display_name"
              version="0.6.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDEmailAddress:display-name property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a display name for the e-mail address, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_label"
              c:identifier="gdata_gd_email_address_get_label"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDEmailAddress:label property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the e-mail address' label, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_relation_type"
              c:identifier="gdata_gd_email_address_get_relation_type"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDEmailAddress:relation-type property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the e-mail address' relation type, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="is_primary"
              c:identifier="gdata_gd_email_address_is_primary"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDEmailAddress:is-primary property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if this is the primary e-mail address, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="set_address"
              c:identifier="gdata_gd_email_address_set_address"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDEmailAddress:address property to @address.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="address" transfer-ownership="none">
            <doc xml:whitespace="preserve">the new e-mail address</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_display_name"
              c:identifier="gdata_gd_email_address_set_display_name"
              version="0.6.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDEmailAddress:display-name property to @display_name.
Set @display_name to %NULL to unset the property in the e-mail address.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="display_name"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the new display name, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_is_primary"
              c:identifier="gdata_gd_email_address_set_is_primary"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDEmailAddress:is-primary property to @is_primary.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="is_primary" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE if this is the primary e-mail address, %FALSE otherwise</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_label"
              c:identifier="gdata_gd_email_address_set_label"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDEmailAddress:label property to @label.
Set @label to %NULL to unset the property in the e-mail address.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="label" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new label for the e-mail address, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_relation_type"
              c:identifier="gdata_gd_email_address_set_relation_type"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDEmailAddress:relation-type property to @relation_type.
Set @relation_type to %NULL to unset the property in the e-mail address.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="relation_type"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the new relation type for the email_address, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="address" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="display-name" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="is-primary" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="label" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="relation-type" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <field name="parent">
        <type name="Parsable" c:type="GDataParsable"/>
      </field>
      <field name="priv">
        <type name="GDEmailAddressPrivate"
              c:type="GDataGDEmailAddressPrivate*"/>
      </field>
    </class>
    <record name="GDEmailAddressClass"
            c:type="GDataGDEmailAddressClass"
            glib:is-gtype-struct-for="GDEmailAddress"
            version="0.4.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataGDEmailAddressClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="ParsableClass" c:type="GDataParsableClass"/>
      </field>
    </record>
    <record name="GDEmailAddressPrivate"
            c:type="GDataGDEmailAddressPrivate"
            disguised="1">
    </record>
    <class name="GDIMAddress"
           c:symbol-prefix="gd_im_address"
           c:type="GDataGDIMAddress"
           version="0.2.0"
           parent="Parsable"
           glib:type-name="GDataGDIMAddress"
           glib:get-type="gdata_gd_im_address_get_type"
           glib:type-struct="GDIMAddressClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataGDIMAddress structure are private and should never be accessed directly.</doc>
      <implements name="Comparable"/>
      <constructor name="new"
                   c:identifier="gdata_gd_im_address_new"
                   version="0.2.0">
        <doc xml:whitespace="preserve">Creates a new #GDataGDIMAddress. More information is available in the &lt;ulink type="http"
url="http://code.google.com/apis/gdata/docs/2.0/elements.html#gdIm"&gt;GData specification&lt;/ulink&gt;.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GDataGDIMAddress, or %NULL; unref with g_object_unref()</doc>
          <type name="GDIMAddress" c:type="GDataGDIMAddress*"/>
        </return-value>
        <parameters>
          <parameter name="address" transfer-ownership="none">
            <doc xml:whitespace="preserve">the IM address</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="protocol" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a URI identifying the IM protocol, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="relation_type"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the relationship between the IM address and its owner, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="label" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a human-readable label for the IM address, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="is_primary" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE if this IM address is its owner's primary address, %FALSE otherwise</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_address"
              c:identifier="gdata_gd_im_address_get_address"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDIMAddress:address property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the IM address itself, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_label"
              c:identifier="gdata_gd_im_address_get_label"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDIMAddress:label property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the IM address' label, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_protocol"
              c:identifier="gdata_gd_im_address_get_protocol"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDIMAddress:protocol property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the IM address' protocol, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_relation_type"
              c:identifier="gdata_gd_im_address_get_relation_type"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDIMAddress:relation-type property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the IM address' relation type, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="is_primary"
              c:identifier="gdata_gd_im_address_is_primary"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDIMAddress:is-primary property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if this is the primary IM address, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="set_address"
              c:identifier="gdata_gd_im_address_set_address"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDIMAddress:address property to @address.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="address" transfer-ownership="none">
            <doc xml:whitespace="preserve">the new IM address</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_is_primary"
              c:identifier="gdata_gd_im_address_set_is_primary"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDIMAddress:is-primary property to @is_primary.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="is_primary" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE if this is the primary IM address, %FALSE otherwise</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_label"
              c:identifier="gdata_gd_im_address_set_label"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDIMAddress:label property to @label.
Set @label to %NULL to unset the property in the IM address.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="label" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new label for the IM address, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_protocol"
              c:identifier="gdata_gd_im_address_set_protocol"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDIMAddress:protocol property to @protocol.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="protocol" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new IM protocol, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_relation_type"
              c:identifier="gdata_gd_im_address_set_relation_type"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDIMAddress:relation-type property to @relation_type.
Set @relation_type to %NULL to unset the property in the IM address.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="relation_type"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the new relation type for the im_address, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="address" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="is-primary" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="label" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="protocol" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="relation-type" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <field name="parent">
        <type name="Parsable" c:type="GDataParsable"/>
      </field>
      <field name="priv">
        <type name="GDIMAddressPrivate" c:type="GDataGDIMAddressPrivate*"/>
      </field>
    </class>
    <record name="GDIMAddressClass"
            c:type="GDataGDIMAddressClass"
            glib:is-gtype-struct-for="GDIMAddress"
            version="0.4.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataGDIMAddressClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="ParsableClass" c:type="GDataParsableClass"/>
      </field>
    </record>
    <record name="GDIMAddressPrivate"
            c:type="GDataGDIMAddressPrivate"
            disguised="1">
    </record>
    <class name="GDName"
           c:symbol-prefix="gd_name"
           c:type="GDataGDName"
           version="0.5.0"
           parent="Parsable"
           glib:type-name="GDataGDName"
           glib:get-type="gdata_gd_name_get_type"
           glib:type-struct="GDNameClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataGDName structure are private and should never be accessed directly.</doc>
      <implements name="Comparable"/>
      <constructor name="new" c:identifier="gdata_gd_name_new" version="0.5.0">
        <doc xml:whitespace="preserve">Creates a new #GDataGDName. More information is available in the &lt;ulink type="http"
url="http://code.google.com/apis/gdata/docs/2.0/elements.html#gdName"&gt;GData specification&lt;/ulink&gt;.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GDataGDName, or %NULL; unref with g_object_unref()</doc>
          <type name="GDName" c:type="GDataGDName*"/>
        </return-value>
        <parameters>
          <parameter name="given_name"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the person's given name, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="family_name"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the person's family name, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_additional_name"
              c:identifier="gdata_gd_name_get_additional_name"
              version="0.5.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDName:additional-name property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the person's additional name, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_family_name"
              c:identifier="gdata_gd_name_get_family_name"
              version="0.5.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDName:family-name property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the person's family name, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_full_name"
              c:identifier="gdata_gd_name_get_full_name"
              version="0.5.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDName:full-name property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the person's full name, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_given_name"
              c:identifier="gdata_gd_name_get_given_name"
              version="0.5.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDName:given-name property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the person's given name, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_prefix"
              c:identifier="gdata_gd_name_get_prefix"
              version="0.5.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDName:prefix property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the person's name prefix, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_suffix"
              c:identifier="gdata_gd_name_get_suffix"
              version="0.5.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDName:suffix property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the person's name suffix, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="set_additional_name"
              c:identifier="gdata_gd_name_set_additional_name"
              version="0.5.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDName:additional-name property to @additional_name.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="additional_name"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the new additional name, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_family_name"
              c:identifier="gdata_gd_name_set_family_name"
              version="0.5.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDName:family-name property to @family_name.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="family_name"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the new family name, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_full_name"
              c:identifier="gdata_gd_name_set_full_name"
              version="0.5.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDName:full-name property to @full_name.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="full_name" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new full name, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_given_name"
              c:identifier="gdata_gd_name_set_given_name"
              version="0.5.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDName:given-name property to @given_name.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="given_name"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the new given name, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_prefix"
              c:identifier="gdata_gd_name_set_prefix"
              version="0.5.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDName:prefix property to @prefix.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="prefix" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new prefix, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_suffix"
              c:identifier="gdata_gd_name_set_suffix"
              version="0.5.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDName:suffix property to @suffix.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="suffix" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new suffix, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="additional-name" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="family-name" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="full-name" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="given-name" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="prefix" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="suffix" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <field name="parent">
        <type name="Parsable" c:type="GDataParsable"/>
      </field>
      <field name="priv">
        <type name="GDNamePrivate" c:type="GDataGDNamePrivate*"/>
      </field>
    </class>
    <record name="GDNameClass"
            c:type="GDataGDNameClass"
            glib:is-gtype-struct-for="GDName"
            version="0.5.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataGDNameClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="ParsableClass" c:type="GDataParsableClass"/>
      </field>
    </record>
    <record name="GDNamePrivate" c:type="GDataGDNamePrivate" disguised="1">
    </record>
    <class name="GDOrganization"
           c:symbol-prefix="gd_organization"
           c:type="GDataGDOrganization"
           version="0.2.0"
           parent="Parsable"
           glib:type-name="GDataGDOrganization"
           glib:get-type="gdata_gd_organization_get_type"
           glib:type-struct="GDOrganizationClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataGDOrganization structure are private and should never be accessed directly.</doc>
      <implements name="Comparable"/>
      <constructor name="new"
                   c:identifier="gdata_gd_organization_new"
                   version="0.2.0">
        <doc xml:whitespace="preserve">Creates a new #GDataGDOrganization. More information is available in the &lt;ulink type="http"
url="http://code.google.com/apis/gdata/docs/2.0/elements.html#gdOrganization"&gt;GData specification&lt;/ulink&gt;.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GDataGDOrganization, or %NULL; unref with g_object_unref()</doc>
          <type name="GDOrganization" c:type="GDataGDOrganization*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the name of the organization, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="title" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the owner's title within the organization, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="relation_type"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the relationship between the organization and its owner, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="label" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a human-readable label for the organization, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="is_primary" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE if this organization is its owner's primary organization, %FALSE otherwise</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_department"
              c:identifier="gdata_gd_organization_get_department"
              version="0.5.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDOrganization:department property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the department in which the person works in this organization, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_job_description"
              c:identifier="gdata_gd_organization_get_job_description"
              version="0.5.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDOrganization:job-description property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the job description of the person in the organization, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_label"
              c:identifier="gdata_gd_organization_get_label"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDOrganization:label property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the organization's label, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_location"
              c:identifier="gdata_gd_organization_get_location"
              version="0.6.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDOrganization:location property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the organization's location, or %NULL</doc>
          <type name="GDWhere" c:type="GDataGDWhere*"/>
        </return-value>
      </method>
      <method name="get_name"
              c:identifier="gdata_gd_organization_get_name"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDOrganization:name property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the organization's name, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_relation_type"
              c:identifier="gdata_gd_organization_get_relation_type"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDOrganization:relation-type property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the organization's relation type, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_symbol"
              c:identifier="gdata_gd_organization_get_symbol"
              version="0.5.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDOrganization:symbol property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the organization's stock symbol, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_title"
              c:identifier="gdata_gd_organization_get_title"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDOrganization:title property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the organization's title, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="is_primary"
              c:identifier="gdata_gd_organization_is_primary"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDOrganization:is-primary property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if this is the primary organization, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="set_department"
              c:identifier="gdata_gd_organization_set_department"
              version="0.5.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDOrganization:department property to @department.
Set @department to %NULL to unset the property in the organization.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="department"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the new department for the person working in the organization, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_is_primary"
              c:identifier="gdata_gd_organization_set_is_primary"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDOrganization:is-primary property to @is_primary.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="is_primary" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE if this is the primary organization, %FALSE otherwise</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_job_description"
              c:identifier="gdata_gd_organization_set_job_description"
              version="0.5.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDOrganization:job-description property to @job_description.
Set @job_description to %NULL to unset the property in the organization.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="job_description"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the new job description for the person in the organization, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_label"
              c:identifier="gdata_gd_organization_set_label"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDOrganization:label property to @label.
Set @label to %NULL to unset the property in the organization.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="label" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new label for the organization, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_location"
              c:identifier="gdata_gd_organization_set_location"
              version="0.6.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDOrganization:location property to @location.
Set @location to %NULL to unset the property in the organization.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="location" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new location for the organization, or %NULL</doc>
            <type name="GDWhere" c:type="GDataGDWhere*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_name"
              c:identifier="gdata_gd_organization_set_name"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDOrganization:name property to @name.
Set @name to %NULL to unset the property in the organization.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new name for the organization, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_relation_type"
              c:identifier="gdata_gd_organization_set_relation_type"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDOrganization:relation-type property to @relation_type.
Set @relation_type to %NULL to unset the property in the organization.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="relation_type"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the new relation type for the organization, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_symbol"
              c:identifier="gdata_gd_organization_set_symbol"
              version="0.5.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDOrganization:symbol property to @symbol.
Set @symbol to %NULL to unset the property in the organization.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="symbol" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new stock symbol for the organization, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_title"
              c:identifier="gdata_gd_organization_set_title"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDOrganization:title property to @title.
Set @title to %NULL to unset the property in the organization.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="title" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new title for the organization, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="department" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="is-primary" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="job-description" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="label" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="location" writable="1" transfer-ownership="none">
        <type name="GDWhere"/>
      </property>
      <property name="name" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="relation-type" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="symbol" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="title" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <field name="parent">
        <type name="Parsable" c:type="GDataParsable"/>
      </field>
      <field name="priv">
        <type name="GDOrganizationPrivate"
              c:type="GDataGDOrganizationPrivate*"/>
      </field>
    </class>
    <record name="GDOrganizationClass"
            c:type="GDataGDOrganizationClass"
            glib:is-gtype-struct-for="GDOrganization"
            version="0.4.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataGDOrganizationClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="ParsableClass" c:type="GDataParsableClass"/>
      </field>
    </record>
    <record name="GDOrganizationPrivate"
            c:type="GDataGDOrganizationPrivate"
            disguised="1">
    </record>
    <class name="GDPhoneNumber"
           c:symbol-prefix="gd_phone_number"
           c:type="GDataGDPhoneNumber"
           version="0.2.0"
           parent="Parsable"
           glib:type-name="GDataGDPhoneNumber"
           glib:get-type="gdata_gd_phone_number_get_type"
           glib:type-struct="GDPhoneNumberClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataGDPhoneNumber structure are private and should never be accessed directly.</doc>
      <implements name="Comparable"/>
      <constructor name="new"
                   c:identifier="gdata_gd_phone_number_new"
                   version="0.2.0">
        <doc xml:whitespace="preserve">Creates a new #GDataGDPhoneNumber. More information is available in the &lt;ulink type="http"
url="http://code.google.com/apis/gdata/docs/2.0/elements.html#gdPhoneNumber"&gt;GData specification&lt;/ulink&gt;.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GDataGDPhoneNumber, or %NULL; unref with g_object_unref()</doc>
          <type name="GDPhoneNumber" c:type="GDataGDPhoneNumber*"/>
        </return-value>
        <parameters>
          <parameter name="number" transfer-ownership="none">
            <doc xml:whitespace="preserve">the phone number, in human-readable format</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="relation_type"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the relationship between the phone number and its owner, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="label" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a human-readable label for the phone number, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="uri" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a "tel URI" to represent the number formally (see &lt;ulink type="http" url="http://www.ietf.org/rfc/rfc3966.txt"&gt;RFC 3966&lt;/ulink&gt;), or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="is_primary" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE if this phone number is its owner's primary number, %FALSE otherwise</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_label"
              c:identifier="gdata_gd_phone_number_get_label"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDPhoneNumber:label property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the phone number's label, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_number"
              c:identifier="gdata_gd_phone_number_get_number"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDPhoneNumber:number property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the phone number itself</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_relation_type"
              c:identifier="gdata_gd_phone_number_get_relation_type"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDPhoneNumber:relation-type property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the phone number's relation type, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_uri"
              c:identifier="gdata_gd_phone_number_get_uri"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDPhoneNumber:uri property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the phone number's URI, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="is_primary"
              c:identifier="gdata_gd_phone_number_is_primary"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDPhoneNumber:is-primary property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if this is the primary phone number, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="set_is_primary"
              c:identifier="gdata_gd_phone_number_set_is_primary"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDPhoneNumber:is-primary property to @is_primary.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="is_primary" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE if this is the primary phone number, %FALSE otherwise</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_label"
              c:identifier="gdata_gd_phone_number_set_label"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDPhoneNumber:label property to @label.
Set @label to %NULL to unset the property in the phone number.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="label" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new label for the phone number, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_number"
              c:identifier="gdata_gd_phone_number_set_number"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDPhoneNumber:number property to @number.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="number" transfer-ownership="none">
            <doc xml:whitespace="preserve">the new phone number</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_relation_type"
              c:identifier="gdata_gd_phone_number_set_relation_type"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDPhoneNumber:relation-type property to @relation_type.
Set @relation_type to %NULL to unset the property in the phone number.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="relation_type"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the new relation type for the phone number, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_uri"
              c:identifier="gdata_gd_phone_number_set_uri"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDPhoneNumber:uri property to @uri.
Set @uri to %NULL to unset the property in the phone number.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new URI for the phone number, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="is-primary" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="label" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="number" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="relation-type" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="uri" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <field name="parent">
        <type name="Parsable" c:type="GDataParsable"/>
      </field>
      <field name="priv">
        <type name="GDPhoneNumberPrivate" c:type="GDataGDPhoneNumberPrivate*"/>
      </field>
    </class>
    <record name="GDPhoneNumberClass"
            c:type="GDataGDPhoneNumberClass"
            glib:is-gtype-struct-for="GDPhoneNumber"
            version="0.4.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataGDPhoneNumberClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="ParsableClass" c:type="GDataParsableClass"/>
      </field>
    </record>
    <record name="GDPhoneNumberPrivate"
            c:type="GDataGDPhoneNumberPrivate"
            disguised="1">
    </record>
    <class name="GDPostalAddress"
           c:symbol-prefix="gd_postal_address"
           c:type="GDataGDPostalAddress"
           version="0.2.0"
           parent="Parsable"
           glib:type-name="GDataGDPostalAddress"
           glib:get-type="gdata_gd_postal_address_get_type"
           glib:type-struct="GDPostalAddressClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataGDPostalAddress structure are private and should never be accessed directly.</doc>
      <implements name="Comparable"/>
      <constructor name="new"
                   c:identifier="gdata_gd_postal_address_new"
                   version="0.2.0">
        <doc xml:whitespace="preserve">Creates a new #GDataGDPostalAddress. More information is available in the &lt;ulink type="http"
url="http://code.google.com/apis/gdata/docs/2.0/elements.html#gdStructuredPostalAddress"&gt;GData specification&lt;/ulink&gt;.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GDataGDPostalAddress, or %NULL; unref with g_object_unref()</doc>
          <type name="GDPostalAddress" c:type="GDataGDPostalAddress*"/>
        </return-value>
        <parameters>
          <parameter name="relation_type"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the relationship between the address and its owner, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="label" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a human-readable label for the address, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="is_primary" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE if this phone number is its owner's primary number, %FALSE otherwise</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_address"
              c:identifier="gdata_gd_postal_address_get_address"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDPostalAddress:address property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the postal address itself, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_agent"
              c:identifier="gdata_gd_postal_address_get_agent"
              version="0.5.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDPostalAddress:agent property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the postal address' agent, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_city"
              c:identifier="gdata_gd_postal_address_get_city"
              version="0.5.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDPostalAddress:city property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the postal address' city, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_country"
              c:identifier="gdata_gd_postal_address_get_country"
              version="0.5.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDPostalAddress:country property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the postal address' country, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_country_code"
              c:identifier="gdata_gd_postal_address_get_country_code"
              version="0.5.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDPostalAddress:country-code property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the postal address' ISO 3166-1 alpha-2 country code, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_house_name"
              c:identifier="gdata_gd_postal_address_get_house_name"
              version="0.5.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDPostalAddress:house-name property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the postal address' house name, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_label"
              c:identifier="gdata_gd_postal_address_get_label"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDPostalAddress:label property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the postal address' label, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_mail_class"
              c:identifier="gdata_gd_postal_address_get_mail_class"
              version="0.5.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDPostalAddress:mail-class property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the postal address' mail class, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_neighborhood"
              c:identifier="gdata_gd_postal_address_get_neighborhood"
              version="0.5.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDPostalAddress:neighborhood property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the postal address' neighborhood, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_po_box"
              c:identifier="gdata_gd_postal_address_get_po_box"
              version="0.5.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDPostalAddress:po-box property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the postal address' P.O. box, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_postcode"
              c:identifier="gdata_gd_postal_address_get_postcode"
              version="0.5.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDPostalAddress:postcode property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the postal address' postcode, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_region"
              c:identifier="gdata_gd_postal_address_get_region"
              version="0.5.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDPostalAddress:region property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the postal address' region, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_relation_type"
              c:identifier="gdata_gd_postal_address_get_relation_type"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDPostalAddress:relation-type property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the postal address' relation type, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_street"
              c:identifier="gdata_gd_postal_address_get_street"
              version="0.5.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDPostalAddress:street property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the postal address' street, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_subregion"
              c:identifier="gdata_gd_postal_address_get_subregion"
              version="0.5.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDPostalAddress:subregion property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the postal address' subregion, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_usage"
              c:identifier="gdata_gd_postal_address_get_usage"
              version="0.5.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDPostalAddress:usage property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the postal address' usage, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="is_primary"
              c:identifier="gdata_gd_postal_address_is_primary"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDPostalAddress:is-primary property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if this is the primary postal address, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="set_address"
              c:identifier="gdata_gd_postal_address_set_address"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDPostalAddress:address property to @address.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="address" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new postal address, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_agent"
              c:identifier="gdata_gd_postal_address_set_agent"
              version="0.5.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDPostalAddress:agent property to @agent.
Set @agent to %NULL to unset the property in the postal address.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="agent" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new agent for the postal address, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_city"
              c:identifier="gdata_gd_postal_address_set_city"
              version="0.5.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDPostalAddress:city property to @city.
Set @city to %NULL to unset the property in the postal address.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="city" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new city for the postal address, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_country"
              c:identifier="gdata_gd_postal_address_set_country"
              version="0.5.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDPostalAddress:country property to @country, and #GDataGDPostalAddress:country-code to @country_code.
Set @country or @country_code to %NULL to unset the relevant property in the postal address. If a @country_code is provided, a @country must
also be provided.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="country" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new country for the postal address, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="country_code"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the new country code for the postal address, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_house_name"
              c:identifier="gdata_gd_postal_address_set_house_name"
              version="0.5.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDPostalAddress:house-name property to @house_name.
Set @house_name to %NULL to unset the property in the postal address.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="house_name"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the new house name for the postal address, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_is_primary"
              c:identifier="gdata_gd_postal_address_set_is_primary"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDPostalAddress:is-primary property to @is_primary.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="is_primary" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE if this is the primary postal address, %FALSE otherwise</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_label"
              c:identifier="gdata_gd_postal_address_set_label"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDPostalAddress:label property to @label.
Set @label to %NULL to unset the property in the postal address.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="label" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new label for the postal address, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_mail_class"
              c:identifier="gdata_gd_postal_address_set_mail_class"
              version="0.5.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDPostalAddress:mail-class property to @mail_class.
Set @mail_class to %NULL to unset the property in the postal address.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="mail_class"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the new mail class for the postal address, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_neighborhood"
              c:identifier="gdata_gd_postal_address_set_neighborhood"
              version="0.5.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDPostalAddress:neighborhood property to @neighborhood.
Set @neighborhood to %NULL to unset the property in the postal address.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="neighborhood"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the new neighborhood for the postal address, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_po_box"
              c:identifier="gdata_gd_postal_address_set_po_box"
              version="0.5.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDPostalAddress:po-box property to @po_box.
Set @po_box to %NULL to unset the property in the postal address.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="po_box" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new P.O. box for the postal address, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_postcode"
              c:identifier="gdata_gd_postal_address_set_postcode"
              version="0.5.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDPostalAddress:postcode property to @postcode.
Set @postcode to %NULL to unset the property in the postal address.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="postcode" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new postcode for the postal address, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_region"
              c:identifier="gdata_gd_postal_address_set_region"
              version="0.5.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDPostalAddress:region property to @region.
Set @region to %NULL to unset the property in the postal address.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="region" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new region for the postal address, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_relation_type"
              c:identifier="gdata_gd_postal_address_set_relation_type"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDPostalAddress:relation-type property to @relation_type.
Set @relation_type to %NULL to unset the property in the postal address.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="relation_type"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the new relation type for the postal_address, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_street"
              c:identifier="gdata_gd_postal_address_set_street"
              version="0.5.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDPostalAddress:street property to @street.
Set @street to %NULL to unset the property in the postal address.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="street" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new street for the postal address, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_subregion"
              c:identifier="gdata_gd_postal_address_set_subregion"
              version="0.5.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDPostalAddress:subregion property to @subregion.
Set @subregion to %NULL to unset the property in the postal address.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="subregion" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new subregion for the postal address, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_usage"
              c:identifier="gdata_gd_postal_address_set_usage"
              version="0.5.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDPostalAddress:usage property to @usage.
Set @usage to %NULL to unset the property in the postal address.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="usage" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new usage for the postal address, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="address" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="agent" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="city" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="country" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="country-code" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="house-name" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="is-primary" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="label" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="mail-class" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="neighborhood" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="po-box" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="postcode" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="region" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="relation-type" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="street" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="subregion" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="usage" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <field name="parent">
        <type name="Parsable" c:type="GDataParsable"/>
      </field>
      <field name="priv">
        <type name="GDPostalAddressPrivate"
              c:type="GDataGDPostalAddressPrivate*"/>
      </field>
    </class>
    <record name="GDPostalAddressClass"
            c:type="GDataGDPostalAddressClass"
            glib:is-gtype-struct-for="GDPostalAddress"
            version="0.4.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataGDPostalAddressClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="ParsableClass" c:type="GDataParsableClass"/>
      </field>
    </record>
    <record name="GDPostalAddressPrivate"
            c:type="GDataGDPostalAddressPrivate"
            disguised="1">
    </record>
    <class name="GDReminder"
           c:symbol-prefix="gd_reminder"
           c:type="GDataGDReminder"
           version="0.2.0"
           parent="Parsable"
           glib:type-name="GDataGDReminder"
           glib:get-type="gdata_gd_reminder_get_type"
           glib:type-struct="GDReminderClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataGDReminder structure are private and should never be accessed directly.</doc>
      <implements name="Comparable"/>
      <constructor name="new"
                   c:identifier="gdata_gd_reminder_new"
                   version="0.2.0">
        <doc xml:whitespace="preserve">Creates a new #GDataGDReminder. More information is available in the &lt;ulink type="http"
url="http://code.google.com/apis/gdata/docs/2.0/elements.html#gdReminder"&gt;GData specification&lt;/ulink&gt;.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GDataGDReminder, or %NULL; unref with g_object_unref()</doc>
          <type name="GDReminder" c:type="GDataGDReminder*"/>
        </return-value>
        <parameters>
          <parameter name="method" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the notification method the reminder should use, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="absolute_time" transfer-ownership="none">
            <doc xml:whitespace="preserve">the absolute time for the reminder, or &lt;code class="literal"&gt;-1&lt;/code&gt;</doc>
            <type name="gint64" c:type="gint64"/>
          </parameter>
          <parameter name="relative_time" transfer-ownership="none">
            <doc xml:whitespace="preserve">the relative time for the reminder, in minutes, or &lt;code class="literal"&gt;-1&lt;/code&gt;</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_absolute_time"
              c:identifier="gdata_gd_reminder_get_absolute_time"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDReminder:absolute-time property. If the property is unset, &lt;code class="literal"&gt;-1&lt;/code&gt; will be returned.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the UNIX timestamp of the absolute time for the reminder, or &lt;code class="literal"&gt;-1&lt;/code&gt;</doc>
          <type name="gint64" c:type="gint64"/>
        </return-value>
      </method>
      <method name="get_method"
              c:identifier="gdata_gd_reminder_get_method"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDReminder:method property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the method, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_relative_time"
              c:identifier="gdata_gd_reminder_get_relative_time"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDReminder:relative-time property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the relative time, or &lt;code class="literal"&gt;-1&lt;/code&gt;</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <method name="is_absolute_time"
              c:identifier="gdata_gd_reminder_is_absolute_time"
              version="0.4.0">
        <doc xml:whitespace="preserve">Returns whether the reminder is specified as an absolute time, or as a number of minutes after
the corresponding event's start time.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the reminder is absolute, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="set_absolute_time"
              c:identifier="gdata_gd_reminder_set_absolute_time"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDReminder:absolute-time property to @absolute_time.
Set @absolute_time to &lt;code class="literal"&gt;-1&lt;/code&gt; to unset the property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="absolute_time" transfer-ownership="none">
            <doc xml:whitespace="preserve">the new absolute time, or &lt;code class="literal"&gt;-1&lt;/code&gt;</doc>
            <type name="gint64" c:type="gint64"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_method"
              c:identifier="gdata_gd_reminder_set_method"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDReminder:method property to @method.
Set @method to %NULL to unset the property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="method" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new method, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_relative_time"
              c:identifier="gdata_gd_reminder_set_relative_time"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDReminder:relative-time property to @relative_time.
Set @relative_time to &lt;code class="literal"&gt;-1&lt;/code&gt; to unset the property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="relative_time" transfer-ownership="none">
            <doc xml:whitespace="preserve">the new relative time, or &lt;code class="literal"&gt;-1&lt;/code&gt;</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <property name="absolute-time" writable="1" transfer-ownership="none">
        <type name="gint64"/>
      </property>
      <property name="is-absolute-time" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="method" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="relative-time" writable="1" transfer-ownership="none">
        <type name="gint"/>
      </property>
      <field name="parent">
        <type name="Parsable" c:type="GDataParsable"/>
      </field>
      <field name="priv">
        <type name="GDReminderPrivate" c:type="GDataGDReminderPrivate*"/>
      </field>
    </class>
    <record name="GDReminderClass"
            c:type="GDataGDReminderClass"
            glib:is-gtype-struct-for="GDReminder"
            version="0.4.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataGDReminderClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="ParsableClass" c:type="GDataParsableClass"/>
      </field>
    </record>
    <record name="GDReminderPrivate"
            c:type="GDataGDReminderPrivate"
            disguised="1">
    </record>
    <class name="GDWhen"
           c:symbol-prefix="gd_when"
           c:type="GDataGDWhen"
           version="0.2.0"
           parent="Parsable"
           glib:type-name="GDataGDWhen"
           glib:get-type="gdata_gd_when_get_type"
           glib:type-struct="GDWhenClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataGDWhen structure are private and should never be accessed directly.</doc>
      <implements name="Comparable"/>
      <constructor name="new" c:identifier="gdata_gd_when_new" version="0.2.0">
        <doc xml:whitespace="preserve">Creates a new #GDataGDWhen. More information is available in the &lt;ulink type="http"
url="http://code.google.com/apis/gdata/docs/2.0/elements.html#gdWhen"&gt;GData specification&lt;/ulink&gt;.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GDataGDWhen, or %NULL; unref with g_object_unref()</doc>
          <type name="GDWhen" c:type="GDataGDWhen*"/>
        </return-value>
        <parameters>
          <parameter name="start_time" transfer-ownership="none">
            <doc xml:whitespace="preserve">when the event starts or (for zero-duration events) when it occurs</doc>
            <type name="gint64" c:type="gint64"/>
          </parameter>
          <parameter name="end_time" transfer-ownership="none">
            <doc xml:whitespace="preserve">when the event ends, or &lt;code class="literal"&gt;-1&lt;/code&gt;</doc>
            <type name="gint64" c:type="gint64"/>
          </parameter>
          <parameter name="is_date" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE if @start_time and @end_time specify dates rather than times, %FALSE otherwise</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="add_reminder"
              c:identifier="gdata_gd_when_add_reminder"
              version="0.7.0">
        <doc xml:whitespace="preserve">Adds a reminder to the #GDataGDWhen's list of reminders and increments its reference count.
Duplicate reminders will not be added to the list.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="reminder" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GDataGDReminder to add</doc>
            <type name="GDReminder" c:type="GDataGDReminder*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_end_time"
              c:identifier="gdata_gd_when_get_end_time"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDWhen:end-time property.
If the end time is unset, &lt;code class="literal"&gt;-1&lt;/code&gt; will be returned.</doc>
        <return-value transfer-ownership="none">
          <type name="gint64" c:type="gint64"/>
        </return-value>
      </method>
      <method name="get_reminders"
              c:identifier="gdata_gd_when_get_reminders"
              version="0.4.0">
        <doc xml:whitespace="preserve">Returns a list of the #GDataGDReminder&lt;!-- --&gt;s which are associated with this #GDataGDWhen.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GList of #GDataGDReminder&lt;!-- --&gt;s, or %NULL</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="GDReminder"/>
          </type>
        </return-value>
      </method>
      <method name="get_start_time"
              c:identifier="gdata_gd_when_get_start_time"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDWhen:start-time property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the UNIX timestamp for the start time of the event</doc>
          <type name="gint64" c:type="gint64"/>
        </return-value>
      </method>
      <method name="get_value_string"
              c:identifier="gdata_gd_when_get_value_string"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDWhen:value-string property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the value string, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="is_date"
              c:identifier="gdata_gd_when_is_date"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDWhen:is-date property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if #GDataGDWhen:start-time and #GDataGDWhen:end-time are dates rather than times, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="set_end_time"
              c:identifier="gdata_gd_when_set_end_time"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDWhen:end-time property to @end_time.
Set @end_time to &lt;code class="literal"&gt;-1&lt;/code&gt; to unset the property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="end_time" transfer-ownership="none">
            <doc xml:whitespace="preserve">the new end time, or &lt;code class="literal"&gt;-1&lt;/code&gt;</doc>
            <type name="gint64" c:type="gint64"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_is_date"
              c:identifier="gdata_gd_when_set_is_date"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDWhen:is-date property to @is_date.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="is_date" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE if #GDataGDWhen:start-time and #GDataGDWhen:end-time should be dates rather than times, %FALSE otherwise</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_start_time"
              c:identifier="gdata_gd_when_set_start_time"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDWhen:start-time property to @start_time.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="start_time" transfer-ownership="none">
            <doc xml:whitespace="preserve">the new start time</doc>
            <type name="gint64" c:type="gint64"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_value_string"
              c:identifier="gdata_gd_when_set_value_string"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDWhen:value-string property to @value_string.
Set @value_string to %NULL to unset the property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="value_string"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the new value string, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="end-time" writable="1" transfer-ownership="none">
        <type name="gint64"/>
      </property>
      <property name="is-date" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="start-time" writable="1" transfer-ownership="none">
        <type name="gint64"/>
      </property>
      <property name="value-string" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <field name="parent">
        <type name="Parsable" c:type="GDataParsable"/>
      </field>
      <field name="priv">
        <type name="GDWhenPrivate" c:type="GDataGDWhenPrivate*"/>
      </field>
    </class>
    <record name="GDWhenClass"
            c:type="GDataGDWhenClass"
            glib:is-gtype-struct-for="GDWhen"
            version="0.4.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataGDWhenClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="ParsableClass" c:type="GDataParsableClass"/>
      </field>
    </record>
    <record name="GDWhenPrivate" c:type="GDataGDWhenPrivate" disguised="1">
    </record>
    <class name="GDWhere"
           c:symbol-prefix="gd_where"
           c:type="GDataGDWhere"
           version="0.2.0"
           parent="Parsable"
           glib:type-name="GDataGDWhere"
           glib:get-type="gdata_gd_where_get_type"
           glib:type-struct="GDWhereClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataGDWhere structure are private and should never be accessed directly.</doc>
      <implements name="Comparable"/>
      <constructor name="new"
                   c:identifier="gdata_gd_where_new"
                   version="0.2.0">
        <doc xml:whitespace="preserve">Creates a new #GDataGDWhere. More information is available in the &lt;ulink type="http"
url="http://code.google.com/apis/gdata/docs/2.0/elements.html#gdWhere"&gt;GData specification&lt;/ulink&gt;.
Currently, entryLink functionality is not implemented in #GDataGDWhere.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GDataGDWhere; unref with g_object_unref()</doc>
          <type name="GDWhere" c:type="GDataGDWhere*"/>
        </return-value>
        <parameters>
          <parameter name="relation_type"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the relationship between the item and this place, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="value_string"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">a string to represent the place, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="label" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a human-readable label for the place, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_label"
              c:identifier="gdata_gd_where_get_label"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDWhere:label property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the label, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_relation_type"
              c:identifier="gdata_gd_where_get_relation_type"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDWhere:relation-type property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the relation type, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_value_string"
              c:identifier="gdata_gd_where_get_value_string"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDWhere:value-string property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the value string, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="set_label"
              c:identifier="gdata_gd_where_set_label"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDWhere:label property to @label.
Set @label to %NULL to unset the property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="label" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new label, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_relation_type"
              c:identifier="gdata_gd_where_set_relation_type"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDWhere:relation-type property to @relation_type.
Set @relation_type to %NULL to unset the property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="relation_type"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the new relation type, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_value_string"
              c:identifier="gdata_gd_where_set_value_string"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDWhere:value-string property to @value_string.
Set @value_string to %NULL to unset the property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="value_string"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the new value string, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="label" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="relation-type" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="value-string" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <field name="parent">
        <type name="Parsable" c:type="GDataParsable"/>
      </field>
      <field name="priv">
        <type name="GDWherePrivate" c:type="GDataGDWherePrivate*"/>
      </field>
    </class>
    <record name="GDWhereClass"
            c:type="GDataGDWhereClass"
            glib:is-gtype-struct-for="GDWhere"
            version="0.4.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataGDWhereClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="ParsableClass" c:type="GDataParsableClass"/>
      </field>
    </record>
    <record name="GDWherePrivate" c:type="GDataGDWherePrivate" disguised="1">
    </record>
    <class name="GDWho"
           c:symbol-prefix="gd_who"
           c:type="GDataGDWho"
           version="0.2.0"
           parent="Parsable"
           glib:type-name="GDataGDWho"
           glib:get-type="gdata_gd_who_get_type"
           glib:type-struct="GDWhoClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataGDWho structure are private and should never be accessed directly.</doc>
      <implements name="Comparable"/>
      <constructor name="new" c:identifier="gdata_gd_who_new" version="0.2.0">
        <doc xml:whitespace="preserve">Creates a new #GDataGDWho. More information is available in the &lt;ulink type="http"
url="http://code.google.com/apis/gdata/docs/2.0/elements.html#gdWho"&gt;GData specification&lt;/ulink&gt;.
Currently, entryLink functionality is not implemented in #GDataGDWho.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GDataGDWho; unref with g_object_unref()</doc>
          <type name="GDWho" c:type="GDataGDWho*"/>
        </return-value>
        <parameters>
          <parameter name="relation_type"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the relationship between the item and this person, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="value_string"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">a string to represent the person, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="email_address"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the person's e-mail address, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_email_address"
              c:identifier="gdata_gd_who_get_email_address"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDWho:email-address property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the e-mail address, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_relation_type"
              c:identifier="gdata_gd_who_get_relation_type"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDWho:relation-type property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the relation type, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_value_string"
              c:identifier="gdata_gd_who_get_value_string"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataGDWho:value-string property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the value string, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="set_email_address"
              c:identifier="gdata_gd_who_set_email_address"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDWho:email-address property to @email_address.
Set @email_address to %NULL to unset the property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="email_address"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the new e-mail address, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_relation_type"
              c:identifier="gdata_gd_who_set_relation_type"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDWho:relation-type property to @relation_type.
Set @relation_type to %NULL to unset the property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="relation_type"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the new relation type, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_value_string"
              c:identifier="gdata_gd_who_set_value_string"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataGDWho:value-string property to @value_string.
Set @value_string to %NULL to unset the property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="value_string"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the new value string, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="email-address" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="relation-type" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="value-string" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <field name="parent">
        <type name="Parsable" c:type="GDataParsable"/>
      </field>
      <field name="priv">
        <type name="GDWhoPrivate" c:type="GDataGDWhoPrivate*"/>
      </field>
    </class>
    <record name="GDWhoClass"
            c:type="GDataGDWhoClass"
            glib:is-gtype-struct-for="GDWho"
            version="0.4.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataGDWhoClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="ParsableClass" c:type="GDataParsableClass"/>
      </field>
    </record>
    <record name="GDWhoPrivate" c:type="GDataGDWhoPrivate" disguised="1">
    </record>
    <constant name="GD_ADDRESS_USAGE_GENERAL"
              value="http://schemas.google.com/g/2005#general">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_ADDRESS_USAGE_LOCAL"
              value="http://schemas.google.com/g/2005#local">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_EMAIL_ADDRESS_HOME"
              value="http://schemas.google.com/g/2005#home">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_EMAIL_ADDRESS_OTHER"
              value="http://schemas.google.com/g/2005#other">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_EMAIL_ADDRESS_WORK"
              value="http://schemas.google.com/g/2005#work">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_EVENT_STATUS_CANCELED"
              value="http://schemas.google.com/g/2005#event.canceled">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_EVENT_STATUS_CONFIRMED"
              value="http://schemas.google.com/g/2005#event.confirmed">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_EVENT_STATUS_TENTATIVE"
              value="http://schemas.google.com/g/2005#event.tentative">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_EVENT_TRANSPARENCY_OPAQUE"
              value="http://schemas.google.com/g/2005#event.opaque">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_EVENT_TRANSPARENCY_TRANSPARENT"
              value="http://schemas.google.com/g/2005#event.transparent">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_EVENT_VISIBILITY_CONFIDENTIAL"
              value="http://schemas.google.com/g/2005#event.confidential">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_EVENT_VISIBILITY_DEFAULT"
              value="http://schemas.google.com/g/2005#event.default">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_EVENT_VISIBILITY_PRIVATE"
              value="http://schemas.google.com/g/2005#event.private">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_EVENT_VISIBILITY_PUBLIC"
              value="http://schemas.google.com/g/2005#event.public">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_IM_ADDRESS_HOME"
              value="http://schemas.google.com/g/2005#home">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_IM_ADDRESS_NETMEETING"
              value="http://schemas.google.com/g/2005#netmeeting">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_IM_ADDRESS_OTHER"
              value="http://schemas.google.com/g/2005#other">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_IM_ADDRESS_WORK"
              value="http://schemas.google.com/g/2005#work">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_IM_PROTOCOL_AIM"
              value="http://schemas.google.com/g/2005#AIM">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_IM_PROTOCOL_GOOGLE_TALK"
              value="http://schemas.google.com/g/2005#GOOGLE_TALK">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_IM_PROTOCOL_ICQ"
              value="http://schemas.google.com/g/2005#ICQ">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_IM_PROTOCOL_JABBER"
              value="http://schemas.google.com/g/2005#JABBER">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_IM_PROTOCOL_LIVE_MESSENGER"
              value="http://schemas.google.com/g/2005#MSN">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_IM_PROTOCOL_QQ"
              value="http://schemas.google.com/g/2005#QQ">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_IM_PROTOCOL_SKYPE"
              value="http://schemas.google.com/g/2005#SKYPE">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_IM_PROTOCOL_YAHOO_MESSENGER"
              value="http://schemas.google.com/g/2005#YAHOO">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_MAIL_CLASS_BOTH"
              value="http://schemas.google.com/g/2005#both">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_MAIL_CLASS_LETTERS"
              value="http://schemas.google.com/g/2005#letters">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_MAIL_CLASS_NEITHER"
              value="http://schemas.google.com/g/2005#neither">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_MAIL_CLASS_PARCELS"
              value="http://schemas.google.com/g/2005#parcels">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_ORGANIZATION_OTHER"
              value="http://schemas.google.com/g/2005#other">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_ORGANIZATION_WORK"
              value="http://schemas.google.com/g/2005#work">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_PHONE_NUMBER_ASSISTANT"
              value="http://schemas.google.com/g/2005#assistant">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_PHONE_NUMBER_CALLBACK"
              value="http://schemas.google.com/g/2005#callback">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_PHONE_NUMBER_CAR"
              value="http://schemas.google.com/g/2005#car">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_PHONE_NUMBER_COMPANY_MAIN"
              value="http://schemas.google.com/g/2005#company_main">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_PHONE_NUMBER_FAX"
              value="http://schemas.google.com/g/2005#fax">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_PHONE_NUMBER_HOME"
              value="http://schemas.google.com/g/2005#home">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_PHONE_NUMBER_HOME_FAX"
              value="http://schemas.google.com/g/2005#home_fax">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_PHONE_NUMBER_ISDN"
              value="http://schemas.google.com/g/2005#isdn">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_PHONE_NUMBER_MAIN"
              value="http://schemas.google.com/g/2005#main">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_PHONE_NUMBER_MOBILE"
              value="http://schemas.google.com/g/2005#mobile">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_PHONE_NUMBER_OTHER"
              value="http://schemas.google.com/g/2005#other">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_PHONE_NUMBER_OTHER_FAX"
              value="http://schemas.google.com/g/2005#other_fax">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_PHONE_NUMBER_PAGER"
              value="http://schemas.google.com/g/2005#pager">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_PHONE_NUMBER_RADIO"
              value="http://schemas.google.com/g/2005#radio">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_PHONE_NUMBER_TELEX"
              value="http://schemas.google.com/g/2005#telex">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_PHONE_NUMBER_TTY_TDD"
              value="http://schemas.google.com/g/2005#tty_tdd">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_PHONE_NUMBER_WORK"
              value="http://schemas.google.com/g/2005#work">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_PHONE_NUMBER_WORK_FAX"
              value="http://schemas.google.com/g/2005#work_fax">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_PHONE_NUMBER_WORK_MOBILE"
              value="http://schemas.google.com/g/2005#work_mobile">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_PHONE_NUMBER_WORK_PAGER"
              value="http://schemas.google.com/g/2005#work_pager">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_POSTAL_ADDRESS_HOME"
              value="http://schemas.google.com/g/2005#home">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_POSTAL_ADDRESS_OTHER"
              value="http://schemas.google.com/g/2005#other">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_POSTAL_ADDRESS_WORK"
              value="http://schemas.google.com/g/2005#work">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_REMINDER_ALERT" value="alert">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_REMINDER_EMAIL" value="email">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_REMINDER_SMS" value="sms">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_WHERE_EVENT"
              value="http://schemas.google.com/g/2005#event">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_WHERE_EVENT_ALTERNATE"
              value="http://schemas.google.com/g/2005#event.alternate">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_WHERE_EVENT_PARKING"
              value="http://schemas.google.com/g/2005#event.parking">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_WHO_EVENT_ATTENDEE"
              value="http://schemas.google.com/g/2005#event.attendee">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_WHO_EVENT_ORGANIZER"
              value="http://schemas.google.com/g/2005#event.organizer">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_WHO_EVENT_PERFORMER"
              value="http://schemas.google.com/g/2005#event.performer">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GD_WHO_EVENT_SPEAKER"
              value="http://schemas.google.com/g/2005#event.speaker">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <class name="Generator"
           c:symbol-prefix="generator"
           c:type="GDataGenerator"
           parent="Parsable"
           glib:type-name="GDataGenerator"
           glib:get-type="gdata_generator_get_type"
           glib:type-struct="GeneratorClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataGenerator structure are private and should never be accessed directly.</doc>
      <implements name="Comparable"/>
      <method name="get_name"
              c:identifier="gdata_generator_get_name"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataGenerator:name property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the generator's name</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_uri"
              c:identifier="gdata_generator_get_uri"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataGenerator:uri property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the generator's URI, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_version"
              c:identifier="gdata_generator_get_version"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataGenerator:version property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the generator's version, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <property name="name" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="uri" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="version" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <field name="parent">
        <type name="Parsable" c:type="GDataParsable"/>
      </field>
      <field name="priv">
        <type name="GeneratorPrivate" c:type="GDataGeneratorPrivate*"/>
      </field>
    </class>
    <record name="GeneratorClass"
            c:type="GDataGeneratorClass"
            glib:is-gtype-struct-for="Generator"
            version="0.4.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataGeneratorClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="ParsableClass" c:type="GDataParsableClass"/>
      </field>
    </record>
    <record name="GeneratorPrivate"
            c:type="GDataGeneratorPrivate"
            disguised="1">
    </record>
    <constant name="LINK_ACCESS_CONTROL_LIST"
              value="http://schemas.google.com/acl/2007#accessControlList">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="LINK_ALTERNATE"
              value="http://www.iana.org/assignments/relation/alternate">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="LINK_BATCH" value="http://schemas.google.com/g/2005#batch">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="LINK_EDIT"
              value="http://www.iana.org/assignments/relation/edit">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="LINK_EDIT_MEDIA"
              value="http://www.iana.org/assignments/relation/edit-media">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="LINK_ENCLOSURE"
              value="http://www.iana.org/assignments/relation/enclosure">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="LINK_RELATED"
              value="http://www.iana.org/assignments/relation/related">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="LINK_SELF"
              value="http://www.iana.org/assignments/relation/self">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="LINK_VIA"
              value="http://www.iana.org/assignments/relation/via">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <class name="Link"
           c:symbol-prefix="link"
           c:type="GDataLink"
           parent="Parsable"
           glib:type-name="GDataLink"
           glib:get-type="gdata_link_get_type"
           glib:type-struct="LinkClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataLink structure are private and should never be accessed directly.</doc>
      <implements name="Comparable"/>
      <constructor name="new" c:identifier="gdata_link_new">
        <doc xml:whitespace="preserve">Creates a new #GDataLink. More information is available in the &lt;ulink type="http"
url="http://www.atomenabled.org/developers/syndication/atom-format-spec.php#element.link"&gt;Atom specification&lt;/ulink&gt;.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GDataLink, or %NULL; unref with g_object_unref()</doc>
          <type name="Link" c:type="GDataLink*"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:whitespace="preserve">the link's IRI</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="relation_type"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the relationship of the link to the current document, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_content_type"
              c:identifier="gdata_link_get_content_type"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataLink:content-type property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the link's content type, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_language"
              c:identifier="gdata_link_get_language"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataLink:language property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the link's language, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_length"
              c:identifier="gdata_link_get_length"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataLink:length property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the link's length, or &lt;code class="literal"&gt;-1&lt;/code&gt;</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <method name="get_relation_type"
              c:identifier="gdata_link_get_relation_type"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataLink:relation-type property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the link's relation type</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_title"
              c:identifier="gdata_link_get_title"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataLink:title property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the link's title, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_uri" c:identifier="gdata_link_get_uri" version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataLink:uri property. The return value is guaranteed to be a valid IRI, as
specified by the Atom protocol. Common relationship values such as &lt;literal&gt;alternate&lt;/literal&gt;
are returned as &lt;literal&gt;http://www.iana.org/assignments/relation/alternate&lt;/literal&gt;.
For more information, see the &lt;ulink type="http" uri="http://www.atomenabled.org/developers/syndication/atom-format-spec.php#rel_attribute"&gt;
Atom specification&lt;/ulink&gt;.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the link's URI</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="set_content_type"
              c:identifier="gdata_link_set_content_type"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataLink:content-type property to @content_type.
Set @content_type to %NULL to unset the property in the link.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="content_type"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the new content type for the link, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_language"
              c:identifier="gdata_link_set_language"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataLink:language property to @language.
Set @language to %NULL to unset the property in the link.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="language" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new language for the link, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_length"
              c:identifier="gdata_link_set_length"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataLink:length property to @length.
Set @length to &lt;code class="literal"&gt;-1&lt;/code&gt; to unset the property in the link.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="length" transfer-ownership="none">
            <doc xml:whitespace="preserve">the new length for the link, or &lt;code class="literal"&gt;-1&lt;/code&gt;</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_relation_type"
              c:identifier="gdata_link_set_relation_type"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataLink:relation-type property to @relation_type. If @relation_type is one of the standard Atom relation types,
use one of the defined relation type values, instead of a static string. e.g. %GDATA_LINK_EDIT or %GDATA_LINK_SELF.
Set @relation_type to %NULL to unset the property in the link.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="relation_type"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the new relation type for the link, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_title"
              c:identifier="gdata_link_set_title"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataLink:title property to @title.
Set @title to %NULL to unset the property in the link.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="title" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new title for the link, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_uri" c:identifier="gdata_link_set_uri" version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataLink:uri property to @uri.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:whitespace="preserve">the new URI for the link</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="content-type" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="language" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="length" writable="1" transfer-ownership="none">
        <type name="gint"/>
      </property>
      <property name="relation-type" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="title" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="uri" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <field name="parent">
        <type name="Parsable" c:type="GDataParsable"/>
      </field>
      <field name="priv">
        <type name="LinkPrivate" c:type="GDataLinkPrivate*"/>
      </field>
    </class>
    <record name="LinkClass"
            c:type="GDataLinkClass"
            glib:is-gtype-struct-for="Link"
            version="0.4.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataLinkClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="ParsableClass" c:type="GDataParsableClass"/>
      </field>
    </record>
    <record name="LinkPrivate" c:type="GDataLinkPrivate" disguised="1">
    </record>
    <class name="MediaCategory"
           c:symbol-prefix="media_category"
           c:type="GDataMediaCategory"
           parent="Parsable"
           glib:type-name="GDataMediaCategory"
           glib:get-type="gdata_media_category_get_type"
           glib:type-struct="MediaCategoryClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataMediaCategory structure are private and should never be accessed directly.</doc>
      <constructor name="new" c:identifier="gdata_media_category_new">
        <doc xml:whitespace="preserve">Creates a new #GDataMediaCategory. More information is available in the &lt;ulink type="http"
url="http://search.yahoo.com/mrss/"&gt;Media RSS specification&lt;/ulink&gt;.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GDataMediaCategory, or %NULL; unref with g_object_unref()</doc>
          <type name="MediaCategory" c:type="GDataMediaCategory*"/>
        </return-value>
        <parameters>
          <parameter name="category" transfer-ownership="none">
            <doc xml:whitespace="preserve">a category describing the content</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="scheme" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a URI identifying the categorisation scheme, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="label" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a human-readable name for the category, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_category"
              c:identifier="gdata_media_category_get_category"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataMediaCategory:category property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the actual category</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_label"
              c:identifier="gdata_media_category_get_label"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataMediaCategory:label property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the category's label, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_scheme"
              c:identifier="gdata_media_category_get_scheme"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataMediaCategory:scheme property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the category's scheme, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="set_category"
              c:identifier="gdata_media_category_set_category"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataMediaCategory:category property to @category.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="category" transfer-ownership="none">
            <doc xml:whitespace="preserve">the new category</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_label"
              c:identifier="gdata_media_category_set_label"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataMediaCategory:label property to @label.
Set @label to %NULL to unset the property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="label" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the category's new label, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_scheme"
              c:identifier="gdata_media_category_set_scheme"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataMediaCategory:scheme property to @scheme.
Set @scheme to %NULL to unset the property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="scheme" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the category's new scheme, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="category" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="label" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="scheme" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <field name="parent">
        <type name="Parsable" c:type="GDataParsable"/>
      </field>
      <field name="priv">
        <type name="MediaCategoryPrivate" c:type="GDataMediaCategoryPrivate*"/>
      </field>
    </class>
    <record name="MediaCategoryClass"
            c:type="GDataMediaCategoryClass"
            glib:is-gtype-struct-for="MediaCategory"
            version="0.4.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataMediaCategoryClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="ParsableClass" c:type="GDataParsableClass"/>
      </field>
    </record>
    <record name="MediaCategoryPrivate"
            c:type="GDataMediaCategoryPrivate"
            disguised="1">
    </record>
    <class name="MediaContent"
           c:symbol-prefix="media_content"
           c:type="GDataMediaContent"
           parent="Parsable"
           glib:type-name="GDataMediaContent"
           glib:get-type="gdata_media_content_get_type"
           glib:type-struct="MediaContentClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataMediaContent structure are private and should never be accessed directly.</doc>
      <method name="download"
              c:identifier="gdata_media_content_download"
              version="0.8.0"
              throws="1">
        <doc xml:whitespace="preserve">Downloads and returns a #GDataDownloadStream allowing the content represented by @self to be read.
To get the content type of the downloaded data, gdata_download_stream_get_content_type() can be called on the returned #GDataDownloadStream.
Calling gdata_download_stream_get_content_length() on the stream will not return a meaningful result, however, as the stream is encoded in chunks,
rather than by content length.
In order to cancel the download, a #GCancellable passed in to @cancellable must be cancelled using g_cancellable_cancel(). Cancelling the individual
#GInputStream operations on the #GDataDownloadStream will not cancel the entire download; merely the read or close operation in question. See the
#GDataDownloadStream:cancellable for more details.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a #GDataDownloadStream to download the content with, or %NULL; unref with g_object_unref()</doc>
          <type name="DownloadStream" c:type="GDataDownloadStream*"/>
        </return-value>
        <parameters>
          <parameter name="service" transfer-ownership="none">
            <doc xml:whitespace="preserve">the #GDataService</doc>
            <type name="Service" c:type="GDataService*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">a #GCancellable for the entire download stream, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_content_type"
              c:identifier="gdata_media_content_get_content_type"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataMediaContent:content-type property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the content's content (MIME) type, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_duration"
              c:identifier="gdata_media_content_get_duration"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataMediaContent:duration property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the content's duration in seconds, or &lt;code class="literal"&gt;0&lt;/code&gt;</doc>
          <type name="gint64" c:type="gint64"/>
        </return-value>
      </method>
      <method name="get_expression"
              c:identifier="gdata_media_content_get_expression"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataMediaContent:expression property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the content's expression, or %GDATA_MEDIA_EXPRESSION_FULL</doc>
          <type name="MediaExpression" c:type="GDataMediaExpression"/>
        </return-value>
      </method>
      <method name="get_filesize"
              c:identifier="gdata_media_content_get_filesize"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataMediaContent:filesize property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the number of bytes in the content, or &lt;code class="literal"&gt;0&lt;/code&gt;</doc>
          <type name="gsize" c:type="gsize"/>
        </return-value>
      </method>
      <method name="get_height"
              c:identifier="gdata_media_content_get_height"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataMediaContent:height property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the content's height in pixels, or &lt;code class="literal"&gt;0&lt;/code&gt;</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
      </method>
      <method name="get_medium"
              c:identifier="gdata_media_content_get_medium"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataMediaContent:medium property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the type of the content, or %GDATA_MEDIA_UNKNOWN</doc>
          <type name="MediaMedium" c:type="GDataMediaMedium"/>
        </return-value>
      </method>
      <method name="get_uri"
              c:identifier="gdata_media_content_get_uri"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataMediaContent:uri property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the content's URI</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_width"
              c:identifier="gdata_media_content_get_width"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataMediaContent:width property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the content's width in pixels, or &lt;code class="literal"&gt;0&lt;/code&gt;</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
      </method>
      <method name="is_default"
              c:identifier="gdata_media_content_is_default"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataMediaContent:is-default property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the #GDataMediaContent is the default content for the media group, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <property name="content-type" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="duration" transfer-ownership="none">
        <type name="gint64"/>
      </property>
      <property name="expression" transfer-ownership="none">
        <type name="MediaExpression"/>
      </property>
      <property name="filesize" transfer-ownership="none">
        <type name="gulong"/>
      </property>
      <property name="height" transfer-ownership="none">
        <type name="guint"/>
      </property>
      <property name="is-default" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="medium" transfer-ownership="none">
        <type name="MediaMedium"/>
      </property>
      <property name="uri" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="width" transfer-ownership="none">
        <type name="guint"/>
      </property>
      <field name="parent">
        <type name="Parsable" c:type="GDataParsable"/>
      </field>
      <field name="priv">
        <type name="MediaContentPrivate" c:type="GDataMediaContentPrivate*"/>
      </field>
    </class>
    <record name="MediaContentClass"
            c:type="GDataMediaContentClass"
            glib:is-gtype-struct-for="MediaContent"
            version="0.4.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataMediaContentClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="ParsableClass" c:type="GDataParsableClass"/>
      </field>
    </record>
    <record name="MediaContentPrivate"
            c:type="GDataMediaContentPrivate"
            disguised="1">
    </record>
    <class name="MediaCredit"
           c:symbol-prefix="media_credit"
           c:type="GDataMediaCredit"
           parent="Parsable"
           glib:type-name="GDataMediaCredit"
           glib:get-type="gdata_media_credit_get_type"
           glib:type-struct="MediaCreditClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataMediaCredit structure are private and should never be accessed directly.</doc>
      <method name="get_credit"
              c:identifier="gdata_media_credit_get_credit"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataMediaCredit:credit property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the name of the credited entity</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_role"
              c:identifier="gdata_media_credit_get_role"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataMediaCredit:role property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the credited entity's role, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_scheme"
              c:identifier="gdata_media_credit_get_scheme"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataMediaCredit:scheme property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the credit's role scheme, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <property name="credit" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="role" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="scheme" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <field name="parent">
        <type name="Parsable" c:type="GDataParsable"/>
      </field>
      <field name="priv">
        <type name="MediaCreditPrivate" c:type="GDataMediaCreditPrivate*"/>
      </field>
    </class>
    <record name="MediaCreditClass"
            c:type="GDataMediaCreditClass"
            glib:is-gtype-struct-for="MediaCredit"
            version="0.4.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataMediaCreditClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="ParsableClass" c:type="GDataParsableClass"/>
      </field>
    </record>
    <record name="MediaCreditPrivate"
            c:type="GDataMediaCreditPrivate"
            disguised="1">
    </record>
    <enumeration name="MediaExpression"
                 glib:type-name="GDataMediaExpression"
                 glib:get-type="gdata_media_expression_get_type"
                 c:type="GDataMediaExpression">
      <doc xml:whitespace="preserve">An enum representing the possible values of #GDataMediaContent:expression.</doc>
      <member name="sample"
              value="0"
              c:identifier="GDATA_MEDIA_EXPRESSION_SAMPLE"
              glib:nick="sample"/>
      <member name="full"
              value="1"
              c:identifier="GDATA_MEDIA_EXPRESSION_FULL"
              glib:nick="full"/>
      <member name="nonstop"
              value="2"
              c:identifier="GDATA_MEDIA_EXPRESSION_NONSTOP"
              glib:nick="nonstop"/>
    </enumeration>
    <enumeration name="MediaMedium"
                 version="0.4.0"
                 glib:type-name="GDataMediaMedium"
                 glib:get-type="gdata_media_medium_get_type"
                 c:type="GDataMediaMedium">
      <doc xml:whitespace="preserve">An enum representing the possible values of #GDataMediaContent:medium.</doc>
      <member name="unknown"
              value="0"
              c:identifier="GDATA_MEDIA_UNKNOWN"
              glib:nick="unknown"/>
      <member name="image"
              value="1"
              c:identifier="GDATA_MEDIA_IMAGE"
              glib:nick="image"/>
      <member name="audio"
              value="2"
              c:identifier="GDATA_MEDIA_AUDIO"
              glib:nick="audio"/>
      <member name="video"
              value="3"
              c:identifier="GDATA_MEDIA_VIDEO"
              glib:nick="video"/>
      <member name="document"
              value="4"
              c:identifier="GDATA_MEDIA_DOCUMENT"
              glib:nick="document"/>
      <member name="executable"
              value="5"
              c:identifier="GDATA_MEDIA_EXECUTABLE"
              glib:nick="executable"/>
    </enumeration>
    <class name="MediaThumbnail"
           c:symbol-prefix="media_thumbnail"
           c:type="GDataMediaThumbnail"
           parent="Parsable"
           glib:type-name="GDataMediaThumbnail"
           glib:get-type="gdata_media_thumbnail_get_type"
           glib:type-struct="MediaThumbnailClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataMediaThumbnail structure are private and should never be accessed directly.</doc>
      <method name="download"
              c:identifier="gdata_media_thumbnail_download"
              version="0.8.0"
              throws="1">
        <doc xml:whitespace="preserve">Downloads and returns a #GDataDownloadStream allowing the thumbnail data represented by @self to be read.
To get the content type of the downloaded data, gdata_download_stream_get_content_type() can be called on the returned #GDataDownloadStream.
Calling gdata_download_stream_get_content_length() on the stream will not return a meaningful result, however, as the stream is encoded in chunks,
rather than by content length.
In order to cancel the download, a #GCancellable passed in to @cancellable must be cancelled using g_cancellable_cancel(). Cancelling the individual
#GInputStream operations on the #GDataDownloadStream will not cancel the entire download; merely the read or close operation in question. See the
#GDataDownloadStream:cancellable for more details.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a #GDataDownloadStream to download the thumbnail with, or %NULL; unref with g_object_unref()</doc>
          <type name="DownloadStream" c:type="GDataDownloadStream*"/>
        </return-value>
        <parameters>
          <parameter name="service" transfer-ownership="none">
            <doc xml:whitespace="preserve">the #GDataService</doc>
            <type name="Service" c:type="GDataService*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">a #GCancellable for the entire download stream, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_height"
              c:identifier="gdata_media_thumbnail_get_height"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataMediaThumbnail:height property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the thumbnail's height in pixels, or &lt;code class="literal"&gt;0&lt;/code&gt;</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
      </method>
      <method name="get_time"
              c:identifier="gdata_media_thumbnail_get_time"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataMediaThumbnail:time property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the thumbnail's time offset in the media, or &lt;code class="literal"&gt;-1&lt;/code&gt;</doc>
          <type name="gint64" c:type="gint64"/>
        </return-value>
      </method>
      <method name="get_uri"
              c:identifier="gdata_media_thumbnail_get_uri"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataMediaThumbnail:uri property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the thumbnail's URI</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_width"
              c:identifier="gdata_media_thumbnail_get_width"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataMediaThumbnail:width property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the thumbnail's width in pixels, or &lt;code class="literal"&gt;0&lt;/code&gt;</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
      </method>
      <property name="height" transfer-ownership="none">
        <type name="guint"/>
      </property>
      <property name="time" transfer-ownership="none">
        <type name="gint64"/>
      </property>
      <property name="uri" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="width" transfer-ownership="none">
        <type name="guint"/>
      </property>
      <field name="parent">
        <type name="Parsable" c:type="GDataParsable"/>
      </field>
      <field name="priv">
        <type name="MediaThumbnailPrivate"
              c:type="GDataMediaThumbnailPrivate*"/>
      </field>
    </class>
    <record name="MediaThumbnailClass"
            c:type="GDataMediaThumbnailClass"
            glib:is-gtype-struct-for="MediaThumbnail"
            version="0.4.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataMediaThumbnailClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="ParsableClass" c:type="GDataParsableClass"/>
      </field>
    </record>
    <record name="MediaThumbnailPrivate"
            c:type="GDataMediaThumbnailPrivate"
            disguised="1">
    </record>
    <enumeration name="OperationType"
                 version="0.6.0"
                 glib:type-name="GDataOperationType"
                 glib:get-type="gdata_operation_type_get_type"
                 c:type="GDataOperationType">
      <doc xml:whitespace="preserve">Representations of the different operations performed by the library.</doc>
      <member name="query"
              value="1"
              c:identifier="GDATA_OPERATION_QUERY"
              glib:nick="query"/>
      <member name="insertion"
              value="2"
              c:identifier="GDATA_OPERATION_INSERTION"
              glib:nick="insertion"/>
      <member name="update"
              value="3"
              c:identifier="GDATA_OPERATION_UPDATE"
              glib:nick="update"/>
      <member name="deletion"
              value="4"
              c:identifier="GDATA_OPERATION_DELETION"
              glib:nick="deletion"/>
      <member name="download"
              value="5"
              c:identifier="GDATA_OPERATION_DOWNLOAD"
              glib:nick="download"/>
      <member name="upload"
              value="6"
              c:identifier="GDATA_OPERATION_UPLOAD"
              glib:nick="upload"/>
      <member name="authentication"
              value="7"
              c:identifier="GDATA_OPERATION_AUTHENTICATION"
              glib:nick="authentication"/>
      <member name="batch"
              value="8"
              c:identifier="GDATA_OPERATION_BATCH"
              glib:nick="batch"/>
    </enumeration>
    <constant name="PICASAWEB_VIDEO_STATUS_FAILED" value="failed">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="PICASAWEB_VIDEO_STATUS_FINAL" value="final">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="PICASAWEB_VIDEO_STATUS_PENDING" value="pending">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="PICASAWEB_VIDEO_STATUS_READY" value="ready">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <class name="Parsable"
           c:symbol-prefix="parsable"
           c:type="GDataParsable"
           version="0.3.0"
           parent="GObject.Object"
           abstract="1"
           glib:type-name="GDataParsable"
           glib:get-type="gdata_parsable_get_type"
           glib:type-struct="ParsableClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataParsable structure are private and should never be accessed directly.</doc>
      <constructor name="new_from_xml"
                   c:identifier="gdata_parsable_new_from_xml"
                   version="0.4.0"
                   throws="1">
        <doc xml:whitespace="preserve">Creates a new #GDataParsable subclass (of the given @parsable_type) from the given @xml.
An object of the given @parsable_type is created, and its &lt;function&gt;pre_parse_xml&lt;/function&gt;, &lt;function&gt;parse_xml&lt;/function&gt; and
&lt;function&gt;post_parse_xml&lt;/function&gt; class functions called on the XML tree obtained from @xml. &lt;function&gt;pre_parse_xml&lt;/function&gt; and
&lt;function&gt;post_parse_xml&lt;/function&gt; are called once each on the root node of the tree, while &lt;function&gt;parse_xml&lt;/function&gt; is called for
each of the child nodes of the root node.
If @length is -1, @xml will be assumed to be null-terminated.
If an error occurs during parsing, a suitable error from #GDataParserError will be returned.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GDataParsable, or %NULL; unref with g_object_unref()</doc>
          <type name="Parsable" c:type="GDataParsable*"/>
        </return-value>
        <parameters>
          <parameter name="parsable_type" transfer-ownership="none">
            <doc xml:whitespace="preserve">the type of the class represented by the XML</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
          <parameter name="xml" transfer-ownership="none">
            <doc xml:whitespace="preserve">the XML for just the parsable object, with full namespace declarations</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="length" transfer-ownership="none">
            <doc xml:whitespace="preserve">the length of @xml, or -1</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="get_namespaces">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="namespaces" transfer-ownership="none">
            <type name="GLib.HashTable" c:type="GHashTable*">
              <type name="gpointer" c:type="gpointer"/>
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_xml">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="xml_string" transfer-ownership="none">
            <type name="GLib.String" c:type="GString*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="parse_xml" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="doc" transfer-ownership="none">
            <type name="libxml2.Doc" c:type="xmlDoc*"/>
          </parameter>
          <parameter name="node" transfer-ownership="none">
            <type name="libxml2.Node" c:type="xmlNode*"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none" closure="2">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="post_parse_xml" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="user_data" transfer-ownership="none" closure="0">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="pre_get_xml">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="xml_string" transfer-ownership="none">
            <type name="GLib.String" c:type="GString*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="pre_parse_xml" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="doc" transfer-ownership="none">
            <type name="libxml2.Doc" c:type="xmlDoc*"/>
          </parameter>
          <parameter name="root_node" transfer-ownership="none">
            <type name="libxml2.Node" c:type="xmlNode*"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none" closure="2">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="get_xml"
              c:identifier="gdata_parsable_get_xml"
              version="0.4.0">
        <doc xml:whitespace="preserve">Builds an XML representation of the #GDataParsable in its current state, such that it could be inserted on the server. The XML is guaranteed
to have all its namespaces declared properly in a self-contained fashion, and is valid for stand-alone use.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the object's XML; free with g_free()</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <property name="constructed-from-xml"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="ParsablePrivate" c:type="GDataParsablePrivate*"/>
      </field>
    </class>
    <record name="ParsableClass"
            c:type="GDataParsableClass"
            glib:is-gtype-struct-for="Parsable"
            version="0.3.0">
      <doc xml:whitespace="preserve">The class structure for the #GDataParsable class.</doc>
      <field name="parent">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="pre_parse_xml">
        <callback name="pre_parse_xml" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="parsable" transfer-ownership="none">
              <type name="Parsable" c:type="GDataParsable*"/>
            </parameter>
            <parameter name="doc" transfer-ownership="none">
              <type name="libxml2.Doc" c:type="xmlDoc*"/>
            </parameter>
            <parameter name="root_node" transfer-ownership="none">
              <type name="libxml2.Node" c:type="xmlNode*"/>
            </parameter>
            <parameter name="user_data" transfer-ownership="none" closure="3">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="parse_xml">
        <callback name="parse_xml" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="parsable" transfer-ownership="none">
              <type name="Parsable" c:type="GDataParsable*"/>
            </parameter>
            <parameter name="doc" transfer-ownership="none">
              <type name="libxml2.Doc" c:type="xmlDoc*"/>
            </parameter>
            <parameter name="node" transfer-ownership="none">
              <type name="libxml2.Node" c:type="xmlNode*"/>
            </parameter>
            <parameter name="user_data" transfer-ownership="none" closure="3">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="post_parse_xml">
        <callback name="post_parse_xml" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="parsable" transfer-ownership="none">
              <type name="Parsable" c:type="GDataParsable*"/>
            </parameter>
            <parameter name="user_data" transfer-ownership="none" closure="1">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="pre_get_xml">
        <callback name="pre_get_xml">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="parsable" transfer-ownership="none">
              <type name="Parsable" c:type="GDataParsable*"/>
            </parameter>
            <parameter name="xml_string" transfer-ownership="none">
              <type name="GLib.String" c:type="GString*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_xml">
        <callback name="get_xml">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="parsable" transfer-ownership="none">
              <type name="Parsable" c:type="GDataParsable*"/>
            </parameter>
            <parameter name="xml_string" transfer-ownership="none">
              <type name="GLib.String" c:type="GString*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_namespaces">
        <callback name="get_namespaces">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="parsable" transfer-ownership="none">
              <type name="Parsable" c:type="GDataParsable*"/>
            </parameter>
            <parameter name="namespaces" transfer-ownership="none">
              <type name="GLib.HashTable" c:type="GHashTable*">
                <type name="gpointer" c:type="gpointer"/>
                <type name="gpointer" c:type="gpointer"/>
              </type>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="element_name">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="element_namespace">
        <type name="utf8" c:type="gchar*"/>
      </field>
    </record>
    <record name="ParsablePrivate" c:type="GDataParsablePrivate" disguised="1">
    </record>
    <enumeration name="ParserError"
                 glib:type-name="GDataParserError"
                 glib:get-type="gdata_parser_error_get_type"
                 c:type="GDataParserError">
      <doc xml:whitespace="preserve">Error codes for XML parsing operations.</doc>
      <member name="parsing_string"
              value="1"
              c:identifier="GDATA_PARSER_ERROR_PARSING_STRING"
              glib:nick="parsing-string"/>
      <member name="empty_document"
              value="2"
              c:identifier="GDATA_PARSER_ERROR_EMPTY_DOCUMENT"
              glib:nick="empty-document"/>
    </enumeration>
    <class name="PicasaWebAlbum"
           c:symbol-prefix="picasaweb_album"
           c:type="GDataPicasaWebAlbum"
           version="0.4.0"
           parent="Entry"
           glib:type-name="GDataPicasaWebAlbum"
           glib:get-type="gdata_picasaweb_album_get_type"
           glib:type-struct="PicasaWebAlbumClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataPicasaWebAlbum structure are private and should never be accessed directly.</doc>
      <constructor name="new"
                   c:identifier="gdata_picasaweb_album_new"
                   version="0.4.0">
        <doc xml:whitespace="preserve">Creates a new #GDataPicasaWebAlbum with the given ID and default properties. @id is the ID which would be returned by gdata_entry_get_id(),
not gdata_picasaweb_album_get_id().
If @id is not %NULL and can't be parsed to extract an album ID, %NULL will be returned.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GDataPicasaWebAlbum, or %NULL; unref with g_object_unref()</doc>
          <type name="PicasaWebAlbum" c:type="GDataPicasaWebAlbum*"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the album's entry ID, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_bytes_used"
              c:identifier="gdata_picasaweb_album_get_bytes_used"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataPicasaWebAlbum:bytes-used property. It will return &lt;code class="literal"&gt;-1&lt;/code&gt; if the current authenticated
user is not the owner of the album.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the number of bytes used by the album and its contents, or &lt;code class="literal"&gt;-1&lt;/code&gt;</doc>
          <type name="glong" c:type="glong"/>
        </return-value>
      </method>
      <method name="get_comment_count"
              c:identifier="gdata_picasaweb_album_get_comment_count"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataPicasaWebAlbum:comment-count property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the number of comments on the album</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
      </method>
      <method name="get_contents"
              c:identifier="gdata_picasaweb_album_get_contents"
              version="0.4.0">
        <doc xml:whitespace="preserve">Returns a list of media content, such as the cover image for the album.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GList of #GDataMediaContent items</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="MediaContent"/>
          </type>
        </return-value>
      </method>
      <method name="get_coordinates"
              c:identifier="gdata_picasaweb_album_get_coordinates"
              version="0.5.0">
        <doc xml:whitespace="preserve">Gets the #GDataPicasaWebAlbum:latitude and #GDataPicasaWebAlbum:longitude properties,
setting the out parameters to them. If either latitude or longitude is %NULL, that parameter will not be set.
If the coordinates are unset, @latitude and @longitude will be set to %G_MAXDOUBLE.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="latitude"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">return location for the latitude, or %NULL</doc>
            <type name="gdouble" c:type="gdouble*"/>
          </parameter>
          <parameter name="longitude"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">return location for the longitude, or %NULL</doc>
            <type name="gdouble" c:type="gdouble*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_edited"
              c:identifier="gdata_picasaweb_album_get_edited"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataPicasaWebAlbum:edited property. If the property is unset, &lt;code class="literal"&gt;-1&lt;/code&gt; will be returned.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the UNIX timestamp for the time the album was last edited, or &lt;code class="literal"&gt;-1&lt;/code&gt;</doc>
          <type name="gint64" c:type="gint64"/>
        </return-value>
      </method>
      <method name="get_id"
              c:identifier="gdata_picasaweb_album_get_id"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets the #GDataPicasaWebAlbum:album-id property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the album's ID</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_location"
              c:identifier="gdata_picasaweb_album_get_location"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataPicasaWebAlbum:location property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the album's location, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_nickname"
              c:identifier="gdata_picasaweb_album_get_nickname"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataPicasaWebAlbum:nickname property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the album owner's nickname</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_num_photos"
              c:identifier="gdata_picasaweb_album_get_num_photos"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataPicasaWebAlbum:num-photos property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the number of photos currently in the album</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
      </method>
      <method name="get_num_photos_remaining"
              c:identifier="gdata_picasaweb_album_get_num_photos_remaining"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataPicasaWebAlbum:num-photos-remaining property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the number of photos that can still be uploaded to the album</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
      </method>
      <method name="get_tags"
              c:identifier="gdata_picasaweb_album_get_tags"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataPicasaWebAlbum:tags property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a %NULL-terminated array of tags associated with all the photos in the album, or %NULL</doc>
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
      </method>
      <method name="get_thumbnails"
              c:identifier="gdata_picasaweb_album_get_thumbnails"
              version="0.4.0">
        <doc xml:whitespace="preserve">Returns a list of thumbnails, often at different sizes, for this album.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GList of #GDataMediaThumbnail&lt;!-- --&gt;s, or %NULL</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="MediaThumbnail"/>
          </type>
        </return-value>
      </method>
      <method name="get_timestamp"
              c:identifier="gdata_picasaweb_album_get_timestamp"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataPicasaWebAlbum:timestamp property. This value usually holds either the date that best corresponds to the album of photos, or to the
day it was uploaded. It's a UNIX timestamp in milliseconds (not seconds) since the epoch. If the property is unset, &lt;code class="literal"&gt;-1&lt;/code&gt;
will be returned.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the UNIX timestamp for the timestamp property in milliseconds, or &lt;code class="literal"&gt;-1&lt;/code&gt;</doc>
          <type name="gint64" c:type="gint64"/>
        </return-value>
      </method>
      <method name="get_user"
              c:identifier="gdata_picasaweb_album_get_user"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataPicasaWebAlbum:user property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the album owner's username</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_visibility"
              c:identifier="gdata_picasaweb_album_get_visibility"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataPicasaWebAlbum:visibility property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the album's visibility level</doc>
          <type name="PicasaWebVisibility" c:type="GDataPicasaWebVisibility"/>
        </return-value>
      </method>
      <method name="is_commenting_enabled"
              c:identifier="gdata_picasaweb_album_is_commenting_enabled"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataPicasaWebAlbum:is-commenting-enabled property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if commenting is enabled for the album, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="set_coordinates"
              c:identifier="gdata_picasaweb_album_set_coordinates"
              version="0.5.0">
        <doc xml:whitespace="preserve">Sets the #GDataPicasaWebAlbum:latitude and #GDataPicasaWebAlbum:longitude properties to</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="latitude" transfer-ownership="none">
            <doc xml:whitespace="preserve">the album's new latitude coordinate, or %G_MAXDOUBLE</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="longitude" transfer-ownership="none">
            <doc xml:whitespace="preserve">the album's new longitude coordinate, or %G_MAXDOUBLE</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_is_commenting_enabled"
              c:identifier="gdata_picasaweb_album_set_is_commenting_enabled"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataPicasaWebAlbum:is-commenting-enabled property to @is_commenting_enabled.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="is_commenting_enabled" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE if commenting should be enabled for the album, %FALSE otherwise</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_location"
              c:identifier="gdata_picasaweb_album_set_location"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataPicasaWebAlbum:location property to @location.
Set @location to %NULL to unset the property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="location" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new album location, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_tags"
              c:identifier="gdata_picasaweb_album_set_tags"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataPicasaWebAlbum:tags property to @tags.
Set @tags to %NULL to unset the album's tag list.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="tags" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new %NULL-terminated array of tags, or %NULL</doc>
            <array c:type="gchar**">
              <type name="utf8" c:type="gchar*"/>
            </array>
          </parameter>
        </parameters>
      </method>
      <method name="set_timestamp"
              c:identifier="gdata_picasaweb_album_set_timestamp"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataPicasaWebAlbum:timestamp property from @timestamp. This should be a UNIX timestamp in milliseconds (not seconds) since the epoch.
Set @timestamp to &lt;code class="literal"&gt;-1&lt;/code&gt; to unset the property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="timestamp" transfer-ownership="none">
            <doc xml:whitespace="preserve">a UNIX timestamp, or &lt;code class="literal"&gt;-1&lt;/code&gt;</doc>
            <type name="gint64" c:type="gint64"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_visibility"
              c:identifier="gdata_picasaweb_album_set_visibility"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataPicasaWebAlbum:visibility property to @visibility.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="visibility" transfer-ownership="none">
            <doc xml:whitespace="preserve">the new album visibility level</doc>
            <type name="PicasaWebVisibility"
                  c:type="GDataPicasaWebVisibility"/>
          </parameter>
        </parameters>
      </method>
      <property name="album-id"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="bytes-used" transfer-ownership="none">
        <type name="glong"/>
      </property>
      <property name="comment-count" transfer-ownership="none">
        <type name="guint"/>
      </property>
      <property name="edited" transfer-ownership="none">
        <type name="gint64"/>
      </property>
      <property name="is-commenting-enabled"
                writable="1"
                transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="latitude" writable="1" transfer-ownership="none">
        <type name="gdouble"/>
      </property>
      <property name="location" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="longitude" writable="1" transfer-ownership="none">
        <type name="gdouble"/>
      </property>
      <property name="nickname" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="num-photos" transfer-ownership="none">
        <type name="guint"/>
      </property>
      <property name="num-photos-remaining" transfer-ownership="none">
        <type name="guint"/>
      </property>
      <property name="tags" writable="1" transfer-ownership="none">
        <array>
          <type name="utf8"/>
        </array>
      </property>
      <property name="timestamp" writable="1" transfer-ownership="none">
        <type name="gint64"/>
      </property>
      <property name="user" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="visibility" writable="1" transfer-ownership="none">
        <type name="PicasaWebVisibility"/>
      </property>
      <field name="parent">
        <type name="Entry" c:type="GDataEntry"/>
      </field>
      <field name="priv">
        <type name="PicasaWebAlbumPrivate"
              c:type="GDataPicasaWebAlbumPrivate*"/>
      </field>
    </class>
    <record name="PicasaWebAlbumClass"
            c:type="GDataPicasaWebAlbumClass"
            glib:is-gtype-struct-for="PicasaWebAlbum"
            version="0.4.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataPicasaWebAlbumClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="EntryClass" c:type="GDataEntryClass"/>
      </field>
    </record>
    <record name="PicasaWebAlbumPrivate"
            c:type="GDataPicasaWebAlbumPrivate"
            disguised="1">
    </record>
    <class name="PicasaWebFeed"
           c:symbol-prefix="picasaweb_feed"
           c:type="GDataPicasaWebFeed"
           version="0.6.0"
           parent="Feed"
           glib:type-name="GDataPicasaWebFeed"
           glib:get-type="gdata_picasaweb_feed_get_type"
           glib:type-struct="PicasaWebFeedClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataPicasaWebFeed structure are private and should never be accessed directly.</doc>
      <field name="parent">
        <type name="Feed" c:type="GDataFeed"/>
      </field>
      <field name="padding1" readable="0" private="1">
        <type name="gpointer" c:type="gpointer"/>
      </field>
    </class>
    <record name="PicasaWebFeedClass"
            c:type="GDataPicasaWebFeedClass"
            glib:is-gtype-struct-for="PicasaWebFeed"
            version="0.6.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataPicasaWebFeedClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="FeedClass" c:type="GDataFeedClass"/>
      </field>
    </record>
    <class name="PicasaWebFile"
           c:symbol-prefix="picasaweb_file"
           c:type="GDataPicasaWebFile"
           version="0.4.0"
           parent="Entry"
           glib:type-name="GDataPicasaWebFile"
           glib:get-type="gdata_picasaweb_file_get_type"
           glib:type-struct="PicasaWebFileClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataPicasaWebFile structure are private and should never be accessed directly.</doc>
      <constructor name="new"
                   c:identifier="gdata_picasaweb_file_new"
                   version="0.4.0">
        <doc xml:whitespace="preserve">Creates a new #GDataPicasaWebFile with the given ID and default properties.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GDataPicasaWebFile; unref with g_object_unref()</doc>
          <type name="PicasaWebFile" c:type="GDataPicasaWebFile*"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the file's ID, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_album_id"
              c:identifier="gdata_picasaweb_file_get_album_id"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataPicasaWebFile:album-id property. This is in the same form as returned by gdata_picasaweb_album_get_id().</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the ID of the album containing the #GDataPicasaWebFile</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_caption"
              c:identifier="gdata_picasaweb_file_get_caption"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataPicasaWebFile:caption property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the file's descriptive caption, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_checksum"
              c:identifier="gdata_picasaweb_file_get_checksum"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataPicasaWebFile:checksum property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the checksum assigned to this file, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_comment_count"
              c:identifier="gdata_picasaweb_file_get_comment_count"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataPicasaWebFile:comment-count property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the number of comments on the file</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
      </method>
      <method name="get_contents"
              c:identifier="gdata_picasaweb_file_get_contents"
              version="0.4.0">
        <doc xml:whitespace="preserve">Returns a list of media content, e.g. the actual photo or video.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GList of #GDataMediaContent items</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="MediaContent"/>
          </type>
        </return-value>
      </method>
      <method name="get_coordinates"
              c:identifier="gdata_picasaweb_file_get_coordinates"
              version="0.5.0">
        <doc xml:whitespace="preserve">Gets the #GDataPicasaWebFile:latitude and #GDataPicasaWebFile:longitude properties, setting the out parameters to them.
If either latitude or longitude is %NULL, that parameter will not be set. If the coordinates are unset,</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="latitude"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">return location for the latitude, or %NULL</doc>
            <type name="gdouble" c:type="gdouble*"/>
          </parameter>
          <parameter name="longitude"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">return location for the longitude, or %NULL</doc>
            <type name="gdouble" c:type="gdouble*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_credit"
              c:identifier="gdata_picasaweb_file_get_credit"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataPicasaWebFile:credit property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the nickname of the user credited with this file</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_distance"
              c:identifier="gdata_picasaweb_file_get_distance"
              version="0.5.0">
        <doc xml:whitespace="preserve">Gets the #GDataPicasaWebFile:distance property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the distance recorded in the photo's EXIF, or &lt;code class="literal"&gt;-1&lt;/code&gt; if unknown</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
      </method>
      <method name="get_edited"
              c:identifier="gdata_picasaweb_file_get_edited"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataPicasaWebFile:edited property. If the property is unset, &lt;code class="literal"&gt;-1&lt;/code&gt; will be returned.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the UNIX timestamp for the time the file was last edited, or &lt;code class="literal"&gt;-1&lt;/code&gt;</doc>
          <type name="gint64" c:type="gint64"/>
        </return-value>
      </method>
      <method name="get_exposure"
              c:identifier="gdata_picasaweb_file_get_exposure"
              version="0.5.0">
        <doc xml:whitespace="preserve">Gets the #GDataPicasaWebFile:exposure property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the exposure value, or &lt;code class="literal"&gt;0&lt;/code&gt; if unknown</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
      </method>
      <method name="get_flash"
              c:identifier="gdata_picasaweb_file_get_flash"
              version="0.5.0">
        <doc xml:whitespace="preserve">Gets the #GDataPicasaWebFile:flash property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if flash was used, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_focal_length"
              c:identifier="gdata_picasaweb_file_get_focal_length"
              version="0.5.0">
        <doc xml:whitespace="preserve">Gets the #GDataPicasaWebFile:focal-length property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the focal-length value, or &lt;code class="literal"&gt;-1&lt;/code&gt; if unknown</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
      </method>
      <method name="get_fstop"
              c:identifier="gdata_picasaweb_file_get_fstop"
              version="0.5.0">
        <doc xml:whitespace="preserve">Gets the #GDataPicasaWebFile:fstop property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the F-stop value, or &lt;code class="literal"&gt;0&lt;/code&gt; if unknown</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
      </method>
      <method name="get_height"
              c:identifier="gdata_picasaweb_file_get_height"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataPicasaWebFile:height property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the height of the image or video, in pixels</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
      </method>
      <method name="get_id"
              c:identifier="gdata_picasaweb_file_get_id"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets the #GDataPicasaWebFile:file-id property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the file's ID</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_image_unique_id"
              c:identifier="gdata_picasaweb_file_get_image_unique_id"
              version="0.5.0">
        <doc xml:whitespace="preserve">Gets the #GDataPicasaWebFile:image-unique-id property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the photo's unique EXIF identifier, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_iso"
              c:identifier="gdata_picasaweb_file_get_iso"
              version="0.5.0">
        <doc xml:whitespace="preserve">Gets the #GDataPicasaWebFile:iso property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the ISO speed, or &lt;code class="literal"&gt;-1&lt;/code&gt; if unknown</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <method name="get_make"
              c:identifier="gdata_picasaweb_file_get_make"
              version="0.5.0">
        <doc xml:whitespace="preserve">Gets the #GDataPicasaWebFile:make property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the name of the manufacturer of the camera, or %NULL if unknown</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_model"
              c:identifier="gdata_picasaweb_file_get_model"
              version="0.5.0">
        <doc xml:whitespace="preserve">Gets the #GDataPicasaWebFile:model property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the model name of the camera, or %NULL if unknown</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_rotation"
              c:identifier="gdata_picasaweb_file_get_rotation"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataPicasaWebFile:rotation property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the image's rotation, in degrees</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
      </method>
      <method name="get_size"
              c:identifier="gdata_picasaweb_file_get_size"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataPicasaWebFile:size property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the size of the file, in bytes</doc>
          <type name="gsize" c:type="gsize"/>
        </return-value>
      </method>
      <method name="get_tags"
              c:identifier="gdata_picasaweb_file_get_tags"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataPicasaWebFile:tags property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a %NULL-terminated array of tags associated with the file, or %NULL</doc>
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
      </method>
      <method name="get_thumbnails"
              c:identifier="gdata_picasaweb_file_get_thumbnails"
              version="0.4.0">
        <doc xml:whitespace="preserve">Returns a list of thumbnails, often at different sizes, for this
file.  Currently, PicasaWeb usually returns three thumbnails, with
widths in pixels of 72, 144, and 288.  However, the thumbnail will
not be larger than the actual image, so thumbnails may be smaller
than the widths listed above.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GList of #GDataMediaThumbnail&lt;!-- --&gt;s, or %NULL</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="MediaThumbnail"/>
          </type>
        </return-value>
      </method>
      <method name="get_timestamp"
              c:identifier="gdata_picasaweb_file_get_timestamp"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataPicasaWebFile:timestamp property. It's a UNIX timestamp in milliseconds (not seconds) since the epoch. If the property is unset,
&lt;code class="literal"&gt;-1&lt;/code&gt; will be returned.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the UNIX timestamp for the timestamp property in milliseconds, or &lt;code class="literal"&gt;-1&lt;/code&gt;</doc>
          <type name="gint64" c:type="gint64"/>
        </return-value>
      </method>
      <method name="get_version"
              c:identifier="gdata_picasaweb_file_get_version"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataPicasaWebFile:version property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the file's version number, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_video_status"
              c:identifier="gdata_picasaweb_file_get_video_status"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataPicasaWebFile:video-status property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the status of this video ("pending", "ready", "final" or "failed"), or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_width"
              c:identifier="gdata_picasaweb_file_get_width"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataPicasaWebFile:width property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the width of the image or video, in pixels</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
      </method>
      <method name="is_commenting_enabled"
              c:identifier="gdata_picasaweb_file_is_commenting_enabled"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataPicasaWebFile:is-commenting-enabled property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if commenting is enabled, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="set_album_id"
              c:identifier="gdata_picasaweb_file_set_album_id"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataPicasaWebFile:album-id property, effectively moving the file to the album.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="album_id" transfer-ownership="none">
            <doc xml:whitespace="preserve">the ID of the new album for this file</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_caption"
              c:identifier="gdata_picasaweb_file_set_caption"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataPicasaWebFile:caption property to @caption.
Set @caption to %NULL to unset the file's caption.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="caption" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the file's new caption, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_checksum"
              c:identifier="gdata_picasaweb_file_set_checksum"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataPicasaWebFile:checksum property to @checksum.
Set @checksum to %NULL to unset the property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="checksum" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new checksum for this file, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_coordinates"
              c:identifier="gdata_picasaweb_file_set_coordinates"
              version="0.5.0">
        <doc xml:whitespace="preserve">Sets the #GDataPicasaWebFile:latitude and #GDataPicasaWebFile:longitude properties to</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="latitude" transfer-ownership="none">
            <doc xml:whitespace="preserve">the file's new latitude coordinate, or %G_MAXDOUBLE</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="longitude" transfer-ownership="none">
            <doc xml:whitespace="preserve">the file's new longitude coordinate, or %G_MAXDOUBLE</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_is_commenting_enabled"
              c:identifier="gdata_picasaweb_file_set_is_commenting_enabled"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataPicasaWebFile:is-commenting-enabled property to @is_commenting_enabled.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="is_commenting_enabled" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE if commenting should be enabled for the file, %FALSE otherwise</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_rotation"
              c:identifier="gdata_picasaweb_file_set_rotation"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataPicasaWebFile:rotation property to @rotation.
The rotation is absolute, rather than cumulative, through successive calls to gdata_picasaweb_file_set_rotation(),
so calling it with 90° then 20° will result in a final rotation of 20°.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="rotation" transfer-ownership="none">
            <doc xml:whitespace="preserve">the new rotation for the image, in degrees</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_tags"
              c:identifier="gdata_picasaweb_file_set_tags"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataPicasaWebFile:tags property to @tags.
Set @tags to %NULL to unset the property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="tags" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a new %NULL-terminated array of tags, or %NULL</doc>
            <array c:type="gchar**">
              <type name="utf8" c:type="gchar*"/>
            </array>
          </parameter>
        </parameters>
      </method>
      <method name="set_timestamp"
              c:identifier="gdata_picasaweb_file_set_timestamp"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataPicasaWebFile:timestamp property from @timestamp. This should be a UNIX timestamp in milliseconds (not seconds) since the epoch. If</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="timestamp" transfer-ownership="none">
            <doc xml:whitespace="preserve">a UNIX timestamp, or &lt;code class="literal"&gt;-1&lt;/code&gt;</doc>
            <type name="gint64" c:type="gint64"/>
          </parameter>
        </parameters>
      </method>
      <property name="album-id" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="caption" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="checksum" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="comment-count" transfer-ownership="none">
        <type name="guint"/>
      </property>
      <property name="credit" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="distance" transfer-ownership="none">
        <type name="gdouble"/>
      </property>
      <property name="edited" transfer-ownership="none">
        <type name="gint64"/>
      </property>
      <property name="exposure" transfer-ownership="none">
        <type name="gdouble"/>
      </property>
      <property name="file-id"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="flash" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="focal-length" transfer-ownership="none">
        <type name="gdouble"/>
      </property>
      <property name="fstop" transfer-ownership="none">
        <type name="gdouble"/>
      </property>
      <property name="height" transfer-ownership="none">
        <type name="guint"/>
      </property>
      <property name="image-unique-id" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="is-commenting-enabled"
                writable="1"
                transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="iso" transfer-ownership="none">
        <type name="glong"/>
      </property>
      <property name="latitude" writable="1" transfer-ownership="none">
        <type name="gdouble"/>
      </property>
      <property name="longitude" writable="1" transfer-ownership="none">
        <type name="gdouble"/>
      </property>
      <property name="make" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="model" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="rotation" writable="1" transfer-ownership="none">
        <type name="guint"/>
      </property>
      <property name="size" transfer-ownership="none">
        <type name="gulong"/>
      </property>
      <property name="tags" writable="1" transfer-ownership="none">
        <array>
          <type name="utf8"/>
        </array>
      </property>
      <property name="timestamp" writable="1" transfer-ownership="none">
        <type name="gint64"/>
      </property>
      <property name="version"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="video-status" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="width" transfer-ownership="none">
        <type name="guint"/>
      </property>
      <field name="parent">
        <type name="Entry" c:type="GDataEntry"/>
      </field>
      <field name="priv">
        <type name="PicasaWebFilePrivate" c:type="GDataPicasaWebFilePrivate*"/>
      </field>
    </class>
    <record name="PicasaWebFileClass"
            c:type="GDataPicasaWebFileClass"
            glib:is-gtype-struct-for="PicasaWebFile"
            version="0.4.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataPicasaWebFileClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="EntryClass" c:type="GDataEntryClass"/>
      </field>
    </record>
    <record name="PicasaWebFilePrivate"
            c:type="GDataPicasaWebFilePrivate"
            disguised="1">
    </record>
    <class name="PicasaWebQuery"
           c:symbol-prefix="picasaweb_query"
           c:type="GDataPicasaWebQuery"
           version="0.4.0"
           parent="Query"
           glib:type-name="GDataPicasaWebQuery"
           glib:get-type="gdata_picasaweb_query_get_type"
           glib:type-struct="PicasaWebQueryClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataPicasaWebQuery structure are private and should never be accessed directly.</doc>
      <constructor name="new"
                   c:identifier="gdata_picasaweb_query_new"
                   version="0.4.0">
        <doc xml:whitespace="preserve">Creates a new #GDataPicasaWebQuery with its #GDataQuery:q property set to @q.
Note that when querying for albums with gdata_picasaweb_service_query_all_albums(), the @q parameter cannot be used.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GDataPicasaWebQuery</doc>
          <type name="PicasaWebQuery" c:type="GDataPicasaWebQuery*"/>
        </return-value>
        <parameters>
          <parameter name="q" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a query string, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_with_limits"
                   c:identifier="gdata_picasaweb_query_new_with_limits"
                   version="0.6.0">
        <doc xml:whitespace="preserve">Creates a #GDataPicasaWebQuery with its #GDataQuery:q property set to @q, returning @max_results starting from the @start_index&lt;!-- --&gt;th result.
Note that when querying for albums with gdata_picasaweb_service_query_all_albums(), the @q parameter cannot be used.
This is useful for paging through results, but the result set between separate queries may change. So, if you use this to
request the next ten results after a previous query, it may include some of the previously returned results if their order changed, or
omit ones that would have otherwise been found in a earlier but larger query.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GDataPicasaWebQuery</doc>
          <type name="PicasaWebQuery" c:type="GDataPicasaWebQuery*"/>
        </return-value>
        <parameters>
          <parameter name="q" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a query string, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="start_index" transfer-ownership="none">
            <doc xml:whitespace="preserve">the index of the first result to include, or &lt;code class="literal"&gt;0&lt;/code&gt;</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="max_results" transfer-ownership="none">
            <doc xml:whitespace="preserve">the maximum number of results to include, or &lt;code class="literal"&gt;0&lt;/code&gt;</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_bounding_box"
              c:identifier="gdata_picasaweb_query_get_bounding_box"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the latitudes and longitudes of a bounding box, inside which all the results must lie.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="north"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">return location for the latitude of the top of the box, or %NULL</doc>
            <type name="gdouble" c:type="gdouble*"/>
          </parameter>
          <parameter name="east"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">return location for the longitude of the right of the box, or %NULL</doc>
            <type name="gdouble" c:type="gdouble*"/>
          </parameter>
          <parameter name="south"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">return location for the latitude of the south of the box, or %NULL</doc>
            <type name="gdouble" c:type="gdouble*"/>
          </parameter>
          <parameter name="west"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">return location for the longitude of the left of the box, or %NULL</doc>
            <type name="gdouble" c:type="gdouble*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_image_size"
              c:identifier="gdata_picasaweb_query_get_image_size"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataPicasaWebQuery:image-size property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the currently set desired image size for retrieval, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_location"
              c:identifier="gdata_picasaweb_query_get_location"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataPicasaWebQuery:location property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a location which returned objects must be near, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_tag"
              c:identifier="gdata_picasaweb_query_get_tag"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataPicasaWebQuery:tag property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a tag which retrieved objects must have, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_thumbnail_size"
              c:identifier="gdata_picasaweb_query_get_thumbnail_size"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataPicasaWebQuery:thumbnail-size property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a comma-separated list of thumbnail sizes to retrieve, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_visibility"
              c:identifier="gdata_picasaweb_query_get_visibility"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataPicasaWebQuery:visibility property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the visibility of the objects to retrieve, or &lt;code class="literal"&gt;0&lt;/code&gt; to retrieve all objects</doc>
          <type name="PicasaWebVisibility" c:type="GDataPicasaWebVisibility"/>
        </return-value>
      </method>
      <method name="set_bounding_box"
              c:identifier="gdata_picasaweb_query_set_bounding_box"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets a bounding box, inside which all the returned results must lie.
Set @north, @east, @south and @west to &lt;code class="literal"&gt;0&lt;/code&gt; to unset the property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="north" transfer-ownership="none">
            <doc xml:whitespace="preserve">latitude of the top of the box</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="east" transfer-ownership="none">
            <doc xml:whitespace="preserve">longitude of the right of the box</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="south" transfer-ownership="none">
            <doc xml:whitespace="preserve">latitude of the bottom of the box</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="west" transfer-ownership="none">
            <doc xml:whitespace="preserve">longitude of the left of the box</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_image_size"
              c:identifier="gdata_picasaweb_query_set_image_size"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataPicasaWebQuery:image-size property to @image_size.
Valid sizes are described in the
&lt;ulink type="http" url="http://code.google.com/apis/picasaweb/docs/2.0/reference.html#Parameters"&gt;online documentation&lt;/ulink&gt;.
Set @image_size to %NULL to unset the property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="image_size"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the desired size of the image to be retrieved, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_location"
              c:identifier="gdata_picasaweb_query_set_location"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataPicasaWebQuery:location property to @location.
Set @location to %NULL to unset the property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="location" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a location which returned objects must be near, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_tag"
              c:identifier="gdata_picasaweb_query_set_tag"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataPicasaWebQuery:tag property to @tag.
Set @tag to %NULL to unset the property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="tag" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a tag which retrieved objects must have, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_thumbnail_size"
              c:identifier="gdata_picasaweb_query_set_thumbnail_size"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataPicasaWebQuery:thumbnail-size property to @thumbnail_size.
Set @thumbnail_size to %NULL to unset the property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="thumbnail_size"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">a comma-separated list of thumbnail sizes to retrieve, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_visibility"
              c:identifier="gdata_picasaweb_query_set_visibility"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataPicasaWebQuery:visibility property to @visibility.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="visibility" transfer-ownership="none">
            <doc xml:whitespace="preserve">the visibility of the objects to retrieve, or &lt;code class="literal"&gt;0&lt;/code&gt; to retrieve all objects</doc>
            <type name="PicasaWebVisibility"
                  c:type="GDataPicasaWebVisibility"/>
          </parameter>
        </parameters>
      </method>
      <property name="image-size" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="location" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="tag" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="thumbnail-size" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="visibility" writable="1" transfer-ownership="none">
        <type name="gint"/>
      </property>
      <field name="parent">
        <type name="Query" c:type="GDataQuery"/>
      </field>
      <field name="priv">
        <type name="PicasaWebQueryPrivate"
              c:type="GDataPicasaWebQueryPrivate*"/>
      </field>
    </class>
    <record name="PicasaWebQueryClass"
            c:type="GDataPicasaWebQueryClass"
            glib:is-gtype-struct-for="PicasaWebQuery"
            version="0.4.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataPicasaWebQueryClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="QueryClass" c:type="GDataQueryClass"/>
      </field>
    </record>
    <record name="PicasaWebQueryPrivate"
            c:type="GDataPicasaWebQueryPrivate"
            disguised="1">
    </record>
    <class name="PicasaWebService"
           c:symbol-prefix="picasaweb_service"
           c:type="GDataPicasaWebService"
           version="0.4.0"
           parent="Service"
           glib:type-name="GDataPicasaWebService"
           glib:get-type="gdata_picasaweb_service_get_type"
           glib:type-struct="PicasaWebServiceClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataPicasaWebService structure are private and should never be accessed directly.</doc>
      <constructor name="new"
                   c:identifier="gdata_picasaweb_service_new"
                   version="0.4.0">
        <doc xml:whitespace="preserve">Creates a new #GDataPicasaWebService. The @client_id must be unique for your application, and as registered with Google.
The &lt;ulink type="http" url="http://code.google.com/apis/accounts/docs/AuthForInstalledApps.html#Request"&gt;recommended
form&lt;/ulink&gt; is "companyName-applicationName-versionID".</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GDataPicasaWebService, or %NULL</doc>
          <type name="PicasaWebService" c:type="GDataPicasaWebService*"/>
        </return-value>
        <parameters>
          <parameter name="client_id" transfer-ownership="none">
            <doc xml:whitespace="preserve">your application's client ID</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="finish_file_upload"
              c:identifier="gdata_picasaweb_service_finish_file_upload"
              version="0.8.0"
              throws="1">
        <doc xml:whitespace="preserve">Finish off a file upload operation started by gdata_picasaweb_service_upload_file(), parsing the result and returning the new #GDataPicasaWebFile.
If an error occurred during the upload operation, it will have been returned during the operation (e.g. by g_output_stream_splice() or one
of the other stream methods). In such a case, %NULL will be returned but @error will remain unset. @error is only set in the case that the server
indicates that the operation was successful, but an error is encountered in parsing the result sent by the server.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the new #GDataPicasaWebFile, or %NULL; unref with g_object_unref()</doc>
          <type name="PicasaWebFile" c:type="GDataPicasaWebFile*"/>
        </return-value>
        <parameters>
          <parameter name="upload_stream" transfer-ownership="none">
            <doc xml:whitespace="preserve">the #GDataUploadStream from the operation</doc>
            <type name="UploadStream" c:type="GDataUploadStream*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_user"
              c:identifier="gdata_picasaweb_service_get_user"
              version="0.6.0"
              throws="1">
        <doc xml:whitespace="preserve">Queries the service to return the user specified by @username.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a #GDataPicasaWebUser; unref with g_object_unref()</doc>
          <type name="PicasaWebUser" c:type="GDataPicasaWebUser*"/>
        </return-value>
        <parameters>
          <parameter name="username" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the username of the user whose information you wish to retrieve, or %NULL for the currently authenticated user.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="insert_album"
              c:identifier="gdata_picasaweb_service_insert_album"
              version="0.6.0"
              throws="1">
        <doc xml:whitespace="preserve">Inserts a new album described by @album. A user must be
authenticated to use this function.
g_object_unref()</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the inserted #GDataPicasaWebAlbum; unref with</doc>
          <type name="PicasaWebAlbum" c:type="GDataPicasaWebAlbum*"/>
        </return-value>
        <parameters>
          <parameter name="album" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GDataPicasaWebAlbum to create on the server</doc>
            <type name="PicasaWebAlbum" c:type="GDataPicasaWebAlbum*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="insert_album_async"
              c:identifier="gdata_picasaweb_service_insert_album_async"
              version="0.8.0">
        <doc xml:whitespace="preserve">Inserts a new album described by @album. The user must be authenticated to use this function. @self and @album are both reffed when this function
is called, so can safely be unreffed after this function returns.
possible errors.
For more details, see gdata_picasaweb_service_insert_album(), which is the synchronous version of this function, and
gdata_service_insert_entry_async(), which is the base asynchronous insertion function.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="album" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GDataPicasaWebAlbum to create on the server</doc>
            <type name="PicasaWebAlbum" c:type="GDataPicasaWebAlbum*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="async"
                     closure="3">
            <doc xml:whitespace="preserve">a #GAsyncReadyCallback to call when insertion is finished</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="query_all_albums"
              c:identifier="gdata_picasaweb_service_query_all_albums"
              version="0.4.0"
              throws="1">
        <doc xml:whitespace="preserve">Queries the service to return a list of all albums belonging to the specified @username which match the given
to the currently-authenticated user.
Note that the #GDataQuery:q query parameter cannot be set on @query for album queries.
For more details, see gdata_service_query().</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a #GDataFeed of query results; unref with g_object_unref()</doc>
          <type name="Feed" c:type="GDataFeed*"/>
        </return-value>
        <parameters>
          <parameter name="query" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a #GDataQuery with the query parameters, or %NULL</doc>
            <type name="Query" c:type="GDataQuery*"/>
          </parameter>
          <parameter name="username" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the username of the user whose albums you wish to retrieve, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="progress_callback"
                     transfer-ownership="none"
                     scope="call"
                     closure="4">
            <doc xml:whitespace="preserve">a #GDataQueryProgressCallback to call when an entry is loaded, or %NULL</doc>
            <type name="QueryProgressCallback"
                  c:type="GDataQueryProgressCallback"/>
          </parameter>
          <parameter name="progress_user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @progress_callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="query_all_albums_async"
              c:identifier="gdata_picasaweb_service_query_all_albums_async"
              version="0.4.0"
              introspectable="0">
        <doc xml:whitespace="preserve">Queries the service to return a list of all albums belonging to the specified @username which match the given
this function returns.
For more details, see gdata_picasaweb_service_query_all_albums(), which is the synchronous version of
this function, and gdata_service_query_async(), which is the base asynchronous query function.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="query" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a #GDataQuery with the query parameters, or %NULL</doc>
            <type name="Query" c:type="GDataQuery*"/>
          </parameter>
          <parameter name="username" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the username of the user whose albums you wish to retrieve, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="progress_callback"
                     transfer-ownership="none"
                     closure="4">
            <doc xml:whitespace="preserve">a #GDataQueryProgressCallback to call when an entry is loaded, or %NULL</doc>
            <type name="QueryProgressCallback"
                  c:type="GDataQueryProgressCallback"/>
          </parameter>
          <parameter name="progress_user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @progress_callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="async"
                     closure="6">
            <doc xml:whitespace="preserve">a #GAsyncReadyCallback to call when authentication is finished</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="query_files"
              c:identifier="gdata_picasaweb_service_query_files"
              version="0.4.0"
              throws="1">
        <doc xml:whitespace="preserve">Queries the specified @album for a list of the files which match the given @query. If @album is %NULL and a user is
authenticated with the service, the user's default album will be queried.
For more details, see gdata_service_query().</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a #GDataFeed of query results; unref with g_object_unref()</doc>
          <type name="Feed" c:type="GDataFeed*"/>
        </return-value>
        <parameters>
          <parameter name="album" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a #GDataPicasaWebAlbum from which to retrieve the files, or %NULL</doc>
            <type name="PicasaWebAlbum" c:type="GDataPicasaWebAlbum*"/>
          </parameter>
          <parameter name="query" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a #GDataQuery with the query parameters, or %NULL</doc>
            <type name="Query" c:type="GDataQuery*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="progress_callback"
                     transfer-ownership="none"
                     scope="call"
                     closure="4">
            <doc xml:whitespace="preserve">a #GDataQueryProgressCallback to call when an entry is loaded, or %NULL</doc>
            <type name="QueryProgressCallback"
                  c:type="GDataQueryProgressCallback"/>
          </parameter>
          <parameter name="progress_user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @progress_callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="query_files_async"
              c:identifier="gdata_picasaweb_service_query_files_async"
              version="0.8.0"
              introspectable="0">
        <doc xml:whitespace="preserve">Queries the specified @album for a list of the files which match the given @query. If @album is %NULL and a user is authenticated with the service,
the user's default album will be queried. @self, @album and @query are all reffed when this function is called, so can safely be unreffed after
this function returns.
For more details, see gdata_picasaweb_service_query_files(), which is the synchronous version of this function, and gdata_service_query_async(),
which is the base asynchronous query function.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="album" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a #GDataPicasaWebAlbum from which to retrieve the files, or %NULL</doc>
            <type name="PicasaWebAlbum" c:type="GDataPicasaWebAlbum*"/>
          </parameter>
          <parameter name="query" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a #GDataQuery with the query parameters, or %NULL</doc>
            <type name="Query" c:type="GDataQuery*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="progress_callback"
                     transfer-ownership="none"
                     closure="4">
            <doc xml:whitespace="preserve">a #GDataQueryProgressCallback to call when an entry is loaded, or %NULL</doc>
            <type name="QueryProgressCallback"
                  c:type="GDataQueryProgressCallback"/>
          </parameter>
          <parameter name="progress_user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @progress_callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="async"
                     closure="6">
            <doc xml:whitespace="preserve">a #GAsyncReadyCallback to call when the query is finished</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="upload_file"
              c:identifier="gdata_picasaweb_service_upload_file"
              version="0.8.0"
              throws="1">
        <doc xml:whitespace="preserve">Uploads a file (photo or video) to the given PicasaWeb @album, using the metadata from @file and the file data written to the resulting
#GDataUploadStream. If @album is %NULL, the file will be uploaded to the currently-authenticated user's "Drop Box" album. A user must be
authenticated to use this function.
If @file has already been inserted, a %GDATA_SERVICE_ERROR_ENTRY_ALREADY_INSERTED error will be returned. If no user is authenticated
with the service, %GDATA_SERVICE_ERROR_AUTHENTICATION_REQUIRED will be returned.
The stream returned by this function should be written to using the standard #GOutputStream methods, asychronously or synchronously. Once the stream
is closed (using g_output_stream_close()), gdata_picasaweb_service_finish_file_upload() should be called on it to parse and return the updated
#GDataPicasaWebFile for the uploaded file. This must be done, as @file_entry isn't updated in-place.
In order to cancel the upload, a #GCancellable passed in to @cancellable must be cancelled using g_cancellable_cancel(). Cancelling the individual
#GOutputStream operations on the #GDataUploadStream will not cancel the entire upload; merely the write or close operation in question. See the
#GDataUploadStream:cancellable for more details.
Any upload errors will be thrown by the stream methods, and may come from the #GDataServiceError domain.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a #GDataUploadStream to write the file data to, or %NULL; unref with g_object_unref()</doc>
          <type name="UploadStream" c:type="GDataUploadStream*"/>
        </return-value>
        <parameters>
          <parameter name="album" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a #GDataPicasaWebAlbum into which to insert the file, or %NULL</doc>
            <type name="PicasaWebAlbum" c:type="GDataPicasaWebAlbum*"/>
          </parameter>
          <parameter name="file_entry" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GDataPicasaWebFile to insert</doc>
            <type name="PicasaWebFile" c:type="GDataPicasaWebFile*"/>
          </parameter>
          <parameter name="slug" transfer-ownership="none">
            <doc xml:whitespace="preserve">the filename to give to the uploaded file</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="content_type" transfer-ownership="none">
            <doc xml:whitespace="preserve">the content type of the uploaded data</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">a #GCancellable for the entire upload stream, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Service" c:type="GDataService"/>
      </field>
    </class>
    <record name="PicasaWebServiceClass"
            c:type="GDataPicasaWebServiceClass"
            glib:is-gtype-struct-for="PicasaWebService"
            version="0.4.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataPicasaWebServiceClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="ServiceClass" c:type="GDataServiceClass"/>
      </field>
    </record>
    <class name="PicasaWebUser"
           c:symbol-prefix="picasaweb_user"
           c:type="GDataPicasaWebUser"
           version="0.6.0"
           parent="Entry"
           glib:type-name="GDataPicasaWebUser"
           glib:get-type="gdata_picasaweb_user_get_type"
           glib:type-struct="PicasaWebUserClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataPicasaWebUser structure are private and should never be accessed directly.</doc>
      <method name="get_max_photos_per_album"
              c:identifier="gdata_picasaweb_user_get_max_photos_per_album"
              version="0.6.0">
        <doc xml:whitespace="preserve">Gets the #GDataPicasaWebUser:max-photos-per-album property.  Note that
this information is not available when accessing feeds which we
haven't authenticated, and &lt;code class="literal"&gt;0&lt;/code&gt; is returned.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the maximum number of photos an album for this account can hold, or &lt;code class="literal"&gt;-1&lt;/code&gt;</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <method name="get_nickname"
              c:identifier="gdata_picasaweb_user_get_nickname"
              version="0.6.0">
        <doc xml:whitespace="preserve">Gets the #GDataPicasaWebUser:nickname property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the nickname of the feed's user's nickname, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_quota_current"
              c:identifier="gdata_picasaweb_user_get_quota_current"
              version="0.6.0">
        <doc xml:whitespace="preserve">Gets the #GDataPicasaWebUser:quota-current property.  Note that
this information is not available when accessing feeds which we
haven't authenticated, and &lt;code class="literal"&gt;0&lt;/code&gt; is returned.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the current number of bytes in use by this feed's account, or &lt;code class="literal"&gt;-1&lt;/code&gt;</doc>
          <type name="gint64" c:type="gint64"/>
        </return-value>
      </method>
      <method name="get_quota_limit"
              c:identifier="gdata_picasaweb_user_get_quota_limit"
              version="0.6.0">
        <doc xml:whitespace="preserve">Gets the #GDataPicasaWebUser:quota-limit property. Note that
this information is not available when accessing feeds which we
haven't authenticated, and &lt;code class="literal"&gt;0&lt;/code&gt; is returned.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the maximum capacity in bytes for this feed's account, or &lt;code class="literal"&gt;-1&lt;/code&gt;</doc>
          <type name="gint64" c:type="gint64"/>
        </return-value>
      </method>
      <method name="get_thumbnail_uri"
              c:identifier="gdata_picasaweb_user_get_thumbnail_uri"
              version="0.6.0">
        <doc xml:whitespace="preserve">Gets the #GDataPicasaWebUser:thumbnail-uri property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the URI for the thumbnail of the account, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_user"
              c:identifier="gdata_picasaweb_user_get_user"
              version="0.6.0">
        <doc xml:whitespace="preserve">Gets the #GDataPicasaWebUser:user property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the feed's user, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <property name="max-photos-per-album" transfer-ownership="none">
        <type name="gint"/>
      </property>
      <property name="nickname" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="quota-current" transfer-ownership="none">
        <type name="gint64"/>
      </property>
      <property name="quota-limit" transfer-ownership="none">
        <type name="gint64"/>
      </property>
      <property name="thumbnail-uri" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="user" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <field name="parent">
        <type name="Entry" c:type="GDataEntry"/>
      </field>
      <field name="priv">
        <type name="PicasaWebUserPrivate" c:type="GDataPicasaWebUserPrivate*"/>
      </field>
    </class>
    <record name="PicasaWebUserClass"
            c:type="GDataPicasaWebUserClass"
            glib:is-gtype-struct-for="PicasaWebUser"
            version="0.6.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataPicasaWebUserClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="EntryClass" c:type="GDataEntryClass"/>
      </field>
    </record>
    <record name="PicasaWebUserPrivate"
            c:type="GDataPicasaWebUserPrivate"
            disguised="1">
    </record>
    <enumeration name="PicasaWebVisibility"
                 version="0.4.0"
                 glib:type-name="GDataPicasaWebVisibility"
                 glib:get-type="gdata_picasaweb_visibility_get_type"
                 c:type="GDataPicasaWebVisibility">
      <doc xml:whitespace="preserve">Visibility statuses available for albums on PicasaWeb. For more information, see the
&lt;ulink type="http" url="http://code.google.com/apis/picasaweb/reference.html#Visibility"&gt;online documentation&lt;/ulink&gt;.</doc>
      <member name="public"
              value="1"
              c:identifier="GDATA_PICASAWEB_PUBLIC"
              glib:nick="public"/>
      <member name="private"
              value="2"
              c:identifier="GDATA_PICASAWEB_PRIVATE"
              glib:nick="private"/>
    </enumeration>
    <class name="Query"
           c:symbol-prefix="query"
           c:type="GDataQuery"
           parent="GObject.Object"
           glib:type-name="GDataQuery"
           glib:get-type="gdata_query_get_type"
           glib:type-struct="QueryClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataQuery structure are private and should never be accessed directly.</doc>
      <constructor name="new" c:identifier="gdata_query_new">
        <doc xml:whitespace="preserve">Creates a new #GDataQuery with its #GDataQuery:q property set to @q.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GDataQuery</doc>
          <type name="Query" c:type="GDataQuery*"/>
        </return-value>
        <parameters>
          <parameter name="q" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a query string, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_with_limits"
                   c:identifier="gdata_query_new_with_limits">
        <doc xml:whitespace="preserve">Creates a new #GDataQuery with its #GDataQuery:q property set to @q, and the limits @start_index and @max_results
applied.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GDataQuery</doc>
          <type name="Query" c:type="GDataQuery*"/>
        </return-value>
        <parameters>
          <parameter name="q" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a query string, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="start_index" transfer-ownership="none">
            <doc xml:whitespace="preserve">a one-based start index for the results, or &lt;code class="literal"&gt;0&lt;/code&gt;</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="max_results" transfer-ownership="none">
            <doc xml:whitespace="preserve">the maximum number of results to return, or &lt;code class="literal"&gt;0&lt;/code&gt;</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="get_query_uri">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="feed_uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="query_uri" transfer-ownership="none">
            <type name="GLib.String" c:type="GString*"/>
          </parameter>
          <parameter name="params_started" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="get_author" c:identifier="gdata_query_get_author">
        <doc xml:whitespace="preserve">Gets the #GDataQuery:author property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the author property, or %NULL if it is unset</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_categories" c:identifier="gdata_query_get_categories">
        <doc xml:whitespace="preserve">Gets the #GDataQuery:categories property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the categories property, or %NULL if it is unset</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_etag"
              c:identifier="gdata_query_get_etag"
              version="0.2.0">
        <doc xml:whitespace="preserve">Gets the #GDataQuery:etag property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the ETag property, or %NULL if it is unset</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_max_results"
              c:identifier="gdata_query_get_max_results">
        <doc xml:whitespace="preserve">Gets the #GDataQuery:max-results property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the maximum results property, or &lt;code class="literal"&gt;0&lt;/code&gt; if it is unset</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
      </method>
      <method name="get_published_max"
              c:identifier="gdata_query_get_published_max">
        <doc xml:whitespace="preserve">Gets the #GDataQuery:published-max property. If the property is unset, &lt;code class="literal"&gt;-1&lt;/code&gt; will be returned.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the published-max property, or &lt;code class="literal"&gt;-1&lt;/code&gt;</doc>
          <type name="gint64" c:type="gint64"/>
        </return-value>
      </method>
      <method name="get_published_min"
              c:identifier="gdata_query_get_published_min">
        <doc xml:whitespace="preserve">Gets the #GDataQuery:published-min property. If the property is unset, &lt;code class="literal"&gt;-1&lt;/code&gt; will be returned.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the published-min property, or &lt;code class="literal"&gt;-1&lt;/code&gt;</doc>
          <type name="gint64" c:type="gint64"/>
        </return-value>
      </method>
      <method name="get_q" c:identifier="gdata_query_get_q">
        <doc xml:whitespace="preserve">Gets the #GDataQuery:q property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the q property, or %NULL if it is unset</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_query_uri" c:identifier="gdata_query_get_query_uri">
        <doc xml:whitespace="preserve">Builds a query URI from the given base feed URI, using the properties of the #GDataQuery. This function will take care
of all necessary URI escaping, so it should &lt;emphasis&gt;not&lt;/emphasis&gt; be done beforehand.
The query URI is what functions like gdata_service_query() use to query the online service.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a query URI; free with g_free()</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="feed_uri" transfer-ownership="none">
            <doc xml:whitespace="preserve">the feed URI on which to build the query URI</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_start_index"
              c:identifier="gdata_query_get_start_index">
        <doc xml:whitespace="preserve">Gets the #GDataQuery:start-index property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the start index property, or &lt;code class="literal"&gt;0&lt;/code&gt; if it is unset</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
      </method>
      <method name="get_updated_max"
              c:identifier="gdata_query_get_updated_max">
        <doc xml:whitespace="preserve">Gets the #GDataQuery:updated-max property. If the property is unset, &lt;code class="literal"&gt;-1&lt;/code&gt; will be returned.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the updated-max property, or &lt;code class="literal"&gt;-1&lt;/code&gt;</doc>
          <type name="gint64" c:type="gint64"/>
        </return-value>
      </method>
      <method name="get_updated_min"
              c:identifier="gdata_query_get_updated_min">
        <doc xml:whitespace="preserve">Gets the #GDataQuery:updated-min property. If the property is unset, &lt;code class="literal"&gt;-1&lt;/code&gt; will be returned.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the updated-min property, or &lt;code class="literal"&gt;-1&lt;/code&gt;</doc>
          <type name="gint64" c:type="gint64"/>
        </return-value>
      </method>
      <method name="is_strict"
              c:identifier="gdata_query_is_strict"
              version="0.2.0">
        <doc xml:whitespace="preserve">Gets the #GDataQuery:is-strict property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the strict property</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="next_page" c:identifier="gdata_query_next_page">
        <doc xml:whitespace="preserve">Changes the state of the #GDataQuery such that when gdata_query_get_query_uri() is next called, it will build the
query URI for the next page in the result set.
Ideally, the URI of the next page is retrieved from a feed automatically when gdata_service_query() is called, but
gdata_query_next_page() will fall back to using #GDataQuery:start-index to emulate true pagination if this fails.
You &lt;emphasis&gt;should not&lt;/emphasis&gt; implement pagination manually using #GDataQuery:start-index.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="previous_page" c:identifier="gdata_query_previous_page">
        <doc xml:whitespace="preserve">Changes the state of the #GDataQuery such that when gdata_query_get_query_uri() is next called, it will build the
query URI for the previous page in the result set.
See the documentation for gdata_query_next_page() for an explanation of how query URIs from the feeds are used to this end.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if there is a previous page and it has been switched to, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="set_author" c:identifier="gdata_query_set_author">
        <doc xml:whitespace="preserve">Sets the #GDataQuery:author property of the #GDataQuery to the new author string, @author.
Set @author to %NULL to unset the property in the query URI.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="author" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new author string, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_categories" c:identifier="gdata_query_set_categories">
        <doc xml:whitespace="preserve">Sets the #GDataQuery:categories property of the #GDataQuery to the new category string, @categories.
Set @categories to %NULL to unset the property in the query URI.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="categories"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the new category string, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_etag"
              c:identifier="gdata_query_set_etag"
              version="0.2.0">
        <doc xml:whitespace="preserve">Sets the #GDataQuery:etag property of the #GDataQuery to the new ETag, @etag.
Set @etag to %NULL to not check against the server-side ETag.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="etag" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new ETag, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_is_strict"
              c:identifier="gdata_query_set_is_strict"
              version="0.2.0">
        <doc xml:whitespace="preserve">Sets the #GDataQuery:is-strict property of the #GDataQuery to the new strict value, @is_strict.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="is_strict" transfer-ownership="none">
            <doc xml:whitespace="preserve">the new strict value</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_max_results"
              c:identifier="gdata_query_set_max_results">
        <doc xml:whitespace="preserve">Sets the #GDataQuery:max-results property of the #GDataQuery to the new maximum results value, @max_results.
Set @max_results to &lt;code class="literal"&gt;0&lt;/code&gt; to unset the property in the query URI.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="max_results" transfer-ownership="none">
            <doc xml:whitespace="preserve">the new maximum results value, or &lt;code class="literal"&gt;0&lt;/code&gt;</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_published_max"
              c:identifier="gdata_query_set_published_max">
        <doc xml:whitespace="preserve">Sets the #GDataQuery:published-max property of the #GDataQuery to the new maximum publish time, @published_max.
Set @published_max to &lt;code class="literal"&gt;-1&lt;/code&gt; to unset the property in the query URI.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="published_max" transfer-ownership="none">
            <doc xml:whitespace="preserve">the new maximum publish time, or &lt;code class="literal"&gt;-1&lt;/code&gt;</doc>
            <type name="gint64" c:type="gint64"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_published_min"
              c:identifier="gdata_query_set_published_min">
        <doc xml:whitespace="preserve">Sets the #GDataQuery:published-min property of the #GDataQuery to the new minimum publish time, @published_min.
Set @published_min to &lt;code class="literal"&gt;-1&lt;/code&gt; to unset the property in the query URI.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="published_min" transfer-ownership="none">
            <doc xml:whitespace="preserve">the new minimum publish time, or &lt;code class="literal"&gt;-1&lt;/code&gt;</doc>
            <type name="gint64" c:type="gint64"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_q" c:identifier="gdata_query_set_q">
        <doc xml:whitespace="preserve">Sets the #GDataQuery:q property of the #GDataQuery to the new query string, @q.
Set @q to %NULL to unset the property in the query URI.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="q" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a new query string, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_start_index"
              c:identifier="gdata_query_set_start_index">
        <doc xml:whitespace="preserve">Sets the #GDataQuery:start-index property of the #GDataQuery to the new one-based start index, @start_index.
Set @start_index to &lt;code class="literal"&gt;0&lt;/code&gt; to unset the property in the query URI.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="start_index" transfer-ownership="none">
            <doc xml:whitespace="preserve">the new start index, or &lt;code class="literal"&gt;0&lt;/code&gt;</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_updated_max"
              c:identifier="gdata_query_set_updated_max">
        <doc xml:whitespace="preserve">Sets the #GDataQuery:updated-max property of the #GDataQuery to the new maximum update time, @updated_max.
Set @updated_max to &lt;code class="literal"&gt;-1&lt;/code&gt; to unset the property in the query URI.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="updated_max" transfer-ownership="none">
            <doc xml:whitespace="preserve">the new maximum update time, or &lt;code class="literal"&gt;-1&lt;/code&gt;</doc>
            <type name="gint64" c:type="gint64"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_updated_min"
              c:identifier="gdata_query_set_updated_min">
        <doc xml:whitespace="preserve">Sets the #GDataQuery:updated-min property of the #GDataQuery to the new minimum update time, @updated_min.
Set @updated_min to &lt;code class="literal"&gt;-1&lt;/code&gt; to unset the property in the query URI.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="updated_min" transfer-ownership="none">
            <doc xml:whitespace="preserve">the new minimum update time, or &lt;code class="literal"&gt;-1&lt;/code&gt;</doc>
            <type name="gint64" c:type="gint64"/>
          </parameter>
        </parameters>
      </method>
      <property name="author" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="categories" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="etag" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="is-strict" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="max-results" writable="1" transfer-ownership="none">
        <type name="guint"/>
      </property>
      <property name="published-max" writable="1" transfer-ownership="none">
        <type name="gint64"/>
      </property>
      <property name="published-min" writable="1" transfer-ownership="none">
        <type name="gint64"/>
      </property>
      <property name="q" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="start-index" writable="1" transfer-ownership="none">
        <type name="guint"/>
      </property>
      <property name="updated-max" writable="1" transfer-ownership="none">
        <type name="gint64"/>
      </property>
      <property name="updated-min" writable="1" transfer-ownership="none">
        <type name="gint64"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="QueryPrivate" c:type="GDataQueryPrivate*"/>
      </field>
    </class>
    <record name="QueryClass"
            c:type="GDataQueryClass"
            glib:is-gtype-struct-for="Query">
      <doc xml:whitespace="preserve">All the fields in the #GDataQueryClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="get_query_uri">
        <callback name="get_query_uri">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Query" c:type="GDataQuery*"/>
            </parameter>
            <parameter name="feed_uri" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="query_uri" transfer-ownership="none">
              <type name="GLib.String" c:type="GString*"/>
            </parameter>
            <parameter name="params_started" transfer-ownership="none">
              <type name="gboolean" c:type="gboolean*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="QueryPrivate" c:type="GDataQueryPrivate" disguised="1">
    </record>
    <callback name="QueryProgressCallback" c:type="GDataQueryProgressCallback">
      <doc xml:whitespace="preserve">Callback function called for each #GDataEntry parsed in a #GDataFeed when loading the results of a query.
It is called in the main thread, so there is no guarantee on the order in which the callbacks are executed,
or whether they will be called in a timely manner. It is, however, guaranteed that they will all be called before
the #GAsyncReadyCallback which signals the completion of the query is called.</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="entry" transfer-ownership="none">
          <doc xml:whitespace="preserve">a new #GDataEntry</doc>
          <type name="Entry" c:type="GDataEntry*"/>
        </parameter>
        <parameter name="entry_key" transfer-ownership="none">
          <doc xml:whitespace="preserve">the key of the entry (zero-based index of its position in the feed)</doc>
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="entry_count" transfer-ownership="none">
          <doc xml:whitespace="preserve">the total number of entries in the feed</doc>
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none" closure="3">
          <doc xml:whitespace="preserve">user data passed to the callback</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <class name="Service"
           c:symbol-prefix="service"
           c:type="GDataService"
           parent="GObject.Object"
           glib:type-name="GDataService"
           glib:get-type="gdata_service_get_type"
           glib:type-struct="ServiceClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataService structure are private and should never be accessed directly.</doc>
      <virtual-method name="append_query_headers">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="message" transfer-ownership="none">
            <type name="Soup.Message" c:type="SoupMessage*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="parse_authentication_response" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="status" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="response_body" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="length" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="parse_error_response" throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="operation_type" transfer-ownership="none">
            <type name="OperationType" c:type="GDataOperationType"/>
          </parameter>
          <parameter name="status" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="reason_phrase" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="response_body" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="length" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="authenticate"
              c:identifier="gdata_service_authenticate"
              throws="1">
        <doc xml:whitespace="preserve">Authenticates the #GDataService with the online service using @username and @password; i.e. logs into the service with the given
user account. @username should be a full e-mail address (e.g. &lt;literal&gt;john.smith\@gmail.com&lt;/literal&gt;). If a full e-mail address is
not given, @username will have &lt;literal&gt;\@gmail.com&lt;/literal&gt; appended to create an e-mail address
If @cancellable is not %NULL, then the operation can be cancelled by triggering the @cancellable object from another thread.
If the operation was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
A %GDATA_AUTHENTICATION_ERROR_BAD_AUTHENTICATION will be returned if authentication failed due to an incorrect username or password.
Other #GDataAuthenticationError errors can be returned for other conditions.
If the service requires a CAPTCHA to be completed, the #GDataService::captcha-challenge signal will be emitted. The return value from
a signal handler for the signal should be a newly allocated string containing the text from the image. If the text is %NULL or empty,
authentication will fail with a %GDATA_AUTHENTICATION_ERROR_CAPTCHA_REQUIRED error. Otherwise, authentication will be automatically and
transparently restarted with the new CAPTCHA details.
A %GDATA_SERVICE_ERROR_PROTOCOL_ERROR will be returned if the server's responses were invalid. Subclasses of #GDataService can override
parsing the authentication response, and may return their own error codes. See their documentation for more details.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if authentication was successful, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="username" transfer-ownership="none">
            <doc xml:whitespace="preserve">the user's username</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="password" transfer-ownership="none">
            <doc xml:whitespace="preserve">the user's password</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="authenticate_async"
              c:identifier="gdata_service_authenticate_async">
        <doc xml:whitespace="preserve">Authenticates the #GDataService with the online service using the given @username and @password. @self, @username and
For more details, see gdata_service_authenticate(), which is the synchronous version of this function.
When the operation is finished, @callback will be called. You can then call gdata_service_authenticate_finish()
to get the results of the operation.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="username" transfer-ownership="none">
            <doc xml:whitespace="preserve">the user's username</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="password" transfer-ownership="none">
            <doc xml:whitespace="preserve">the user's password</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="async"
                     closure="4">
            <doc xml:whitespace="preserve">a #GAsyncReadyCallback to call when authentication is finished</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="authenticate_finish"
              c:identifier="gdata_service_authenticate_finish"
              throws="1">
        <doc xml:whitespace="preserve">Finishes an asynchronous authentication operation started with gdata_service_authenticate_async().</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if authentication was successful, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="async_result" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GAsyncResult</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="delete_entry"
              c:identifier="gdata_service_delete_entry"
              version="0.2.0"
              throws="1">
        <doc xml:whitespace="preserve">Deletes @entry from the server. For more information about the concept of deleting entries, see the
&lt;ulink type="http" url="http://code.google.com/apis/gdata/docs/2.0/basics.html#DeletingEntry"&gt;online documentation&lt;/ulink&gt; for the GData
protocol.
If @cancellable is not %NULL, then the operation can be cancelled by triggering the @cancellable object from another thread.
If the operation was cancelled before or during network activity, the error %G_IO_ERROR_CANCELLED will be returned. Cancellation has no effect
after network activity has finished, however, and the deletion will return successfully (or return an error sent by the server) if it is first
cancelled after network activity has finished. See the &lt;link linkend="cancellable-support"&gt;overview of cancellation&lt;/link&gt; for
more details.
If there is an error deleting the entry, a %GDATA_SERVICE_ERROR_PROTOCOL_ERROR error will be returned. Currently, subclasses
&lt;emphasis&gt;cannot&lt;/emphasis&gt; cannot override this or provide more specific errors.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE on success, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="entry" transfer-ownership="none">
            <doc xml:whitespace="preserve">the #GDataEntry to delete</doc>
            <type name="Entry" c:type="GDataEntry*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="delete_entry_async"
              c:identifier="gdata_service_delete_entry_async"
              version="0.3.0">
        <doc xml:whitespace="preserve">Deletes @entry from the server. @self and @entry are both reffed when this function is called,
so can safely be unreffed after this function returns.
For more details, see gdata_service_delete_entry(), which is the synchronous version of this function.
When the operation is finished, @callback will be called. You can then call gdata_service_delete_entry_finish()
to get the results of the operation.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="entry" transfer-ownership="none">
            <doc xml:whitespace="preserve">the #GDataEntry to delete</doc>
            <type name="Entry" c:type="GDataEntry*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="async"
                     closure="3">
            <doc xml:whitespace="preserve">a #GAsyncReadyCallback to call when deletion is finished, or %NULL</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="delete_entry_finish"
              c:identifier="gdata_service_delete_entry_finish"
              version="0.3.0"
              throws="1">
        <doc xml:whitespace="preserve">Finishes an asynchronous entry deletion operation started with gdata_service_delete_entry_async().</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE on success, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="async_result" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GAsyncResult</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_client_id" c:identifier="gdata_service_get_client_id">
        <doc xml:whitespace="preserve">Returns the service's client ID, as specified on constructing the #GDataService.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the service's client ID</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_locale"
              c:identifier="gdata_service_get_locale"
              version="0.7.0">
        <doc xml:whitespace="preserve">Returns the locale currently being used for network requests, or %NULL if the locale is the default.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the current locale</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_password" c:identifier="gdata_service_get_password">
        <doc xml:whitespace="preserve">Returns the password of the currently-authenticated user, or %NULL if nobody is authenticated.
It is not safe to call this while an authentication operation is ongoing.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the password of the currently-authenticated user, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_proxy_uri"
              c:identifier="gdata_service_get_proxy_uri"
              version="0.2.0">
        <doc xml:whitespace="preserve">Gets the proxy URI on the #GDataService's #SoupSession.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the proxy URI, or %NULL</doc>
          <type name="Soup.URI" c:type="SoupURI*"/>
        </return-value>
      </method>
      <method name="get_timeout"
              c:identifier="gdata_service_get_timeout"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets the #GDataService:timeout property; the network timeout, in seconds.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the timeout, or &lt;code class="literal"&gt;0&lt;/code&gt;</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
      </method>
      <method name="get_username" c:identifier="gdata_service_get_username">
        <doc xml:whitespace="preserve">Returns the username of the currently-authenticated user, or %NULL if nobody is authenticated.
It is not safe to call this while an authentication operation is ongoing.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the username of the currently-authenticated user, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="insert_entry"
              c:identifier="gdata_service_insert_entry"
              throws="1">
        <doc xml:whitespace="preserve">Inserts @entry by uploading it to the online service at @upload_uri. For more information about the concept of inserting entries, see
the &lt;ulink type="http" url="http://code.google.com/apis/gdata/docs/2.0/basics.html#InsertingEntry"&gt;online documentation&lt;/ulink&gt; for the GData
protocol.
The service will return an updated version of the entry, which is the return value of this function on success.
If @cancellable is not %NULL, then the operation can be cancelled by triggering the @cancellable object from another thread.
If the operation was cancelled before or during network activity, the error %G_IO_ERROR_CANCELLED will be returned. Cancellation has no effect
after network activity has finished, however, and the insertion will return successfully (or return an error sent by the server) if it is first
cancelled after network activity has finished. See the &lt;link linkend="cancellable-support"&gt;overview of cancellation&lt;/link&gt; for
more details.
If the entry is marked as already having been inserted a %GDATA_SERVICE_ERROR_ENTRY_ALREADY_INSERTED error will be returned immediately
(there will be no network requests).
If there is an error inserting the entry, a %GDATA_SERVICE_ERROR_PROTOCOL_ERROR error will be returned. Currently, subclasses
&lt;emphasis&gt;cannot&lt;/emphasis&gt; cannot override this or provide more specific errors.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">an updated #GDataEntry, or %NULL; unref with g_object_unref()</doc>
          <type name="Entry" c:type="GDataEntry*"/>
        </return-value>
        <parameters>
          <parameter name="upload_uri" transfer-ownership="none">
            <doc xml:whitespace="preserve">the URI to which the upload should be sent</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="entry" transfer-ownership="none">
            <doc xml:whitespace="preserve">the #GDataEntry to insert</doc>
            <type name="Entry" c:type="GDataEntry*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="insert_entry_async"
              c:identifier="gdata_service_insert_entry_async"
              version="0.3.0">
        <doc xml:whitespace="preserve">Inserts @entry by uploading it to the online service at @upload_uri. @self, @upload_uri and
For more details, see gdata_service_insert_entry(), which is the synchronous version of this function.
When the operation is finished, @callback will be called. You can then call gdata_service_insert_entry_finish()
to get the results of the operation.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="upload_uri" transfer-ownership="none">
            <doc xml:whitespace="preserve">the URI to which the upload should be sent</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="entry" transfer-ownership="none">
            <doc xml:whitespace="preserve">the #GDataEntry to insert</doc>
            <type name="Entry" c:type="GDataEntry*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="async"
                     closure="4">
            <doc xml:whitespace="preserve">a #GAsyncReadyCallback to call when insertion is finished, or %NULL</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="insert_entry_finish"
              c:identifier="gdata_service_insert_entry_finish"
              version="0.3.0"
              throws="1">
        <doc xml:whitespace="preserve">Finishes an asynchronous entry insertion operation started with gdata_service_insert_entry_async().</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">an updated #GDataEntry, or %NULL; unref with g_object_unref()</doc>
          <type name="Entry" c:type="GDataEntry*"/>
        </return-value>
        <parameters>
          <parameter name="async_result" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GAsyncResult</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="is_authenticated"
              c:identifier="gdata_service_is_authenticated">
        <doc xml:whitespace="preserve">Returns whether a user is authenticated with the online service through @self.
Authentication is performed by calling gdata_service_authenticate() or gdata_service_authenticate_async().</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if a user is authenticated, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="query" c:identifier="gdata_service_query" throws="1">
        <doc xml:whitespace="preserve">Queries the service's @feed_uri feed to build a #GDataFeed.
If @cancellable is not %NULL, then the operation can be cancelled by triggering the @cancellable object from another thread.
If the operation was cancelled before or during network activity, the error %G_IO_ERROR_CANCELLED will be returned. Cancellation has no effect
after network activity has finished, however, and the query will return successfully (or return an error sent by the server) if it is first
cancelled after network activity has finished. See the &lt;link linkend="cancellable-support"&gt;overview of cancellation&lt;/link&gt; for
more details.
A %GDATA_SERVICE_ERROR_PROTOCOL_ERROR will be returned if the server indicates there is a problem with the query, but subclasses may override
this and return their own errors. See their documentation for more details.
For each entry in the response feed, @progress_callback will be called in the main thread. If there was an error parsing the XML response,
a #GDataParserError will be returned.
If the query is successful and the feed supports pagination, @query will be updated with the pagination URIs, and the next or previous page
can then be loaded by calling gdata_query_next_page() or gdata_query_previous_page() before running the query again.
If the #GDataQuery's ETag is set and it finds a match on the server, %NULL will be returned, but @error will remain unset. Otherwise,</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a #GDataFeed of query results, or %NULL; unref with g_object_unref()</doc>
          <type name="Feed" c:type="GDataFeed*"/>
        </return-value>
        <parameters>
          <parameter name="feed_uri" transfer-ownership="none">
            <doc xml:whitespace="preserve">the feed URI to query, including the host name and protocol</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="query" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a #GDataQuery with the query parameters, or %NULL</doc>
            <type name="Query" c:type="GDataQuery*"/>
          </parameter>
          <parameter name="entry_type" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GType for the #GDataEntry&lt;!-- --&gt;s to build from the XML</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="progress_callback"
                     transfer-ownership="none"
                     scope="call"
                     closure="5">
            <doc xml:whitespace="preserve">a #GDataQueryProgressCallback to call when an entry is loaded, or %NULL</doc>
            <type name="QueryProgressCallback"
                  c:type="GDataQueryProgressCallback"/>
          </parameter>
          <parameter name="progress_user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @progress_callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="query_async"
              c:identifier="gdata_service_query_async"
              introspectable="0">
        <doc xml:whitespace="preserve">Queries the service's @feed_uri feed to build a #GDataFeed. @self, @feed_uri and
For more details, see gdata_service_query(), which is the synchronous version of this function.
When the operation is finished, @callback will be called. You can then call gdata_service_query_finish()
to get the results of the operation.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="feed_uri" transfer-ownership="none">
            <doc xml:whitespace="preserve">the feed URI to query, including the host name and protocol</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="query" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a #GDataQuery with the query parameters, or %NULL</doc>
            <type name="Query" c:type="GDataQuery*"/>
          </parameter>
          <parameter name="entry_type" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GType for the #GDataEntry&lt;!-- --&gt;s to build from the XML</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="progress_callback"
                     transfer-ownership="none"
                     closure="5">
            <doc xml:whitespace="preserve">a #GDataQueryProgressCallback to call when an entry is loaded, or %NULL</doc>
            <type name="QueryProgressCallback"
                  c:type="GDataQueryProgressCallback"/>
          </parameter>
          <parameter name="progress_user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @progress_callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="async"
                     closure="7">
            <doc xml:whitespace="preserve">a #GAsyncReadyCallback to call when the query is finished</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="query_finish"
              c:identifier="gdata_service_query_finish"
              throws="1">
        <doc xml:whitespace="preserve">Finishes an asynchronous query operation started with gdata_service_query_async().</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a #GDataFeed of query results, or %NULL; unref with g_object_unref()</doc>
          <type name="Feed" c:type="GDataFeed*"/>
        </return-value>
        <parameters>
          <parameter name="async_result" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GAsyncResult</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="query_single_entry"
              c:identifier="gdata_service_query_single_entry"
              version="0.7.0"
              throws="1">
        <doc xml:whitespace="preserve">Retrieves information about the single entry with the given @entry_id. @entry_id should be as returned by
gdata_entry_get_id().
Parameters and errors are as for gdata_service_query(). Most of the properties of @query aren't relevant, and
will cause a server-side error if used. The most useful property to use is #GDataQuery:etag, which will cause the
server to not return anything if the entry hasn't been modified since it was given the specified ETag; thus saving
bandwidth. If the server does not return anything for this reason, gdata_service_query_single_entry() will return
%NULL, but will not set an error in @error.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a #GDataEntry, or %NULL; unref with g_object_unref()</doc>
          <type name="Entry" c:type="GDataEntry*"/>
        </return-value>
        <parameters>
          <parameter name="entry_id" transfer-ownership="none">
            <doc xml:whitespace="preserve">the entry ID of the desired entry</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="query" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a #GDataQuery with the query parameters, or %NULL</doc>
            <type name="Query" c:type="GDataQuery*"/>
          </parameter>
          <parameter name="entry_type" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GType for the #GDataEntry to build from the XML</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">a #GCancellable, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="query_single_entry_async"
              c:identifier="gdata_service_query_single_entry_async"
              version="0.7.0">
        <doc xml:whitespace="preserve">Retrieves information about the single entry with the given @entry_id. @entry_id should be as returned by
gdata_entry_get_id(). @self, @query and @entry_id are reffed/copied when this
function is called, so can safely be freed after this function returns.
For more details, see gdata_service_query_single_entry(), which is the synchronous version of this function.
When the operation is finished, @callback will be called. You can then call gdata_service_query_single_entry_finish()
to get the results of the operation.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="entry_id" transfer-ownership="none">
            <doc xml:whitespace="preserve">the entry ID of the desired entry</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="query" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a #GDataQuery with the query parameters, or %NULL</doc>
            <type name="Query" c:type="GDataQuery*"/>
          </parameter>
          <parameter name="entry_type" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GType for the #GDataEntry to build from the XML</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="async"
                     closure="5">
            <doc xml:whitespace="preserve">a #GAsyncReadyCallback to call when the query is finished</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="query_single_entry_finish"
              c:identifier="gdata_service_query_single_entry_finish"
              version="0.7.0"
              throws="1">
        <doc xml:whitespace="preserve">Finishes an asynchronous query operation for a single entry, as started with gdata_service_query_single_entry_async().</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a #GDataEntry, or %NULL; unref with g_object_unref()</doc>
          <type name="Entry" c:type="GDataEntry*"/>
        </return-value>
        <parameters>
          <parameter name="async_result" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GAsyncResult</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_locale"
              c:identifier="gdata_service_set_locale"
              version="0.7.0">
        <doc xml:whitespace="preserve">Set the locale used for network requests to @locale, given in standard Unix locale format. See #GDataService:locale for more details.
Note that while it's possible to change the locale after sending network requests, it is unsupported, as the server-side software may behave
unexpectedly. The only supported use of this function is after creation of a service, but before any network requests are made.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="locale" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the new locale in Unix locale format, or %NULL for the default locale</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_proxy_uri"
              c:identifier="gdata_service_set_proxy_uri"
              version="0.2.0">
        <doc xml:whitespace="preserve">Sets the proxy URI on the #SoupSession used internally by the given #GDataService.
This forces all requests through the given proxy.
If @proxy_uri is %NULL, no proxy will be used.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="proxy_uri" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the proxy URI, or %NULL</doc>
            <type name="Soup.URI" c:type="SoupURI*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_timeout"
              c:identifier="gdata_service_set_timeout"
              version="0.7.0">
        <doc xml:whitespace="preserve">Sets the #GDataService:timeout property; the network timeout, in seconds.
If @timeout is &lt;code class="literal"&gt;0&lt;/code&gt;, network operations will never time out.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="timeout" transfer-ownership="none">
            <doc xml:whitespace="preserve">the timeout, or &lt;code class="literal"&gt;0&lt;/code&gt;</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="update_entry"
              c:identifier="gdata_service_update_entry"
              version="0.2.0"
              throws="1">
        <doc xml:whitespace="preserve">Updates @entry by PUTting it to its &lt;literal&gt;edit&lt;/literal&gt; link's URI. For more information about the concept of updating entries, see
the &lt;ulink type="http" url="http://code.google.com/apis/gdata/docs/2.0/basics.html#UpdatingEntry"&gt;online documentation&lt;/ulink&gt; for the GData
protocol.
The service will return an updated version of the entry, which is the return value of this function on success.
If @cancellable is not %NULL, then the operation can be cancelled by triggering the @cancellable object from another thread.
If the operation was cancelled before or during network activity, the error %G_IO_ERROR_CANCELLED will be returned. Cancellation has no effect
after network activity has finished, however, and the update will return successfully (or return an error sent by the server) if it is first
cancelled after network activity has finished. See the &lt;link linkend="cancellable-support"&gt;overview of cancellation&lt;/link&gt; for
more details.
If there is an error updating the entry, a %GDATA_SERVICE_ERROR_PROTOCOL_ERROR error will be returned. Currently, subclasses
&lt;emphasis&gt;cannot&lt;/emphasis&gt; cannot override this or provide more specific errors.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">an updated #GDataEntry, or %NULL; unref with g_object_unref()</doc>
          <type name="Entry" c:type="GDataEntry*"/>
        </return-value>
        <parameters>
          <parameter name="entry" transfer-ownership="none">
            <doc xml:whitespace="preserve">the #GDataEntry to update</doc>
            <type name="Entry" c:type="GDataEntry*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="update_entry_async"
              c:identifier="gdata_service_update_entry_async"
              version="0.3.0">
        <doc xml:whitespace="preserve">Updates @entry by PUTting it to its &lt;literal&gt;edit&lt;/literal&gt; link's URI. @self and
For more details, see gdata_service_update_entry(), which is the synchronous version of this function.
When the operation is finished, @callback will be called. You can then call gdata_service_update_entry_finish()
to get the results of the operation.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="entry" transfer-ownership="none">
            <doc xml:whitespace="preserve">the #GDataEntry to update</doc>
            <type name="Entry" c:type="GDataEntry*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="async"
                     closure="3">
            <doc xml:whitespace="preserve">a #GAsyncReadyCallback to call when the update is finished, or %NULL</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="update_entry_finish"
              c:identifier="gdata_service_update_entry_finish"
              version="0.3.0"
              throws="1">
        <doc xml:whitespace="preserve">Finishes an asynchronous entry update operation started with gdata_service_update_entry_async().</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">an updated #GDataEntry, or %NULL; unref with g_object_unref()</doc>
          <type name="Entry" c:type="GDataEntry*"/>
        </return-value>
        <parameters>
          <parameter name="async_result" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GAsyncResult</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <property name="authenticated" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="client-id"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="locale" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="password" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="proxy-uri" writable="1" transfer-ownership="none">
        <type name="Soup.URI"/>
      </property>
      <property name="timeout" writable="1" transfer-ownership="none">
        <type name="guint"/>
      </property>
      <property name="username" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="ServicePrivate" c:type="GDataServicePrivate*"/>
      </field>
      <glib:signal name="captcha-challenge">
        <return-value transfer-ownership="full">
          <type name="utf8"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="utf8"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="ServiceClass"
            c:type="GDataServiceClass"
            glib:is-gtype-struct-for="Service">
      <doc xml:whitespace="preserve">The class structure for the #GDataService type.</doc>
      <field name="parent">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="service_name">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="authentication_uri">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="api_version">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="feed_type">
        <type name="GType" c:type="GType"/>
      </field>
      <field name="parse_authentication_response">
        <callback name="parse_authentication_response" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Service" c:type="GDataService*"/>
            </parameter>
            <parameter name="status" transfer-ownership="none">
              <type name="guint" c:type="guint"/>
            </parameter>
            <parameter name="response_body" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="length" transfer-ownership="none">
              <type name="gint" c:type="gint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="append_query_headers">
        <callback name="append_query_headers">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Service" c:type="GDataService*"/>
            </parameter>
            <parameter name="message" transfer-ownership="none">
              <type name="Soup.Message" c:type="SoupMessage*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="parse_error_response">
        <callback name="parse_error_response" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Service" c:type="GDataService*"/>
            </parameter>
            <parameter name="operation_type" transfer-ownership="none">
              <type name="OperationType" c:type="GDataOperationType"/>
            </parameter>
            <parameter name="status" transfer-ownership="none">
              <type name="guint" c:type="guint"/>
            </parameter>
            <parameter name="reason_phrase" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="response_body" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="length" transfer-ownership="none">
              <type name="gint" c:type="gint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <enumeration name="ServiceError"
                 glib:type-name="GDataServiceError"
                 glib:get-type="gdata_service_error_get_type"
                 c:type="GDataServiceError">
      <doc xml:whitespace="preserve">Error codes for #GDataService operations.</doc>
      <member name="unavailable"
              value="1"
              c:identifier="GDATA_SERVICE_ERROR_UNAVAILABLE"
              glib:nick="unavailable"/>
      <member name="protocol_error"
              value="2"
              c:identifier="GDATA_SERVICE_ERROR_PROTOCOL_ERROR"
              glib:nick="protocol-error"/>
      <member name="entry_already_inserted"
              value="3"
              c:identifier="GDATA_SERVICE_ERROR_ENTRY_ALREADY_INSERTED"
              glib:nick="entry-already-inserted"/>
      <member name="authentication_required"
              value="4"
              c:identifier="GDATA_SERVICE_ERROR_AUTHENTICATION_REQUIRED"
              glib:nick="authentication-required"/>
      <member name="not_found"
              value="5"
              c:identifier="GDATA_SERVICE_ERROR_NOT_FOUND"
              glib:nick="not-found"/>
      <member name="conflict"
              value="6"
              c:identifier="GDATA_SERVICE_ERROR_CONFLICT"
              glib:nick="conflict"/>
      <member name="forbidden"
              value="7"
              c:identifier="GDATA_SERVICE_ERROR_FORBIDDEN"
              glib:nick="forbidden"/>
      <member name="bad_query_parameter"
              value="8"
              c:identifier="GDATA_SERVICE_ERROR_BAD_QUERY_PARAMETER"
              glib:nick="bad-query-parameter"/>
      <member name="network_error"
              value="9"
              c:identifier="GDATA_SERVICE_ERROR_NETWORK_ERROR"
              glib:nick="network-error"/>
      <member name="proxy_error"
              value="10"
              c:identifier="GDATA_SERVICE_ERROR_PROXY_ERROR"
              glib:nick="proxy-error"/>
      <member name="with_batch_operation"
              value="11"
              c:identifier="GDATA_SERVICE_ERROR_WITH_BATCH_OPERATION"
              glib:nick="with-batch-operation"/>
    </enumeration>
    <record name="ServicePrivate" c:type="GDataServicePrivate" disguised="1">
    </record>
    <class name="UploadStream"
           c:symbol-prefix="upload_stream"
           c:type="GDataUploadStream"
           version="0.5.0"
           parent="Gio.OutputStream"
           glib:type-name="GDataUploadStream"
           glib:get-type="gdata_upload_stream_get_type"
           glib:type-struct="UploadStreamClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataUploadStream structure are private and should never be accessed directly.</doc>
      <constructor name="new"
                   c:identifier="gdata_upload_stream_new"
                   version="0.8.0">
        <doc xml:whitespace="preserve">Creates a new #GDataUploadStream, allowing a file to be uploaded from a GData service using standard #GOutputStream API.
The HTTP method to use should be specified in @method, and will typically be either %SOUP_METHOD_POST (for insertions) or %SOUP_METHOD_PUT
(for updates), according to the server and the @upload_uri.
If @entry is specified, it will be attached to the upload as the entry to which the file being uploaded belongs. Otherwise, just the file
written to the stream will be uploaded, and given a default entry as determined by the server.
file, which will typically be stored on the server and made available when downloading the file again. @content_type must be the correct
content type for the file, and should be in the service's list of acceptable content types.
As well as the standard GIO errors, calls to the #GOutputStream API on a #GDataUploadStream can also return any relevant specific error from
#GDataServiceError, or %GDATA_SERVICE_ERROR_PROTOCOL_ERROR in the general case.
If a #GCancellable is provided in @cancellable, the upload operation may be cancelled at any time from another thread using g_cancellable_cancel().
In this case, any ongoing network activity will be stopped, and any pending or future calls to #GOutputStream API on the #GDataUploadStream will
return %G_IO_ERROR_CANCELLED. Note that the #GCancellable objects which can be passed to individual #GOutputStream operations will not cancel the
upload operation proper if cancelled — they will merely cancel that API call. The only way to cancel the upload operation completely is using this
Note that network communication won't begin until the first call to g_output_stream_write() on the #GDataUploadStream.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GOutputStream, or %NULL; unref with g_object_unref()</doc>
          <type name="Gio.OutputStream" c:type="GOutputStream*"/>
        </return-value>
        <parameters>
          <parameter name="service" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GDataService</doc>
            <type name="Service" c:type="GDataService*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:whitespace="preserve">the HTTP method to use</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="upload_uri" transfer-ownership="none">
            <doc xml:whitespace="preserve">the URI to upload</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="entry" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the entry to upload as metadata, or %NULL</doc>
            <type name="Entry" c:type="GDataEntry*"/>
          </parameter>
          <parameter name="slug" transfer-ownership="none">
            <doc xml:whitespace="preserve">the file's slug (filename)</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="content_type" transfer-ownership="none">
            <doc xml:whitespace="preserve">the content type of the file being uploaded</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">a #GCancellable for the entire upload stream, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_cancellable"
              c:identifier="gdata_upload_stream_get_cancellable"
              version="0.8.0">
        <doc xml:whitespace="preserve">Gets the #GCancellable for the entire upload operation, #GDataUploadStream:cancellable.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the #GCancellable for the entire upload operation</doc>
          <type name="Gio.Cancellable" c:type="GCancellable*"/>
        </return-value>
      </method>
      <method name="get_content_type"
              c:identifier="gdata_upload_stream_get_content_type"
              version="0.5.0">
        <doc xml:whitespace="preserve">Gets the content type of the file being uploaded.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the content type of the file being uploaded</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_entry"
              c:identifier="gdata_upload_stream_get_entry"
              version="0.5.0">
        <doc xml:whitespace="preserve">Gets the entry being used to upload metadata, if one was passed to gdata_upload_stream_new().</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the entry used for metadata, or %NULL</doc>
          <type name="Entry" c:type="GDataEntry*"/>
        </return-value>
      </method>
      <method name="get_method"
              c:identifier="gdata_upload_stream_get_method"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets the HTTP request method being used to upload the file, as passed to gdata_upload_stream_new().</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the HTTP request method in use</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_response"
              c:identifier="gdata_upload_stream_get_response"
              version="0.5.0">
        <doc xml:whitespace="preserve">Returns the server's response to the upload operation performed by the #GDataUploadStream. If the operation
is still underway, or the server's response hasn't been received yet, %NULL is returned and @length is set to &lt;code class="literal"&gt;-1&lt;/code&gt;.
If there was an error during the upload operation (but it is complete), %NULL is returned, and @length is set to &lt;code class="literal"&gt;0&lt;/code&gt;.
While it is safe to call this function from any thread at any time during the network operation, the only way to guarantee that the response has
been set before calling this function is to have closed the #GDataUploadStream by calling g_output_stream_close() on it, without cancelling
the close operation. Once the stream has been closed, all network communication is guaranteed to have finished. Note that if a call to
g_output_stream_close() is cancelled, g_output_stream_is_closed() will immediately start to return %TRUE, even if the #GDataUploadStream is still
attempting to flush the network buffers asynchronously — consequently, gdata_upload_stream_get_response() may still return %NULL and a @length of
&lt;code class="literal"&gt;-1&lt;/code&gt;. The only reliable way to determine if the stream has been fully closed in this situation is to check the results
of gdata_upload_stream_get_response(), rather than g_output_stream_is_closed().</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the server's response to the upload, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="length"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">return location for the length of the response, or %NULL</doc>
            <type name="gssize" c:type="gssize*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_service"
              c:identifier="gdata_upload_stream_get_service"
              version="0.5.0">
        <doc xml:whitespace="preserve">Gets the service used to authenticate the upload, as passed to gdata_upload_stream_new().</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the #GDataService used to authenticate the upload</doc>
          <type name="Service" c:type="GDataService*"/>
        </return-value>
      </method>
      <method name="get_slug"
              c:identifier="gdata_upload_stream_get_slug"
              version="0.5.0">
        <doc xml:whitespace="preserve">Gets the slug (filename) of the file being uploaded.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the slug of the file being uploaded</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_upload_uri"
              c:identifier="gdata_upload_stream_get_upload_uri"
              version="0.5.0">
        <doc xml:whitespace="preserve">Gets the URI the file is being uploaded to, as passed to gdata_upload_stream_new().</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the URI which the file is being uploaded to</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <property name="cancellable"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Gio.Cancellable"/>
      </property>
      <property name="content-type"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="entry"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Entry"/>
      </property>
      <property name="method"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="service"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Service"/>
      </property>
      <property name="slug"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="upload-uri"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <field name="parent">
        <type name="Gio.OutputStream" c:type="GOutputStream"/>
      </field>
      <field name="priv">
        <type name="UploadStreamPrivate" c:type="GDataUploadStreamPrivate*"/>
      </field>
    </class>
    <record name="UploadStreamClass"
            c:type="GDataUploadStreamClass"
            glib:is-gtype-struct-for="UploadStream"
            version="0.5.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataUploadStreamClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="Gio.OutputStreamClass" c:type="GOutputStreamClass"/>
      </field>
    </record>
    <record name="UploadStreamPrivate"
            c:type="GDataUploadStreamPrivate"
            disguised="1">
    </record>
    <constant name="YOUTUBE_ACTION_COMMENT" value="comment">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="YOUTUBE_ACTION_COMMENT_VOTE" value="commentVote">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="YOUTUBE_ACTION_EMBED" value="embed">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="YOUTUBE_ACTION_RATE" value="rate">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="YOUTUBE_ACTION_SYNDICATE" value="syndicate">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="YOUTUBE_ACTION_VIDEO_RESPOND" value="videoRespond">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="YOUTUBE_ASPECT_RATIO_WIDESCREEN" value="widescreen">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="YOUTUBE_CREDIT_ENTITY_PARTNER" value="partner">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <enumeration name="YouTubeAge"
                 version="0.3.0"
                 glib:type-name="GDataYouTubeAge"
                 glib:get-type="gdata_youtube_age_get_type"
                 c:type="GDataYouTubeAge">
      <doc xml:whitespace="preserve">Video ages, allowing queries to be limited to videos uploaded in a recent time period.</doc>
      <member name="all_time"
              value="0"
              c:identifier="GDATA_YOUTUBE_AGE_ALL_TIME"
              glib:nick="all-time"/>
      <member name="today"
              value="1"
              c:identifier="GDATA_YOUTUBE_AGE_TODAY"
              glib:nick="today"/>
      <member name="this_week"
              value="2"
              c:identifier="GDATA_YOUTUBE_AGE_THIS_WEEK"
              glib:nick="this-week"/>
      <member name="this_month"
              value="3"
              c:identifier="GDATA_YOUTUBE_AGE_THIS_MONTH"
              glib:nick="this-month"/>
    </enumeration>
    <class name="YouTubeCategory"
           c:symbol-prefix="youtube_category"
           c:type="GDataYouTubeCategory"
           version="0.7.0"
           parent="Category"
           glib:type-name="GDataYouTubeCategory"
           glib:get-type="gdata_youtube_category_get_type"
           glib:type-struct="YouTubeCategoryClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataYouTubeCategory structure are private and should never be accessed directly.</doc>
      <implements name="Comparable"/>
      <method name="is_assignable"
              c:identifier="gdata_youtube_category_is_assignable"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets the #GDataYouTubeCategory:is-assignable property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">whether new videos can be assigned to the category</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="is_browsable"
              c:identifier="gdata_youtube_category_is_browsable"
              version="0.7.0">
        <doc xml:whitespace="preserve">Returns whether the category is browsable in the given @region. The list of supported region IDs is
&lt;ulink type="http" url="http://code.google.com/apis/youtube/2.0/reference.html#Region_specific_feeds"&gt;available online&lt;/ulink&gt;.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">whether the category is browsable in @region</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="region" transfer-ownership="none">
            <doc xml:whitespace="preserve">a two-letter region ID</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="is_deprecated"
              c:identifier="gdata_youtube_category_is_deprecated"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets the #GDataYouTubeCategory:is-deprecated property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">whether the category is deprecated</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <property name="is-assignable" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="is-deprecated" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <field name="parent">
        <type name="Category" c:type="GDataCategory"/>
      </field>
      <field name="priv">
        <type name="YouTubeCategoryPrivate"
              c:type="GDataYouTubeCategoryPrivate*"/>
      </field>
    </class>
    <record name="YouTubeCategoryClass"
            c:type="GDataYouTubeCategoryClass"
            glib:is-gtype-struct-for="YouTubeCategory"
            version="0.7.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataYouTubeCategoryClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="CategoryClass" c:type="GDataCategoryClass"/>
      </field>
    </record>
    <record name="YouTubeCategoryPrivate"
            c:type="GDataYouTubeCategoryPrivate"
            disguised="1">
    </record>
    <class name="YouTubeContent"
           c:symbol-prefix="youtube_content"
           c:type="GDataYouTubeContent"
           version="0.4.0"
           parent="MediaContent"
           glib:type-name="GDataYouTubeContent"
           glib:get-type="gdata_youtube_content_get_type"
           glib:type-struct="YouTubeContentClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataYouTubeContent structure are private and should never be accessed directly.</doc>
      <method name="get_format"
              c:identifier="gdata_youtube_content_get_format"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataYouTubeContent:format property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the video format, or %GDATA_YOUTUBE_FORMAT_UNKNOWN</doc>
          <type name="YouTubeFormat" c:type="GDataYouTubeFormat"/>
        </return-value>
      </method>
      <property name="format" transfer-ownership="none">
        <type name="YouTubeFormat"/>
      </property>
      <field name="parent">
        <type name="MediaContent" c:type="GDataMediaContent"/>
      </field>
      <field name="priv">
        <type name="YouTubeContentPrivate"
              c:type="GDataYouTubeContentPrivate*"/>
      </field>
    </class>
    <record name="YouTubeContentClass"
            c:type="GDataYouTubeContentClass"
            glib:is-gtype-struct-for="YouTubeContent"
            version="0.4.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataYouTubeContentClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="MediaContentClass" c:type="GDataMediaContentClass"/>
      </field>
    </record>
    <record name="YouTubeContentPrivate"
            c:type="GDataYouTubeContentPrivate"
            disguised="1">
    </record>
    <class name="YouTubeCredit"
           c:symbol-prefix="youtube_credit"
           c:type="GDataYouTubeCredit"
           version="0.4.0"
           parent="MediaCredit"
           glib:type-name="GDataYouTubeCredit"
           glib:get-type="gdata_youtube_credit_get_type"
           glib:type-struct="YouTubeCreditClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataYouTubeCredit structure are private and should never be accessed directly.</doc>
      <method name="get_entity_type"
              c:identifier="gdata_youtube_credit_get_entity_type"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataYouTubeCredit:entity-type property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the type of the credited user (e.g. %GDATA_YOUTUBE_CREDIT_ENTITY_PARTNER), or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <property name="entity-type" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <field name="parent">
        <type name="MediaCredit" c:type="GDataMediaCredit"/>
      </field>
      <field name="priv">
        <type name="YouTubeCreditPrivate" c:type="GDataYouTubeCreditPrivate*"/>
      </field>
    </class>
    <record name="YouTubeCreditClass"
            c:type="GDataYouTubeCreditClass"
            glib:is-gtype-struct-for="YouTubeCredit"
            version="0.4.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataYouTubeCreditClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="MediaCreditClass" c:type="GDataMediaCreditClass"/>
      </field>
    </record>
    <record name="YouTubeCreditPrivate"
            c:type="GDataYouTubeCreditPrivate"
            disguised="1">
    </record>
    <enumeration name="YouTubeFormat"
                 version="0.3.0"
                 glib:type-name="GDataYouTubeFormat"
                 glib:get-type="gdata_youtube_format_get_type"
                 c:type="GDataYouTubeFormat">
      <doc xml:whitespace="preserve">Video formats available on YouTube. For more information, see the
&lt;ulink type="http" url="http://code.google.com/apis/youtube/2.0/reference.html#formatsp"&gt;online documentation&lt;/ulink&gt;.</doc>
      <member name="unknown"
              value="0"
              c:identifier="GDATA_YOUTUBE_FORMAT_UNKNOWN"
              glib:nick="unknown"/>
      <member name="rtsp_h263_amr"
              value="1"
              c:identifier="GDATA_YOUTUBE_FORMAT_RTSP_H263_AMR"
              glib:nick="rtsp-h263-amr"/>
      <member name="http_swf"
              value="5"
              c:identifier="GDATA_YOUTUBE_FORMAT_HTTP_SWF"
              glib:nick="http-swf"/>
      <member name="rtsp_mpeg4_aac"
              value="6"
              c:identifier="GDATA_YOUTUBE_FORMAT_RTSP_MPEG4_AAC"
              glib:nick="rtsp-mpeg4-aac"/>
    </enumeration>
    <enumeration name="YouTubePermission"
                 version="0.7.0"
                 glib:type-name="GDataYouTubePermission"
                 glib:get-type="gdata_youtube_permission_get_type"
                 c:type="GDataYouTubePermission">
      <doc xml:whitespace="preserve">Permissions for actions which can be set on a #GDataYouTubeVideo using gdata_youtube_video_set_access_control().
The only actions which can have the %GDATA_YOUTUBE_PERMISSION_MODERATED permission are
%GDATA_YOUTUBE_ACTION_RATE and %GDATA_YOUTUBE_ACTION_COMMENT.</doc>
      <member name="allowed"
              value="0"
              c:identifier="GDATA_YOUTUBE_PERMISSION_ALLOWED"
              glib:nick="allowed"/>
      <member name="denied"
              value="1"
              c:identifier="GDATA_YOUTUBE_PERMISSION_DENIED"
              glib:nick="denied"/>
      <member name="moderated"
              value="2"
              c:identifier="GDATA_YOUTUBE_PERMISSION_MODERATED"
              glib:nick="moderated"/>
    </enumeration>
    <class name="YouTubeQuery"
           c:symbol-prefix="youtube_query"
           c:type="GDataYouTubeQuery"
           version="0.3.0"
           parent="Query"
           glib:type-name="GDataYouTubeQuery"
           glib:get-type="gdata_youtube_query_get_type"
           glib:type-struct="YouTubeQueryClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataYouTubeQuery structure are private and should never be accessed directly.</doc>
      <constructor name="new"
                   c:identifier="gdata_youtube_query_new"
                   version="0.3.0">
        <doc xml:whitespace="preserve">Creates a new #GDataYouTubeQuery with its #GDataQuery:q property set to @q.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GDataYouTubeQuery</doc>
          <type name="YouTubeQuery" c:type="GDataYouTubeQuery*"/>
        </return-value>
        <parameters>
          <parameter name="q" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a query string, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_age"
              c:identifier="gdata_youtube_query_get_age"
              version="0.3.0">
        <doc xml:whitespace="preserve">Gets the #GDataYouTubeQuery:age property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the age property</doc>
          <type name="YouTubeAge" c:type="GDataYouTubeAge"/>
        </return-value>
      </method>
      <method name="get_format"
              c:identifier="gdata_youtube_query_get_format"
              version="0.3.0">
        <doc xml:whitespace="preserve">Gets the #GDataYouTubeQuery:format property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the format property</doc>
          <type name="YouTubeFormat" c:type="GDataYouTubeFormat"/>
        </return-value>
      </method>
      <method name="get_language"
              c:identifier="gdata_youtube_query_get_language"
              version="0.3.0">
        <doc xml:whitespace="preserve">Gets the #GDataYouTubeQuery:language property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the language property, or %NULL if it is unset</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_location"
              c:identifier="gdata_youtube_query_get_location"
              version="0.3.0">
        <doc xml:whitespace="preserve">#GDataYouTubeQuery:location-radius and #GDataYouTubeQuery:has-location.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="latitude"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">a location in which to return the latitude, or %NULL</doc>
            <type name="gdouble" c:type="gdouble*"/>
          </parameter>
          <parameter name="longitude"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">a location in which to return the longitude, or %NULL</doc>
            <type name="gdouble" c:type="gdouble*"/>
          </parameter>
          <parameter name="radius"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">a location in which to return the location radius, or %NULL</doc>
            <type name="gdouble" c:type="gdouble*"/>
          </parameter>
          <parameter name="has_location"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">a location in which to return %TRUE if the query is searching for videos with a specific location, %FALSE otherwise, or %NULL</doc>
            <type name="gboolean" c:type="gboolean*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_order_by"
              c:identifier="gdata_youtube_query_get_order_by"
              version="0.3.0">
        <doc xml:whitespace="preserve">Gets the #GDataYouTubeQuery:order-by property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the order by property, or %NULL if it is unset</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_restriction"
              c:identifier="gdata_youtube_query_get_restriction"
              version="0.3.0">
        <doc xml:whitespace="preserve">Gets the #GDataYouTubeQuery:restriction property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the restriction property, or %NULL if it is unset</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_safe_search"
              c:identifier="gdata_youtube_query_get_safe_search"
              version="0.3.0">
        <doc xml:whitespace="preserve">Gets the #GDataYouTubeQuery:safe-search property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the safe search property</doc>
          <type name="YouTubeSafeSearch" c:type="GDataYouTubeSafeSearch"/>
        </return-value>
      </method>
      <method name="get_sort_order"
              c:identifier="gdata_youtube_query_get_sort_order"
              version="0.3.0">
        <doc xml:whitespace="preserve">Gets the #GDataYouTubeQuery:sort-order property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the sort order property</doc>
          <type name="YouTubeSortOrder" c:type="GDataYouTubeSortOrder"/>
        </return-value>
      </method>
      <method name="get_uploader"
              c:identifier="gdata_youtube_query_get_uploader"
              version="0.3.0">
        <doc xml:whitespace="preserve">Gets the #GDataYouTubeQuery:uploader property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the uploader property</doc>
          <type name="YouTubeUploader" c:type="GDataYouTubeUploader"/>
        </return-value>
      </method>
      <method name="set_age"
              c:identifier="gdata_youtube_query_set_age"
              version="0.3.0">
        <doc xml:whitespace="preserve">Sets the #GDataYouTubeQuery:age property of the #GDataYouTubeQuery to @age.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="age" transfer-ownership="none">
            <doc xml:whitespace="preserve">the new age</doc>
            <type name="YouTubeAge" c:type="GDataYouTubeAge"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_format"
              c:identifier="gdata_youtube_query_set_format"
              version="0.3.0">
        <doc xml:whitespace="preserve">Sets the #GDataYouTubeQuery:format property of the #GDataYouTubeQuery to @format.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="format" transfer-ownership="none">
            <doc xml:whitespace="preserve">the requested video format</doc>
            <type name="YouTubeFormat" c:type="GDataYouTubeFormat"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_language"
              c:identifier="gdata_youtube_query_set_language"
              version="0.3.0">
        <doc xml:whitespace="preserve">Sets the #GDataYouTubeQuery:language property of the #GDataYouTubeQuery to the new language, @language.
Set @language to %NULL to unset the property in the query URI.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="language" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a new language name, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_location"
              c:identifier="gdata_youtube_query_set_location"
              version="0.3.0">
        <doc xml:whitespace="preserve">#GDataYouTubeQuery:location-radius and #GDataYouTubeQuery:has-location.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="latitude" transfer-ownership="none">
            <doc xml:whitespace="preserve">the new latitude, or %G_MAXDOUBLE</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="longitude" transfer-ownership="none">
            <doc xml:whitespace="preserve">the new longitude, or %G_MAXDOUBLE</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="radius" transfer-ownership="none">
            <doc xml:whitespace="preserve">the new location radius, or &lt;code class="literal"&gt;0&lt;/code&gt;</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="has_location" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE if the query is for videos with a specific location, %FALSE otherwise</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_order_by"
              c:identifier="gdata_youtube_query_set_order_by"
              version="0.3.0">
        <doc xml:whitespace="preserve">Sets the #GDataYouTubeQuery:order-by property of the #GDataYouTubeQuery to the new order by string, @order_by.
Set @order_by to %NULL to unset the property in the query URI.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="order_by" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a new order by string, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_restriction"
              c:identifier="gdata_youtube_query_set_restriction"
              version="0.3.0">
        <doc xml:whitespace="preserve">Sets the #GDataYouTubeQuery:restriction property of the #GDataYouTubeQuery to the new restriction string, @restriction.
Set @restriction to %NULL to unset the property in the query URI.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="restriction"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">a new restriction string, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_safe_search"
              c:identifier="gdata_youtube_query_set_safe_search"
              version="0.3.0">
        <doc xml:whitespace="preserve">Sets the #GDataYouTubeQuery:safe-search property of the #GDataYouTubeQuery to @safe_search.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="safe_search" transfer-ownership="none">
            <doc xml:whitespace="preserve">a new safe search level</doc>
            <type name="YouTubeSafeSearch" c:type="GDataYouTubeSafeSearch"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_sort_order"
              c:identifier="gdata_youtube_query_set_sort_order"
              version="0.3.0">
        <doc xml:whitespace="preserve">Sets the #GDataYouTubeQuery:sort-order property of the #GDataYouTubeQuery to @sort_order.
Set @sort_order to %GDATA_YOUTUBE_SORT_NONE to unset the property in the query URI.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="sort_order" transfer-ownership="none">
            <doc xml:whitespace="preserve">the new sort order</doc>
            <type name="YouTubeSortOrder" c:type="GDataYouTubeSortOrder"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_uploader"
              c:identifier="gdata_youtube_query_set_uploader"
              version="0.3.0">
        <doc xml:whitespace="preserve">Sets the #GDataYouTubeQuery:uploader property of the #GDataYouTubeQuery to @uploader.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="uploader" transfer-ownership="none">
            <doc xml:whitespace="preserve">the new uploader</doc>
            <type name="YouTubeUploader" c:type="GDataYouTubeUploader"/>
          </parameter>
        </parameters>
      </method>
      <property name="age" writable="1" transfer-ownership="none">
        <type name="YouTubeAge"/>
      </property>
      <property name="format" writable="1" transfer-ownership="none">
        <type name="YouTubeFormat"/>
      </property>
      <property name="has-location" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="language" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="latitude" writable="1" transfer-ownership="none">
        <type name="gdouble"/>
      </property>
      <property name="location-radius" writable="1" transfer-ownership="none">
        <type name="gdouble"/>
      </property>
      <property name="longitude" writable="1" transfer-ownership="none">
        <type name="gdouble"/>
      </property>
      <property name="order-by" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="restriction" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="safe-search" writable="1" transfer-ownership="none">
        <type name="YouTubeSafeSearch"/>
      </property>
      <property name="sort-order" writable="1" transfer-ownership="none">
        <type name="YouTubeSortOrder"/>
      </property>
      <property name="uploader" writable="1" transfer-ownership="none">
        <type name="YouTubeUploader"/>
      </property>
      <field name="parent">
        <type name="Query" c:type="GDataQuery"/>
      </field>
      <field name="priv">
        <type name="YouTubeQueryPrivate" c:type="GDataYouTubeQueryPrivate*"/>
      </field>
    </class>
    <record name="YouTubeQueryClass"
            c:type="GDataYouTubeQueryClass"
            glib:is-gtype-struct-for="YouTubeQuery"
            version="0.3.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataYouTubeQueryClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="QueryClass" c:type="GDataQueryClass"/>
      </field>
    </record>
    <record name="YouTubeQueryPrivate"
            c:type="GDataYouTubeQueryPrivate"
            disguised="1">
    </record>
    <enumeration name="YouTubeSafeSearch"
                 version="0.3.0"
                 glib:type-name="GDataYouTubeSafeSearch"
                 glib:get-type="gdata_youtube_safe_search_get_type"
                 c:type="GDataYouTubeSafeSearch">
      <doc xml:whitespace="preserve">Safe search levels for removing restricted entries from query results. For more information, see the
&lt;ulink type="http" url="http://code.google.com/apis/youtube/2.0/reference.html#safeSearchsp"&gt;online documentation&lt;/ulink&gt;.</doc>
      <member name="none"
              value="0"
              c:identifier="GDATA_YOUTUBE_SAFE_SEARCH_NONE"
              glib:nick="none"/>
      <member name="moderate"
              value="1"
              c:identifier="GDATA_YOUTUBE_SAFE_SEARCH_MODERATE"
              glib:nick="moderate"/>
      <member name="strict"
              value="2"
              c:identifier="GDATA_YOUTUBE_SAFE_SEARCH_STRICT"
              glib:nick="strict"/>
    </enumeration>
    <class name="YouTubeService"
           c:symbol-prefix="youtube_service"
           c:type="GDataYouTubeService"
           parent="Service"
           glib:type-name="GDataYouTubeService"
           glib:get-type="gdata_youtube_service_get_type"
           glib:type-struct="YouTubeServiceClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataYouTubeService structure are private and should never be accessed directly.</doc>
      <implements name="Batchable"/>
      <constructor name="new" c:identifier="gdata_youtube_service_new">
        <doc xml:whitespace="preserve">Creates a new #GDataYouTubeService. The @developer_key and @client_id must be unique for your application, and as
&lt;ulink type="http" url="http://code.google.com/apis/youtube/2.0/developers_guide_protocol.html#Developer_Key"&gt;registered with Google&lt;/ulink&gt;.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GDataYouTubeService, or %NULL</doc>
          <type name="YouTubeService" c:type="GDataYouTubeService*"/>
        </return-value>
        <parameters>
          <parameter name="developer_key" transfer-ownership="none">
            <doc xml:whitespace="preserve">your application's developer API key</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="client_id" transfer-ownership="none">
            <doc xml:whitespace="preserve">your application's client ID</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="finish_video_upload"
              c:identifier="gdata_youtube_service_finish_video_upload"
              version="0.8.0"
              throws="1">
        <doc xml:whitespace="preserve">Finish off a video upload operation started by gdata_youtube_service_upload_video(), parsing the result and returning the new #GDataYouTubeVideo.
If an error occurred during the upload operation, it will have been returned during the operation (e.g. by g_output_stream_splice() or one
of the other stream methods). In such a case, %NULL will be returned but @error will remain unset. @error is only set in the case that the server
indicates that the operation was successful, but an error is encountered in parsing the result sent by the server.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the new #GDataYouTubeVideo, or %NULL; unref with g_object_unref()</doc>
          <type name="YouTubeVideo" c:type="GDataYouTubeVideo*"/>
        </return-value>
        <parameters>
          <parameter name="upload_stream" transfer-ownership="none">
            <doc xml:whitespace="preserve">the #GDataUploadStream from the operation</doc>
            <type name="UploadStream" c:type="GDataUploadStream*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_categories"
              c:identifier="gdata_youtube_service_get_categories"
              version="0.7.0"
              throws="1">
        <doc xml:whitespace="preserve">Gets a list of the categories currently in use on YouTube. The returned #GDataAPPCategories contains a list of #GDataYouTubeCategory&lt;!-- --&gt;s which
enumerate the current YouTube categories.
The category labels (#GDataCategory:label) are localised based on the value of #GDataService:locale.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a #GDataAPPCategories, or %NULL; unref with g_object_unref()</doc>
          <type name="APPCategories" c:type="GDataAPPCategories*"/>
        </return-value>
        <parameters>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">a #GCancellable, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_categories_async"
              c:identifier="gdata_youtube_service_get_categories_async"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets a list of the categories currently in use on YouTube. @self is reffed when this function is called, so can safely be unreffed after this
function returns.
For more details, see gdata_youtube_service_get_categories(), which is the synchronous version of this function.
When the operation is finished, @callback will be called. You can then call gdata_youtube_service_get_categories_finish() to get the results of the
operation.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="async"
                     closure="2">
            <doc xml:whitespace="preserve">a #GAsyncReadyCallback to call when the request is finished</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_categories_finish"
              c:identifier="gdata_youtube_service_get_categories_finish"
              version="0.7.0"
              throws="1">
        <doc xml:whitespace="preserve">Finishes an asynchronous request for a list of categories on YouTube, as started with gdata_youtube_service_get_categories_async().</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a #GDataAPPCategories, or %NULL; unref with g_object_unref()</doc>
          <type name="APPCategories" c:type="GDataAPPCategories*"/>
        </return-value>
        <parameters>
          <parameter name="async_result" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GAsyncResult</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_developer_key"
              c:identifier="gdata_youtube_service_get_developer_key">
        <doc xml:whitespace="preserve">Gets the #GDataYouTubeService:developer-key property from the #GDataYouTubeService.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the developer key property</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="query_related"
              c:identifier="gdata_youtube_service_query_related"
              throws="1">
        <doc xml:whitespace="preserve">Queries the service for videos related to @video. The algorithm determining which videos are related is on the server side.
If @video does not have a link with rel value &lt;literal&gt;http://gdata.youtube.com/schemas/2007#video.related&lt;/literal&gt;, a
%GDATA_SERVICE_ERROR_PROTOCOL_ERROR error will be thrown. Parameters and other errors are as for gdata_service_query().</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a #GDataFeed of query results; unref with g_object_unref()</doc>
          <type name="Feed" c:type="GDataFeed*"/>
        </return-value>
        <parameters>
          <parameter name="video" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GDataYouTubeVideo for which to find related videos</doc>
            <type name="YouTubeVideo" c:type="GDataYouTubeVideo*"/>
          </parameter>
          <parameter name="query" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a #GDataQuery with the query parameters, or %NULL</doc>
            <type name="Query" c:type="GDataQuery*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="progress_callback"
                     transfer-ownership="none"
                     scope="call"
                     closure="4">
            <doc xml:whitespace="preserve">a #GDataQueryProgressCallback to call when an entry is loaded, or %NULL</doc>
            <type name="QueryProgressCallback"
                  c:type="GDataQueryProgressCallback"/>
          </parameter>
          <parameter name="progress_user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @progress_callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="query_related_async"
              c:identifier="gdata_youtube_service_query_related_async"
              introspectable="0">
        <doc xml:whitespace="preserve">Queries the service for videos related to @video. The algorithm determining which videos are related is on the server side.
For more details, see gdata_youtube_service_query_related(), which is the synchronous version of this function.
When the operation is finished, @callback will be called. You can then call gdata_service_query_finish()
to get the results of the operation.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="video" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GDataYouTubeVideo for which to find related videos</doc>
            <type name="YouTubeVideo" c:type="GDataYouTubeVideo*"/>
          </parameter>
          <parameter name="query" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a #GDataQuery with the query parameters, or %NULL</doc>
            <type name="Query" c:type="GDataQuery*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="progress_callback"
                     transfer-ownership="none"
                     closure="4">
            <doc xml:whitespace="preserve">a #GDataQueryProgressCallback to call when an entry is loaded, or %NULL</doc>
            <type name="QueryProgressCallback"
                  c:type="GDataQueryProgressCallback"/>
          </parameter>
          <parameter name="progress_user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @progress_callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="async"
                     closure="6">
            <doc xml:whitespace="preserve">a #GAsyncReadyCallback to call when authentication is finished</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="query_standard_feed"
              c:identifier="gdata_youtube_service_query_standard_feed"
              throws="1">
        <doc xml:whitespace="preserve">Queries the service's standard @feed_type feed to build a #GDataFeed.
Parameters and errors are as for gdata_service_query().</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a #GDataFeed of query results, or %NULL; unref with g_object_unref()</doc>
          <type name="Feed" c:type="GDataFeed*"/>
        </return-value>
        <parameters>
          <parameter name="feed_type" transfer-ownership="none">
            <doc xml:whitespace="preserve">the feed type to query, from #GDataYouTubeStandardFeedType</doc>
            <type name="YouTubeStandardFeedType"
                  c:type="GDataYouTubeStandardFeedType"/>
          </parameter>
          <parameter name="query" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a #GDataQuery with the query parameters, or %NULL</doc>
            <type name="Query" c:type="GDataQuery*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="progress_callback"
                     transfer-ownership="none"
                     scope="call"
                     closure="4">
            <doc xml:whitespace="preserve">a #GDataQueryProgressCallback to call when an entry is loaded, or %NULL</doc>
            <type name="QueryProgressCallback"
                  c:type="GDataQueryProgressCallback"/>
          </parameter>
          <parameter name="progress_user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @progress_callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="query_standard_feed_async"
              c:identifier="gdata_youtube_service_query_standard_feed_async"
              introspectable="0">
        <doc xml:whitespace="preserve">Queries the service's standard @feed_type feed to build a #GDataFeed. @self and
For more details, see gdata_youtube_service_query_standard_feed(), which is the synchronous version of this function.
When the operation is finished, @callback will be called. You can then call gdata_service_query_finish()
to get the results of the operation.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="feed_type" transfer-ownership="none">
            <doc xml:whitespace="preserve">the feed type to query, from #GDataYouTubeStandardFeedType</doc>
            <type name="YouTubeStandardFeedType"
                  c:type="GDataYouTubeStandardFeedType"/>
          </parameter>
          <parameter name="query" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a #GDataQuery with the query parameters, or %NULL</doc>
            <type name="Query" c:type="GDataQuery*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="progress_callback"
                     transfer-ownership="none"
                     closure="4">
            <doc xml:whitespace="preserve">a #GDataQueryProgressCallback to call when an entry is loaded, or %NULL</doc>
            <type name="QueryProgressCallback"
                  c:type="GDataQueryProgressCallback"/>
          </parameter>
          <parameter name="progress_user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @progress_callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="async"
                     closure="6">
            <doc xml:whitespace="preserve">a #GAsyncReadyCallback to call when authentication is finished</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="query_videos"
              c:identifier="gdata_youtube_service_query_videos"
              throws="1">
        <doc xml:whitespace="preserve">Queries the service for videos matching the parameters set on the #GDataQuery. This searches site-wide, and imposes no other restrictions or
parameters on the query.
Parameters and errors are as for gdata_service_query().</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a #GDataFeed of query results, or %NULL; unref with g_object_unref()</doc>
          <type name="Feed" c:type="GDataFeed*"/>
        </return-value>
        <parameters>
          <parameter name="query" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a #GDataQuery with the query parameters, or %NULL</doc>
            <type name="Query" c:type="GDataQuery*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="progress_callback"
                     transfer-ownership="none"
                     scope="call"
                     closure="3">
            <doc xml:whitespace="preserve">a #GDataQueryProgressCallback to call when an entry is loaded, or %NULL</doc>
            <type name="QueryProgressCallback"
                  c:type="GDataQueryProgressCallback"/>
          </parameter>
          <parameter name="progress_user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @progress_callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="query_videos_async"
              c:identifier="gdata_youtube_service_query_videos_async"
              introspectable="0">
        <doc xml:whitespace="preserve">Queries the service for videos matching the parameters set on the #GDataQuery. This searches site-wide, and imposes no other restrictions or
parameters on the query. @self and @query are both reffed when this function is called, so can safely be freed after this function returns.
For more details, see gdata_youtube_service_query_videos(), which is the synchronous version of this function.
When the operation is finished, @callback will be called. You can then call gdata_service_query_finish()
to get the results of the operation.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="query" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a #GDataQuery with the query parameters, or %NULL</doc>
            <type name="Query" c:type="GDataQuery*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="progress_callback"
                     transfer-ownership="none"
                     closure="3">
            <doc xml:whitespace="preserve">a #GDataQueryProgressCallback to call when an entry is loaded, or %NULL</doc>
            <type name="QueryProgressCallback"
                  c:type="GDataQueryProgressCallback"/>
          </parameter>
          <parameter name="progress_user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @progress_callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="async"
                     closure="5">
            <doc xml:whitespace="preserve">a #GAsyncReadyCallback to call when authentication is finished</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data to pass to the @callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="upload_video"
              c:identifier="gdata_youtube_service_upload_video"
              version="0.8.0"
              throws="1">
        <doc xml:whitespace="preserve">Uploads a video to YouTube, using the properties from @video and the file data written to the resulting #GDataUploadStream.
If @video has already been inserted, a %GDATA_SERVICE_ERROR_ENTRY_ALREADY_INSERTED error will be returned. If no user is authenticated
with the service, %GDATA_SERVICE_ERROR_AUTHENTICATION_REQUIRED will be returned.
The stream returned by this function should be written to using the standard #GOutputStream methods, asychronously or synchronously. Once the stream
is closed (using g_output_stream_close()), gdata_youtube_service_finish_video_upload() should be called on it to parse and return the updated
#GDataYouTubeVideo for the uploaded video. This must be done, as @video isn't updated in-place.
In order to cancel the upload, a #GCancellable passed in to @cancellable must be cancelled using g_cancellable_cancel(). Cancelling the individual
#GOutputStream operations on the #GDataUploadStream will not cancel the entire upload; merely the write or close operation in question. See the
#GDataUploadStream:cancellable for more details.
Any upload errors will be thrown by the stream methods, and may come from the #GDataServiceError domain.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a #GDataUploadStream to write the video data to, or %NULL; unref with g_object_unref()</doc>
          <type name="UploadStream" c:type="GDataUploadStream*"/>
        </return-value>
        <parameters>
          <parameter name="video" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GDataYouTubeVideo to insert</doc>
            <type name="YouTubeVideo" c:type="GDataYouTubeVideo*"/>
          </parameter>
          <parameter name="slug" transfer-ownership="none">
            <doc xml:whitespace="preserve">the filename to give to the uploaded file</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="content_type" transfer-ownership="none">
            <doc xml:whitespace="preserve">the content type of the uploaded data</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">a #GCancellable for the entire upload stream, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <property name="developer-key"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <field name="parent">
        <type name="Service" c:type="GDataService"/>
      </field>
      <field name="priv">
        <type name="YouTubeServicePrivate"
              c:type="GDataYouTubeServicePrivate*"/>
      </field>
    </class>
    <record name="YouTubeServiceClass"
            c:type="GDataYouTubeServiceClass"
            glib:is-gtype-struct-for="YouTubeService">
      <doc xml:whitespace="preserve">All the fields in the #GDataYouTubeServiceClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="ServiceClass" c:type="GDataServiceClass"/>
      </field>
    </record>
    <enumeration name="YouTubeServiceError"
                 glib:type-name="GDataYouTubeServiceError"
                 glib:get-type="gdata_youtube_service_error_get_type"
                 c:type="GDataYouTubeServiceError">
      <doc xml:whitespace="preserve">Error codes for #GDataYouTubeService operations.</doc>
      <member name="api_quota_exceeded"
              value="0"
              c:identifier="GDATA_YOUTUBE_SERVICE_ERROR_API_QUOTA_EXCEEDED"
              glib:nick="api-quota-exceeded"/>
      <member name="entry_quota_exceeded"
              value="1"
              c:identifier="GDATA_YOUTUBE_SERVICE_ERROR_ENTRY_QUOTA_EXCEEDED"
              glib:nick="entry-quota-exceeded"/>
    </enumeration>
    <record name="YouTubeServicePrivate"
            c:type="GDataYouTubeServicePrivate"
            disguised="1">
    </record>
    <enumeration name="YouTubeSortOrder"
                 version="0.3.0"
                 glib:type-name="GDataYouTubeSortOrder"
                 glib:get-type="gdata_youtube_sort_order_get_type"
                 c:type="GDataYouTubeSortOrder">
      <doc xml:whitespace="preserve">Sort orders for the search results from queries. They specify the order of the designated order field.</doc>
      <member name="none"
              value="0"
              c:identifier="GDATA_YOUTUBE_SORT_NONE"
              glib:nick="none"/>
      <member name="ascending"
              value="1"
              c:identifier="GDATA_YOUTUBE_SORT_ASCENDING"
              glib:nick="ascending"/>
      <member name="descending"
              value="2"
              c:identifier="GDATA_YOUTUBE_SORT_DESCENDING"
              glib:nick="descending"/>
    </enumeration>
    <enumeration name="YouTubeStandardFeedType"
                 glib:type-name="GDataYouTubeStandardFeedType"
                 glib:get-type="gdata_youtube_standard_feed_type_get_type"
                 c:type="GDataYouTubeStandardFeedType">
      <doc xml:whitespace="preserve">Standard feed types for standard feed queries with gdata_youtube_service_query_standard_feed(). For more information, see
the &lt;ulink type="http" url="http://code.google.com/apis/youtube/2.0/developers_guide_protocol.html#Standard_feeds"&gt;online documentation&lt;/ulink&gt;.</doc>
      <member name="top_rated_feed"
              value="0"
              c:identifier="GDATA_YOUTUBE_TOP_RATED_FEED"
              glib:nick="top-rated-feed"/>
      <member name="top_favorites_feed"
              value="1"
              c:identifier="GDATA_YOUTUBE_TOP_FAVORITES_FEED"
              glib:nick="top-favorites-feed"/>
      <member name="most_viewed_feed"
              value="2"
              c:identifier="GDATA_YOUTUBE_MOST_VIEWED_FEED"
              glib:nick="most-viewed-feed"/>
      <member name="most_popular_feed"
              value="3"
              c:identifier="GDATA_YOUTUBE_MOST_POPULAR_FEED"
              glib:nick="most-popular-feed"/>
      <member name="most_recent_feed"
              value="4"
              c:identifier="GDATA_YOUTUBE_MOST_RECENT_FEED"
              glib:nick="most-recent-feed"/>
      <member name="most_discussed_feed"
              value="5"
              c:identifier="GDATA_YOUTUBE_MOST_DISCUSSED_FEED"
              glib:nick="most-discussed-feed"/>
      <member name="most_linked_feed"
              value="6"
              c:identifier="GDATA_YOUTUBE_MOST_LINKED_FEED"
              glib:nick="most-linked-feed"/>
      <member name="most_responded_feed"
              value="7"
              c:identifier="GDATA_YOUTUBE_MOST_RESPONDED_FEED"
              glib:nick="most-responded-feed"/>
      <member name="recently_featured_feed"
              value="8"
              c:identifier="GDATA_YOUTUBE_RECENTLY_FEATURED_FEED"
              glib:nick="recently-featured-feed"/>
      <member name="watch_on_mobile_feed"
              value="9"
              c:identifier="GDATA_YOUTUBE_WATCH_ON_MOBILE_FEED"
              glib:nick="watch-on-mobile-feed"/>
    </enumeration>
    <class name="YouTubeState"
           c:symbol-prefix="youtube_state"
           c:type="GDataYouTubeState"
           parent="Parsable"
           glib:type-name="GDataYouTubeState"
           glib:get-type="gdata_youtube_state_get_type"
           glib:type-struct="YouTubeStateClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataYouTubeState structure are private and should never be accessed directly.</doc>
      <method name="get_help_uri"
              c:identifier="gdata_youtube_state_get_help_uri"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataYouTubeState:help-uri property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the help URI, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_message"
              c:identifier="gdata_youtube_state_get_message"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataYouTubeState:message property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the status message, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_name"
              c:identifier="gdata_youtube_state_get_name"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataYouTubeState:name property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the status name</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_reason_code"
              c:identifier="gdata_youtube_state_get_reason_code"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataYouTubeState:reason-code property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the status reason code, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <property name="help-uri" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="message" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="name" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="reason-code" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <field name="parent">
        <type name="Parsable" c:type="GDataParsable"/>
      </field>
      <field name="priv">
        <type name="YouTubeStatePrivate" c:type="GDataYouTubeStatePrivate*"/>
      </field>
    </class>
    <record name="YouTubeStateClass"
            c:type="GDataYouTubeStateClass"
            glib:is-gtype-struct-for="YouTubeState"
            version="0.4.0">
      <doc xml:whitespace="preserve">All the fields in the #GDataYouTubeStateClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="ParsableClass" c:type="GDataParsableClass"/>
      </field>
    </record>
    <record name="YouTubeStatePrivate"
            c:type="GDataYouTubeStatePrivate"
            disguised="1">
    </record>
    <enumeration name="YouTubeUploader"
                 version="0.3.0"
                 glib:type-name="GDataYouTubeUploader"
                 glib:get-type="gdata_youtube_uploader_get_type"
                 c:type="GDataYouTubeUploader">
      <doc xml:whitespace="preserve">Video uploaders, allowing queries to be limited to returning videos uploaded by YouTube partners.</doc>
      <member name="all"
              value="0"
              c:identifier="GDATA_YOUTUBE_UPLOADER_ALL"
              glib:nick="all"/>
      <member name="partner"
              value="1"
              c:identifier="GDATA_YOUTUBE_UPLOADER_PARTNER"
              glib:nick="partner"/>
    </enumeration>
    <class name="YouTubeVideo"
           c:symbol-prefix="youtube_video"
           c:type="GDataYouTubeVideo"
           parent="Entry"
           glib:type-name="GDataYouTubeVideo"
           glib:get-type="gdata_youtube_video_get_type"
           glib:type-struct="YouTubeVideoClass">
      <doc xml:whitespace="preserve">All the fields in the #GDataYouTubeVideo structure are private and should never be accessed directly.</doc>
      <constructor name="new" c:identifier="gdata_youtube_video_new">
        <doc xml:whitespace="preserve">Creates a new #GDataYouTubeVideo with the given ID and default properties.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #GDataYouTubeVideo; unref with g_object_unref()</doc>
          <type name="YouTubeVideo" c:type="GDataYouTubeVideo*"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the video's ID, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <function name="get_video_id_from_uri"
                c:identifier="gdata_youtube_video_get_video_id_from_uri"
                version="0.4.0">
        <doc xml:whitespace="preserve">Extracts a video ID from a YouTube video player URI. The video ID is in the same form as returned by
gdata_youtube_video_get_video_id(), and the @video_uri should be in the same form as returned by
gdata_youtube_video_get_player_uri().
The function will validate whether the URI actually points to a hostname containing &lt;literal&gt;youtube&lt;/literal&gt;
(e.g. &lt;literal&gt;youtube.com&lt;/literal&gt;), and will return %NULL if it doesn't.
For example:
&lt;informalexample&gt;&lt;programlisting&gt;
video_id = gdata_youtube_video_get_video_id_from_uri ("http://www.youtube.com/watch?v=BH_vwsyCrTc&amp;feature=featured");
g_free (video_id);
&lt;/programlisting&gt;&lt;/informalexample&gt;</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the video ID, or %NULL; free with g_free()</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="video_uri" transfer-ownership="none">
            <doc xml:whitespace="preserve">a YouTube video player URI</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </function>
      <method name="get_access_control"
              c:identifier="gdata_youtube_video_get_access_control"
              version="0.7.0">
        <doc xml:whitespace="preserve">Gets the permission associated with the given @action on the #GDataYouTubeVideo. If the given @action
doesn't have a permission set on the video, %GDATA_YOUTUBE_PERMISSION_DENIED is returned.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the permission associated with @action, or %GDATA_YOUTUBE_PERMISSION_DENIED</doc>
          <type name="YouTubePermission" c:type="GDataYouTubePermission"/>
        </return-value>
        <parameters>
          <parameter name="action" transfer-ownership="none">
            <doc xml:whitespace="preserve">the action whose permission should be returned</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_aspect_ratio"
              c:identifier="gdata_youtube_video_get_aspect_ratio"
              version="0.4.0">
        <doc xml:whitespace="preserve">Gets the #GDataYouTubeVideo:aspect-ratio property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the aspect ratio property, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_category"
              c:identifier="gdata_youtube_video_get_category">
        <doc xml:whitespace="preserve">Gets the #GDataYouTubeVideo:category property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GDataMediaCategory giving the video's single and mandatory category</doc>
          <type name="MediaCategory" c:type="GDataMediaCategory*"/>
        </return-value>
      </method>
      <method name="get_coordinates"
              c:identifier="gdata_youtube_video_get_coordinates"
              version="0.8.0">
        <doc xml:whitespace="preserve">Gets the #GDataYouTubeVideo:latitude and #GDataYouTubeVideo:longitude properties, setting the out parameters to them. If either latitude or
longitude is %NULL, that parameter will not be set. If the coordinates are unset, @latitude and @longitude will be set to %G_MAXDOUBLE.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="latitude"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">return location for the latitude, or %NULL</doc>
            <type name="gdouble" c:type="gdouble*"/>
          </parameter>
          <parameter name="longitude"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">return location for the longitude, or %NULL</doc>
            <type name="gdouble" c:type="gdouble*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_credit" c:identifier="gdata_youtube_video_get_credit">
        <doc xml:whitespace="preserve">Gets the #GDataYouTubeVideo:credit property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GDataMediaCredit giving information on whom to credit for the video, or %NULL</doc>
          <type name="YouTubeCredit" c:type="GDataYouTubeCredit*"/>
        </return-value>
      </method>
      <method name="get_description"
              c:identifier="gdata_youtube_video_get_description">
        <doc xml:whitespace="preserve">Gets the #GDataYouTubeVideo:description property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the video's long text description, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_duration"
              c:identifier="gdata_youtube_video_get_duration">
        <doc xml:whitespace="preserve">Gets the #GDataYouTubeVideo:duration property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the video duration in seconds, or &lt;code class="literal"&gt;0&lt;/code&gt; if unknown</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
      </method>
      <method name="get_favorite_count"
              c:identifier="gdata_youtube_video_get_favorite_count">
        <doc xml:whitespace="preserve">Gets the #GDataYouTubeVideo:favorite-count property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the number of users who have added the video to their favorites list</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
      </method>
      <method name="get_keywords"
              c:identifier="gdata_youtube_video_get_keywords">
        <doc xml:whitespace="preserve">Gets the #GDataYouTubeVideo:keywords property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a %NULL-terminated array of words associated with the video</doc>
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
      </method>
      <method name="get_location"
              c:identifier="gdata_youtube_video_get_location">
        <doc xml:whitespace="preserve">Gets the #GDataYouTubeVideo:location property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a string describing the video's location, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_player_uri"
              c:identifier="gdata_youtube_video_get_player_uri">
        <doc xml:whitespace="preserve">Gets the #GDataYouTubeVideo:player-uri property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a URI where the video is playable in a web browser, or %NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_rating" c:identifier="gdata_youtube_video_get_rating">
        <doc xml:whitespace="preserve">Gets various properties of the ratings on the video.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="min"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">return location for the minimum rating value, or %NULL</doc>
            <type name="guint" c:type="guint*"/>
          </parameter>
          <parameter name="max"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">return location for the maximum rating value, or %NULL</doc>
            <type name="guint" c:type="guint*"/>
          </parameter>
          <parameter name="count"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">return location for the number of ratings, or %NULL</doc>
            <type name="guint" c:type="guint*"/>
          </parameter>
          <parameter name="average"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">return location for the average rating value, or %NULL</doc>
            <type name="gdouble" c:type="gdouble*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_recorded"
              c:identifier="gdata_youtube_video_get_recorded"
              version="0.3.0">
        <doc xml:whitespace="preserve">Gets the #GDataYouTubeVideo:recorded property. If the property is unset, &lt;code class="literal"&gt;-1&lt;/code&gt; will be returned.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the UNIX timestamp for the time the video was recorded, or &lt;code class="literal"&gt;-1&lt;/code&gt;</doc>
          <type name="gint64" c:type="gint64"/>
        </return-value>
      </method>
      <method name="get_state" c:identifier="gdata_youtube_video_get_state">
        <doc xml:whitespace="preserve">Gets the #GDataYouTubeVideo:state property.
For more information, see the &lt;ulink type="http"
url="http://code.google.com/apis/youtube/2.0/reference.html#youtube_data_api_tag_yt:state"&gt;online documentation&lt;/ulink&gt;.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GDataYouTubeState showing the state of the video, or %NULL</doc>
          <type name="YouTubeState" c:type="GDataYouTubeState*"/>
        </return-value>
      </method>
      <method name="get_thumbnails"
              c:identifier="gdata_youtube_video_get_thumbnails">
        <doc xml:whitespace="preserve">Gets a list of the thumbnails available for the video.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GList of #GDataMediaThumbnail&lt;!-- --&gt;s, or %NULL</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="MediaThumbnail"/>
          </type>
        </return-value>
      </method>
      <method name="get_uploaded"
              c:identifier="gdata_youtube_video_get_uploaded">
        <doc xml:whitespace="preserve">Gets the #GDataYouTubeVideo:uploaded property. If the property is unset, &lt;code class="literal"&gt;-1&lt;/code&gt; will be returned.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the UNIX timestamp for the time the video was uploaded, or &lt;code class="literal"&gt;-1&lt;/code&gt;</doc>
          <type name="gint64" c:type="gint64"/>
        </return-value>
      </method>
      <method name="get_video_id"
              c:identifier="gdata_youtube_video_get_video_id">
        <doc xml:whitespace="preserve">Gets the #GDataYouTubeVideo:video-id property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the video's unique and permanent ID</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_view_count"
              c:identifier="gdata_youtube_video_get_view_count">
        <doc xml:whitespace="preserve">Gets the #GDataYouTubeVideo:view-count property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the number of times the video has been viewed</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
      </method>
      <method name="is_draft" c:identifier="gdata_youtube_video_is_draft">
        <doc xml:whitespace="preserve">Gets the #GDataYouTubeVideo:is-draft property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the video is a draft, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="is_private" c:identifier="gdata_youtube_video_is_private">
        <doc xml:whitespace="preserve">Gets the #GDataYouTubeVideo:is-private property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the video is private, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="is_restricted_in_country"
              c:identifier="gdata_youtube_video_is_restricted_in_country"
              version="0.4.0">
        <doc xml:whitespace="preserve">Checks whether viewing of the video is restricted in @country, either by its content rating, or by the request of the producer.
The return value from this function is purely informational, and no obligation is assumed.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the video is restricted in @country, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="country" transfer-ownership="none">
            <doc xml:whitespace="preserve">an ISO 3166 two-letter country code to check</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="look_up_content"
              c:identifier="gdata_youtube_video_look_up_content">
        <doc xml:whitespace="preserve">Looks up a #GDataYouTubeContent from the video with the given MIME type. The video's list of contents is
a list of URIs to various formats of the video itself, such as its SWF URI or RTSP stream.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GDataYouTubeContent matching @type, or %NULL</doc>
          <type name="YouTubeContent" c:type="GDataYouTubeContent*"/>
        </return-value>
        <parameters>
          <parameter name="type" transfer-ownership="none">
            <doc xml:whitespace="preserve">the MIME type of the content desired</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_access_control"
              c:identifier="gdata_youtube_video_set_access_control"
              version="0.7.0">
        <doc xml:whitespace="preserve">Sets the permission associated with @action on the #GDataYouTubeVideo, allowing restriction or derestriction of various
operations on YouTube videos.
Note that only %GDATA_YOUTUBE_ACTION_RATE and %GDATA_YOUTUBE_ACTION_COMMENT actions can have the %GDATA_YOUTUBE_PERMISSION_MODERATED permission.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="action" transfer-ownership="none">
            <doc xml:whitespace="preserve">the action whose permission is being set</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="permission" transfer-ownership="none">
            <doc xml:whitespace="preserve">the permission to give to the action</doc>
            <type name="YouTubePermission" c:type="GDataYouTubePermission"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_aspect_ratio"
              c:identifier="gdata_youtube_video_set_aspect_ratio"
              version="0.4.0">
        <doc xml:whitespace="preserve">Sets the #GDataYouTubeVideo:aspect-ratio property to specify the video's aspect ratio.
If @aspect_ratio is %NULL, the property will be unset.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="aspect_ratio"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the aspect ratio property, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_category"
              c:identifier="gdata_youtube_video_set_category">
        <doc xml:whitespace="preserve">Sets the #GDataYouTubeVideo:category property to the new category, @category, and increments its reference count.
url="http://code.google.com/apis/youtube/2.0/reference.html#youtube_data_api_tag_media:category"&gt;online documentation&lt;/ulink&gt;.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="category" transfer-ownership="none">
            <doc xml:whitespace="preserve">a new #GDataMediaCategory</doc>
            <type name="MediaCategory" c:type="GDataMediaCategory*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_coordinates"
              c:identifier="gdata_youtube_video_set_coordinates"
              version="0.8.0">
        <doc xml:whitespace="preserve">Sets the #GDataYouTubeVideo:latitude and #GDataYouTubeVideo:longitude properties to @latitude and @longitude respectively.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="latitude" transfer-ownership="none">
            <doc xml:whitespace="preserve">the video's new latitude coordinate, or %G_MAXDOUBLE</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="longitude" transfer-ownership="none">
            <doc xml:whitespace="preserve">the video's new longitude coordinate, or %G_MAXDOUBLE</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_description"
              c:identifier="gdata_youtube_video_set_description">
        <doc xml:whitespace="preserve">Sets the #GDataYouTubeVideo:description property to the new description, @description.
Set @description to %NULL to unset the video's description.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="description"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the video's new description, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_is_draft"
              c:identifier="gdata_youtube_video_set_is_draft">
        <doc xml:whitespace="preserve">Sets the #GDataYouTubeVideo:is-draft property to decide whether the video is a draft.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="is_draft" transfer-ownership="none">
            <doc xml:whitespace="preserve">whether the video is a draft</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_is_private"
              c:identifier="gdata_youtube_video_set_is_private">
        <doc xml:whitespace="preserve">Sets the #GDataYouTubeVideo:is-private property to decide whether the video is publicly viewable.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="is_private" transfer-ownership="none">
            <doc xml:whitespace="preserve">whether the video is private</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_keywords"
              c:identifier="gdata_youtube_video_set_keywords">
        <doc xml:whitespace="preserve">Sets the #GDataYouTubeVideo:keywords property to the new keyword list, @keywords.
url="http://code.google.com/apis/youtube/2.0/reference.html#youtube_data_api_tag_media:keywords"&gt;online documentation&lt;/ulink&gt;.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="keywords" transfer-ownership="none">
            <doc xml:whitespace="preserve">a new %NULL-terminated array of keywords</doc>
            <array c:type="gchar**">
              <type name="utf8" c:type="gchar*"/>
            </array>
          </parameter>
        </parameters>
      </method>
      <method name="set_location"
              c:identifier="gdata_youtube_video_set_location">
        <doc xml:whitespace="preserve">Sets the #GDataYouTubeVideo:location property to the new location string, @location.
Set @location to %NULL to unset the property in the video.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="location" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a new location, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_recorded"
              c:identifier="gdata_youtube_video_set_recorded"
              version="0.3.0">
        <doc xml:whitespace="preserve">Sets the #GDataYouTubeVideo:recorded property to the new recorded time, @recorded.
Set @recorded to &lt;code class="literal"&gt;-1&lt;/code&gt; to unset the video's recorded time.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="recorded" transfer-ownership="none">
            <doc xml:whitespace="preserve">the video's new recorded time, or &lt;code class="literal"&gt;-1&lt;/code&gt;</doc>
            <type name="gint64" c:type="gint64"/>
          </parameter>
        </parameters>
      </method>
      <property name="aspect-ratio" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="average-rating" transfer-ownership="none">
        <type name="gdouble"/>
      </property>
      <property name="category" writable="1" transfer-ownership="none">
        <type name="MediaCategory"/>
      </property>
      <property name="credit" transfer-ownership="none">
        <type name="YouTubeCredit"/>
      </property>
      <property name="description" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="duration" transfer-ownership="none">
        <type name="guint"/>
      </property>
      <property name="favorite-count" transfer-ownership="none">
        <type name="guint"/>
      </property>
      <property name="is-draft" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="is-private" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="keywords" writable="1" transfer-ownership="none">
        <array>
          <type name="utf8"/>
        </array>
      </property>
      <property name="latitude" writable="1" transfer-ownership="none">
        <type name="gdouble"/>
      </property>
      <property name="location" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="longitude" writable="1" transfer-ownership="none">
        <type name="gdouble"/>
      </property>
      <property name="max-rating" transfer-ownership="none">
        <type name="guint"/>
      </property>
      <property name="min-rating" transfer-ownership="none">
        <type name="guint"/>
      </property>
      <property name="player-uri" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="rating-count" transfer-ownership="none">
        <type name="guint"/>
      </property>
      <property name="recorded" writable="1" transfer-ownership="none">
        <type name="gint64"/>
      </property>
      <property name="state" transfer-ownership="none">
        <type name="YouTubeState"/>
      </property>
      <property name="uploaded" transfer-ownership="none">
        <type name="gint64"/>
      </property>
      <property name="video-id" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="view-count" transfer-ownership="none">
        <type name="guint"/>
      </property>
      <field name="parent">
        <type name="Entry" c:type="GDataEntry"/>
      </field>
      <field name="priv">
        <type name="YouTubeVideoPrivate" c:type="GDataYouTubeVideoPrivate*"/>
      </field>
    </class>
    <record name="YouTubeVideoClass"
            c:type="GDataYouTubeVideoClass"
            glib:is-gtype-struct-for="YouTubeVideo">
      <doc xml:whitespace="preserve">All the fields in the #GDataYouTubeVideoClass structure are private and should never be accessed directly.</doc>
      <field name="parent" readable="0" private="1">
        <type name="EntryClass" c:type="GDataEntryClass"/>
      </field>
    </record>
    <record name="YouTubeVideoPrivate"
            c:type="GDataYouTubeVideoPrivate"
            disguised="1">
    </record>
    <function name="authentication_error_quark"
              c:identifier="gdata_authentication_error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="color_from_hexadecimal"
              c:identifier="gdata_color_from_hexadecimal">
      <doc xml:whitespace="preserve">Parses @hexadecimal and returns a #GDataColor describing it in @color.
where &lt;replaceable&gt;rr&lt;/replaceable&gt; is a two-digit hexadecimal red intensity value, &lt;replaceable&gt;gg&lt;/replaceable&gt; is green
and &lt;replaceable&gt;bb&lt;/replaceable&gt; is blue. The hash is optional.</doc>
      <return-value transfer-ownership="none">
        <doc xml:whitespace="preserve">%TRUE on success, %FALSE otherwise</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="hexadecimal" transfer-ownership="none">
          <doc xml:whitespace="preserve">a hexadecimal color string</doc>
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="color"
                   direction="out"
                   caller-allocates="1"
                   transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GDataColor</doc>
          <type name="Color" c:type="GDataColor*"/>
        </parameter>
      </parameters>
    </function>
    <function name="documents_service_error_quark"
              c:identifier="gdata_documents_service_error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="parser_error_quark"
              c:identifier="gdata_parser_error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="service_error_quark"
              c:identifier="gdata_service_error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="youtube_service_error_quark"
              c:identifier="gdata_youtube_service_error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
  </namespace>
</repository>
