<?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:doc="http://www.gtk.org/introspection/doc/1.0"
            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
  <include name="GObject" version="2.0"/>
  <include name="Gio" version="2.0"/>
  <c:include name="libaccounts-glib.h"/>
  <doc:format name="unknown"/>
  <namespace name="Accounts"
             version="1.0"
             shared-library="libaccounts-glib.so.0"
             c:identifier-prefixes="Ag"
             c:symbol-prefixes="ag">
    <alias name="AccountId" c:type="AgAccountId">
      <doc xml:space="preserve"
           filename="libaccounts-glib/ag-types.h"
           line="86">ID of an account. Often used when retrieving lists of accounts from
#AgManager.</doc>
      <source-position filename="libaccounts-glib/ag-types.h" line="92"/>
      <type name="guint" c:type="guint"/>
    </alias>
    <function-macro name="ACCOUNT"
                    c:identifier="AG_ACCOUNT"
                    introspectable="0">
      <source-position filename="libaccounts-glib/ag-account.h" line="40"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="ACCOUNT_CLASS"
                    c:identifier="AG_ACCOUNT_CLASS"
                    introspectable="0">
      <source-position filename="libaccounts-glib/ag-account.h" line="41"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="ACCOUNT_GET_CLASS"
                    c:identifier="AG_ACCOUNT_GET_CLASS"
                    introspectable="0">
      <source-position filename="libaccounts-glib/ag-account.h" line="44"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="ACCOUNT_SERVICE"
                    c:identifier="AG_ACCOUNT_SERVICE"
                    introspectable="0">
      <source-position filename="libaccounts-glib/ag-account-service.h"
                       line="40"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="ACCOUNT_SERVICE_CLASS"
                    c:identifier="AG_ACCOUNT_SERVICE_CLASS"
                    introspectable="0">
      <source-position filename="libaccounts-glib/ag-account-service.h"
                       line="42"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="ACCOUNT_SERVICE_GET_CLASS"
                    c:identifier="AG_ACCOUNT_SERVICE_GET_CLASS"
                    introspectable="0">
      <source-position filename="libaccounts-glib/ag-account-service.h"
                       line="49"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="Account"
           c:symbol-prefix="account"
           c:type="AgAccount"
           parent="GObject.Object"
           glib:type-name="AgAccount"
           glib:get-type="ag_account_get_type"
           glib:type-struct="AccountClass">
      <doc xml:space="preserve"
           filename="libaccounts-glib/ag-types.h"
           line="37">Opaque structure. Use related accessor functions.</doc>
      <source-position filename="libaccounts-glib/ag-account.h" line="64"/>
      <implements name="Gio.Initable"/>
      <method name="delete" c:identifier="ag_account_delete">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account.c"
             line="1963">Deletes the account. Call ag_account_store() in order to record the change
in the storage.</doc>
        <source-position filename="libaccounts-glib/ag-account.h" line="99"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="account" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="1965">the #AgAccount.</doc>
            <type name="Account" c:type="AgAccount*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_display_name"
              c:identifier="ag_account_get_display_name"
              glib:get-property="display-name">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account.c"
             line="1816">Get the display name of @account.</doc>
        <source-position filename="libaccounts-glib/ag-account.h" line="88"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-account.c"
               line="1822">the display name.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="account" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="1818">the #AgAccount.</doc>
            <type name="Account" c:type="AgAccount*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_enabled"
              c:identifier="ag_account_get_enabled"
              glib:get-property="enabled">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account.c"
             line="1911">Gets whether the selected service is enabled for @account.</doc>
        <source-position filename="libaccounts-glib/ag-account.h" line="96"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-account.c"
               line="1917">%TRUE if the selected service for @account is enabled, %FALSE
otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="account" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="1913">the #AgAccount.</doc>
            <type name="Account" c:type="AgAccount*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_manager"
              c:identifier="ag_account_get_manager"
              glib:get-property="manager">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account.c"
             line="1786">Get the #AgManager for @account.</doc>
        <source-position filename="libaccounts-glib/ag-account.h" line="84"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-account.c"
               line="1792">the #AgManager.</doc>
          <type name="Manager" c:type="AgManager*"/>
        </return-value>
        <parameters>
          <instance-parameter name="account" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="1788">the #AgAccount.</doc>
            <type name="Account" c:type="AgAccount*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_provider_name"
              c:identifier="ag_account_get_provider_name">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account.c"
             line="1801">Get the name of the provider of @account.</doc>
        <source-position filename="libaccounts-glib/ag-account.h" line="86"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-account.c"
               line="1807">the name of the provider.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="account" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="1803">the #AgAccount.</doc>
            <type name="Account" c:type="AgAccount*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_selected_service"
              c:identifier="ag_account_get_selected_service">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account.c"
             line="1896">Gets the selected #AgService for @account.</doc>
        <source-position filename="libaccounts-glib/ag-account.h" line="94"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-account.c"
               line="1902">the selected service, or %NULL if no service is selected.</doc>
          <type name="Service" c:type="AgService*"/>
        </return-value>
        <parameters>
          <instance-parameter name="account" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="1898">the #AgAccount.</doc>
            <type name="Account" c:type="AgAccount*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_settings_iter"
              c:identifier="ag_account_get_settings_iter">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account.c"
             line="2144">Creates a new iterator. This method is useful for language bindings only.</doc>
        <source-position filename="libaccounts-glib/ag-account.h" line="166"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-account.c"
               line="2152">an #AgAccountSettingIter.</doc>
          <type name="AccountSettingIter" c:type="AgAccountSettingIter*"/>
        </return-value>
        <parameters>
          <instance-parameter name="account" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="2146">the #AgAccount.</doc>
            <type name="Account" c:type="AgAccount*"/>
          </instance-parameter>
          <parameter name="key_prefix"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="2147">enumerate only the settings whose key starts with
@key_prefix.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_value"
              c:identifier="ag_account_get_value"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account.c"
             line="1981">Gets the value of the configuration setting @key: @value must be a
#GValue initialized to the type of the setting.</doc>
        <doc-deprecated xml:space="preserve">Use ag_account_get_variant() instead.</doc-deprecated>
        <source-position filename="libaccounts-glib/ag-account.h" line="118"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-account.c"
               line="1990">one of #AgSettingSource: %AG_SETTING_SOURCE_NONE if the setting is
not present, %AG_SETTING_SOURCE_ACCOUNT if the setting comes from the
account configuration, or %AG_SETTING_SOURCE_PROFILE if the value comes as
predefined in the profile.</doc>
          <type name="SettingSource" c:type="AgSettingSource"/>
        </return-value>
        <parameters>
          <instance-parameter name="account" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="1983">the #AgAccount.</doc>
            <type name="Account" c:type="AgAccount*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="1984">the name of the setting to retrieve.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value"
                     direction="inout"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="1985">an initialized #GValue to receive the setting's value.</doc>
            <type name="GObject.Value" c:type="GValue*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_variant"
              c:identifier="ag_account_get_variant"
              version="1.4">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account.c"
             line="2061">Gets the value of the configuration setting @key.</doc>
        <source-position filename="libaccounts-glib/ag-account.h" line="125"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-account.c"
               line="2071">a #GVariant holding the setting value, or
%NULL. The returned #GVariant is owned by the account, and no guarantees
are made about its lifetime. If the client wishes to keep it, it should
call g_variant_ref() on it.</doc>
          <type name="GLib.Variant" c:type="GVariant*"/>
        </return-value>
        <parameters>
          <instance-parameter name="account" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="2063">the #AgAccount.</doc>
            <type name="Account" c:type="AgAccount*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="2064">the name of the setting to retrieve.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="source"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="2065">a pointer to an
#AgSettingSource variable which will tell whether the setting was
retrieved from the accounts DB or from a service template.</doc>
            <type name="SettingSource" c:type="AgSettingSource*"/>
          </parameter>
        </parameters>
      </method>
      <method name="list_enabled_services"
              c:identifier="ag_account_list_enabled_services">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account.c"
             line="1718">Gets a list of services that are enabled for @account.</doc>
        <source-position filename="libaccounts-glib/ag-account.h" line="82"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-account.c"
               line="1724">a #GList of #AgService
items representing all the services which are enabled. Must be free'd with
ag_service_list_free().</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Service"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="account" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="1720">the #AgAccount.</doc>
            <type name="Account" c:type="AgAccount*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="list_services" c:identifier="ag_account_list_services">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account.c"
             line="1544">Get the list of services for @account. If the #AgManager was created with
specified service_type this will return only services with this service_type.</doc>
        <source-position filename="libaccounts-glib/ag-account.h" line="79"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-account.c"
               line="1551">a #GList of #AgService
items representing all the services supported by this account. Must be
free'd with ag_service_list_free().</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Service"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="account" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="1546">the #AgAccount.</doc>
            <type name="Account" c:type="AgAccount*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="list_services_by_type"
              c:identifier="ag_account_list_services_by_type">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account.c"
             line="1586">Get the list of services supported by @account, filtered by @service_type.</doc>
        <source-position filename="libaccounts-glib/ag-account.h" line="80"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-account.c"
               line="1594">a #GList of #AgService
items representing all the services supported by this account which provide
@service_type. Must be free'd with ag_service_list_free().</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Service"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="account" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="1588">the #AgAccount.</doc>
            <type name="Account" c:type="AgAccount*"/>
          </instance-parameter>
          <parameter name="service_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="1589">the service type which all the returned services should
provide.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_watch" c:identifier="ag_account_remove_watch">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account.c"
             line="2405">Removes the notification callback identified by @watch.</doc>
        <source-position filename="libaccounts-glib/ag-account.h" line="187"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="account" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="2407">the #AgAccount.</doc>
            <type name="Account" c:type="AgAccount*"/>
          </instance-parameter>
          <parameter name="watch" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="2408">the watch to remove.</doc>
            <type name="AccountWatch" c:type="AgAccountWatch"/>
          </parameter>
        </parameters>
      </method>
      <method name="select_service" c:identifier="ag_account_select_service">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account.c"
             line="1847">Selects the configuration of service @service: from now on, all the
subsequent calls on the #AgAccount configuration will act on the @service.
If @service is %NULL, the global account configuration is selected.

Note that if @account is being shared with other code one must take special
care to make sure the desired service is always selected.</doc>
        <source-position filename="libaccounts-glib/ag-account.h" line="93"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="account" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="1849">the #AgAccount.</doc>
            <type name="Account" c:type="AgAccount*"/>
          </instance-parameter>
          <parameter name="service"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="1850">the #AgService to select.</doc>
            <type name="Service" c:type="AgService*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_display_name"
              c:identifier="ag_account_set_display_name">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account.c"
             line="1831">Changes the display name for @account to @display_name.</doc>
        <source-position filename="libaccounts-glib/ag-account.h" line="89"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="account" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="1833">the #AgAccount.</doc>
            <type name="Account" c:type="AgAccount*"/>
          </instance-parameter>
          <parameter name="display_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="1834">the display name to set.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_enabled" c:identifier="ag_account_set_enabled">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account.c"
             line="1947">Sets the "enabled" flag on the selected service for @account.</doc>
        <source-position filename="libaccounts-glib/ag-account.h" line="97"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="account" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="1949">the #AgAccount.</doc>
            <type name="Account" c:type="AgAccount*"/>
          </instance-parameter>
          <parameter name="enabled" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="1950">whether @account should be enabled.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_value"
              c:identifier="ag_account_set_value"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account.c"
             line="2023">Sets the value of the configuration setting @key to the value @value.
If @value is %NULL, then the setting is unset.</doc>
        <doc-deprecated xml:space="preserve">Use ag_account_set_variant() instead.</doc-deprecated>
        <source-position filename="libaccounts-glib/ag-account.h" line="121"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="account" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="2025">the #AgAccount.</doc>
            <type name="Account" c:type="AgAccount*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="2026">the name of the setting to change.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="2027">a #GValue holding the new setting's value.</doc>
            <type name="GObject.Value" c:type="const GValue*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_variant"
              c:identifier="ag_account_set_variant"
              version="1.4">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account.c"
             line="2119">Sets the value of the configuration setting @key to the value @value.
If @value has a floating reference, the @account will take ownership
of it.
If @value is %NULL, then the setting is unset.</doc>
        <source-position filename="libaccounts-glib/ag-account.h" line="127"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="account" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="2121">the #AgAccount.</doc>
            <type name="Account" c:type="AgAccount*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="2122">the name of the setting to change.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="2123">a #GVariant holding the new setting's value.</doc>
            <type name="GLib.Variant" c:type="GVariant*"/>
          </parameter>
        </parameters>
      </method>
      <method name="settings_iter_init"
              c:identifier="ag_account_settings_iter_init">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account.c"
             line="2181">Initializes @iter to iterate over the account settings. If @key_prefix is
not %NULL, only keys whose names start with @key_prefix will be iterated
over.</doc>
        <source-position filename="libaccounts-glib/ag-account.h" line="153"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="account" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="2183">the #AgAccount.</doc>
            <type name="Account" c:type="AgAccount*"/>
          </instance-parameter>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="2184">an uninitialized #AgAccountSettingIter structure.</doc>
            <type name="AccountSettingIter" c:type="AgAccountSettingIter*"/>
          </parameter>
          <parameter name="key_prefix"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="2185">enumerate only the settings whose key starts with
@key_prefix.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="sign" c:identifier="ag_account_sign">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account.c"
             line="2569">Creates signature of the @key with given @token. The account must be
stored prior to calling this function.</doc>
        <source-position filename="libaccounts-glib/ag-account.h" line="206"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="account" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="2571">the #AgAccount.</doc>
            <type name="Account" c:type="AgAccount*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="2572">the name of the key or prefix of the keys to be signed.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="token" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="2573">a signing token (%NULL-terminated string) for creating the
signature. The application must possess (request) the token.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="store"
              c:identifier="ag_account_store"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account.c"
             line="2444">Commit the changed account settings to the account database, and invoke
@callback when the operation has been completed.</doc>
        <doc-deprecated xml:space="preserve">Use ag_account_store_async() instead.</doc-deprecated>
        <source-position filename="libaccounts-glib/ag-account.h" line="193"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="account" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="2446">the #AgAccount.</doc>
            <type name="Account" c:type="AgAccount*"/>
          </instance-parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="async"
                     closure="1">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="2447">function to be called when the settings have been
written.</doc>
            <type name="AccountStoreCb" c:type="AgAccountStoreCb"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="2449">pointer to user data, to be passed to @callback.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="store_async"
              c:identifier="ag_account_store_async"
              version="1.4"
              glib:finish-func="store_finish">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account.c"
             line="2470">Commit the changed account settings to the account database, and invoke
@callback when the operation has been completed.</doc>
        <source-position filename="libaccounts-glib/ag-account.h" line="196"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="account" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="2472">the #AgAccount.</doc>
            <type name="Account" c:type="AgAccount*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="2473">optional #GCancellable object, %NULL to ignore.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="2">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="2474">function to be called when the settings have been
written.</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="2476">pointer to user data, to be passed to @callback.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="store_blocking"
              c:identifier="ag_account_store_blocking"
              throws="1">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account.c"
             line="2542">Commit the changed account settings to the account database, and invoke
@callback when the operation has been completed.</doc>
        <source-position filename="libaccounts-glib/ag-account.h" line="204"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-account.c"
               line="2550">%TRUE on success, %FALSE on failure.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="account" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="2544">the #AgAccount.</doc>
            <type name="Account" c:type="AgAccount*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="store_finish"
              c:identifier="ag_account_store_finish"
              version="1.4"
              throws="1">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account.c"
             line="2520">Finishes the store operation started by ag_account_store_async().</doc>
        <source-position filename="libaccounts-glib/ag-account.h" line="200"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-account.c"
               line="2529">%TRUE on success, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="account" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="2522">the #AgAccount.</doc>
            <type name="Account" c:type="AgAccount*"/>
          </instance-parameter>
          <parameter name="res" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="2523">A #GAsyncResult obtained from the #GAsyncReadyCallback passed to
ag_account_store_async().</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="supports_service"
              c:identifier="ag_account_supports_service">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account.c"
             line="1519">Get whether @service_type is supported on @account.</doc>
        <source-position filename="libaccounts-glib/ag-account.h" line="77"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-account.c"
               line="1526">%TRUE if @account supports the service type @service_type, %FALSE
otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="account" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="1521">the #AgAccount.</doc>
            <type name="Account" c:type="AgAccount*"/>
          </instance-parameter>
          <parameter name="service_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="1522">the name of the service type to check for</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="verify" c:identifier="ag_account_verify">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account.c"
             line="2587">Verify if the key is signed and the signature matches the value
and provides the aegis token which was used for signing the @key.</doc>
        <source-position filename="libaccounts-glib/ag-account.h" line="208"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-account.c"
               line="2596">%TRUE if the key is signed and the signature matches the value,
%FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="account" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="2589">the #AgAccount.</doc>
            <type name="Account" c:type="AgAccount*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="2590">the name of the key or prefix of the keys to be verified.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="token" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="2591">location to receive the pointer to aegis token.</doc>
            <type name="utf8" c:type="const gchar**"/>
          </parameter>
        </parameters>
      </method>
      <method name="verify_with_tokens"
              c:identifier="ag_account_verify_with_tokens">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account.c"
             line="2608">Verify if the @key is signed with any of the tokens from the @tokens
and the signature is valid.</doc>
        <source-position filename="libaccounts-glib/ag-account.h" line="210"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-account.c"
               line="2617">%TRUE if the key is signed with any of the given tokens and the
signature is valid, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="account" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="2610">the #AgAccount.</doc>
            <type name="Account" c:type="AgAccount*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="2611">the name of the key or prefix of the keys to be verified.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="tokens" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="2612">array of aegis tokens.</doc>
            <type name="utf8" c:type="const gchar**"/>
          </parameter>
        </parameters>
      </method>
      <method name="watch_dir" c:identifier="ag_account_watch_dir">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account.c"
             line="2379">Installs a watch on all the keys under @key_prefix: @callback will be
invoked whenever the value of any of these keys changes (or a key is
removed).</doc>
        <source-position filename="libaccounts-glib/ag-account.h" line="183"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-account.c"
               line="2390">a #AgAccountWatch, which can then be used to
remove this watch.</doc>
          <type name="AccountWatch" c:type="AgAccountWatch"/>
        </return-value>
        <parameters>
          <instance-parameter name="account" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="2381">the #AgAccount.</doc>
            <type name="Account" c:type="AgAccount*"/>
          </instance-parameter>
          <parameter name="key_prefix" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="2382">the prefix of the keys to watch.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="async"
                     closure="2">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="2383">a #AgAccountNotifyCb callback to be called.</doc>
            <type name="AccountNotifyCb" c:type="AgAccountNotifyCb"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="2384">pointer to user data, to be passed to @callback.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="watch_key" c:identifier="ag_account_watch_key">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account.c"
             line="2354">Installs a watch on @key: @callback will be invoked whenever the value of
@key changes (or the key is removed).</doc>
        <source-position filename="libaccounts-glib/ag-account.h" line="179"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-account.c"
               line="2364">a #AgAccountWatch, which can then be used to
remove this watch.</doc>
          <type name="AccountWatch" c:type="AgAccountWatch"/>
        </return-value>
        <parameters>
          <instance-parameter name="account" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="2356">the #AgAccount.</doc>
            <type name="Account" c:type="AgAccount*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="2357">the name of the key to watch.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="async"
                     closure="2">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="2358">a #AgAccountNotifyCb callback to be called.</doc>
            <type name="AccountNotifyCb" c:type="AgAccountNotifyCb"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="2359">pointer to user data, to be passed to @callback.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <property name="display-name"
                version="1.4"
                transfer-ownership="none"
                getter="get_display_name"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account.c"
             line="1091">The display name of the account.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="enabled"
                version="1.4"
                transfer-ownership="none"
                getter="get_enabled"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account.c"
             line="1078">Whether the account is currently enabled.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="foreign"
                readable="0"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="id"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="0">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account.c"
             line="1035">The AgAccountId for the account.</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <property name="manager"
                version="1.4"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_manager">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account.c"
             line="1047">The #AgManager from which the account was instantiated.</doc>
        <type name="Manager"/>
      </property>
      <property name="provider"
                version="1.4"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account.c"
             line="1059">The ID of the provider for the account.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="id">
        <type name="AccountId" c:type="AgAccountId"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="AccountPrivate" c:type="AgAccountPrivate*"/>
      </field>
      <glib:signal name="deleted" when="last">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account.c"
             line="1142">Emitted when the account has been deleted.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="display-name-changed" when="last">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account.c"
             line="1127">Emitted when the account display name has changed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="enabled" when="last">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account.c"
             line="1108">Emitted when the account "enabled" status was changed for one of its
services, or for the account globally.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="service" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="1111">the service which was enabled/disabled, or %NULL if the global
enabledness of the account changed.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="enabled" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="1113">the new state of the @account.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="AccountClass"
            c:type="AgAccountClass"
            glib:is-gtype-struct-for="Account">
      <doc xml:space="preserve"
           filename="libaccounts-glib/ag-account.h"
           line="49">Use the accessor functions below.</doc>
      <source-position filename="libaccounts-glib/ag-account.h" line="64"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="_ag_reserved1" introspectable="0">
        <callback name="_ag_reserved1">
          <source-position filename="libaccounts-glib/ag-account.h" line="57"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_ag_reserved2" introspectable="0">
        <callback name="_ag_reserved2">
          <source-position filename="libaccounts-glib/ag-account.h" line="58"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_ag_reserved3" introspectable="0">
        <callback name="_ag_reserved3">
          <source-position filename="libaccounts-glib/ag-account.h" line="59"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_ag_reserved4" introspectable="0">
        <callback name="_ag_reserved4">
          <source-position filename="libaccounts-glib/ag-account.h" line="60"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_ag_reserved5" introspectable="0">
        <callback name="_ag_reserved5">
          <source-position filename="libaccounts-glib/ag-account.h" line="61"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_ag_reserved6" introspectable="0">
        <callback name="_ag_reserved6">
          <source-position filename="libaccounts-glib/ag-account.h" line="62"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_ag_reserved7" introspectable="0">
        <callback name="_ag_reserved7">
          <source-position filename="libaccounts-glib/ag-account.h" line="63"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <callback name="AccountNotifyCb" c:type="AgAccountNotifyCb">
      <doc xml:space="preserve"
           filename="libaccounts-glib/ag-account.c"
           line="2341">This callback is invoked when the value of an account configuration setting
changes. If the callback was installed with ag_account_watch_key() then @key
is the name of the configuration setting which changed; if it was installed
with ag_account_watch_dir() then @key is the same key prefix that was used
when installing this callback.</doc>
      <source-position filename="libaccounts-glib/ag-account.h" line="177"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="account" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-account.c"
               line="2343">the #AgAccount.</doc>
          <type name="Account" c:type="AgAccount*"/>
        </parameter>
        <parameter name="key" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-account.c"
               line="2344">the name of the key whose value has changed.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="2">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-account.c"
               line="2345">the user data that was passed when installing this callback.</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <record name="AccountPrivate"
            c:type="AgAccountPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="libaccounts-glib/ag-account.h" line="47"/>
    </record>
    <class name="AccountService"
           c:symbol-prefix="account_service"
           c:type="AgAccountService"
           parent="GObject.Object"
           glib:type-name="AgAccountService"
           glib:get-type="ag_account_service_get_type"
           glib:type-struct="AccountServiceClass">
      <doc xml:space="preserve"
           filename="libaccounts-glib/ag-types.h"
           line="55">Opaque structure. Use related accessor functions.</doc>
      <source-position filename="libaccounts-glib/ag-account-service.h"
                       line="71"/>
      <constructor name="new" c:identifier="ag_account_service_new">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account-service.c"
             line="393">Constructor. If @service is %NULL, the returned object will operate on the
global account settings.</doc>
        <source-position filename="libaccounts-glib/ag-account-service.h"
                         line="81"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-account-service.c"
               line="401">a new #AgAccountService; call g_object_unref() when you don't need
this object anymore.</doc>
          <type name="AccountService" c:type="AgAccountService*"/>
        </return-value>
        <parameters>
          <parameter name="account" transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account-service.c"
                 line="395">an #AgAccount.</doc>
            <type name="Account" c:type="AgAccount*"/>
          </parameter>
          <parameter name="service"
                     transfer-ownership="full"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account-service.c"
                 line="396">an #AgService supported by @account.</doc>
            <type name="Service" c:type="AgService*"/>
          </parameter>
        </parameters>
      </constructor>
      <function name="settings_iter_next"
                c:identifier="ag_account_service_settings_iter_next"
                deprecated="1"
                deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account-service.c"
             line="631">Iterates over the account keys. @iter must be an iterator previously
initialized with ag_account_service_settings_iter_init().</doc>
        <doc-deprecated xml:space="preserve">Use ag_account_settings_iter_get_next() instead.</doc-deprecated>
        <source-position filename="libaccounts-glib/ag-account-service.h"
                         line="117"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-account-service.c"
               line="642">%TRUE if @key and @value have been set, %FALSE if we there are no
more account settings to iterate over.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account-service.c"
                 line="633">an initialized #AgAccountSettingIter structure.</doc>
            <type name="AccountSettingIter" c:type="AgAccountSettingIter*"/>
          </parameter>
          <parameter name="key"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account-service.c"
                 line="634">a pointer to a string
receiving the key name.</doc>
            <type name="utf8" c:type="const gchar**"/>
          </parameter>
          <parameter name="value"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account-service.c"
                 line="636">a pointer to a pointer to a
#GValue, to receive the key value.</doc>
            <type name="GObject.Value" c:type="const GValue**"/>
          </parameter>
        </parameters>
      </function>
      <method name="get_account"
              c:identifier="ag_account_service_get_account"
              glib:get-property="account">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account-service.c"
             line="415">Get the #AgAccount associated with @self.</doc>
        <source-position filename="libaccounts-glib/ag-account-service.h"
                         line="84"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-account-service.c"
               line="421">the underlying #AgAccount. The reference count on
it is not incremented, so if you need to use it beyond the lifetime of
@self, you need to call g_object_ref() on it yourself.</doc>
          <type name="Account" c:type="AgAccount*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account-service.c"
                 line="417">the #AgAccountService.</doc>
            <type name="AccountService" c:type="AgAccountService*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_auth_data"
              c:identifier="ag_account_service_get_auth_data">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account-service.c"
             line="655">Reads the authentication data stored in the account (merging the
service-specific settings with the global account settings) and returns an
#AgAuthData structure.
The method and mechanism are read from the "auth/method" and
"auth/mechanism" keys, respectively. The authentication parameters are
found under the "auth/&amp;lt;method&amp;gt;/&amp;lt;mechanism&amp;gt;/" group.</doc>
        <source-position filename="libaccounts-glib/ag-account-service.h"
                         line="122"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-account-service.c"
               line="666">a newly allocated #AgAuthData structure.</doc>
          <type name="AuthData" c:type="AgAuthData*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account-service.c"
                 line="657">the #AgAccountService.</doc>
            <type name="AccountService" c:type="AgAccountService*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_changed_fields"
              c:identifier="ag_account_service_get_changed_fields">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account-service.c"
             line="679">This method should be called only in the context of a handler of the
#AgAccountService::changed signal, and can be used to retrieve the set of
changes.</doc>
        <source-position filename="libaccounts-glib/ag-account-service.h"
                         line="124"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-account-service.c"
               line="687">a newly allocated array of strings describing the
keys of the fields which have been altered. It must be free'd with
g_strfreev().</doc>
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account-service.c"
                 line="681">the #AgAccountService.</doc>
            <type name="AccountService" c:type="AgAccountService*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_enabled"
              c:identifier="ag_account_service_get_enabled"
              glib:get-property="enabled">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account-service.c"
             line="451">Checks whether the underlying #AgAccount is enabled and the selected
#AgService is enabled on it. If this method returns %FALSE, applications
should not try to use this object.</doc>
        <source-position filename="libaccounts-glib/ag-account-service.h"
                         line="88"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-account-service.c"
               line="459">%TRUE if the service is enabled, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account-service.c"
                 line="453">the #AgAccountService.</doc>
            <type name="AccountService" c:type="AgAccountService*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_service"
              c:identifier="ag_account_service_get_service"
              glib:get-property="service">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account-service.c"
             line="433">Get the #AgService associated with @self.</doc>
        <source-position filename="libaccounts-glib/ag-account-service.h"
                         line="86"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-account-service.c"
               line="439">the underlying #AgService. The reference count on
it is not incremented, so if you need to use it beyond the lifetime of
@self, you need to call ag_service_ref() on it yourself.</doc>
          <type name="Service" c:type="AgService*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account-service.c"
                 line="435">the #AgAccountService.</doc>
            <type name="AccountService" c:type="AgAccountService*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_settings_iter"
              c:identifier="ag_account_service_get_settings_iter">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account-service.c"
             line="605">Creates a new iterator. This method is useful for language bindings only.</doc>
        <source-position filename="libaccounts-glib/ag-account-service.h"
                         line="108"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-account-service.c"
               line="613">an #AgAccountSettingIter.</doc>
          <type name="AccountSettingIter" c:type="AgAccountSettingIter*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account-service.c"
                 line="607">the #AgAccountService.</doc>
            <type name="AccountService" c:type="AgAccountService*"/>
          </instance-parameter>
          <parameter name="key_prefix"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account-service.c"
                 line="608">enumerate only the settings whose key starts with
@key_prefix.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_value"
              c:identifier="ag_account_service_get_value"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account-service.c"
             line="469">Gets the value of the configuration setting @key: @value must be a
#GValue initialized to the type of the setting.</doc>
        <doc-deprecated xml:space="preserve">Use ag_account_service_get_variant() instead.</doc-deprecated>
        <source-position filename="libaccounts-glib/ag-account-service.h"
                         line="92"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-account-service.c"
               line="478">one of &lt;type&gt;#AgSettingSource&lt;/type&gt;: %AG_SETTING_SOURCE_NONE if
the setting is not present, %AG_SETTING_SOURCE_ACCOUNT if the setting comes
from the account configuration, or %AG_SETTING_SOURCE_PROFILE if the value
comes as predefined in the profile.</doc>
          <type name="SettingSource" c:type="AgSettingSource"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account-service.c"
                 line="471">the #AgAccountService.</doc>
            <type name="AccountService" c:type="AgAccountService*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account-service.c"
                 line="472">the name of the setting to retrieve.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value"
                     direction="inout"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account-service.c"
                 line="473">an initialized #GValue to receive the setting's value.</doc>
            <type name="GObject.Value" c:type="GValue*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_variant"
              c:identifier="ag_account_service_get_variant"
              version="1.4">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account-service.c"
             line="522">Gets the value of the configuration setting @key.</doc>
        <source-position filename="libaccounts-glib/ag-account-service.h"
                         line="100"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-account-service.c"
               line="532">a #GVariant holding the setting value, or
%NULL. The returned #GVariant is owned by the account, and no guarantees
are made about its lifetime. If the client wishes to keep it, it should
call g_variant_ref() on it.</doc>
          <type name="GLib.Variant" c:type="GVariant*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account-service.c"
                 line="524">the #AgAccountService.</doc>
            <type name="AccountService" c:type="AgAccountService*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account-service.c"
                 line="525">the name of the setting to retrieve.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="source"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account-service.c"
                 line="526">a pointer to an
#AgSettingSource variable which will tell whether the setting was
retrieved from the accounts DB or from a service template.</doc>
            <type name="SettingSource" c:type="AgSettingSource*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_value"
              c:identifier="ag_account_service_set_value"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account-service.c"
             line="498">Sets the value of the configuration setting @key to the value @value.
If @value is %NULL, then the setting is unset.</doc>
        <doc-deprecated xml:space="preserve">Use ag_account_service_set_variant() instead.</doc-deprecated>
        <source-position filename="libaccounts-glib/ag-account-service.h"
                         line="97"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account-service.c"
                 line="500">the #AgAccountService.</doc>
            <type name="AccountService" c:type="AgAccountService*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account-service.c"
                 line="501">the name of the setting to change.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account-service.c"
                 line="502">a #GValue holding the new setting's value.</doc>
            <type name="GObject.Value" c:type="const GValue*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_variant"
              c:identifier="ag_account_service_set_variant"
              version="1.4">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account-service.c"
             line="552">Sets the value of the configuration setting @key to the value @value.
If @value has a floating reference, the @account will take ownership
of it.
If @value is %NULL, then the setting is unset.</doc>
        <source-position filename="libaccounts-glib/ag-account-service.h"
                         line="103"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account-service.c"
                 line="554">the #AgAccountService.</doc>
            <type name="AccountService" c:type="AgAccountService*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account-service.c"
                 line="555">the name of the setting to change.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account-service.c"
                 line="556">a #GVariant holding the new setting's value.</doc>
            <type name="GLib.Variant" c:type="GVariant*"/>
          </parameter>
        </parameters>
      </method>
      <method name="settings_iter_init"
              c:identifier="ag_account_service_settings_iter_init">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account-service.c"
             line="578">Initializes @iter to iterate over the account settings. If @key_prefix is
not %NULL, only keys whose names start with @key_prefix will be iterated
over.
After calling this method, one would typically call
ag_account_settings_iter_get_next() to read the settings one by one.</doc>
        <source-position filename="libaccounts-glib/ag-account-service.h"
                         line="111"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account-service.c"
                 line="580">the #AgAccountService.</doc>
            <type name="AccountService" c:type="AgAccountService*"/>
          </instance-parameter>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account-service.c"
                 line="581">an uninitialized #AgAccountSettingIter structure.</doc>
            <type name="AccountSettingIter" c:type="AgAccountSettingIter*"/>
          </parameter>
          <parameter name="key_prefix"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account-service.c"
                 line="582">enumerate only the settings whose key starts with
@key_prefix.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="account"
                version="1.4"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_account">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account-service.c"
             line="307">The #AgAccount used by the account service.</doc>
        <type name="Account"/>
      </property>
      <property name="enabled"
                version="1.4"
                transfer-ownership="none"
                getter="get_enabled"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account-service.c"
             line="331">Whether the account service is currently enabled. The value of
this property is %TRUE if and only if the underlying #AgAccount
is enabled and the selected #AgService is enabled on it. If this
property is %FALSE, applications should not try to use this
object.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="service"
                version="1.4"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_service">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account-service.c"
             line="319">The #AgService used by the account service.</doc>
        <type name="Service"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="AccountServicePrivate" c:type="AgAccountServicePrivate*"/>
      </field>
      <glib:signal name="changed" when="last">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account-service.c"
             line="352">Emitted when some setting has changed on the account service. You can
use the ag_account_service_get_changed_fields() method to retrieve the
list of the settings which have changed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="enabled" when="last">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account-service.c"
             line="369">Emitted when the service enabled state changes.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="enabled" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account-service.c"
                 line="372">whether the service is enabled.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="AccountServiceClass"
            c:type="AgAccountServiceClass"
            glib:is-gtype-struct-for="AccountService">
      <doc xml:space="preserve"
           filename="libaccounts-glib/ag-account-service.h"
           line="56">Use the accessor functions below.</doc>
      <source-position filename="libaccounts-glib/ag-account-service.h"
                       line="71"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="_ag_reserved1" introspectable="0">
        <callback name="_ag_reserved1">
          <source-position filename="libaccounts-glib/ag-account-service.h"
                           line="64"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_ag_reserved2" introspectable="0">
        <callback name="_ag_reserved2">
          <source-position filename="libaccounts-glib/ag-account-service.h"
                           line="65"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_ag_reserved3" introspectable="0">
        <callback name="_ag_reserved3">
          <source-position filename="libaccounts-glib/ag-account-service.h"
                           line="66"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_ag_reserved4" introspectable="0">
        <callback name="_ag_reserved4">
          <source-position filename="libaccounts-glib/ag-account-service.h"
                           line="67"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_ag_reserved5" introspectable="0">
        <callback name="_ag_reserved5">
          <source-position filename="libaccounts-glib/ag-account-service.h"
                           line="68"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_ag_reserved6" introspectable="0">
        <callback name="_ag_reserved6">
          <source-position filename="libaccounts-glib/ag-account-service.h"
                           line="69"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_ag_reserved7" introspectable="0">
        <callback name="_ag_reserved7">
          <source-position filename="libaccounts-glib/ag-account-service.h"
                           line="70"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="AccountServicePrivate"
            c:type="AgAccountServicePrivate"
            disguised="1"
            opaque="1">
      <source-position filename="libaccounts-glib/ag-account-service.h"
                       line="54"/>
    </record>
    <record name="AccountSettingIter"
            c:type="AgAccountSettingIter"
            glib:type-name="AgAccountSettingIter"
            glib:get-type="ag_account_settings_iter_get_type"
            c:symbol-prefix="account_settings_iter">
      <doc xml:space="preserve"
           filename="libaccounts-glib/ag-account.h"
           line="133">Iterator for account settings.</doc>
      <source-position filename="libaccounts-glib/ag-account.h" line="147"/>
      <field name="account" writable="1">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account.h"
             line="135">the AgAccount to iterate over</doc>
        <type name="Account" c:type="AgAccount*"/>
      </field>
      <field name="iter1" readable="0" private="1">
        <type name="GLib.HashTableIter" c:type="GHashTableIter"/>
      </field>
      <field name="ptr1" readable="0" private="1">
        <type name="gpointer" c:type="gpointer"/>
      </field>
      <field name="ptr2" readable="0" private="1">
        <type name="gpointer" c:type="gpointer"/>
      </field>
      <field name="idx1" readable="0" private="1">
        <type name="gint" c:type="gint"/>
      </field>
      <field name="idx2" readable="0" private="1">
        <type name="gint" c:type="gint"/>
      </field>
      <method name="free" c:identifier="ag_account_settings_iter_free">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account.c"
             line="2163">Frees the memory associated with an #AgAccountSettingIter.</doc>
        <source-position filename="libaccounts-glib/ag-account.h" line="151"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="2165">a #AgAccountSettingIter.</doc>
            <type name="AccountSettingIter" c:type="AgAccountSettingIter*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_next"
              c:identifier="ag_account_settings_iter_get_next"
              version="1.4">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account.c"
             line="2254">Iterates over the account keys. @iter must be an iterator previously
initialized with ag_account_settings_iter_init().</doc>
        <source-position filename="libaccounts-glib/ag-account.h" line="162"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-account.c"
               line="2265">%TRUE if @key and @value have been set, %FALSE if we there are no
more account settings to iterate over.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="2256">an initialized #AgAccountSettingIter structure.</doc>
            <type name="AccountSettingIter" c:type="AgAccountSettingIter*"/>
          </instance-parameter>
          <parameter name="key"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="2257">a pointer to a string
receiving the key name.</doc>
            <type name="utf8" c:type="const gchar**"/>
          </parameter>
          <parameter name="value"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="2259">a pointer to a pointer to a
#GVariant, to receive the key value.</doc>
            <type name="GLib.Variant" c:type="GVariant**"/>
          </parameter>
        </parameters>
      </method>
      <method name="next"
              c:identifier="ag_account_settings_iter_next"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account.c"
             line="2200">Iterates over the account keys. @iter must be an iterator previously
initialized with ag_account_settings_iter_init().</doc>
        <doc-deprecated xml:space="preserve">Use ag_account_settings_iter_get_next() instead.</doc-deprecated>
        <source-position filename="libaccounts-glib/ag-account.h" line="158"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-account.c"
               line="2211">%TRUE if @key and @value have been set, %FALSE if we there are no
more account settings to iterate over.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="2202">an initialized #AgAccountSettingIter structure.</doc>
            <type name="AccountSettingIter" c:type="AgAccountSettingIter*"/>
          </instance-parameter>
          <parameter name="key"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="2203">a pointer to a string
receiving the key name.</doc>
            <type name="utf8" c:type="const gchar**"/>
          </parameter>
          <parameter name="value"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-account.c"
                 line="2205">a pointer to a pointer to a
#GValue, to receive the key value.</doc>
            <type name="GObject.Value" c:type="const GValue**"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <callback name="AccountStoreCb" c:type="AgAccountStoreCb">
      <doc xml:space="preserve"
           filename="libaccounts-glib/ag-account.c"
           line="2433">This callback is invoked when storing the account settings is completed. If
@error is not %NULL, then some error occurred and the data has most likely
not been written.</doc>
      <source-position filename="libaccounts-glib/ag-account.h" line="190"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="account" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-account.c"
               line="2435">the #AgAccount.</doc>
          <type name="Account" c:type="AgAccount*"/>
        </parameter>
        <parameter name="error" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-account.c"
               line="2436">a #GError, or %NULL.</doc>
          <type name="GLib.Error" c:type="const GError*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="2">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-account.c"
               line="2437">the user data that was passed to ag_account_store().</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <record name="AccountWatch"
            c:type="AgAccountWatch"
            disguised="1"
            pointer="1">
      <doc xml:space="preserve"
           filename="libaccounts-glib/ag-account.h"
           line="169">An opaque struct returned from ag_account_watch_dir() and
ag_account_watch_key().</doc>
      <source-position filename="libaccounts-glib/ag-account.h" line="175"/>
    </record>
    <enumeration name="AccountsError"
                 c:type="AgAccountsError"
                 glib:error-domain="ag_errors">
      <doc xml:space="preserve"
           filename="libaccounts-glib/ag-errors.h"
           line="58">These identify the various errors that can occur with methods in
libaccounts-glib that return a #GError.</doc>
      <source-position filename="libaccounts-glib/ag-errors.h" line="81"/>
      <member name="db" value="0" c:identifier="AG_ACCOUNTS_ERROR_DB">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-errors.h"
             line="60">there was an error accessing the accounts database</doc>
      </member>
      <member name="disposed"
              value="1"
              c:identifier="AG_ACCOUNTS_ERROR_DISPOSED">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-errors.h"
             line="61">the account was in the process of being
disposed</doc>
      </member>
      <member name="deleted"
              value="2"
              c:identifier="AG_ACCOUNTS_ERROR_DELETED">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-errors.h"
             line="63">the account was in the process of being deleted</doc>
      </member>
      <member name="db_locked"
              value="3"
              c:identifier="AG_ACCOUNTS_ERROR_DB_LOCKED">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-errors.h"
             line="64">the database was locked</doc>
      </member>
      <member name="account_not_found"
              value="4"
              c:identifier="AG_ACCOUNTS_ERROR_ACCOUNT_NOT_FOUND">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-errors.h"
             line="65">the requested account was not found</doc>
      </member>
      <member name="store_in_progress"
              value="5"
              c:identifier="AG_ACCOUNTS_ERROR_STORE_IN_PROGRESS">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-errors.h"
             line="66">an asynchronous store operation is
already in progress. Since 1.4</doc>
      </member>
      <member name="readonly"
              value="6"
              c:identifier="AG_ACCOUNTS_ERROR_READONLY">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-errors.h"
             line="68">the accounts DB is in read-only mode. Since 1.4</doc>
      </member>
    </enumeration>
    <record name="Application"
            c:type="AgApplication"
            opaque="1"
            glib:type-name="AgApplication"
            glib:get-type="ag_application_get_type"
            c:symbol-prefix="application">
      <doc xml:space="preserve"
           filename="libaccounts-glib/ag-types.h"
           line="79">Opaque structure. Use related accessor functions.</doc>
      <source-position filename="libaccounts-glib/ag-types.h" line="84"/>
      <method name="get_description"
              c:identifier="ag_application_get_description">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-application.c"
             line="447">Get the description of the #AgApplication.</doc>
        <source-position filename="libaccounts-glib/ag-application.h"
                         line="41"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-application.c"
               line="453">the description of @self.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-application.c"
                 line="449">the #AgApplication.</doc>
            <type name="Application" c:type="AgApplication*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_desktop_app_info"
              c:identifier="ag_application_get_desktop_app_info">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-application.c"
             line="487">Get the #GDesktopAppInfo of the application.</doc>
        <source-position filename="libaccounts-glib/ag-application.h"
                         line="44"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-application.c"
               line="493">the #GDesktopAppInfo for @self, or %NULL if
failed.</doc>
          <type name="Gio.DesktopAppInfo" c:type="GDesktopAppInfo*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-application.c"
                 line="489">the #AgApplication.</doc>
            <type name="Application" c:type="AgApplication*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_i18n_domain"
              c:identifier="ag_application_get_i18n_domain">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-application.c"
             line="472">Get the translation domain of the #AgApplication.</doc>
        <source-position filename="libaccounts-glib/ag-application.h"
                         line="42"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-application.c"
               line="478">the translation domain.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-application.c"
                 line="474">the #AgApplication.</doc>
            <type name="Application" c:type="AgApplication*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_name" c:identifier="ag_application_get_name">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-application.c"
             line="432">Get the name of the #AgApplication.</doc>
        <source-position filename="libaccounts-glib/ag-application.h"
                         line="40"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-application.c"
               line="438">the name of @self.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-application.c"
                 line="434">the #AgApplication.</doc>
            <type name="Application" c:type="AgApplication*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_service_usage"
              c:identifier="ag_application_get_service_usage">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-application.c"
             line="527">Get the description from the application XML file, for the specified
service; if not found, get the service-type description instead.</doc>
        <source-position filename="libaccounts-glib/ag-application.h"
                         line="48"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-application.c"
               line="535">usage description of the service.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-application.c"
                 line="529">the #AgApplication.</doc>
            <type name="Application" c:type="AgApplication*"/>
          </instance-parameter>
          <parameter name="service" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-application.c"
                 line="530">an #AgService.</doc>
            <type name="Service" c:type="AgService*"/>
          </parameter>
        </parameters>
      </method>
      <method name="ref" c:identifier="ag_application_ref">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-application.c"
             line="550">Increment the reference count of @self.</doc>
        <source-position filename="libaccounts-glib/ag-application.h"
                         line="51"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-application.c"
               line="556">@self.</doc>
          <type name="Application" c:type="AgApplication*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-application.c"
                 line="552">the #AgApplication.</doc>
            <type name="Application" c:type="AgApplication*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="supports_service"
              c:identifier="ag_application_supports_service">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-application.c"
             line="505">Check whether the application supports the given service.</doc>
        <source-position filename="libaccounts-glib/ag-application.h"
                         line="46"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-application.c"
               line="512">%TRUE if @service is supported, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-application.c"
                 line="507">the #AgApplication.</doc>
            <type name="Application" c:type="AgApplication*"/>
          </instance-parameter>
          <parameter name="service" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-application.c"
                 line="508">an #AgService.</doc>
            <type name="Service" c:type="AgService*"/>
          </parameter>
        </parameters>
      </method>
      <method name="unref" c:identifier="ag_application_unref">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-application.c"
             line="566">Decrements the reference count of @self. The item is destroyed when the
count gets to 0.</doc>
        <source-position filename="libaccounts-glib/ag-application.h"
                         line="52"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-application.c"
                 line="568">the #AgApplication.</doc>
            <type name="Application" c:type="AgApplication*"/>
          </instance-parameter>
        </parameters>
      </method>
    </record>
    <record name="AuthData"
            c:type="AgAuthData"
            opaque="1"
            glib:type-name="AgAuthData"
            glib:get-type="ag_auth_data_get_type"
            c:symbol-prefix="auth_data">
      <doc xml:space="preserve"
           filename="libaccounts-glib/ag-types.h"
           line="67">Opaque structure. Use related accessor functions.</doc>
      <source-position filename="libaccounts-glib/ag-types.h" line="72"/>
      <method name="get_credentials_id"
              c:identifier="ag_auth_data_get_credentials_id"
              version="1.1">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-auth-data.c"
             line="197">Gets the ID of the credentials associated with this account.</doc>
        <source-position filename="libaccounts-glib/ag-auth-data.h" line="42"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-auth-data.c"
               line="203">the credentials ID.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-auth-data.c"
                 line="199">the #AgAuthData.</doc>
            <type name="AuthData" c:type="AgAuthData*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_login_parameters"
              c:identifier="ag_auth_data_get_login_parameters"
              version="1.4">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-auth-data.c"
             line="320">Gets the authentication parameters.</doc>
        <source-position filename="libaccounts-glib/ag-auth-data.h" line="54"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-auth-data.c"
               line="329">a floating #GVariant of type
%G_VARIANT_TYPE_VARDICT containing all the authentication parameters.</doc>
          <type name="GLib.Variant" c:type="GVariant*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-auth-data.c"
                 line="322">the #AgAuthData.</doc>
            <type name="AuthData" c:type="AgAuthData*"/>
          </instance-parameter>
          <parameter name="extra_parameters"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-auth-data.c"
                 line="323">a #GVariant containing
client-specific authentication parameters to be added to the returned
dictionary.</doc>
            <type name="GLib.Variant" c:type="GVariant*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_mechanism" c:identifier="ag_auth_data_get_mechanism">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-auth-data.c"
             line="229">Gets the authentication mechanism.</doc>
        <source-position filename="libaccounts-glib/ag-auth-data.h" line="44"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-auth-data.c"
               line="235">the authentication mechanism.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-auth-data.c"
                 line="231">the #AgAuthData.</doc>
            <type name="AuthData" c:type="AgAuthData*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_method" c:identifier="ag_auth_data_get_method">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-auth-data.c"
             line="214">Gets the authentication method.</doc>
        <source-position filename="libaccounts-glib/ag-auth-data.h" line="43"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-auth-data.c"
               line="220">the authentication method.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-auth-data.c"
                 line="216">the #AgAuthData.</doc>
            <type name="AuthData" c:type="AgAuthData*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_parameters"
              c:identifier="ag_auth_data_get_parameters"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-auth-data.c"
             line="244">Gets the authentication parameters.</doc>
        <doc-deprecated xml:space="preserve">use ag_auth_data_get_login_parameters() instead.</doc-deprecated>
        <source-position filename="libaccounts-glib/ag-auth-data.h" line="48"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-auth-data.c"
               line="250">a #GHashTable
containing all the authentication parameters.</doc>
          <type name="GLib.HashTable" c:type="GHashTable*">
            <type name="utf8"/>
            <type name="GObject.Value"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-auth-data.c"
                 line="246">the #AgAuthData.</doc>
            <type name="AuthData" c:type="AgAuthData*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="insert_parameters"
              c:identifier="ag_auth_data_insert_parameters"
              deprecated="1"
              deprecated-version="1.4">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-auth-data.c"
             line="287">Insert the given authentication parameters into the authentication data. If
some parameters were already present, the parameters passed with this method
take precedence.</doc>
        <doc-deprecated xml:space="preserve">use ag_auth_data_get_login_parameters() instead.</doc-deprecated>
        <source-position filename="libaccounts-glib/ag-auth-data.h" line="51"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-auth-data.c"
                 line="289">the #AgAuthData.</doc>
            <type name="AuthData" c:type="AgAuthData*"/>
          </instance-parameter>
          <parameter name="parameters" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-auth-data.c"
                 line="290">a #GHashTable
containing the authentication parameters to be added.</doc>
            <type name="GLib.HashTable" c:type="GHashTable*">
              <type name="utf8"/>
              <type name="GObject.Value"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="ref" c:identifier="ag_auth_data_ref">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-auth-data.c"
             line="159">Increment the reference count of @self.</doc>
        <source-position filename="libaccounts-glib/ag-auth-data.h" line="39"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-auth-data.c"
               line="165">@self.</doc>
          <type name="AuthData" c:type="AgAuthData*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-auth-data.c"
                 line="161">the #AgAuthData.</doc>
            <type name="AuthData" c:type="AgAuthData*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="unref" c:identifier="ag_auth_data_unref">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-auth-data.c"
             line="175">Decrements the reference count of @self. The item is destroyed when the
count gets to 0.</doc>
        <source-position filename="libaccounts-glib/ag-auth-data.h" line="40"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-auth-data.c"
                 line="177">the #AgAuthData.</doc>
            <type name="AuthData" c:type="AgAuthData*"/>
          </instance-parameter>
        </parameters>
      </method>
    </record>
    <function-macro name="DEPRECATED_FOR"
                    c:identifier="AG_DEPRECATED_FOR"
                    introspectable="0">
      <source-position filename="libaccounts-glib/ag-types.h" line="102"/>
      <parameters>
        <parameter name="x">
        </parameter>
      </parameters>
    </function-macro>
    <enumeration name="Error" c:type="AgError">
      <source-position filename="libaccounts-glib/ag-errors.h" line="56"/>
      <member name="db" value="0" c:identifier="AG_ERROR_DB">
      </member>
      <member name="disposed" value="1" c:identifier="AG_ERROR_DISPOSED">
      </member>
      <member name="deleted" value="2" c:identifier="AG_ERROR_DELETED">
      </member>
      <member name="db_locked" value="3" c:identifier="AG_ERROR_DB_LOCKED">
      </member>
      <member name="account_not_found"
              value="4"
              c:identifier="AG_ERROR_ACCOUNT_NOT_FOUND">
      </member>
    </enumeration>
    <function-macro name="IS_ACCOUNT"
                    c:identifier="AG_IS_ACCOUNT"
                    introspectable="0">
      <source-position filename="libaccounts-glib/ag-account.h" line="42"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_ACCOUNT_CLASS"
                    c:identifier="AG_IS_ACCOUNT_CLASS"
                    introspectable="0">
      <source-position filename="libaccounts-glib/ag-account.h" line="43"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_ACCOUNT_SERVICE"
                    c:identifier="AG_IS_ACCOUNT_SERVICE"
                    introspectable="0">
      <source-position filename="libaccounts-glib/ag-account-service.h"
                       line="45"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_ACCOUNT_SERVICE_CLASS"
                    c:identifier="AG_IS_ACCOUNT_SERVICE_CLASS"
                    introspectable="0">
      <source-position filename="libaccounts-glib/ag-account-service.h"
                       line="47"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_MANAGER"
                    c:identifier="AG_IS_MANAGER"
                    introspectable="0">
      <source-position filename="libaccounts-glib/ag-manager.h" line="43"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_MANAGER_CLASS"
                    c:identifier="AG_IS_MANAGER_CLASS"
                    introspectable="0">
      <source-position filename="libaccounts-glib/ag-manager.h" line="44"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="MANAGER"
                    c:identifier="AG_MANAGER"
                    introspectable="0">
      <source-position filename="libaccounts-glib/ag-manager.h" line="41"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="MANAGER_CLASS"
                    c:identifier="AG_MANAGER_CLASS"
                    introspectable="0">
      <source-position filename="libaccounts-glib/ag-manager.h" line="42"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="MANAGER_GET_CLASS"
                    c:identifier="AG_MANAGER_GET_CLASS"
                    introspectable="0">
      <source-position filename="libaccounts-glib/ag-manager.h" line="45"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <constant name="MANAGER_INTERFACE"
              value="com.google.code.AccountsSSO.Accounts.Manager"
              c:type="AG_MANAGER_INTERFACE">
      <source-position filename="libaccounts-glib/ag-types.h" line="111"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="MANAGER_OBJECT_PATH"
              value="/com/google/code/AccountsSSO/Accounts/Manager"
              c:type="AG_MANAGER_OBJECT_PATH">
      <source-position filename="libaccounts-glib/ag-types.h" line="110"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="MANAGER_SERVICE_NAME"
              value="com.google.code.AccountsSSO.Accounts.Manager"
              c:type="AG_MANAGER_SERVICE_NAME">
      <source-position filename="libaccounts-glib/ag-types.h" line="109"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <class name="Manager"
           c:symbol-prefix="manager"
           c:type="AgManager"
           parent="GObject.Object"
           glib:type-name="AgManager"
           glib:get-type="ag_manager_get_type"
           glib:type-struct="ManagerClass">
      <doc xml:space="preserve"
           filename="libaccounts-glib/ag-types.h"
           line="43">Opaque structure. Use related accessor functions.</doc>
      <source-position filename="libaccounts-glib/ag-manager.h" line="65"/>
      <implements name="Gio.Initable"/>
      <constructor name="new" c:identifier="ag_manager_new">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-manager.c"
             line="1838">Create a new #AgManager.</doc>
        <source-position filename="libaccounts-glib/ag-manager.h" line="77"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-manager.c"
               line="1843">an instance of an #AgManager.</doc>
          <type name="Manager" c:type="AgManager*"/>
        </return-value>
      </constructor>
      <constructor name="new_for_service_type"
                   c:identifier="ag_manager_new_for_service_type">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-manager.c"
             line="2666">Create a new #AgManager with the service type with the name @service_type.</doc>
        <source-position filename="libaccounts-glib/ag-manager.h" line="79"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-manager.c"
               line="2672">an #AgManager instance with the specified service type.</doc>
          <type name="Manager" c:type="AgManager*"/>
        </return-value>
        <parameters>
          <parameter name="service_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-manager.c"
                 line="2668">the name of a service type</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <function name="list_free" c:identifier="ag_manager_list_free">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-manager.c"
             line="2006">Frees the memory taken by a #GList of #AgAccountId allocated by #AgManager,
such as by ag_manager_list(), ag_manager_list_enabled() or
ag_manager_list_enabled_by_service_type().</doc>
        <source-position filename="libaccounts-glib/ag-manager.h" line="84"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="list" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-manager.c"
                 line="2008">a #GList returned from a #AgManager
method which returns account IDs.</doc>
            <type name="GLib.List" c:type="GList*">
              <type name="AccountId"/>
            </type>
          </parameter>
        </parameters>
      </function>
      <virtual-method name="account_deleted">
        <source-position filename="libaccounts-glib/ag-manager.h" line="58"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <type name="Manager" c:type="AgManager*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <type name="AccountId" c:type="AgAccountId"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="create_account" c:identifier="ag_manager_create_account">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-manager.c"
             line="2151">Create a new account. The account is not stored in the database until
ag_account_store() has successfully returned; the @id field in the
#AgAccount structure is also not meant to be valid until the account has
been stored.</doc>
        <source-position filename="libaccounts-glib/ag-manager.h" line="94"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-manager.c"
               line="2161">a new #AgAccount, or %NULL.</doc>
          <type name="Account" c:type="AgAccount*"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-manager.c"
                 line="2153">the #AgManager.</doc>
            <type name="Manager" c:type="AgManager*"/>
          </instance-parameter>
          <parameter name="provider_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-manager.c"
                 line="2154">name of the provider of the account.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_abort_on_db_timeout"
              c:identifier="ag_manager_get_abort_on_db_timeout"
              glib:get-property="abort-on-db-timeout">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-manager.c"
             line="2748">Get whether the library will abort when a timeout error occurs.</doc>
        <source-position filename="libaccounts-glib/ag-manager.h" line="116"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-manager.c"
               line="2754">%TRUE is the library will abort when a timeout error occurs, %FALSE
otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-manager.c"
                 line="2750">the #AgManager.</doc>
            <type name="Manager" c:type="AgManager*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_account" c:identifier="ag_manager_get_account">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-manager.c"
             line="2091">Instantiates the object representing the account identified by
@account_id.</doc>
        <source-position filename="libaccounts-glib/ag-manager.h" line="89"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-manager.c"
               line="2099">an #AgAccount, on which the client must call
g_object_unref() when it is no longer required, or %NULL if an error occurs.</doc>
          <type name="Account" c:type="AgAccount*"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-manager.c"
                 line="2093">the #AgManager.</doc>
            <type name="Manager" c:type="AgManager*"/>
          </instance-parameter>
          <parameter name="account_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-manager.c"
                 line="2094">the #AgAccountId of the account.</doc>
            <type name="AccountId" c:type="AgAccountId"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_account_services"
              c:identifier="ag_manager_get_account_services">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-manager.c"
             line="2056">Gets all the account services. If the @manager was created for a
specific service type, only services with that type will be returned.
&lt;note&gt;
  &lt;para&gt;
  This method causes the loading of all the service settings for all the
  returned accounts (unless they have been loaded previously). If you are
  interested in a specific account/service, consider using
  ag_manager_load_account() to first load the the account, and then create
  the AgAccountService for that account only.
  &lt;/para&gt;
&lt;/note&gt;</doc>
        <source-position filename="libaccounts-glib/ag-manager.h" line="86"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-manager.c"
               line="2072">a list of
#AgAccountService objects. When done with it, call g_object_unref() on the
list elements, and g_list_free() on the container.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="AccountService"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-manager.c"
                 line="2058">the #AgManager.</doc>
            <type name="Manager" c:type="AgManager*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_application" c:identifier="ag_manager_get_application">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-manager.c"
             line="429">Search for @application_name in the list of applications, and return a new
#AgApplication if a matching application was found.</doc>
        <source-position filename="libaccounts-glib/ag-manager.h" line="122"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-manager.c"
               line="437">a new #AgApplication if one was found, %NULL otherwise</doc>
          <type name="Application" c:type="AgApplication*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-manager.c"
                 line="431">an #AgManager</doc>
            <type name="Manager" c:type="AgManager*"/>
          </instance-parameter>
          <parameter name="application_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-manager.c"
                 line="432">the name of an application to search for</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_db_timeout"
              c:identifier="ag_manager_get_db_timeout"
              glib:get-property="db-timeout">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-manager.c"
             line="2718">Get the timeout of database operations for @manager, in milliseconds.</doc>
        <source-position filename="libaccounts-glib/ag-manager.h" line="114"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-manager.c"
               line="2724">the timeout (in milliseconds) for database operations.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-manager.c"
                 line="2720">the #AgManager.</doc>
            <type name="Manager" c:type="AgManager*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_enabled_account_services"
              c:identifier="ag_manager_get_enabled_account_services">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-manager.c"
             line="2021">Gets all the enabled account services. If the @manager was created for a
specific service type, only services with that type will be returned.
&lt;note&gt;
  &lt;para&gt;
  This method causes the loading of all the service settings for all the
  returned accounts (unless they have been loaded previously). If you are
  interested in a specific account/service, consider using
  ag_manager_load_account() to first load the the account, and then create
  the AgAccountService for that account only.
  &lt;/para&gt;
&lt;/note&gt;</doc>
        <source-position filename="libaccounts-glib/ag-manager.h" line="87"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-manager.c"
               line="2037">a list of
#AgAccountService objects. When done with it, call g_object_unref() on the
list elements, and g_list_free() on the container.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="AccountService"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-manager.c"
                 line="2023">the #AgManager.</doc>
            <type name="Manager" c:type="AgManager*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_provider" c:identifier="ag_manager_get_provider">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-manager.c"
             line="2628">Loads the provider identified by @provider_name.</doc>
        <source-position filename="libaccounts-glib/ag-manager.h" line="109"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-manager.c"
               line="2635">an #AgProvider, which must be free'd with ag_provider_unref() when
no longer required.</doc>
          <type name="Provider" c:type="AgProvider*"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-manager.c"
                 line="2630">the #AgManager.</doc>
            <type name="Manager" c:type="AgManager*"/>
          </instance-parameter>
          <parameter name="provider_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-manager.c"
                 line="2631">the name of the provider.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_service" c:identifier="ag_manager_get_service">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-manager.c"
             line="2204">Loads the service identified by @service_name.</doc>
        <source-position filename="libaccounts-glib/ag-manager.h" line="97"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-manager.c"
               line="2211">an #AgService, which must be free'd with ag_service_unref() when no
longer required.</doc>
          <type name="Service" c:type="AgService*"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-manager.c"
                 line="2206">the #AgManager.</doc>
            <type name="Manager" c:type="AgManager*"/>
          </instance-parameter>
          <parameter name="service_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-manager.c"
                 line="2207">the name of the service.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_service_type"
              c:identifier="ag_manager_get_service_type"
              glib:get-property="service-type">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-manager.c"
             line="2684">Get the service type for @manager.</doc>
        <source-position filename="libaccounts-glib/ag-manager.h" line="107"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-manager.c"
               line="2690">the name of the service type for the supplied @manager.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-manager.c"
                 line="2686">the #AgManager.</doc>
            <type name="Manager" c:type="AgManager*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="list" c:identifier="ag_manager_list">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-manager.c"
             line="1886">Lists the accounts. If the #AgManager is created with a specified
#AgManager:service-type, it will return only the accounts supporting this
service type.</doc>
        <source-position filename="libaccounts-glib/ag-manager.h" line="81"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-manager.c"
               line="1894">a #GList of
#AgAccountId representing the accounts. Must be free'd with
ag_manager_list_free() when no longer required.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="AccountId"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-manager.c"
                 line="1888">the #AgManager.</doc>
            <type name="Manager" c:type="AgManager*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="list_applications_by_service"
              c:identifier="ag_manager_list_applications_by_service">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-manager.c"
             line="2803">Lists the registered applications which support the given service.</doc>
        <source-position filename="libaccounts-glib/ag-manager.h" line="124"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-manager.c"
               line="2810">a #GList of all the
applications which have declared support for the given service or for its
service type.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Application"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-manager.c"
                 line="2805">the #AgManager.</doc>
            <type name="Manager" c:type="AgManager*"/>
          </instance-parameter>
          <parameter name="service" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-manager.c"
                 line="2806">the #AgService for which we want to get the applications list.</doc>
            <type name="Service" c:type="AgService*"/>
          </parameter>
        </parameters>
      </method>
      <method name="list_by_service_type"
              c:identifier="ag_manager_list_by_service_type">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-manager.c"
             line="1912">Lists the accounts supporting the given service type.</doc>
        <source-position filename="libaccounts-glib/ag-manager.h" line="82"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-manager.c"
               line="1919">a #GList of
#AgAccountId representing the accounts. Must be free'd with
ag_manager_list_free() when no longer required.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="AccountId"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-manager.c"
                 line="1914">the #AgManager.</doc>
            <type name="Manager" c:type="AgManager*"/>
          </instance-parameter>
          <parameter name="service_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-manager.c"
                 line="1915">the name of the service type to check for.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="list_enabled" c:identifier="ag_manager_list_enabled">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-manager.c"
             line="1940">Lists the enabled accounts.</doc>
        <source-position filename="libaccounts-glib/ag-manager.h" line="104"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-manager.c"
               line="1946">a #GList of the enabled
#AgAccountId representing the accounts. Must be free'd with
ag_manager_list_free() when no longer required.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="AccountId"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-manager.c"
                 line="1942">the #AgManager.</doc>
            <type name="Manager" c:type="AgManager*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="list_enabled_by_service_type"
              c:identifier="ag_manager_list_enabled_by_service_type">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-manager.c"
             line="1974">Lists the enabled accounts supporting the given service type.</doc>
        <source-position filename="libaccounts-glib/ag-manager.h" line="105"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-manager.c"
               line="1981">a #GList of the enabled
#AgAccountId representing the accounts. Must be free'd with
ag_manager_list_free() when no longer required.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="AccountId"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-manager.c"
                 line="1976">the #AgManager.</doc>
            <type name="Manager" c:type="AgManager*"/>
          </instance-parameter>
          <parameter name="service_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-manager.c"
                 line="1977">the name of the service type to check for.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="list_providers" c:identifier="ag_manager_list_providers">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-manager.c"
             line="2649">Gets a list of all the installed providers.</doc>
        <source-position filename="libaccounts-glib/ag-manager.h" line="111"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-manager.c"
               line="2655">a list of #AgProvider,
which must be then free'd with ag_provider_list_free().</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Provider"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-manager.c"
                 line="2651">the #AgManager.</doc>
            <type name="Manager" c:type="AgManager*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="list_service_types"
              c:identifier="ag_manager_list_service_types">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-manager.c"
             line="2764">Gets a list of all the installed service types.</doc>
        <source-position filename="libaccounts-glib/ag-manager.h" line="118"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-manager.c"
               line="2770">a list of
#AgServiceType, which must be free'd with ag_service_type_list_free() when
no longer required.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="ServiceType"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-manager.c"
                 line="2766">the #AgManager.</doc>
            <type name="Manager" c:type="AgManager*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="list_services" c:identifier="ag_manager_list_services">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-manager.c"
             line="2290">Gets a list of all the installed services.
If the #AgManager was created with a specified #AgManager:service_type
it will return only the installed services supporting that service type.</doc>
        <source-position filename="libaccounts-glib/ag-manager.h" line="99"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-manager.c"
               line="2298">a list of #AgService,
which must be free'd with ag_service_list_free() when no longer required.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Service"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-manager.c"
                 line="2292">the #AgManager.</doc>
            <type name="Manager" c:type="AgManager*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="list_services_by_application"
              c:identifier="ag_manager_list_services_by_application">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-manager.c"
             line="2842">Get the list of services that are supported by @application.</doc>
        <source-position filename="libaccounts-glib/ag-manager.h" line="102"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-manager.c"
               line="2849">a #GList of #AgService
items representing all the services which are supported. Must be free'd with
ag_service_list_free().</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Service"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-manager.c"
                 line="2844">the #AgManager.</doc>
            <type name="Manager" c:type="AgManager*"/>
          </instance-parameter>
          <parameter name="application" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-manager.c"
                 line="2845">a #AgApplication.</doc>
            <type name="Application" c:type="AgApplication*"/>
          </parameter>
        </parameters>
      </method>
      <method name="list_services_by_type"
              c:identifier="ag_manager_list_services_by_type">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-manager.c"
             line="2315">Gets a list of all the installed services where the service type name is
@service_type.</doc>
        <source-position filename="libaccounts-glib/ag-manager.h" line="100"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-manager.c"
               line="2323">a list of #AgService,
which must be free'd with ag_service_list_free() when no longer required.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Service"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-manager.c"
                 line="2317">the #AgManager.</doc>
            <type name="Manager" c:type="AgManager*"/>
          </instance-parameter>
          <parameter name="service_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-manager.c"
                 line="2318">the type of the service.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="load_account"
              c:identifier="ag_manager_load_account"
              throws="1">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-manager.c"
             line="2108">Instantiates the object representing the account identified by
@account_id.</doc>
        <source-position filename="libaccounts-glib/ag-manager.h" line="91"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-manager.c"
               line="2117">an #AgAccount, on which the client must call
g_object_unref() when it is no longer required, or %NULL if an error occurs.</doc>
          <type name="Account" c:type="AgAccount*"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-manager.c"
                 line="2110">the #AgManager.</doc>
            <type name="Manager" c:type="AgManager*"/>
          </instance-parameter>
          <parameter name="account_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-manager.c"
                 line="2111">the #AgAccountId of the account.</doc>
            <type name="AccountId" c:type="AgAccountId"/>
          </parameter>
        </parameters>
      </method>
      <method name="load_service_type"
              c:identifier="ag_manager_load_service_type">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-manager.c"
             line="2781">Instantiate the service type with the name @service_type.</doc>
        <source-position filename="libaccounts-glib/ag-manager.h" line="119"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-manager.c"
               line="2788">an #AgServiceType, which must be free'd with
ag_service_type_unref() when no longer required.</doc>
          <type name="ServiceType" c:type="AgServiceType*"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-manager.c"
                 line="2783">the #AgManager.</doc>
            <type name="Manager" c:type="AgManager*"/>
          </instance-parameter>
          <parameter name="service_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-manager.c"
                 line="2784">the name of the service type.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_abort_on_db_timeout"
              c:identifier="ag_manager_set_abort_on_db_timeout"
              glib:set-property="abort-on-db-timeout">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-manager.c"
             line="2733">Tells libaccounts whether it should make the client application abort when
a timeout error occurs. The default is %FALSE.</doc>
        <source-position filename="libaccounts-glib/ag-manager.h" line="115"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-manager.c"
                 line="2735">the #AgManager.</doc>
            <type name="Manager" c:type="AgManager*"/>
          </instance-parameter>
          <parameter name="abort" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-manager.c"
                 line="2736">whether to abort when a DB timeout occurs.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_db_timeout"
              c:identifier="ag_manager_set_db_timeout"
              glib:set-property="db-timeout">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-manager.c"
             line="2700">Sets the timeout for database operations. This tells the library how long
it is allowed to block while waiting for a locked DB to become accessible.
Higher values mean a higher chance of successful reads, but also mean that
the execution might be blocked for a longer time.
The default is 5 seconds.</doc>
        <source-position filename="libaccounts-glib/ag-manager.h" line="113"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-manager.c"
                 line="2702">the #AgManager.</doc>
            <type name="Manager" c:type="AgManager*"/>
          </instance-parameter>
          <parameter name="timeout_ms" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-manager.c"
                 line="2703">the new timeout, in milliseconds.</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <property name="abort-on-db-timeout"
                writable="1"
                transfer-ownership="none"
                setter="set_abort_on_db_timeout"
                getter="get_abort_on_db_timeout"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-manager.c"
             line="1726">Whether to abort the application when a database timeout occurs.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="db-timeout"
                writable="1"
                transfer-ownership="none"
                setter="set_db_timeout"
                getter="get_db_timeout"
                default-value="5000">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-manager.c"
             line="1715">Timeout for database operations, in milliseconds.</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <property name="service-type"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_service_type"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-manager.c"
             line="1702">If the service type is set, certain operations on the #AgManager, such
as ag_manager_list() and ag_manager_list_services(), will be restricted
to only affect accounts or services with that service type.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="use-dbus"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-manager.c"
             line="1737">Whether to use D-Bus for inter-process change notification. Setting this
property to %FALSE causes libaccounts not to emit the change
notification signals, and also not react to changes made by other
processes. Disabling D-Bus is only meant to be used for specific cases,
such as maintenance programs.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="ManagerPrivate" c:type="AgManagerPrivate*"/>
      </field>
      <glib:signal name="account-created" when="last">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-manager.c"
             line="1757">Emitted when a new account has been created; note that the account must
have been stored in the database: the signal is not emitted just in
response to ag_manager_create_account().</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="account_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-manager.c"
                 line="1760">the #AgAccountId of the account that has been created.</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="account-deleted" when="last">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-manager.c"
             line="1799">Emitted when an account has been deleted.
This signal is redundant with #AgAccount::deleted, but it is convenient
to provide full change notification with #AgManager.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="account_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-manager.c"
                 line="1802">the #AgAccountId of the account that has been deleted.</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="account-updated" when="last">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-manager.c"
             line="1817">Emitted when particular service of an account has been updated.
This signal is redundant with #AgAccount::deleted, but it is convenient
to provide full change notification with #AgManager.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="account_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-manager.c"
                 line="1820">the #AgAccountId of the account that has been update.</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="enabled-event" when="last">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-manager.c"
             line="1775">If the manager has been created with ag_manager_new_for_service_type(),
this signal will be emitted when an account (identified by @account_id)
has been modified in such a way that the application might be interested
to start or stop using it: the "enabled" flag on the account or in some
service supported by the account and matching the
#AgManager:service-type have changed.
In practice, this signal might be emitted more often than when strictly
needed; applications must call ag_account_list_enabled_services() or
ag_manager_list_enabled() to get the current state.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="account_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-manager.c"
                 line="1778">the #AgAccountId of the account that has been enabled.</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="ManagerClass"
            c:type="AgManagerClass"
            glib:is-gtype-struct-for="Manager">
      <doc xml:space="preserve"
           filename="libaccounts-glib/ag-manager.h"
           line="50">Use the accessor functions below.</doc>
      <source-position filename="libaccounts-glib/ag-manager.h" line="65"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="account_deleted">
        <callback name="account_deleted">
          <source-position filename="libaccounts-glib/ag-manager.h" line="58"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="manager" transfer-ownership="none">
              <type name="Manager" c:type="AgManager*"/>
            </parameter>
            <parameter name="id" transfer-ownership="none">
              <type name="AccountId" c:type="AgAccountId"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_ag_reserved2" introspectable="0">
        <callback name="_ag_reserved2">
          <source-position filename="libaccounts-glib/ag-manager.h" line="59"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_ag_reserved3" introspectable="0">
        <callback name="_ag_reserved3">
          <source-position filename="libaccounts-glib/ag-manager.h" line="60"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_ag_reserved4" introspectable="0">
        <callback name="_ag_reserved4">
          <source-position filename="libaccounts-glib/ag-manager.h" line="61"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_ag_reserved5" introspectable="0">
        <callback name="_ag_reserved5">
          <source-position filename="libaccounts-glib/ag-manager.h" line="62"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_ag_reserved6" introspectable="0">
        <callback name="_ag_reserved6">
          <source-position filename="libaccounts-glib/ag-manager.h" line="63"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_ag_reserved7" introspectable="0">
        <callback name="_ag_reserved7">
          <source-position filename="libaccounts-glib/ag-manager.h" line="64"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="ManagerPrivate"
            c:type="AgManagerPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="libaccounts-glib/ag-manager.h" line="48"/>
    </record>
    <record name="Provider"
            c:type="AgProvider"
            opaque="1"
            glib:type-name="AgProvider"
            glib:get-type="ag_provider_get_type"
            c:symbol-prefix="provider">
      <doc xml:space="preserve"
           filename="libaccounts-glib/ag-types.h"
           line="61">Opaque structure. Use related accessor functions.</doc>
      <source-position filename="libaccounts-glib/ag-types.h" line="66"/>
      <method name="get_description"
              c:identifier="ag_provider_get_description"
              version="1.2">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-provider.c"
             line="348">Get the description of the #AgProvider.</doc>
        <source-position filename="libaccounts-glib/ag-provider.h" line="44"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-provider.c"
               line="354">the description of @provider, or %NULL upon failure.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="provider" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-provider.c"
                 line="350">the #AgProvider.</doc>
            <type name="Provider" c:type="AgProvider*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_display_name"
              c:identifier="ag_provider_get_display_name">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-provider.c"
             line="333">Get the display name of the #AgProvider.</doc>
        <source-position filename="libaccounts-glib/ag-provider.h" line="43"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-provider.c"
               line="339">the display name of @provider.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="provider" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-provider.c"
                 line="335">the #AgProvider.</doc>
            <type name="Provider" c:type="AgProvider*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_domains_regex"
              c:identifier="ag_provider_get_domains_regex"
              version="1.1">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-provider.c"
             line="365">Get a regular expression matching all domains where this provider's accounts
can be used.</doc>
        <source-position filename="libaccounts-glib/ag-provider.h" line="47"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-provider.c"
               line="372">a regular expression matching the domain names.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="provider" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-provider.c"
                 line="367">the #AgProvider.</doc>
            <type name="Provider" c:type="AgProvider*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_file_contents"
              c:identifier="ag_provider_get_file_contents">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-provider.c"
             line="473">Gets the contents of the XML provider file.  The buffer returned in @contents
should not be modified or freed, and is guaranteed to be valid as long as
@provider is referenced.
If some error occurs, @contents is set to %NULL.</doc>
        <source-position filename="libaccounts-glib/ag-provider.h" line="53"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="provider" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-provider.c"
                 line="475">the #AgProvider.</doc>
            <type name="Provider" c:type="AgProvider*"/>
          </instance-parameter>
          <parameter name="contents" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-provider.c"
                 line="476">location to receive the pointer to the file contents.</doc>
            <type name="utf8" c:type="const gchar**"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_i18n_domain"
              c:identifier="ag_provider_get_i18n_domain">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-provider.c"
             line="303">Get the translation domain of the #AgProvider.</doc>
        <source-position filename="libaccounts-glib/ag-provider.h" line="45"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-provider.c"
               line="309">the translation domain.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="provider" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-provider.c"
                 line="305">the #AgProvider.</doc>
            <type name="Provider" c:type="AgProvider*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_icon_name" c:identifier="ag_provider_get_icon_name">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-provider.c"
             line="318">Get the icon name of the #AgProvider.</doc>
        <source-position filename="libaccounts-glib/ag-provider.h" line="46"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-provider.c"
               line="324">the icon_name.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="provider" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-provider.c"
                 line="320">the #AgProvider.</doc>
            <type name="Provider" c:type="AgProvider*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_name" c:identifier="ag_provider_get_name">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-provider.c"
             line="288">Get the name of the #AgProvider.</doc>
        <source-position filename="libaccounts-glib/ag-provider.h" line="42"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-provider.c"
               line="294">the name of @provider.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="provider" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-provider.c"
                 line="290">the #AgProvider.</doc>
            <type name="Provider" c:type="AgProvider*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_plugin_name"
              c:identifier="ag_provider_get_plugin_name"
              version="1.5">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-provider.c"
             line="409">Get the name of the account plugin which manages all accounts created from
this #AgProvider.
Some platforms might find it useful to store plugin names in the provider
XML files, especially when the same plugin can work for different providers.</doc>
        <source-position filename="libaccounts-glib/ag-provider.h" line="50"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-provider.c"
               line="418">the plugin name for @provider, or %NULL if a plugin name is not
defined.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="provider" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-provider.c"
                 line="411">the #AgProvider.</doc>
            <type name="Provider" c:type="AgProvider*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_single_account"
              c:identifier="ag_provider_get_single_account"
              version="1.14">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-provider.c"
             line="430">Tell whether the provider doesn't support creating more than one account.
Note that libaccounts itself does not enforce preventing the creation of
multiple accounts when this flag is set: the flag is only informative, and
its implementation is left to the client.</doc>
        <source-position filename="libaccounts-glib/ag-provider.h" line="51"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-provider.c"
               line="439">%FALSE if multiple accounts can be created from this provider,
%TRUE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="provider" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-provider.c"
                 line="432">the #AgProvider.</doc>
            <type name="Provider" c:type="AgProvider*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_tags"
              c:identifier="ag_provider_get_tags"
              version="1.25">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-provider.c"
             line="451">Get list of tags specified for the #AgProvider.</doc>
        <source-position filename="libaccounts-glib/ag-provider.h" line="52"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-provider.c"
               line="457">#GList of tags for
@provider. The list must be freed with g_list_free(). Entries are owned by
the #AgProvider type and must not be free'd.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="utf8"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="provider" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-provider.c"
                 line="453">the #AgProvider.</doc>
            <type name="Provider" c:type="AgProvider*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="match_domain"
              c:identifier="ag_provider_match_domain"
              version="1.2">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-provider.c"
             line="383">Check whether @domain is supported by this provider, by matching it with the
regex returned by ag_provider_get_domains_regex().
If the provider does not define a regular expression to match the supported
domains, this function will return %FALSE.</doc>
        <source-position filename="libaccounts-glib/ag-provider.h" line="48"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-provider.c"
               line="393">%TRUE if the given domain is supported, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="provider" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-provider.c"
                 line="385">the #AgProvider.</doc>
            <type name="Provider" c:type="AgProvider*"/>
          </instance-parameter>
          <parameter name="domain" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-provider.c"
                 line="386">a domain name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="ref" c:identifier="ag_provider_ref">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-provider.c"
             line="503">Adds a reference to @provider.</doc>
        <source-position filename="libaccounts-glib/ag-provider.h" line="55"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-provider.c"
               line="509">@provider.</doc>
          <type name="Provider" c:type="AgProvider*"/>
        </return-value>
        <parameters>
          <instance-parameter name="provider" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-provider.c"
                 line="505">the #AgProvider.</doc>
            <type name="Provider" c:type="AgProvider*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="unref" c:identifier="ag_provider_unref">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-provider.c"
             line="523">Used to unreference the #AgProvider structure.</doc>
        <source-position filename="libaccounts-glib/ag-provider.h" line="56"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="provider" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-provider.c"
                 line="525">the #AgProvider.</doc>
            <type name="Provider" c:type="AgProvider*"/>
          </instance-parameter>
        </parameters>
      </method>
      <function name="list_free" c:identifier="ag_provider_list_free">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-provider.c"
             line="553">Frees the list @list.</doc>
        <source-position filename="libaccounts-glib/ag-provider.h" line="57"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="list" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-provider.c"
                 line="555">a #GList of providers returned by some
function of this library.</doc>
            <type name="GLib.List" c:type="GList*">
              <type name="Provider"/>
            </type>
          </parameter>
        </parameters>
      </function>
    </record>
    <record name="Service"
            c:type="AgService"
            opaque="1"
            glib:type-name="AgService"
            glib:get-type="ag_service_get_type"
            c:symbol-prefix="service">
      <doc xml:space="preserve"
           filename="libaccounts-glib/ag-types.h"
           line="49">Opaque structure. Use related accessor functions.</doc>
      <source-position filename="libaccounts-glib/ag-types.h" line="54"/>
      <method name="get_description"
              c:identifier="ag_service_get_description"
              version="1.2">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-service.c"
             line="373">Gets the description of the #AgService.</doc>
        <source-position filename="libaccounts-glib/ag-service.h" line="46"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-service.c"
               line="379">the description of @service, or %NULL upon failure.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="service" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-service.c"
                 line="375">the #AgService.</doc>
            <type name="Service" c:type="AgService*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_display_name"
              c:identifier="ag_service_get_display_name">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-service.c"
             line="356">Gets the display name of the #AgService.</doc>
        <source-position filename="libaccounts-glib/ag-service.h" line="45"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-service.c"
               line="362">the display name of @service.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="service" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-service.c"
                 line="358">the #AgService.</doc>
            <type name="Service" c:type="AgService*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_file_contents"
              c:identifier="ag_service_get_file_contents">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-service.c"
             line="510">Gets the contents of the XML service file.  The buffer returned in @contents
should not be modified or freed, and is guaranteed to be valid as long as
@service is referenced. If @data_offset is not %NULL, it is set to the
offset where the &amp;lt;type_data&amp;gt; element can be found.
If some error occurs, @contents is set to %NULL.</doc>
        <source-position filename="libaccounts-glib/ag-service.h" line="53"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="service" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-service.c"
                 line="512">the #AgService.</doc>
            <type name="Service" c:type="AgService*"/>
          </instance-parameter>
          <parameter name="contents" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-service.c"
                 line="513">location to receive the pointer to the file contents.</doc>
            <type name="utf8" c:type="const gchar**"/>
          </parameter>
          <parameter name="data_offset" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-service.c"
                 line="514">pointer to receive the offset of the type data.</doc>
            <type name="gsize" c:type="gsize*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_i18n_domain" c:identifier="ag_service_get_i18n_domain">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-service.c"
             line="445">Gets the translation domain of the #AgService.</doc>
        <source-position filename="libaccounts-glib/ag-service.h" line="50"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-service.c"
               line="451">the name of the translation catalog.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="service" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-service.c"
                 line="447">the #AgService.</doc>
            <type name="Service" c:type="AgService*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_icon_name" c:identifier="ag_service_get_icon_name">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-service.c"
             line="426">Gets the icon name of the #AgService.</doc>
        <source-position filename="libaccounts-glib/ag-service.h" line="49"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-service.c"
               line="432">the name of the icon of @service.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="service" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-service.c"
                 line="428">the #AgService.</doc>
            <type name="Service" c:type="AgService*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_name" c:identifier="ag_service_get_name">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-service.c"
             line="341">Gets the name of the #AgService.</doc>
        <source-position filename="libaccounts-glib/ag-service.h" line="44"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-service.c"
               line="347">the name of @service.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="service" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-service.c"
                 line="343">the #AgService.</doc>
            <type name="Service" c:type="AgService*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_provider" c:identifier="ag_service_get_provider">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-service.c"
             line="409">Gets the provider name of the #AgService.</doc>
        <source-position filename="libaccounts-glib/ag-service.h" line="48"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-service.c"
               line="415">the name of the provider of @service.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="service" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-service.c"
                 line="411">the #AgService.</doc>
            <type name="Service" c:type="AgService*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_service_type"
              c:identifier="ag_service_get_service_type">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-service.c"
             line="392">Gets the service type of the #AgService.</doc>
        <source-position filename="libaccounts-glib/ag-service.h" line="47"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-service.c"
               line="398">the type of @service.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="service" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-service.c"
                 line="394">the #AgService.</doc>
            <type name="Service" c:type="AgService*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_tags" c:identifier="ag_service_get_tags">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-service.c"
             line="486">Get list of tags specified for the #AgService. If the service has not
defined tags, tags from the service type will be returned.</doc>
        <source-position filename="libaccounts-glib/ag-service.h" line="52"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-service.c"
               line="493">#GList of tags for
@service. The list must be freed with g_list_free(). Entries are owned by
the #AgService type and must not be free'd.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="utf8"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="service" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-service.c"
                 line="488">the #AgService.</doc>
            <type name="Service" c:type="AgService*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="has_tag" c:identifier="ag_service_has_tag">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-service.c"
             line="464">Checks if the #AgService has the requested tag.</doc>
        <source-position filename="libaccounts-glib/ag-service.h" line="51"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-service.c"
               line="471">TRUE if #AgService has the tag, FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="service" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-service.c"
                 line="466">the #AgService.</doc>
            <type name="Service" c:type="AgService*"/>
          </instance-parameter>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-service.c"
                 line="467">tag to check for.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="ref" c:identifier="ag_service_ref">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-service.c"
             line="546">Adds a reference to @service.</doc>
        <source-position filename="libaccounts-glib/ag-service.h" line="56"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-service.c"
               line="552">@service.</doc>
          <type name="Service" c:type="AgService*"/>
        </return-value>
        <parameters>
          <instance-parameter name="service" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-service.c"
                 line="548">the #AgService.</doc>
            <type name="Service" c:type="AgService*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="unref" c:identifier="ag_service_unref">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-service.c"
             line="566">Used to unreference the #AgService structure.</doc>
        <source-position filename="libaccounts-glib/ag-service.h" line="57"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="service" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-service.c"
                 line="568">the #AgService.</doc>
            <type name="Service" c:type="AgService*"/>
          </instance-parameter>
        </parameters>
      </method>
      <function name="list_free" c:identifier="ag_service_list_free">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-service.c"
             line="596">Frees the list @list.</doc>
        <source-position filename="libaccounts-glib/ag-service.h" line="58"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="list" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-service.c"
                 line="598">a #GList of services returned by some
function of this library.</doc>
            <type name="GLib.List" c:type="GList*">
              <type name="Service"/>
            </type>
          </parameter>
        </parameters>
      </function>
    </record>
    <record name="ServiceType"
            c:type="AgServiceType"
            opaque="1"
            glib:type-name="AgServiceType"
            glib:get-type="ag_service_type_get_type"
            c:symbol-prefix="service_type">
      <doc xml:space="preserve"
           filename="libaccounts-glib/ag-types.h"
           line="73">Opaque structure. Use related accessor functions.</doc>
      <source-position filename="libaccounts-glib/ag-types.h" line="78"/>
      <method name="get_description"
              c:identifier="ag_service_type_get_description"
              version="1.2">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-service-type.c"
             line="268">Get the description of the #AgServiceType.</doc>
        <source-position filename="libaccounts-glib/ag-service-type.h"
                         line="46"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-service-type.c"
               line="274">the description of @service_type, or %NULL upon failure.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="service_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-service-type.c"
                 line="270">the #AgServiceType.</doc>
            <type name="ServiceType" c:type="AgServiceType*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_display_name"
              c:identifier="ag_service_type_get_display_name">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-service-type.c"
             line="253">Get the display name of the #AgServiceType.</doc>
        <source-position filename="libaccounts-glib/ag-service-type.h"
                         line="45"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-service-type.c"
               line="259">the display name of @service_type.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="service_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-service-type.c"
                 line="255">the #AgServiceType.</doc>
            <type name="ServiceType" c:type="AgServiceType*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_file_contents"
              c:identifier="ag_service_type_get_file_contents">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-service-type.c"
             line="335">Gets the contents of the XML service type file.  The buffer returned in
@contents should not be modified or freed, and is guaranteed to be valid as
long as @service_type is referenced.
If some error occurs, @contents is set to %NULL.</doc>
        <source-position filename="libaccounts-glib/ag-service-type.h"
                         line="51"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="service_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-service-type.c"
                 line="337">the #AgServiceType.</doc>
            <type name="ServiceType" c:type="AgServiceType*"/>
          </instance-parameter>
          <parameter name="contents" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-service-type.c"
                 line="338">location to receive the pointer to the file contents.</doc>
            <type name="utf8" c:type="const gchar**"/>
          </parameter>
          <parameter name="len" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-service-type.c"
                 line="339">location to receive the length of the file, in bytes.</doc>
            <type name="gsize" c:type="gsize*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_i18n_domain"
              c:identifier="ag_service_type_get_i18n_domain">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-service-type.c"
             line="238">Get the translation domain of the #AgServiceType.</doc>
        <source-position filename="libaccounts-glib/ag-service-type.h"
                         line="44"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-service-type.c"
               line="244">the translation domain.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="service_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-service-type.c"
                 line="240">the #AgServiceType.</doc>
            <type name="ServiceType" c:type="AgServiceType*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_icon_name"
              c:identifier="ag_service_type_get_icon_name">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-service-type.c"
             line="285">Get the icon name of the #AgServiceType.</doc>
        <source-position filename="libaccounts-glib/ag-service-type.h"
                         line="47"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-service-type.c"
               line="291">the name of the icon of @service_type.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="service_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-service-type.c"
                 line="287">the #AgServiceType.</doc>
            <type name="ServiceType" c:type="AgServiceType*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_name" c:identifier="ag_service_type_get_name">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-service-type.c"
             line="223">Get the name of the #AgServiceType.</doc>
        <source-position filename="libaccounts-glib/ag-service-type.h"
                         line="43"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-service-type.c"
               line="229">the name of @service_type.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="service_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-service-type.c"
                 line="225">the #AgServiceType.</doc>
            <type name="ServiceType" c:type="AgServiceType*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_tags" c:identifier="ag_service_type_get_tags">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-service-type.c"
             line="317">Get list of tags specified for the #AgServiceType.</doc>
        <source-position filename="libaccounts-glib/ag-service-type.h"
                         line="50"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-service-type.c"
               line="323">#GList of tags for
@service_type.
The list must be freed with g_list_free(). Entries are owned by the
#AgServiceType type and must not be free'd.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="utf8"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="service_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-service-type.c"
                 line="319">the #AgServiceType.</doc>
            <type name="ServiceType" c:type="AgServiceType*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="has_tag" c:identifier="ag_service_type_has_tag">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-service-type.c"
             line="300">Check if the #AgServiceType has the requested tag.</doc>
        <source-position filename="libaccounts-glib/ag-service-type.h"
                         line="48"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-service-type.c"
               line="307">TRUE if the #AgServiceType has the tag, FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="service_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-service-type.c"
                 line="302">the #AgServiceType.</doc>
            <type name="ServiceType" c:type="AgServiceType*"/>
          </instance-parameter>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-service-type.c"
                 line="303">the tag to check for.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="ref" c:identifier="ag_service_type_ref">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-service-type.c"
             line="359">Adds a reference to @service_type.</doc>
        <source-position filename="libaccounts-glib/ag-service-type.h"
                         line="54"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-service-type.c"
               line="365">@service_type.</doc>
          <type name="ServiceType" c:type="AgServiceType*"/>
        </return-value>
        <parameters>
          <instance-parameter name="service_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-service-type.c"
                 line="361">the #AgServiceType.</doc>
            <type name="ServiceType" c:type="AgServiceType*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="unref" c:identifier="ag_service_type_unref">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-service-type.c"
             line="379">Used to unreference the #AgServiceType structure.</doc>
        <source-position filename="libaccounts-glib/ag-service-type.h"
                         line="55"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="service_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-service-type.c"
                 line="381">the #AgServiceType.</doc>
            <type name="ServiceType" c:type="AgServiceType*"/>
          </instance-parameter>
        </parameters>
      </method>
      <function name="list_free" c:identifier="ag_service_type_list_free">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-service-type.c"
             line="406">Frees the list @list.</doc>
        <source-position filename="libaccounts-glib/ag-service-type.h"
                         line="56"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="list" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libaccounts-glib/ag-service-type.c"
                 line="408">a #GList of service types returned by
some function of this library, such as ag_manager_list_service_types().</doc>
            <type name="GLib.List" c:type="GList*">
              <type name="ServiceType"/>
            </type>
          </parameter>
        </parameters>
      </function>
    </record>
    <enumeration name="SettingSource" c:type="AgSettingSource">
      <doc xml:space="preserve"
           filename="libaccounts-glib/ag-account.h"
           line="101">The source of a setting on a #AgAccount.</doc>
      <source-position filename="libaccounts-glib/ag-account.h" line="114"/>
      <member name="none" value="0" c:identifier="AG_SETTING_SOURCE_NONE">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account.h"
             line="103">the setting is not present</doc>
      </member>
      <member name="account"
              value="1"
              c:identifier="AG_SETTING_SOURCE_ACCOUNT">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account.h"
             line="104">the setting comes from the current account
configuration</doc>
      </member>
      <member name="profile"
              value="2"
              c:identifier="AG_SETTING_SOURCE_PROFILE">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-account.h"
             line="106">the setting comes from the predefined profile</doc>
      </member>
    </enumeration>
    <function name="accounts_error_quark"
              c:identifier="ag_accounts_error_quark">
      <doc xml:space="preserve"
           filename="libaccounts-glib/ag-util.c"
           line="218">Return the libaccounts-glib error domain.</doc>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-util.c"
             line="223">the libaccounts-glib error domain.</doc>
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <docsection name="ag-account">
      <doc xml:space="preserve"
           filename="libaccounts-glib/ag-account.c"
           line="26">An #AgAccount is an object which represents an account. It provides a
method for enabling/disabling the account and methods for editing the
account settings.

Accounts are created by #AgManager with ag_manager_create_account(), and
deleted by #AgAccount with ag_account_delete(). These operations, and any
other operations which modify the account settings, must be followed by
ag_account_store() before the changes are committed to the database.
&lt;example id="example-create-new-AgAccount"&gt;
&lt;title&gt;Creating a new &lt;structname&gt;AgAccount&lt;/structname&gt;&lt;/title&gt;
&lt;programlisting&gt;
GMainLoop *main_loop = NULL;

gboolean account_cleanup_idle (gpointer user_data)
{
    AgManager *manager;
    AgAccount *account = AG_ACCOUNT (user_data);
    manager = ag_account_get_manager (account);

    g_object_unref (account);
    g_object_unref (manager);

    g_main_loop_quit (main_loop);

    return FALSE;
}

void account_stored_cb (AgAccount *account,
                        const GError *error,
                        gpointer user_data)
{
    AgManager *manager = AG_MANAGER (user_data);

    if (error != NULL)
    {
        g_warning ("Account with ID '%u' failed to store, with error: %s",
                   account-&gt;id,
                   error-&gt;message);
    }
    else
    {
        g_print ("Account stored with ID: %u", account-&gt;id);
    }

    /&amp;ast; Clean up in an idle callback. &amp;ast;/
    g_idle_add (account_cleanup_idle, account);
    g_main_loop_run (main_loop);
}

void store_account (void)
{
    AgManager *manager;
    GList *providers;
    const gchar *provider_name;
    AgAccount *account;

    main_loop = g_main_loop_new (NULL, FALSE);
    manager = ag_manager_new ();
    providers = ag_manager_list_providers (manager);
    g_assert (providers != NULL);
    provider_name = ag_provider_get_name ((AgProvider *) providers-&gt;data);
    account = ag_manager_create_account (manager, provider_name);

    ag_provider_list_free (providers);

    /&amp;ast; The account is not valid until it has been stored. &amp;ast;/
    ag_account_store (account, account_stored_cb, (gpointer) manager);
}
&lt;/programlisting&gt;
&lt;/example&gt;</doc>
    </docsection>
    <docsection name="ag-account-service">
      <doc xml:space="preserve"
           filename="libaccounts-glib/ag-account-service.c"
           line="26">The #AgAccountService object provides access to the account settings for a
specific service type. It is meant to be easier to use than the #AgAccount
class because it hides the complexity of the account structure and gives
access to only the limited subset of account settings which are relevant to
a service.

To get an #AgAccountService one can use the #AgManager methods
ag_manager_get_account_services() or
ag_manager_get_enabled_account_services(), which both return a #GList of
account services. Note that if the #AgManager was instantiated for a
specific service type, these lists will contain only those account services
matching that service type.
Another way to get an #AgAccountService is to instantiate one using
ag_account_service_new(): this is useful if one already has an #AgAccount
instance.

This is intended to be a convenient wrapper over the accounts settings
specific for a service; as such, it doesn't offer all the editing
possibilities offered by the #AgAccount class, such as enabling the service
itself: these operations should ideally not be performed by consumer
applications, but by the account editing UI only.

&lt;example&gt;
&lt;title&gt;Querying available e-mail services&lt;/title&gt;
  &lt;programlisting&gt;
AgManager *manager;
GList *services, *list;

// Instantiate an account manager interested in e-mail services only.
manager = ag_manager_new_for_service_type ("e-mail");

// Get the list of enabled AgAccountService objects of type e-mail.
services = ag_manager_get_enabled_account_services (manager);

// Loop through the account services and do something useful with them.
for (list = services; list != NULL; list = list-&gt;next)
{
    AgAccountService *service = AG_ACCOUNT_SERVICE (list-&gt;data);
    GVariant *v_server, *v_port, *v_username;
    gchar *server = NULL, *username = NULL;
    gint port;
    AgAccount *account;

    v_server = ag_account_service_get_variant (service, "pop3/hostname", NULL);
    if (v_server != NULL)
        server = g_variant_dup_string (v_server, NULL);

    v_port = ag_account_service_get_variant (service, "pop3/port", NULL);
    if (v_port != NULL)
        port = g_variant_get_int16 (&amp;v_port);

    // Suppose that the e-mail address is stored in the global account
    // settings; let's get it from there:
    account = ag_account_service_get_account (service);
    ag_account_select_service (NULL);
    v_username = ag_account_get_variant (account, "username", NULL);
    if (v_username != NULL)
        username = g_variant_dup_string (&amp;v_username);

    ...

    g_free (username);
    g_free (server);
}
  &lt;/programlisting&gt;
&lt;/example&gt;

&lt;note&gt;
  &lt;para&gt;
User applications (with the notable exception of the accounts editing
application) should never use account services which are not enabled, and
should stop using an account when the account service becomes disabled. The
latter can be done by connecting to the #AgAccountService::changed signal
and checking if ag_account_service_get_enabled() still returns %TRUE.
Note that if the account gets deleted, it will always get disabled first;
so, there is no need to connect to the #AgAccount::deleted signal; one can
just monitor the #AgAccountService::changed signal.
  &lt;/para&gt;
&lt;/note&gt;</doc>
    </docsection>
    <docsection name="ag-application">
      <doc xml:space="preserve"
           filename="libaccounts-glib/ag-application.c"
           line="25">The #AgApplication structure holds information on the client applications
registered with libaccounts.
It is instantiated by #AgManager with ag_manager_get_application() and
ag_manager_list_applications_by_service(), and destroyed with
ag_application_unref().

&lt;example&gt;
&lt;title&gt;Querying application names for an
&lt;structname&gt;AgService&lt;/structname&gt;&lt;/title&gt;
&lt;programlisting&gt;
AgManager *manager;
GList *services, *applications;
AgService *service;

manager = ag_manager_new ();
services = ag_manager_list_services (manager);
g_assert (services != NULL);
service = (AgService *) services-&gt;data;
applications = ag_manager_list_applications_by_service (manager, service);

g_print ("Service type: %s\n", ag_service_get_name (service));
for (applications; applications != NULL; applications = applications-&gt;next)
{
    const gchar *application_name = ag_application_get_name ((AgApplication *) applications-&gt;data);
    g_print ("  Application name: %s\n", application_name);
}
&lt;/programlisting&gt;
&lt;/example&gt;</doc>
    </docsection>
    <docsection name="ag-auth-data">
      <doc xml:space="preserve"
           filename="libaccounts-glib/ag-auth-data.c"
           line="25">The #AgAuthData structure holds information on the authentication
parameters used by an account. It is created by
ag_account_service_get_auth_data(), and can be destroyed with
ag_auth_data_unref().</doc>
    </docsection>
    <docsection name="ag-manager">
      <doc xml:space="preserve"
           filename="libaccounts-glib/ag-manager.c"
           line="28">The #AgManager is the main object in this library. Use it to create an
#AgAccount, and to instantiate boxed types such as #AgProvider,
#AgApplication and #AgService.

#AgManager can be instantiated with a set service type with
ag_manager_new_for_service_type(), which restricts some future operations on
the manager, such as ag_manager_list() or ag_manager_list_services(), to
only affect accounts or services with the set service type.

Lists of objects instantiated by the manager can be freed with the
corresponding functions, such as ag_manager_list_free() for the #GList of
#AgAccountId returned from ag_manager_list(), or ag_service_list_free() for
the #GList of #AgService returned from ag_manager_list_services().</doc>
    </docsection>
    <docsection name="ag-provider">
      <doc xml:space="preserve"
           filename="libaccounts-glib/ag-provider.c"
           line="27">The #AgProvider structure represents an account provider. The structure is
not directly exposed to applications, but its fields are accessible via
getter methods. It can be instantiated by #AgManager with
ag_manager_get_provider() or ag_manager_list_providers().
The structure is reference counted. One must use ag_provider_unref() when
done with it.

See the &lt;link linkend="example-create-new-AgAccount"&gt;example of creating a
new &lt;structname&gt;AgAccount&lt;/structname&gt;&lt;/link&gt; to see how #AgProvider can be
used.</doc>
    </docsection>
    <docsection name="ag-service">
      <doc xml:space="preserve"
           filename="libaccounts-glib/ag-service.c"
           line="28">The #AgService structure represents a service. The structure is not directly
exposed to applications, but its fields are accessible via getter methods.
It is instantiated by #AgManager, with ag_manager_get_service(),
ag_manager_list_services() or ag_manager_list_services_by_type().
The structure is reference counted. One must use ag_service_unref() when
done with it.</doc>
    </docsection>
    <docsection name="ag-service-type">
      <doc xml:space="preserve"
           filename="libaccounts-glib/ag-service-type.c"
           line="28">The #AgServiceType structure represents a service type. The structure is
not directly exposed to applications, but its fields are accessible via
getter methods.
It is instantiated by #AgManager with ag_manager_list_service_types() or
ag_manager_load_service_type(). Additonally, #AgManager can be instantiated
with a set service type with ag_manager_new_for_service_type(), which
restricts some future operations on the manager, such as ag_manager_list()
or ag_manager_list_services(), to only affect accounts or services with the
set service type.
The structure is reference counted. One must use ag_service_type_unref()
when done with it.</doc>
    </docsection>
    <function name="errors_quark" c:identifier="ag_errors_quark">
      <doc xml:space="preserve"
           filename="libaccounts-glib/ag-util.c"
           line="194">Return the libaccounts-glib error domain.</doc>
      <source-position filename="libaccounts-glib/ag-errors.h" line="37"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="libaccounts-glib/ag-util.c"
             line="199">the libaccounts-glib error domain.</doc>
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="provider_list_free"
              c:identifier="ag_provider_list_free"
              moved-to="Provider.list_free">
      <doc xml:space="preserve"
           filename="libaccounts-glib/ag-provider.c"
           line="553">Frees the list @list.</doc>
      <source-position filename="libaccounts-glib/ag-provider.h" line="57"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-provider.c"
               line="555">a #GList of providers returned by some
function of this library.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Provider"/>
          </type>
        </parameter>
      </parameters>
    </function>
    <function name="service_list_free"
              c:identifier="ag_service_list_free"
              moved-to="Service.list_free">
      <doc xml:space="preserve"
           filename="libaccounts-glib/ag-service.c"
           line="596">Frees the list @list.</doc>
      <source-position filename="libaccounts-glib/ag-service.h" line="58"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-service.c"
               line="598">a #GList of services returned by some
function of this library.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Service"/>
          </type>
        </parameter>
      </parameters>
    </function>
    <function name="service_type_list_free"
              c:identifier="ag_service_type_list_free"
              moved-to="ServiceType.list_free">
      <doc xml:space="preserve"
           filename="libaccounts-glib/ag-service-type.c"
           line="406">Frees the list @list.</doc>
      <source-position filename="libaccounts-glib/ag-service-type.h"
                       line="56"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libaccounts-glib/ag-service-type.c"
               line="408">a #GList of service types returned by
some function of this library, such as ag_manager_list_service_types().</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="ServiceType"/>
          </type>
        </parameter>
      </parameters>
    </function>
  </namespace>
</repository>
