<?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="GLib" version="2.0"/>
  <include name="GObject" version="2.0"/>
  <include name="Gio" version="2.0"/>
  <include name="Goa" version="1.0"/>
  <include name="Json" version="1.0"/>
  <include name="Soup" version="3.0"/>
  <package name="msgraph-1"/>
  <c:include name="msg.h"/>
  <doc:format name="unknown"/>
  <namespace name="Msg"
             version="1"
             shared-library="libmsgraph-1.so.0.0"
             c:identifier-prefixes="Msg"
             c:symbol-prefixes="msg">
    <constant name="API_ENDPOINT"
              value="https://graph.microsoft.com/v1.0"
              c:type="MSG_API_ENDPOINT">
      <source-position filename="src/msg-private.h" line="23"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <function-macro name="AUTHORIZER"
                    c:identifier="MSG_AUTHORIZER"
                    introspectable="0">
      <source-position filename="src/msg-authorizer.h" line="26"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="AUTHORIZER_GET_INTERFACE"
                    c:identifier="MSG_AUTHORIZER_GET_INTERFACE"
                    introspectable="0">
      <source-position filename="src/msg-authorizer.h" line="28"/>
      <parameters>
        <parameter name="inst">
        </parameter>
      </parameters>
    </function-macro>
    <interface name="Authorizer"
               c:symbol-prefix="authorizer"
               c:type="MsgAuthorizer"
               glib:type-name="MsgAuthorizer"
               glib:get-type="msg_authorizer_get_type"
               glib:type-struct="AuthorizerInterface">
      <source-position filename="src/msg-authorizer.h" line="55"/>
      <virtual-method name="process_request" invoker="process_request">
        <doc xml:space="preserve"
             filename="src/msg-authorizer.c"
             line="43">Adds the necessary authorization to @message. The type of @message
can be DELETE, GET and POST.

This method modifies @message in place and is thread safe.</doc>
        <source-position filename="src/msg-authorizer.h" line="50"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="iface" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/msg-authorizer.c"
                 line="45">A #MsgAuthorizer.</doc>
            <type name="Authorizer" c:type="MsgAuthorizer*"/>
          </instance-parameter>
          <parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/msg-authorizer.c"
                 line="46">A #SoupMessage.</doc>
            <type name="Soup.Message" c:type="SoupMessage*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="refresh_authorization"
                      invoker="refresh_authorization"
                      throws="1">
        <doc xml:space="preserve"
             filename="src/msg-authorizer.c"
             line="61">Synchronously forces @iface to refresh any authorization tokens
held by it. See msg_authorizer_refresh_authorization_async() for the
asynchronous version of this call.

This method is thread safe.</doc>
        <source-position filename="src/msg-authorizer.h" line="52"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/msg-authorizer.c"
               line="74">%TRUE if the authorizer now has a valid token.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="iface" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/msg-authorizer.c"
                 line="63">A #MsgAuthorizer.</doc>
            <type name="Authorizer" c:type="MsgAuthorizer*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/msg-authorizer.c"
                 line="64">An optional #GCancellable object, or
  %NULL.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="process_request"
              c:identifier="msg_authorizer_process_request">
        <doc xml:space="preserve"
             filename="src/msg-authorizer.c"
             line="43">Adds the necessary authorization to @message. The type of @message
can be DELETE, GET and POST.

This method modifies @message in place and is thread safe.</doc>
        <source-position filename="src/msg-authorizer.h" line="59"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="iface" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/msg-authorizer.c"
                 line="45">A #MsgAuthorizer.</doc>
            <type name="Authorizer" c:type="MsgAuthorizer*"/>
          </instance-parameter>
          <parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/msg-authorizer.c"
                 line="46">A #SoupMessage.</doc>
            <type name="Soup.Message" c:type="SoupMessage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="refresh_authorization"
              c:identifier="msg_authorizer_refresh_authorization"
              throws="1">
        <doc xml:space="preserve"
             filename="src/msg-authorizer.c"
             line="61">Synchronously forces @iface to refresh any authorization tokens
held by it. See msg_authorizer_refresh_authorization_async() for the
asynchronous version of this call.

This method is thread safe.</doc>
        <source-position filename="src/msg-authorizer.h" line="62"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/msg-authorizer.c"
               line="74">%TRUE if the authorizer now has a valid token.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="iface" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/msg-authorizer.c"
                 line="63">A #MsgAuthorizer.</doc>
            <type name="Authorizer" c:type="MsgAuthorizer*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/msg-authorizer.c"
                 line="64">An optional #GCancellable object, or
  %NULL.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
    </interface>
    <record name="AuthorizerInterface"
            c:type="MsgAuthorizerInterface"
            glib:is-gtype-struct-for="Authorizer">
      <doc xml:space="preserve"
           filename="src/msg-authorizer.h"
           line="33">Interface structure for #MsgAuthorizer. All methods should be
thread safe.</doc>
      <source-position filename="src/msg-authorizer.h" line="55"/>
      <field name="parent_iface">
        <doc xml:space="preserve"
             filename="src/msg-authorizer.h"
             line="35">The parent interface.</doc>
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="process_request">
        <doc xml:space="preserve"
             filename="src/msg-authorizer.h"
             line="36">A method to append authorization headers to a
  #SoupMessage. Types of messages include DELETE, GET and POST.</doc>
        <callback name="process_request">
          <source-position filename="src/msg-authorizer.h" line="50"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="iface" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/msg-authorizer.c"
                   line="45">A #MsgAuthorizer.</doc>
              <type name="Authorizer" c:type="MsgAuthorizer*"/>
            </parameter>
            <parameter name="message" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/msg-authorizer.c"
                   line="46">A #SoupMessage.</doc>
              <type name="Soup.Message" c:type="SoupMessage*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="refresh_authorization">
        <doc xml:space="preserve"
             filename="src/msg-authorizer.h"
             line="38">A synchronous method to force a refresh of
  any authorization tokens held by the authorizer. It should return
  %TRUE on success. An asynchronous version will be defined by
  invoking this in a thread.</doc>
        <callback name="refresh_authorization" throws="1">
          <source-position filename="src/msg-authorizer.h" line="52"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/msg-authorizer.c"
                 line="74">%TRUE if the authorizer now has a valid token.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="iface" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/msg-authorizer.c"
                   line="63">A #MsgAuthorizer.</doc>
              <type name="Authorizer" c:type="MsgAuthorizer*"/>
            </parameter>
            <parameter name="cancellable"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <doc xml:space="preserve"
                   filename="src/msg-authorizer.c"
                   line="64">An optional #GCancellable object, or
  %NULL.</doc>
              <type name="Gio.Cancellable" c:type="GCancellable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <constant name="BETA_API_ENDPOINT"
              value="https://graph.microsoft.com/beta"
              c:type="MSG_BETA_API_ENDPOINT">
      <source-position filename="src/msg-private.h" line="24"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <class name="Drive"
           c:symbol-prefix="drive"
           c:type="MsgDrive"
           parent="GObject.Object"
           glib:type-name="MsgDrive"
           glib:get-type="msg_drive_get_type"
           glib:type-struct="DriveClass">
      <doc xml:space="preserve"
           filename="src/drive/msg-drive.c"
           line="21">#MsgDriveService is a subclass of #MsgService for communicating with the MS Graph API.

Details: https://learn.microsoft.com/en-us/graph/api/resources/drive?view=graph-rest-1.0</doc>
      <source-position filename="src/drive/msg-drive.h" line="48"/>
      <constructor name="new" c:identifier="msg_drive_new">
        <doc xml:space="preserve"
             filename="src/drive/msg-drive.c"
             line="70">Creates a new `MsgDrive`.</doc>
        <source-position filename="src/drive/msg-drive.h" line="51"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/drive/msg-drive.c"
               line="75">the newly created `MsgDrive`</doc>
          <type name="Drive" c:type="MsgDrive*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_json"
                   c:identifier="msg_drive_new_from_json"
                   throws="1">
        <doc xml:space="preserve"
             filename="src/drive/msg-drive.c"
             line="83">Creates a new `MsgDrive` from json response object.</doc>
        <source-position filename="src/drive/msg-drive.h" line="54"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/drive/msg-drive.c"
               line="90">the newly created `MsgDrive`</doc>
          <type name="Drive" c:type="MsgDrive*"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive.c"
                 line="85">The json object to parse</doc>
            <type name="Json.Object" c:type="JsonObject*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_created" c:identifier="msg_drive_get_created">
        <doc xml:space="preserve"
             filename="src/drive/msg-drive.c"
             line="221">Get created time of drive.</doc>
        <source-position filename="src/drive/msg-drive.h" line="76"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/drive/msg-drive.c"
               line="227">created time of drive</doc>
          <type name="GLib.DateTime" c:type="const GDateTime*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive.c"
                 line="223">a drive</doc>
            <type name="Drive" c:type="MsgDrive*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_drive_type" c:identifier="msg_drive_get_drive_type">
        <doc xml:space="preserve"
             filename="src/drive/msg-drive.c"
             line="151">Gets the drive type of the drive.</doc>
        <source-position filename="src/drive/msg-drive.h" line="61"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/drive/msg-drive.c"
               line="157">the drive type of drive</doc>
          <type name="DriveType" c:type="MsgDriveType"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive.c"
                 line="153">a drive</doc>
            <type name="Drive" c:type="MsgDrive*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_id" c:identifier="msg_drive_get_id">
        <doc xml:space="preserve"
             filename="src/drive/msg-drive.c"
             line="137">Gets the ID of the drive.</doc>
        <source-position filename="src/drive/msg-drive.h" line="58"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/drive/msg-drive.c"
               line="143">the id of the drive</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive.c"
                 line="139">a drive</doc>
            <type name="Drive" c:type="MsgDrive*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_modified" c:identifier="msg_drive_get_modified">
        <doc xml:space="preserve"
             filename="src/drive/msg-drive.c"
             line="235">Gets the modified time of the drive.</doc>
        <source-position filename="src/drive/msg-drive.h" line="79"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/drive/msg-drive.c"
               line="241">modified time of drive</doc>
          <type name="GLib.DateTime" c:type="const GDateTime*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive.c"
                 line="237">a drive</doc>
            <type name="Drive" c:type="MsgDrive*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_name" c:identifier="msg_drive_get_name">
        <doc xml:space="preserve"
             filename="src/drive/msg-drive.c"
             line="165">Gets tthe name of the drive.</doc>
        <source-position filename="src/drive/msg-drive.h" line="64"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/drive/msg-drive.c"
               line="171">name of drive</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive.c"
                 line="167">a drive</doc>
            <type name="Drive" c:type="MsgDrive*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_remaining" c:identifier="msg_drive_get_remaining">
        <doc xml:space="preserve"
             filename="src/drive/msg-drive.c"
             line="207">Gets the remaining size of the drive.</doc>
        <source-position filename="src/drive/msg-drive.h" line="73"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/drive/msg-drive.c"
               line="213">remaining size of drive</doc>
          <type name="gulong" c:type="gulong"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive.c"
                 line="209">a drive</doc>
            <type name="Drive" c:type="MsgDrive*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_total" c:identifier="msg_drive_get_total">
        <doc xml:space="preserve"
             filename="src/drive/msg-drive.c"
             line="179">Gets the total size of the drive.</doc>
        <source-position filename="src/drive/msg-drive.h" line="67"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/drive/msg-drive.c"
               line="185">total size of drive</doc>
          <type name="gulong" c:type="gulong"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive.c"
                 line="181">a drive</doc>
            <type name="Drive" c:type="MsgDrive*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_used" c:identifier="msg_drive_get_used">
        <doc xml:space="preserve"
             filename="src/drive/msg-drive.c"
             line="193">Gets the used size of the drive.</doc>
        <source-position filename="src/drive/msg-drive.h" line="70"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/drive/msg-drive.c"
               line="199">used size of drive</doc>
          <type name="gulong" c:type="gulong"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive.c"
                 line="195">a drive</doc>
            <type name="Drive" c:type="MsgDrive*"/>
          </instance-parameter>
        </parameters>
      </method>
    </class>
    <record name="DriveClass"
            c:type="MsgDriveClass"
            glib:is-gtype-struct-for="Drive">
      <source-position filename="src/drive/msg-drive.h" line="48"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="DriveItem"
           c:symbol-prefix="drive_item"
           c:type="MsgDriveItem"
           parent="GObject.Object"
           glib:type-name="MsgDriveItem"
           glib:get-type="msg_drive_item_get_type"
           glib:type-struct="DriveItemClass">
      <source-position filename="src/drive/msg-drive-item.h" line="37"/>
      <constructor name="new_from_json"
                   c:identifier="msg_drive_item_new_from_json"
                   throws="1">
        <doc xml:space="preserve"
             filename="src/drive/msg-drive-item.c"
             line="82">Creates a new `MsgDriveItem` from json response object.</doc>
        <source-position filename="src/drive/msg-drive-item.h" line="40"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/drive/msg-drive-item.c"
               line="89">the newly created `MsgDriveItem`</doc>
          <type name="DriveItem" c:type="MsgDriveItem*"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-item.c"
                 line="84">The json object to parse</doc>
            <type name="Json.Object" c:type="JsonObject*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_created" c:identifier="msg_drive_item_get_created">
        <doc xml:space="preserve"
             filename="src/drive/msg-drive-item.c"
             line="259">Get created time of drive item.</doc>
        <source-position filename="src/drive/msg-drive-item.h" line="58"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/drive/msg-drive-item.c"
               line="265">created date time of drive item</doc>
          <type name="gint64" c:type="gint64"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-item.c"
                 line="261">a drive item</doc>
            <type name="DriveItem" c:type="MsgDriveItem*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_drive_id" c:identifier="msg_drive_item_get_drive_id">
        <doc xml:space="preserve"
             filename="src/drive/msg-drive-item.c"
             line="339">Gets drive id of drive item.</doc>
        <source-position filename="src/drive/msg-drive-item.h" line="73"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/drive/msg-drive-item.c"
               line="345">drive id of drive item</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-item.c"
                 line="341">a drive item</doc>
            <type name="DriveItem" c:type="MsgDriveItem*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_etag" c:identifier="msg_drive_item_get_etag">
        <doc xml:space="preserve"
             filename="src/drive/msg-drive-item.c"
             line="291">Gets etag of drive item.</doc>
        <source-position filename="src/drive/msg-drive-item.h" line="64"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/drive/msg-drive-item.c"
               line="297">etag of drive item</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-item.c"
                 line="293">a drive item</doc>
            <type name="DriveItem" c:type="MsgDriveItem*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_id" c:identifier="msg_drive_item_get_id">
        <doc xml:space="preserve"
             filename="src/drive/msg-drive-item.c"
             line="226">Get id of drive item.</doc>
        <source-position filename="src/drive/msg-drive-item.h" line="51"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/drive/msg-drive-item.c"
               line="232">id of drive item</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-item.c"
                 line="228">a drive item</doc>
            <type name="DriveItem" c:type="MsgDriveItem*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_modified" c:identifier="msg_drive_item_get_modified">
        <doc xml:space="preserve"
             filename="src/drive/msg-drive-item.c"
             line="275">Gets modified time of drive item.</doc>
        <source-position filename="src/drive/msg-drive-item.h" line="61"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/drive/msg-drive-item.c"
               line="281">modified date time of drive item</doc>
          <type name="gint64" c:type="gint64"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-item.c"
                 line="277">a drive item</doc>
            <type name="DriveItem" c:type="MsgDriveItem*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_name" c:identifier="msg_drive_item_get_name">
        <doc xml:space="preserve"
             filename="src/drive/msg-drive-item.c"
             line="193">Gets name of drive item.</doc>
        <source-position filename="src/drive/msg-drive-item.h" line="44"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/drive/msg-drive-item.c"
               line="199">name of drive item</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-item.c"
                 line="195">a drive item</doc>
            <type name="DriveItem" c:type="MsgDriveItem*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_parent_id" c:identifier="msg_drive_item_get_parent_id">
        <doc xml:space="preserve"
             filename="src/drive/msg-drive-item.c"
             line="355">Gets parent id of drive item.</doc>
        <source-position filename="src/drive/msg-drive-item.h" line="76"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/drive/msg-drive-item.c"
               line="361">parent id of drive item</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-item.c"
                 line="357">a drive item</doc>
            <type name="DriveItem" c:type="MsgDriveItem*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_remote_drive_id"
              c:identifier="msg_drive_item_get_remote_drive_id">
        <doc xml:space="preserve"
             filename="src/drive/msg-drive-item.c"
             line="404">Get remote parent drive id of drive item.</doc>
        <source-position filename="src/drive/msg-drive-item.h" line="86"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-item.c"
                 line="406">a drive item</doc>
            <type name="DriveItem" c:type="MsgDriveItem*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_remote_id" c:identifier="msg_drive_item_get_remote_id">
        <doc xml:space="preserve"
             filename="src/drive/msg-drive-item.c"
             line="418">Get remote id of drive item.</doc>
        <source-position filename="src/drive/msg-drive-item.h" line="89"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-item.c"
                 line="420">a drive item</doc>
            <type name="DriveItem" c:type="MsgDriveItem*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_size" c:identifier="msg_drive_item_get_size">
        <doc xml:space="preserve"
             filename="src/drive/msg-drive-item.c"
             line="323">Gets size of drive item.</doc>
        <source-position filename="src/drive/msg-drive-item.h" line="70"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/drive/msg-drive-item.c"
               line="329">size of drive item</doc>
          <type name="guint64" c:type="guint64"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-item.c"
                 line="325">a drive item</doc>
            <type name="DriveItem" c:type="MsgDriveItem*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_user" c:identifier="msg_drive_item_get_user">
        <doc xml:space="preserve"
             filename="src/drive/msg-drive-item.c"
             line="307">Gets user of drive item.</doc>
        <source-position filename="src/drive/msg-drive-item.h" line="67"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/drive/msg-drive-item.c"
               line="313">user of drive item</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-item.c"
                 line="309">a drive item</doc>
            <type name="DriveItem" c:type="MsgDriveItem*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_shared" c:identifier="msg_drive_item_is_shared">
        <doc xml:space="preserve"
             filename="src/drive/msg-drive-item.c"
             line="371">Gets whether item is shared.</doc>
        <source-position filename="src/drive/msg-drive-item.h" line="79"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/drive/msg-drive-item.c"
               line="377">%TRUE if item is shared, otherwise %FALSE</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-item.c"
                 line="373">a drive item</doc>
            <type name="DriveItem" c:type="MsgDriveItem*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_id" c:identifier="msg_drive_item_set_id">
        <doc xml:space="preserve"
             filename="src/drive/msg-drive-item.c"
             line="242">Sets id of drive item.</doc>
        <source-position filename="src/drive/msg-drive-item.h" line="54"/>
        <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="src/drive/msg-drive-item.c"
                 line="244">a drive item</doc>
            <type name="DriveItem" c:type="MsgDriveItem*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-item.c"
                 line="245">new id of drive item</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_name" c:identifier="msg_drive_item_set_name">
        <doc xml:space="preserve"
             filename="src/drive/msg-drive-item.c"
             line="209">Sets name of drive item.</doc>
        <source-position filename="src/drive/msg-drive-item.h" line="47"/>
        <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="src/drive/msg-drive-item.c"
                 line="211">a drive item</doc>
            <type name="DriveItem" c:type="MsgDriveItem*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-item.c"
                 line="212">new name of drive item</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_parent_id" c:identifier="msg_drive_item_set_parent_id">
        <doc xml:space="preserve"
             filename="src/drive/msg-drive-item.c"
             line="387">Set parent id of drive item.</doc>
        <source-position filename="src/drive/msg-drive-item.h" line="82"/>
        <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="src/drive/msg-drive-item.c"
                 line="389">a drive item</doc>
            <type name="DriveItem" c:type="MsgDriveItem*"/>
          </instance-parameter>
          <parameter name="parent_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-item.c"
                 line="390">parent id</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
    </class>
    <record name="DriveItemClass"
            c:type="MsgDriveItemClass"
            glib:is-gtype-struct-for="DriveItem">
      <source-position filename="src/drive/msg-drive-item.h" line="37"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <class name="DriveItemFile"
           c:symbol-prefix="drive_item_file"
           c:type="MsgDriveItemFile"
           parent="DriveItem"
           glib:type-name="MsgDriveItemFile"
           glib:get-type="msg_drive_item_file_get_type"
           glib:type-struct="DriveItemFileClass">
      <source-position filename="src/drive/msg-drive-item-file.h" line="32"/>
      <constructor name="new" c:identifier="msg_drive_item_file_new">
        <doc xml:space="preserve"
             filename="src/drive/msg-drive-item-file.c"
             line="53">Creates a new `MsgDriveItemFile`.</doc>
        <source-position filename="src/drive/msg-drive-item-file.h" line="41"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/drive/msg-drive-item-file.c"
               line="58">the newly created `MsgDriveItemFile`</doc>
          <type name="DriveItemFile" c:type="MsgDriveItemFile*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_json"
                   c:identifier="msg_drive_item_file_new_from_json">
        <doc xml:space="preserve"
             filename="src/drive/msg-drive-item-file.c"
             line="66">Creates a new `MsgDriveItemFile` from json response object.</doc>
        <source-position filename="src/drive/msg-drive-item-file.h" line="44"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/drive/msg-drive-item-file.c"
               line="72">the newly created `MsgDriveItemFile`</doc>
          <type name="DriveItemFile" c:type="MsgDriveItemFile*"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-item-file.c"
                 line="68">The json object to parse</doc>
            <type name="Json.Object" c:type="JsonObject*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_mime_type"
              c:identifier="msg_drive_item_file_get_mime_type">
        <doc xml:space="preserve"
             filename="src/drive/msg-drive-item-file.c"
             line="112">Gets mime type of drive item file.</doc>
        <source-position filename="src/drive/msg-drive-item-file.h" line="47"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/drive/msg-drive-item-file.c"
               line="118">mime type of drive item file</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-item-file.c"
                 line="114">a drive item file</doc>
            <type name="DriveItemFile" c:type="MsgDriveItemFile*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_thumbnail_uri"
              c:identifier="msg_drive_item_file_get_thumbnail_uri">
        <doc xml:space="preserve"
             filename="src/drive/msg-drive-item-file.c"
             line="126">Gets thumbnail uri of drive item file.</doc>
        <source-position filename="src/drive/msg-drive-item-file.h" line="50"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/drive/msg-drive-item-file.c"
               line="132">thumbnail uri of drive item file</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-item-file.c"
                 line="128">a drive item file</doc>
            <type name="DriveItemFile" c:type="MsgDriveItemFile*"/>
          </instance-parameter>
        </parameters>
      </method>
    </class>
    <record name="DriveItemFileClass"
            c:type="MsgDriveItemFileClass"
            glib:is-gtype-struct-for="DriveItemFile">
      <source-position filename="src/drive/msg-drive-item-file.h" line="32"/>
      <field name="parent_class">
        <type name="DriveItemClass" c:type="MsgDriveItemClass"/>
      </field>
    </record>
    <class name="DriveItemFolder"
           c:symbol-prefix="drive_item_folder"
           c:type="MsgDriveItemFolder"
           parent="DriveItem"
           glib:type-name="MsgDriveItemFolder"
           glib:get-type="msg_drive_item_folder_get_type"
           glib:type-struct="DriveItemFolderClass">
      <source-position filename="src/drive/msg-drive-item-folder.h" line="32"/>
      <constructor name="new" c:identifier="msg_drive_item_folder_new">
        <doc xml:space="preserve"
             filename="src/drive/msg-drive-item-folder.c"
             line="38">Creates a new `MsgDriveItemFolder`.</doc>
        <source-position filename="src/drive/msg-drive-item-folder.h"
                         line="41"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/drive/msg-drive-item-folder.c"
               line="43">the newly created `MsgDriveItemFolder`</doc>
          <type name="DriveItemFolder" c:type="MsgDriveItemFolder*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_json"
                   c:identifier="msg_drive_item_folder_new_from_json"
                   throws="1">
        <doc xml:space="preserve"
             filename="src/drive/msg-drive-item-folder.c"
             line="51">Creates a new `MsgDriveItemFolder` from json response object.</doc>
        <source-position filename="src/drive/msg-drive-item-folder.h"
                         line="44"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/drive/msg-drive-item-folder.c"
               line="58">the newly created `MsgDriveItemFolder`</doc>
          <type name="DriveItemFolder" c:type="MsgDriveItemFolder*"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-item-folder.c"
                 line="53">The json object to parse</doc>
            <type name="Json.Object" c:type="JsonObject*"/>
          </parameter>
        </parameters>
      </constructor>
    </class>
    <record name="DriveItemFolderClass"
            c:type="MsgDriveItemFolderClass"
            glib:is-gtype-struct-for="DriveItemFolder">
      <source-position filename="src/drive/msg-drive-item-folder.h" line="32"/>
      <field name="parent_class">
        <type name="DriveItemClass" c:type="MsgDriveItemClass"/>
      </field>
    </record>
    <class name="DriveService"
           c:symbol-prefix="drive_service"
           c:type="MsgDriveService"
           parent="Service"
           glib:type-name="MsgDriveService"
           glib:get-type="msg_drive_service_get_type"
           glib:type-struct="DriveServiceClass">
      <source-position filename="src/drive/msg-drive-service.h" line="33"/>
      <constructor name="new" c:identifier="msg_drive_service_new">
        <doc xml:space="preserve"
             filename="src/drive/msg-drive-service.c"
             line="124">Creates a new `MsgDriveService` using #MsgAuthorizer.</doc>
        <source-position filename="src/drive/msg-drive-service.h" line="36"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/drive/msg-drive-service.c"
               line="130">the newly created `MsgDriveService`</doc>
          <type name="DriveService" c:type="MsgDriveService*"/>
        </return-value>
        <parameters>
          <parameter name="authorizer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-service.c"
                 line="126">A authorizer</doc>
            <type name="Authorizer" c:type="MsgAuthorizer*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="add_item_to_folder"
              c:identifier="msg_drive_service_add_item_to_folder"
              throws="1">
        <doc xml:space="preserve"
             filename="src/drive/msg-drive-service.c"
             line="757">Adds item to parent folder</doc>
        <source-position filename="src/drive/msg-drive-service.h" line="104"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/drive/msg-drive-service.c"
               line="767">a new drive item</doc>
          <type name="DriveItem" c:type="MsgDriveItem*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-service.c"
                 line="759">a msg drive service</doc>
            <type name="DriveService" c:type="MsgDriveService*"/>
          </instance-parameter>
          <parameter name="parent" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-service.c"
                 line="760">parent drive item</doc>
            <type name="DriveItem" c:type="MsgDriveItem*"/>
          </parameter>
          <parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-service.c"
                 line="761">drive item to add</doc>
            <type name="DriveItem" c:type="MsgDriveItem*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-service.c"
                 line="762">a cancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="copy_file"
              c:identifier="msg_drive_service_copy_file"
              throws="1">
        <doc xml:space="preserve"
             filename="src/drive/msg-drive-service.c"
             line="881">Copy a file async on remote server to a new directory.</doc>
        <source-position filename="src/drive/msg-drive-service.h" line="116"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/drive/msg-drive-service.c"
               line="891">%TRUE if accepted, %FALSE on error</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-service.c"
                 line="883">#MsgDriveService</doc>
            <type name="DriveService" c:type="MsgDriveService*"/>
          </instance-parameter>
          <parameter name="file" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-service.c"
                 line="884">source #MsgDriveItem</doc>
            <type name="DriveItem" c:type="MsgDriveItem*"/>
          </parameter>
          <parameter name="destination" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-service.c"
                 line="885">destination directory #MsgDriveItem</doc>
            <type name="DriveItem" c:type="MsgDriveItem*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-service.c"
                 line="886">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="create_folder"
              c:identifier="msg_drive_service_create_folder"
              throws="1">
        <doc xml:space="preserve"
             filename="src/drive/msg-drive-service.c"
             line="523">Creates a new folder called name under parent.</doc>
        <source-position filename="src/drive/msg-drive-service.h" line="78"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/drive/msg-drive-service.c"
               line="533">a newly created `MsgDriveItem`</doc>
          <type name="DriveItem" c:type="MsgDriveItem*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-service.c"
                 line="525">a drive service</doc>
            <type name="DriveService" c:type="MsgDriveService*"/>
          </instance-parameter>
          <parameter name="parent" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-service.c"
                 line="526">parent drive item</doc>
            <type name="DriveItem" c:type="MsgDriveItem*"/>
          </parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-service.c"
                 line="527">name of new folder</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-service.c"
                 line="528">a cancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="delete" c:identifier="msg_drive_service_delete" throws="1">
        <doc xml:space="preserve"
             filename="src/drive/msg-drive-service.c"
             line="596">Deletes item.</doc>
        <source-position filename="src/drive/msg-drive-service.h" line="85"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/drive/msg-drive-service.c"
               line="605">%TRUE when item has been deleted, otherwise %FALSE</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-service.c"
                 line="598">a drive service</doc>
            <type name="DriveService" c:type="MsgDriveService*"/>
          </instance-parameter>
          <parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-service.c"
                 line="599">a #MsgDriveItem</doc>
            <type name="DriveItem" c:type="MsgDriveItem*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-service.c"
                 line="600">a cancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="download_item"
              c:identifier="msg_drive_service_download_item"
              throws="1">
        <doc xml:space="preserve"
             filename="src/drive/msg-drive-service.c"
             line="300">Download item</doc>
        <source-position filename="src/drive/msg-drive-service.h" line="62"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/drive/msg-drive-service.c"
               line="309">input stream of drive item</doc>
          <type name="Gio.InputStream" c:type="GInputStream*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-service.c"
                 line="302">a #MsgDriveService</doc>
            <type name="DriveService" c:type="MsgDriveService*"/>
          </instance-parameter>
          <parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-service.c"
                 line="303">a #MsgDriveItem</doc>
            <type name="DriveItem" c:type="MsgDriveItem*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-service.c"
                 line="304">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="download_url"
              c:identifier="msg_drive_service_download_url"
              throws="1">
        <doc xml:space="preserve"
             filename="src/drive/msg-drive-service.c"
             line="501">Download url</doc>
        <source-position filename="src/drive/msg-drive-service.h" line="56"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/drive/msg-drive-service.c"
               line="510">a new `GInputStream` for url</doc>
          <type name="Gio.InputStream" c:type="GInputStream*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-service.c"
                 line="503">a #MsgDriveService</doc>
            <type name="DriveService" c:type="MsgDriveService*"/>
          </instance-parameter>
          <parameter name="url" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-service.c"
                 line="504">url to download</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-service.c"
                 line="505">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_drives"
              c:identifier="msg_drive_service_get_drives"
              throws="1">
        <doc xml:space="preserve"
             filename="src/drive/msg-drive-service.c"
             line="190">Queries the Microsoft Graph API for all the drives of the currently logged in user</doc>
        <source-position filename="src/drive/msg-drive-service.h" line="39"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/drive/msg-drive-service.c"
               line="198">all drives the user can access</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Drive"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-service.c"
                 line="192">a #MsgDriveService</doc>
            <type name="DriveService" c:type="MsgDriveService*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-service.c"
                 line="193">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_root"
              c:identifier="msg_drive_service_get_root"
              throws="1">
        <doc xml:space="preserve"
             filename="src/drive/msg-drive-service.c"
             line="265">Get root item of selected drive</doc>
        <source-position filename="src/drive/msg-drive-service.h" line="44"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/drive/msg-drive-service.c"
               line="274">root 'MsgDriveItem'</doc>
          <type name="DriveItem" c:type="MsgDriveItem*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-service.c"
                 line="267">a #MsgDriveService</doc>
            <type name="DriveService" c:type="MsgDriveService*"/>
          </instance-parameter>
          <parameter name="drive" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-service.c"
                 line="268">a #MsgDrive</doc>
            <type name="Drive" c:type="MsgDrive*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-service.c"
                 line="269">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_shared_with_me"
              c:identifier="msg_drive_service_get_shared_with_me"
              throws="1">
        <doc xml:space="preserve"
             filename="src/drive/msg-drive-service.c"
             line="817">Requests all shared with me items</doc>
        <source-position filename="src/drive/msg-drive-service.h" line="111"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/drive/msg-drive-service.c"
               line="825">shared with me list</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="DriveItem"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-service.c"
                 line="819">a #MsgDriveService</doc>
            <type name="DriveService" c:type="MsgDriveService*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-service.c"
                 line="820">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="list_children"
              c:identifier="msg_drive_service_list_children"
              throws="1">
        <doc xml:space="preserve"
             filename="src/drive/msg-drive-service.c"
             line="348">Get a list of all files in folder item</doc>
        <source-position filename="src/drive/msg-drive-service.h" line="50"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/drive/msg-drive-service.c"
               line="357">all items in folder</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="DriveItem"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-service.c"
                 line="350">a #MsgDriveService</doc>
            <type name="DriveService" c:type="MsgDriveService*"/>
          </instance-parameter>
          <parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-service.c"
                 line="351">a #MsgDriveItem</doc>
            <type name="DriveItem" c:type="MsgDriveItem*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-service.c"
                 line="352">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="move_file"
              c:identifier="msg_drive_service_move_file"
              throws="1">
        <doc xml:space="preserve"
             filename="src/drive/msg-drive-service.c"
             line="952">Move a file async on remote server to a new directory.</doc>
        <source-position filename="src/drive/msg-drive-service.h" line="123"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/drive/msg-drive-service.c"
               line="962">moved #MsgDriveItem</doc>
          <type name="DriveItem" c:type="MsgDriveItem*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-service.c"
                 line="954">#MsgDriveService</doc>
            <type name="DriveService" c:type="MsgDriveService*"/>
          </instance-parameter>
          <parameter name="file" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-service.c"
                 line="955">source #MsgDriveItem</doc>
            <type name="DriveItem" c:type="MsgDriveItem*"/>
          </parameter>
          <parameter name="destination" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-service.c"
                 line="956">destination directory #MsgDriveItem</doc>
            <type name="DriveItem" c:type="MsgDriveItem*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-service.c"
                 line="957">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="rename" c:identifier="msg_drive_service_rename" throws="1">
        <doc xml:space="preserve"
             filename="src/drive/msg-drive-service.c"
             line="434">Sets a new drive item name</doc>
        <source-position filename="src/drive/msg-drive-service.h" line="70"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/drive/msg-drive-service.c"
               line="444">the renamed `MsgDriveItem`</doc>
          <type name="DriveItem" c:type="MsgDriveItem*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-service.c"
                 line="436">a #MsgDriveService</doc>
            <type name="DriveService" c:type="MsgDriveService*"/>
          </instance-parameter>
          <parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-service.c"
                 line="437">a #MsgDriveItem</doc>
            <type name="DriveItem" c:type="MsgDriveItem*"/>
          </parameter>
          <parameter name="new_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-service.c"
                 line="438">new name of item</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-service.c"
                 line="439">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="update" c:identifier="msg_drive_service_update" throws="1">
        <doc xml:space="preserve"
             filename="src/drive/msg-drive-service.c"
             line="633">Creates an update stream for drive item in order to update it's content.</doc>
        <source-position filename="src/drive/msg-drive-service.h" line="91"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/drive/msg-drive-service.c"
               line="642">an output stream</doc>
          <type name="Gio.OutputStream" c:type="GOutputStream*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-service.c"
                 line="635">a drive service</doc>
            <type name="DriveService" c:type="MsgDriveService*"/>
          </instance-parameter>
          <parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-service.c"
                 line="636">a drive item</doc>
            <type name="DriveItem" c:type="MsgDriveItem*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-service.c"
                 line="637">a cancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="update_finish"
              c:identifier="msg_drive_service_update_finish"
              throws="1">
        <doc xml:space="preserve"
             filename="src/drive/msg-drive-service.c"
             line="706">Finish a update session of given #item.</doc>
        <source-position filename="src/drive/msg-drive-service.h" line="97"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/drive/msg-drive-service.c"
               line="716">a new #MsgDriveItem or %NULL on error.</doc>
          <type name="DriveItem" c:type="MsgDriveItem*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-service.c"
                 line="708">a #MsgDriveService</doc>
            <type name="DriveService" c:type="MsgDriveService*"/>
          </instance-parameter>
          <parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-service.c"
                 line="709">a #MsgDriveItem</doc>
            <type name="DriveItem" c:type="MsgDriveItem*"/>
          </parameter>
          <parameter name="stream" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-service.c"
                 line="710">stream where data is store and needs to be transfered</doc>
            <type name="Gio.OutputStream" c:type="GOutputStream*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/drive/msg-drive-service.c"
                 line="711">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
    </class>
    <record name="DriveServiceClass"
            c:type="MsgDriveServiceClass"
            glib:is-gtype-struct-for="DriveService">
      <source-position filename="src/drive/msg-drive-service.h" line="33"/>
      <field name="parent_class">
        <type name="ServiceClass" c:type="MsgServiceClass"/>
      </field>
    </record>
    <enumeration name="DriveType" c:type="MsgDriveType">
      <doc xml:space="preserve"
           filename="src/drive/msg-drive.h"
           line="29">The type of Drive
&lt;ulink url="https://docs.microsoft.com/en-us/graph/api/resources/drive?view=graph-rest-1.0"&gt;
objects&lt;/ulink&gt;.</doc>
      <source-position filename="src/drive/msg-drive.h" line="44"/>
      <member name="personal" value="0" c:identifier="MSG_DRIVE_TYPE_PERSONAL">
        <doc xml:space="preserve"
             filename="src/drive/msg-drive.h"
             line="31">Personal OneDrive drive</doc>
      </member>
      <member name="business" value="1" c:identifier="MSG_DRIVE_TYPE_BUSINESS">
        <doc xml:space="preserve"
             filename="src/drive/msg-drive.h"
             line="32">OneDrive for Business drive</doc>
      </member>
      <member name="document_library"
              value="2"
              c:identifier="MSG_DRIVE_TYPE_DOCUMENT_LIBRARY">
        <doc xml:space="preserve"
             filename="src/drive/msg-drive.h"
             line="33">SharePoint document library</doc>
      </member>
    </enumeration>
    <enumeration name="Error"
                 c:type="MsgError"
                 glib:error-domain="msg-error-quark">
      <doc xml:space="preserve"
           filename="src/msg-error.h"
           line="31">This enumeration can be expanded at a later date.</doc>
      <source-position filename="src/msg-error.h" line="41"/>
      <member name="failed" value="0" c:identifier="MSG_ERROR_FAILED">
        <doc xml:space="preserve"
             filename="src/msg-error.h"
             line="33">An unrecoverable error occurred.</doc>
      </member>
      <member name="protocol_error"
              value="1"
              c:identifier="MSG_ERROR_PROTOCOL_ERROR">
      </member>
    </enumeration>
    <function-macro name="GOA_AUTHORIZER"
                    c:identifier="MSG_GOA_AUTHORIZER"
                    introspectable="0">
      <source-position filename="src/msg-goa-authorizer.h" line="28"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="GOA_AUTHORIZER_CLASS"
                    c:identifier="MSG_GOA_AUTHORIZER_CLASS"
                    introspectable="0">
      <source-position filename="src/msg-goa-authorizer.h" line="29"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="GOA_AUTHORIZER_GET_CLASS"
                    c:identifier="MSG_GOA_AUTHORIZER_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/msg-goa-authorizer.h" line="32"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="GoaAuthorizer"
           c:symbol-prefix="goa_authorizer"
           c:type="MsgGoaAuthorizer"
           parent="GObject.Object"
           glib:type-name="MsgGoaAuthorizer"
           glib:get-type="msg_goa_authorizer_get_type"
           glib:type-struct="GoaAuthorizerClass">
      <doc xml:space="preserve"
           filename="src/msg-goa-authorizer.h"
           line="38">The #MsgGoaAuthorizer structure contains only private data and
should only be accessed using the provided API.</doc>
      <source-position filename="src/msg-goa-authorizer.h" line="59"/>
      <implements name="Authorizer"/>
      <constructor name="new" c:identifier="msg_goa_authorizer_new">
        <doc xml:space="preserve"
             filename="src/msg-goa-authorizer.c"
             line="223">Creates a new #MsgGoaAuthorizer using @goa_object.</doc>
        <source-position filename="src/msg-goa-authorizer.h" line="63"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/msg-goa-authorizer.c"
               line="229">A new #MsgGoaAuthorizer. Free the returned
object with g_object_unref().</doc>
          <type name="GoaAuthorizer" c:type="MsgGoaAuthorizer*"/>
        </return-value>
        <parameters>
          <parameter name="goa_object" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/msg-goa-authorizer.c"
                 line="225">A #GoaObject representing a MS Graph account.</doc>
            <type name="Goa.Object" c:type="GoaObject*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_goa_object"
              c:identifier="msg_goa_authorizer_get_goa_object"
              glib:get-property="goa-object">
        <doc xml:space="preserve"
             filename="src/msg-goa-authorizer.c"
             line="238">Gets the GOA account used by @self for authorization.</doc>
        <source-position filename="src/msg-goa-authorizer.h" line="65"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/msg-goa-authorizer.c"
               line="244">A #GoaObject. The returned object is
owned by #MsgGoaAuthorizer and should not be modified or freed.</doc>
          <type name="Goa.Object" c:type="GoaObject*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/msg-goa-authorizer.c"
                 line="240">A #MsgGoaAuthorizer.</doc>
            <type name="GoaAuthorizer" c:type="MsgGoaAuthorizer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="goa-object"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_goa_object">
        <type name="Goa.Object"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="GoaAuthorizerPrivate" c:type="MsgGoaAuthorizerPrivate*"/>
      </field>
    </class>
    <record name="GoaAuthorizerClass"
            c:type="MsgGoaAuthorizerClass"
            glib:is-gtype-struct-for="GoaAuthorizer">
      <doc xml:space="preserve"
           filename="src/msg-goa-authorizer.h"
           line="50">Class structure for #MsgGoaAuthorizer.</doc>
      <source-position filename="src/msg-goa-authorizer.h" line="59"/>
      <field name="parent_class">
        <doc xml:space="preserve"
             filename="src/msg-goa-authorizer.h"
             line="52">The parent class.</doc>
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="GoaAuthorizerPrivate"
            c:type="MsgGoaAuthorizerPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="src/msg-goa-authorizer.h" line="36"/>
    </record>
    <function-macro name="INPUT_STREAM"
                    c:identifier="MSG_INPUT_STREAM"
                    introspectable="0">
      <source-position filename="src/msg-input-stream.h" line="27"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="INPUT_STREAM_CLASS"
                    c:identifier="MSG_INPUT_STREAM_CLASS"
                    introspectable="0">
      <source-position filename="src/msg-input-stream.h" line="28"/>
      <parameters>
        <parameter name="k">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="INPUT_STREAM_GET_CLASS"
                    c:identifier="MSG_INPUT_STREAM_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/msg-input-stream.h" line="31"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_AUTHORIZER"
                    c:identifier="MSG_IS_AUTHORIZER"
                    introspectable="0">
      <source-position filename="src/msg-authorizer.h" line="27"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_GOA_AUTHORIZER"
                    c:identifier="MSG_IS_GOA_AUTHORIZER"
                    introspectable="0">
      <source-position filename="src/msg-goa-authorizer.h" line="30"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_GOA_AUTHORIZER_CLASS"
                    c:identifier="MSG_IS_GOA_AUTHORIZER_CLASS"
                    introspectable="0">
      <source-position filename="src/msg-goa-authorizer.h" line="31"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_INPUT_STREAM"
                    c:identifier="MSG_IS_INPUT_STREAM"
                    introspectable="0">
      <source-position filename="src/msg-input-stream.h" line="29"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_INPUT_STREAM_CLASS"
                    c:identifier="MSG_IS_INPUT_STREAM_CLASS"
                    introspectable="0">
      <source-position filename="src/msg-input-stream.h" line="30"/>
      <parameters>
        <parameter name="k">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_OAUTH2_AUTHORIZER"
                    c:identifier="MSG_IS_OAUTH2_AUTHORIZER"
                    introspectable="0">
      <source-position filename="src/msg-oauth2-authorizer.h" line="12"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_OAUTH2_AUTHORIZER_CLASS"
                    c:identifier="MSG_IS_OAUTH2_AUTHORIZER_CLASS"
                    introspectable="0">
      <source-position filename="src/msg-oauth2-authorizer.h" line="13"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <class name="InputStream"
           c:symbol-prefix="input_stream"
           c:type="MsgInputStream"
           parent="Gio.InputStream"
           glib:type-name="MsgInputStream"
           glib:get-type="msg_input_stream_get_type"
           glib:type-struct="InputStreamClass">
      <source-position filename="src/msg-input-stream.h" line="54"/>
      <implements name="Gio.Seekable"/>
      <constructor name="new" c:identifier="msg_input_stream_new">
        <doc xml:space="preserve"
             filename="src/msg-input-stream.c"
             line="69">Prepares to send a GET request for @uri on @session, and returns a
#GInputStream that can be used to read the response.

The request will not be sent until the first read call; if you need
to look at the status code or response headers before reading the
body, you can use msg_input_stream_send() or
msg_input_stream_send_async() to force the message to be
sent and the response headers read.</doc>
        <source-position filename="src/msg-input-stream.h" line="59"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/msg-input-stream.c"
               line="83">a new #GInputStream.</doc>
          <type name="Gio.InputStream" c:type="GInputStream*"/>
        </return-value>
        <parameters>
          <parameter name="service" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/msg-input-stream.c"
                 line="71">a #MsgService</doc>
            <type name="Service" c:type="MsgService*"/>
          </parameter>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/msg-input-stream.c"
                 line="72">a #GUri</doc>
            <type name="utf8" c:type="char*"/>
          </parameter>
        </parameters>
      </constructor>
      <function name="get_message" c:identifier="msg_input_stream_get_message">
        <doc xml:space="preserve"
             filename="src/msg-input-stream.c"
             line="411">Gets corresponding SoupMessage</doc>
        <source-position filename="src/msg-input-stream.h" line="71"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/msg-input-stream.c"
               line="417">a #SoupMessage</doc>
          <type name="Soup.Message" c:type="SoupMessage*"/>
        </return-value>
        <parameters>
          <parameter name="stream" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/msg-input-stream.c"
                 line="413">a #GInputStream</doc>
            <type name="Gio.InputStream" c:type="GInputStream*"/>
          </parameter>
        </parameters>
      </function>
      <function name="send_async"
                c:identifier="msg_input_stream_send_async"
                glib:finish-func="send_finish">
        <source-position filename="src/msg-input-stream.h" line="62"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="stream" transfer-ownership="none">
            <type name="Gio.InputStream" c:type="GInputStream*"/>
          </parameter>
          <parameter name="io_priority" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="4">
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </function>
      <function name="send_finish"
                c:identifier="msg_input_stream_send_finish"
                throws="1">
        <source-position filename="src/msg-input-stream.h" line="67"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="stream" transfer-ownership="none">
            <type name="Gio.InputStream" c:type="GInputStream*"/>
          </parameter>
          <parameter name="result" transfer-ownership="none">
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </function>
      <field name="parent">
        <type name="Gio.InputStream" c:type="GInputStream"/>
      </field>
      <field name="priv">
        <type name="InputStreamPrivate" c:type="MsgInputStreamPrivate*"/>
      </field>
    </class>
    <record name="InputStreamClass"
            c:type="MsgInputStreamClass"
            glib:is-gtype-struct-for="InputStream">
      <source-position filename="src/msg-input-stream.h" line="54"/>
      <field name="parent_class">
        <type name="Gio.InputStreamClass" c:type="GInputStreamClass"/>
      </field>
      <field name="_g_reserved1" introspectable="0">
        <callback name="_g_reserved1">
          <source-position filename="src/msg-input-stream.h" line="49"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_g_reserved2" introspectable="0">
        <callback name="_g_reserved2">
          <source-position filename="src/msg-input-stream.h" line="50"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_g_reserved3" introspectable="0">
        <callback name="_g_reserved3">
          <source-position filename="src/msg-input-stream.h" line="51"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_g_reserved4" introspectable="0">
        <callback name="_g_reserved4">
          <source-position filename="src/msg-input-stream.h" line="52"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_g_reserved5" introspectable="0">
        <callback name="_g_reserved5">
          <source-position filename="src/msg-input-stream.h" line="53"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="InputStreamPrivate"
            c:type="MsgInputStreamPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="src/msg-input-stream.h" line="34"/>
    </record>
    <class name="MailFolder"
           c:symbol-prefix="mail_folder"
           c:type="MsgMailFolder"
           parent="GObject.Object"
           glib:type-name="MsgMailFolder"
           glib:get-type="msg_mail_folder_get_type"
           glib:type-struct="MailFolderClass">
      <doc xml:space="preserve"
           filename="src/mail/msg-mail-folder.c"
           line="21">Handling of mail folder specific functions.</doc>
      <source-position filename="src/mail/msg-mail-folder.h" line="31"/>
      <constructor name="new" c:identifier="msg_mail_folder_new">
        <doc xml:space="preserve"
             filename="src/mail/msg-mail-folder.c"
             line="71">Creates a new `MsgMailFolder`.</doc>
        <source-position filename="src/mail/msg-mail-folder.h" line="47"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/mail/msg-mail-folder.c"
               line="76">the newly created `MsgMailFolder`</doc>
          <type name="MailFolder" c:type="MsgMailFolder*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_json"
                   c:identifier="msg_mail_folder_new_from_json"
                   throws="1">
        <doc xml:space="preserve"
             filename="src/mail/msg-mail-folder.c"
             line="84">Creates a new `MsgMailFolder` from json response object.</doc>
        <source-position filename="src/mail/msg-mail-folder.h" line="50"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/mail/msg-mail-folder.c"
               line="91">the newly created `MsgMailFolder`</doc>
          <type name="MailFolder" c:type="MsgMailFolder*"/>
        </return-value>
        <parameters>
          <parameter name="json_object" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/mail/msg-mail-folder.c"
                 line="86">The json object to parse</doc>
            <type name="Json.Object" c:type="JsonObject*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_child_folder_count"
              c:identifier="msg_mail_folder_get_child_folder_count">
        <source-position filename="src/mail/msg-mail-folder.h" line="103"/>
        <return-value transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="MailFolder" c:type="MsgMailFolder*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_delta_link"
              c:identifier="msg_mail_folder_get_delta_link">
        <source-position filename="src/mail/msg-mail-folder.h" line="93"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="MailFolder" c:type="MsgMailFolder*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_display_name"
              c:identifier="msg_mail_folder_get_display_name">
        <source-position filename="src/mail/msg-mail-folder.h" line="54"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/mail/msg-mail-folder.c"
               line="117">display name of mail folder</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/mail/msg-mail-folder.c"
                 line="115">a mail folder</doc>
            <type name="MailFolder" c:type="MsgMailFolder*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_folder_type"
              c:identifier="msg_mail_folder_get_folder_type">
        <source-position filename="src/mail/msg-mail-folder.h" line="78"/>
        <return-value transfer-ownership="none">
          <type name="MailFolderType" c:type="MsgMailFolderType"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="MailFolder" c:type="MsgMailFolder*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_id" c:identifier="msg_mail_folder_get_id">
        <source-position filename="src/mail/msg-mail-folder.h" line="71"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/mail/msg-mail-folder.c"
               line="167">id of mail folder</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/mail/msg-mail-folder.c"
                 line="165">a mail folder</doc>
            <type name="MailFolder" c:type="MsgMailFolder*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_parent_id"
              c:identifier="msg_mail_folder_get_parent_id">
        <source-position filename="src/mail/msg-mail-folder.h" line="96"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="MailFolder" c:type="MsgMailFolder*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_total_item_count"
              c:identifier="msg_mail_folder_get_total_item_count">
        <source-position filename="src/mail/msg-mail-folder.h" line="64"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/mail/msg-mail-folder.c"
               line="148">total item number of mail folder</doc>
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/mail/msg-mail-folder.c"
                 line="146">a mail folder</doc>
            <type name="MailFolder" c:type="MsgMailFolder*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_unread_item_count"
              c:identifier="msg_mail_folder_get_unread_item_count">
        <source-position filename="src/mail/msg-mail-folder.h" line="57"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/mail/msg-mail-folder.c"
               line="129">unread item number of mail folder</doc>
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/mail/msg-mail-folder.c"
                 line="127">a mail folder</doc>
            <type name="MailFolder" c:type="MsgMailFolder*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_child_folder_count"
              c:identifier="msg_mail_folder_set_child_folder_count">
        <source-position filename="src/mail/msg-mail-folder.h" line="106"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="MailFolder" c:type="MsgMailFolder*"/>
          </instance-parameter>
          <parameter name="count" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_delta_link"
              c:identifier="msg_mail_folder_set_delta_link">
        <source-position filename="src/mail/msg-mail-folder.h" line="89"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="MailFolder" c:type="MsgMailFolder*"/>
          </instance-parameter>
          <parameter name="delta_link" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_display_name"
              c:identifier="msg_mail_folder_set_display_name">
        <source-position filename="src/mail/msg-mail-folder.h" line="85"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="MailFolder" c:type="MsgMailFolder*"/>
          </instance-parameter>
          <parameter name="display_name" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_folder_type"
              c:identifier="msg_mail_folder_set_folder_type">
        <source-position filename="src/mail/msg-mail-folder.h" line="81"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="MailFolder" c:type="MsgMailFolder*"/>
          </instance-parameter>
          <parameter name="type" transfer-ownership="none">
            <type name="MailFolderType" c:type="MsgMailFolderType"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_id" c:identifier="msg_mail_folder_set_id">
        <source-position filename="src/mail/msg-mail-folder.h" line="74"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="MailFolder" c:type="MsgMailFolder*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_parent_id"
              c:identifier="msg_mail_folder_set_parent_id">
        <source-position filename="src/mail/msg-mail-folder.h" line="99"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="MailFolder" c:type="MsgMailFolder*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_total_item_count"
              c:identifier="msg_mail_folder_set_total_item_count">
        <source-position filename="src/mail/msg-mail-folder.h" line="67"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="MailFolder" c:type="MsgMailFolder*"/>
          </instance-parameter>
          <parameter name="count" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_unread_item_count"
              c:identifier="msg_mail_folder_set_unread_item_count">
        <source-position filename="src/mail/msg-mail-folder.h" line="60"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="MailFolder" c:type="MsgMailFolder*"/>
          </instance-parameter>
          <parameter name="count" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
    </class>
    <record name="MailFolderClass"
            c:type="MsgMailFolderClass"
            glib:is-gtype-struct-for="MailFolder">
      <source-position filename="src/mail/msg-mail-folder.h" line="31"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <enumeration name="MailFolderType" c:type="MsgMailFolderType">
      <source-position filename="src/mail/msg-mail-folder.h" line="44"/>
      <member name="0" value="0" c:identifier="MSG_MAIL_FOLDER_TYPE_0">
      </member>
      <member name="inbox" value="1" c:identifier="MSG_MAIL_FOLDER_TYPE_INBOX">
      </member>
      <member name="drafts"
              value="2"
              c:identifier="MSG_MAIL_FOLDER_TYPE_DRAFTS">
      </member>
      <member name="sent_items"
              value="3"
              c:identifier="MSG_MAIL_FOLDER_TYPE_SENT_ITEMS">
      </member>
      <member name="junk_email"
              value="4"
              c:identifier="MSG_MAIL_FOLDER_TYPE_JUNK_EMAIL">
      </member>
      <member name="deleted_items"
              value="5"
              c:identifier="MSG_MAIL_FOLDER_TYPE_DELETED_ITEMS">
      </member>
      <member name="outbox"
              value="6"
              c:identifier="MSG_MAIL_FOLDER_TYPE_OUTBOX">
      </member>
      <member name="archive"
              value="7"
              c:identifier="MSG_MAIL_FOLDER_TYPE_ARCHIVE">
      </member>
      <member name="other" value="8" c:identifier="MSG_MAIL_FOLDER_TYPE_OTHER">
      </member>
      <member name="max" value="9" c:identifier="MSG_MAIL_FOLDER_TYPE_MAX">
      </member>
    </enumeration>
    <class name="MailMessage"
           c:symbol-prefix="mail_message"
           c:type="MsgMailMessage"
           parent="GObject.Object"
           glib:type-name="MsgMailMessage"
           glib:get-type="msg_mail_message_get_type"
           glib:type-struct="MailMessageClass">
      <doc xml:space="preserve"
           filename="src/mail/msg-mail-message.c"
           line="21">Handling of mail message specific functions.</doc>
      <source-position filename="src/mail/msg-mail-message.h" line="31"/>
      <constructor name="new" c:identifier="msg_mail_message_new">
        <doc xml:space="preserve"
             filename="src/mail/msg-mail-message.c"
             line="76">Creates a new `MsgMailMessage`.</doc>
        <source-position filename="src/mail/msg-mail-message.h" line="34"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/mail/msg-mail-message.c"
               line="81">the newly created `MsgMailMessage`</doc>
          <type name="MailMessage" c:type="MsgMailMessage*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_json"
                   c:identifier="msg_mail_message_new_from_json"
                   throws="1">
        <doc xml:space="preserve"
             filename="src/mail/msg-mail-message.c"
             line="89">Creates a new `MsgMailMessage` from json response object.</doc>
        <source-position filename="src/mail/msg-mail-message.h" line="37"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/mail/msg-mail-message.c"
               line="96">the newly created `MsgMailMessage`</doc>
          <type name="MailMessage" c:type="MsgMailMessage*"/>
        </return-value>
        <parameters>
          <parameter name="json_object" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/mail/msg-mail-message.c"
                 line="91">The json object to parse</doc>
            <type name="Json.Object" c:type="JsonObject*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_body" c:identifier="msg_mail_message_get_body">
        <doc xml:space="preserve"
             filename="src/mail/msg-mail-message.c"
             line="428">Get mail body.</doc>
        <source-position filename="src/mail/msg-mail-message.h" line="87"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/mail/msg-mail-message.c"
               line="434">mail body</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/mail/msg-mail-message.c"
                 line="430">a mail_message</doc>
            <type name="MailMessage" c:type="MsgMailMessage*"/>
          </instance-parameter>
          <parameter name="is_html" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_body_preview"
              c:identifier="msg_mail_message_get_body_preview">
        <doc xml:space="preserve"
             filename="src/mail/msg-mail-message.c"
             line="197">Get mail body preview.</doc>
        <source-position filename="src/mail/msg-mail-message.h" line="48"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/mail/msg-mail-message.c"
               line="203">body preview of mail_message</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/mail/msg-mail-message.c"
                 line="199">a mail_message</doc>
            <type name="MailMessage" c:type="MsgMailMessage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_cc" c:identifier="msg_mail_message_get_cc">
        <doc xml:space="preserve"
             filename="src/mail/msg-mail-message.c"
             line="342">Get mail cc.</doc>
        <source-position filename="src/mail/msg-mail-message.h" line="97"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/mail/msg-mail-message.c"
               line="348">mail cc</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/mail/msg-mail-message.c"
                 line="344">a mail_message</doc>
            <type name="MailMessage" c:type="MsgMailMessage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_has_attachment"
              c:identifier="msg_mail_message_get_has_attachment">
        <doc xml:space="preserve"
             filename="src/mail/msg-mail-message.c"
             line="446">Get whether mail has attachments.</doc>
        <source-position filename="src/mail/msg-mail-message.h" line="104"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/mail/msg-mail-message.c"
               line="452">%TRUE if mail has attachments otherwise %FALSE</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/mail/msg-mail-message.c"
                 line="448">a mail_message</doc>
            <type name="MailMessage" c:type="MsgMailMessage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_id" c:identifier="msg_mail_message_get_id">
        <doc xml:space="preserve"
             filename="src/mail/msg-mail-message.c"
             line="255">Get id.</doc>
        <source-position filename="src/mail/msg-mail-message.h" line="59"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/mail/msg-mail-message.c"
               line="261">unique mail id</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/mail/msg-mail-message.c"
                 line="257">a mail_message</doc>
            <type name="MailMessage" c:type="MsgMailMessage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_received_date"
              c:identifier="msg_mail_message_get_received_date">
        <doc xml:space="preserve"
             filename="src/mail/msg-mail-message.c"
             line="399">Get mail received date.</doc>
        <source-position filename="src/mail/msg-mail-message.h" line="80"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/mail/msg-mail-message.c"
               line="405">received date</doc>
          <type name="GLib.DateTime" c:type="GDateTime*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/mail/msg-mail-message.c"
                 line="401">a mail_message</doc>
            <type name="MailMessage" c:type="MsgMailMessage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_receiver" c:identifier="msg_mail_message_get_receiver">
        <doc xml:space="preserve"
             filename="src/mail/msg-mail-message.c"
             line="313">Get mail receiver.</doc>
        <source-position filename="src/mail/msg-mail-message.h" line="90"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/mail/msg-mail-message.c"
               line="319">mail receiver</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/mail/msg-mail-message.c"
                 line="315">a mail_message</doc>
            <type name="MailMessage" c:type="MsgMailMessage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_sender" c:identifier="msg_mail_message_get_sender">
        <doc xml:space="preserve"
             filename="src/mail/msg-mail-message.c"
             line="284">Get mail sender.</doc>
        <source-position filename="src/mail/msg-mail-message.h" line="73"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/mail/msg-mail-message.c"
               line="290">mail sender</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/mail/msg-mail-message.c"
                 line="286">a mail_message</doc>
            <type name="MailMessage" c:type="MsgMailMessage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_subject" c:identifier="msg_mail_message_get_subject">
        <doc xml:space="preserve"
             filename="src/mail/msg-mail-message.c"
             line="183">Get mail subject.</doc>
        <source-position filename="src/mail/msg-mail-message.h" line="41"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/mail/msg-mail-message.c"
               line="189">subject of mail_message</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/mail/msg-mail-message.c"
                 line="185">a mail_message</doc>
            <type name="MailMessage" c:type="MsgMailMessage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_unread" c:identifier="msg_mail_message_get_unread">
        <doc xml:space="preserve"
             filename="src/mail/msg-mail-message.c"
             line="371">Get mail unread.</doc>
        <source-position filename="src/mail/msg-mail-message.h" line="66"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/mail/msg-mail-message.c"
               line="377">unread count</doc>
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/mail/msg-mail-message.c"
                 line="373">a mail_message</doc>
            <type name="MailMessage" c:type="MsgMailMessage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_body" c:identifier="msg_mail_message_set_body">
        <doc xml:space="preserve"
             filename="src/mail/msg-mail-message.c"
             line="219">Set mail body.</doc>
        <source-position filename="src/mail/msg-mail-message.h" line="55"/>
        <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="src/mail/msg-mail-message.c"
                 line="221">a mail_message</doc>
            <type name="MailMessage" c:type="MsgMailMessage*"/>
          </instance-parameter>
          <parameter name="body" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/mail/msg-mail-message.c"
                 line="222">mail body</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_body_preview"
              c:identifier="msg_mail_message_set_body_preview">
        <source-position filename="src/mail/msg-mail-message.h" line="51"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="MailMessage" c:type="MsgMailMessage*"/>
          </instance-parameter>
          <parameter name="preview" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_cc" c:identifier="msg_mail_message_set_cc">
        <doc xml:space="preserve"
             filename="src/mail/msg-mail-message.c"
             line="356">Set mail cc.</doc>
        <source-position filename="src/mail/msg-mail-message.h" line="100"/>
        <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="src/mail/msg-mail-message.c"
                 line="358">a mail_message</doc>
            <type name="MailMessage" c:type="MsgMailMessage*"/>
          </instance-parameter>
          <parameter name="cc" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/mail/msg-mail-message.c"
                 line="359">carbon copy string</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_has_attachment"
              c:identifier="msg_mail_message_set_has_attachment">
        <doc xml:space="preserve"
             filename="src/mail/msg-mail-message.c"
             line="460">Set whether mail has attachments.</doc>
        <source-position filename="src/mail/msg-mail-message.h" line="107"/>
        <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="src/mail/msg-mail-message.c"
                 line="462">a mail_message</doc>
            <type name="MailMessage" c:type="MsgMailMessage*"/>
          </instance-parameter>
          <parameter name="has_attachment" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/mail/msg-mail-message.c"
                 line="463">flag to set attachments</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_id" c:identifier="msg_mail_message_set_id">
        <doc xml:space="preserve"
             filename="src/mail/msg-mail-message.c"
             line="269">Set mail id.</doc>
        <source-position filename="src/mail/msg-mail-message.h" line="62"/>
        <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="src/mail/msg-mail-message.c"
                 line="271">a mail_message</doc>
            <type name="MailMessage" c:type="MsgMailMessage*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/mail/msg-mail-message.c"
                 line="272">mail_message id</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_received_date"
              c:identifier="msg_mail_message_set_received_date">
        <doc xml:space="preserve"
             filename="src/mail/msg-mail-message.c"
             line="413">Set mail received timestamp.</doc>
        <source-position filename="src/mail/msg-mail-message.h" line="83"/>
        <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="src/mail/msg-mail-message.c"
                 line="415">a mail_message</doc>
            <type name="MailMessage" c:type="MsgMailMessage*"/>
          </instance-parameter>
          <parameter name="timestamp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/mail/msg-mail-message.c"
                 line="416">received timestamp</doc>
            <type name="gint64" c:type="gint64"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_receiver" c:identifier="msg_mail_message_set_receiver">
        <doc xml:space="preserve"
             filename="src/mail/msg-mail-message.c"
             line="327">Set mail receiver.</doc>
        <source-position filename="src/mail/msg-mail-message.h" line="93"/>
        <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="src/mail/msg-mail-message.c"
                 line="329">a mail_message</doc>
            <type name="MailMessage" c:type="MsgMailMessage*"/>
          </instance-parameter>
          <parameter name="receiver" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/mail/msg-mail-message.c"
                 line="330">mail_message receiver</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_sender" c:identifier="msg_mail_message_set_sender">
        <doc xml:space="preserve"
             filename="src/mail/msg-mail-message.c"
             line="298">Set mail sender.</doc>
        <source-position filename="src/mail/msg-mail-message.h" line="76"/>
        <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="src/mail/msg-mail-message.c"
                 line="300">a mail_message</doc>
            <type name="MailMessage" c:type="MsgMailMessage*"/>
          </instance-parameter>
          <parameter name="sender" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/mail/msg-mail-message.c"
                 line="301">mail_message sender</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_subject" c:identifier="msg_mail_message_set_subject">
        <doc xml:space="preserve"
             filename="src/mail/msg-mail-message.c"
             line="237">Set mail subject.</doc>
        <source-position filename="src/mail/msg-mail-message.h" line="44"/>
        <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="src/mail/msg-mail-message.c"
                 line="239">a mail_message</doc>
            <type name="MailMessage" c:type="MsgMailMessage*"/>
          </instance-parameter>
          <parameter name="subject" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/mail/msg-mail-message.c"
                 line="240">mail subject</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_unread" c:identifier="msg_mail_message_set_unread">
        <doc xml:space="preserve"
             filename="src/mail/msg-mail-message.c"
             line="385">Set mail unread count.</doc>
        <source-position filename="src/mail/msg-mail-message.h" line="69"/>
        <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="src/mail/msg-mail-message.c"
                 line="387">a mail_message</doc>
            <type name="MailMessage" c:type="MsgMailMessage*"/>
          </instance-parameter>
          <parameter name="unread" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/mail/msg-mail-message.c"
                 line="388">unread count</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
    </class>
    <record name="MailMessageClass"
            c:type="MsgMailMessageClass"
            glib:is-gtype-struct-for="MailMessage">
      <source-position filename="src/mail/msg-mail-message.h" line="31"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="MailService"
           c:symbol-prefix="mail_service"
           c:type="MsgMailService"
           parent="Service"
           glib:type-name="MsgMailService"
           glib:get-type="msg_mail_service_get_type"
           glib:type-struct="MailServiceClass">
      <source-position filename="src/mail/msg-mail-service.h" line="28"/>
      <constructor name="new" c:identifier="msg_mail_service_new">
        <source-position filename="src/mail/msg-mail-service.h" line="30"/>
        <return-value transfer-ownership="full">
          <type name="MailService" c:type="MsgMailService*"/>
        </return-value>
        <parameters>
          <parameter name="authorizer" transfer-ownership="none">
            <type name="Authorizer" c:type="MsgAuthorizer*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="create_draft_message"
              c:identifier="msg_mail_service_create_draft_message"
              throws="1">
        <doc xml:space="preserve"
             filename="src/mail/msg-mail-service.c"
             line="323">Create new draft mail #mail and return new mail object.</doc>
        <source-position filename="src/mail/msg-mail-service.h" line="57"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/mail/msg-mail-service.c"
               line="332">a new #MsgMail</doc>
          <type name="MailMessage" c:type="MsgMailMessage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/mail/msg-mail-service.c"
                 line="325">a #MsgContextService</doc>
            <type name="MailService" c:type="MsgMailService*"/>
          </instance-parameter>
          <parameter name="mail" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/mail/msg-mail-service.c"
                 line="326">a #MsgMail</doc>
            <type name="MailMessage" c:type="MsgMailMessage*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/mail/msg-mail-service.c"
                 line="327">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="delete_message"
              c:identifier="msg_mail_service_delete_message"
              throws="1">
        <doc xml:space="preserve"
             filename="src/mail/msg-mail-service.c"
             line="289">Delets #mail.</doc>
        <source-position filename="src/mail/msg-mail-service.h" line="63"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/mail/msg-mail-service.c"
               line="298">%TRUE for succes, else &amp;FALSE</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/mail/msg-mail-service.c"
                 line="291">a #MsgMailService</doc>
            <type name="MailService" c:type="MsgMailService*"/>
          </instance-parameter>
          <parameter name="mail" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/mail/msg-mail-service.c"
                 line="292">a #MsgMail</doc>
            <type name="MailMessage" c:type="MsgMailMessage*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/mail/msg-mail-service.c"
                 line="293">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_folder_id"
              c:identifier="msg_mail_service_get_folder_id"
              throws="1">
        <source-position filename="src/mail/msg-mail-service.h" line="75"/>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="MailService" c:type="MsgMailService*"/>
          </instance-parameter>
          <parameter name="type" transfer-ownership="none">
            <type name="MailFolderType" c:type="MsgMailFolderType"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_mail_folder"
              c:identifier="msg_mail_service_get_mail_folder"
              throws="1">
        <doc xml:space="preserve"
             filename="src/mail/msg-mail-service.c"
             line="220">Get a specific mail folder for given service</doc>
        <source-position filename="src/mail/msg-mail-service.h" line="51"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/mail/msg-mail-service.c"
               line="229">a #MsgMailFolder</doc>
          <type name="MailFolder" c:type="MsgMailFolder*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/mail/msg-mail-service.c"
                 line="222">a #MsgMailService</doc>
            <type name="MailService" c:type="MsgMailService*"/>
          </instance-parameter>
          <parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/mail/msg-mail-service.c"
                 line="223">a #MsgMailMailFolderType</doc>
            <type name="MailFolderType" c:type="MsgMailFolderType"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/mail/msg-mail-service.c"
                 line="224">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_mail_folders"
              c:identifier="msg_mail_service_get_mail_folders"
              throws="1">
        <doc xml:space="preserve"
             filename="src/mail/msg-mail-service.c"
             line="147">Get all folders for given service</doc>
        <source-position filename="src/mail/msg-mail-service.h" line="44"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/mail/msg-mail-service.c"
               line="155">all mail folders the user can access</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="MailFolder"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/mail/msg-mail-service.c"
                 line="149">a #MsgMailService</doc>
            <type name="MailService" c:type="MsgMailService*"/>
          </instance-parameter>
          <parameter name="delta_url" transfer-ownership="none">
            <type name="utf8" c:type="char*"/>
          </parameter>
          <parameter name="delta_url_out" transfer-ownership="none">
            <type name="utf8" c:type="char**"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/mail/msg-mail-service.c"
                 line="150">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_messages"
              c:identifier="msg_mail_service_get_messages"
              throws="1">
        <doc xml:space="preserve"
             filename="src/mail/msg-mail-service.c"
             line="52">Get all mails for given service</doc>
        <source-position filename="src/mail/msg-mail-service.h" line="33"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/mail/msg-mail-service.c"
               line="65">all mails the user can access</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="MailMessage"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/mail/msg-mail-service.c"
                 line="54">a #MsgMailService</doc>
            <type name="MailService" c:type="MsgMailService*"/>
          </instance-parameter>
          <parameter name="folder" transfer-ownership="none">
            <type name="MailFolder" c:type="MsgMailFolder*"/>
          </parameter>
          <parameter name="next_link" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/mail/msg-mail-service.c"
                 line="55">next link if available</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="out_next_link" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/mail/msg-mail-service.c"
                 line="56">next next link</doc>
            <type name="utf8" c:type="char**"/>
          </parameter>
          <parameter name="delta_link" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/mail/msg-mail-service.c"
                 line="57">delta link if used</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="out_delta_link" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/mail/msg-mail-service.c"
                 line="58">new delta link</doc>
            <type name="utf8" c:type="char**"/>
          </parameter>
          <parameter name="max_page_size" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/mail/msg-mail-service.c"
                 line="59">maximal page size</doc>
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/mail/msg-mail-service.c"
                 line="60">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_mime_message"
              c:identifier="msg_mail_service_get_mime_message"
              throws="1">
        <source-position filename="src/mail/msg-mail-service.h" line="69"/>
        <return-value transfer-ownership="full">
          <type name="GLib.Bytes" c:type="GBytes*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="MailService" c:type="MsgMailService*"/>
          </instance-parameter>
          <parameter name="mail" transfer-ownership="none">
            <type name="MailMessage" c:type="MsgMailMessage*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
    </class>
    <record name="MailServiceClass"
            c:type="MsgMailServiceClass"
            glib:is-gtype-struct-for="MailService">
      <source-position filename="src/mail/msg-mail-service.h" line="28"/>
      <field name="parent_class">
        <type name="ServiceClass" c:type="MsgServiceClass"/>
      </field>
    </record>
    <function-macro name="OAUTH2_AUTHORIZER"
                    c:identifier="MSG_OAUTH2_AUTHORIZER"
                    introspectable="0">
      <source-position filename="src/msg-oauth2-authorizer.h" line="10"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="OAUTH2_AUTHORIZER_CLASS"
                    c:identifier="MSG_OAUTH2_AUTHORIZER_CLASS"
                    introspectable="0">
      <source-position filename="src/msg-oauth2-authorizer.h" line="11"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="OAUTH2_AUTHORIZER_GET_CLASS"
                    c:identifier="MSG_OAUTH2_AUTHORIZER_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/msg-oauth2-authorizer.h" line="14"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="OAuth2Authorizer"
           c:symbol-prefix="oauth2_authorizer"
           c:type="MsgOAuth2Authorizer"
           parent="GObject.Object"
           glib:type-name="MsgOAuth2Authorizer"
           glib:get-type="msg_oauth2_authorizer_get_type"
           glib:type-struct="OAuth2AuthorizerClass">
      <source-position filename="src/msg-oauth2-authorizer.h" line="29"/>
      <implements name="Authorizer"/>
      <constructor name="new" c:identifier="msg_oauth2_authorizer_new">
        <source-position filename="src/msg-oauth2-authorizer.h" line="36"/>
        <return-value transfer-ownership="full">
          <type name="OAuth2Authorizer" c:type="MsgOAuth2Authorizer*"/>
        </return-value>
        <parameters>
          <parameter name="client_id" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="redirect_uri" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </constructor>
      <function name="test_load_credentials"
                c:identifier="msg_oauth2_authorizer_test_load_credentials">
        <source-position filename="src/msg-oauth2-authorizer.h" line="52"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="self" transfer-ownership="none">
            <type name="Authorizer" c:type="MsgAuthorizer*"/>
          </parameter>
        </parameters>
      </function>
      <function name="test_save_credentials"
                c:identifier="msg_oauth2_authorizer_test_save_credentials">
        <source-position filename="src/msg-oauth2-authorizer.h" line="49"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="self" transfer-ownership="none">
            <type name="Authorizer" c:type="MsgAuthorizer*"/>
          </parameter>
        </parameters>
      </function>
      <method name="build_authentication_uri"
              c:identifier="msg_oauth2_authorizer_build_authentication_uri">
        <source-position filename="src/msg-oauth2-authorizer.h" line="40"/>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="OAuth2Authorizer" c:type="MsgOAuth2Authorizer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="request_authorization"
              c:identifier="msg_oauth2_authorizer_request_authorization"
              throws="1">
        <source-position filename="src/msg-oauth2-authorizer.h" line="43"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="OAuth2Authorizer" c:type="MsgOAuth2Authorizer*"/>
          </instance-parameter>
          <parameter name="authorization_code" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <property name="client-id"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="redirect-uri"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="refresh-token"
                writable="1"
                transfer-ownership="none"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="OAuth2AuthorizerPrivate"
              c:type="MsgOAuth2AuthorizerPrivate*"/>
      </field>
    </class>
    <record name="OAuth2AuthorizerClass"
            c:type="MsgOAuth2AuthorizerClass"
            glib:is-gtype-struct-for="OAuth2Authorizer">
      <source-position filename="src/msg-oauth2-authorizer.h" line="29"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="OAuth2AuthorizerPrivate"
            c:type="MsgOAuth2AuthorizerPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="src/msg-oauth2-authorizer.h" line="18"/>
    </record>
    <class name="Service"
           c:symbol-prefix="service"
           c:type="MsgService"
           parent="GObject.Object"
           glib:type-name="MsgService"
           glib:get-type="msg_service_get_type"
           glib:type-struct="ServiceClass">
      <source-position filename="src/msg-service.h" line="31"/>
      <function name="accept_certificate_cb"
                c:identifier="msg_service_accept_certificate_cb">
        <source-position filename="src/msg-service.h" line="65"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="msg" transfer-ownership="none">
            <type name="Soup.Message" c:type="SoupMessage*"/>
          </parameter>
          <parameter name="tls_cert" transfer-ownership="none">
            <type name="Gio.TlsCertificate" c:type="GTlsCertificate*"/>
          </parameter>
          <parameter name="tls_errors" transfer-ownership="none">
            <type name="Gio.TlsCertificateFlags"
                  c:type="GTlsCertificateFlags"/>
          </parameter>
          <parameter name="session"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_https_port"
                c:identifier="msg_service_get_https_port">
        <source-position filename="src/msg-service.h" line="71"/>
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
      </function>
      <function name="get_next_link" c:identifier="msg_service_get_next_link">
        <doc xml:space="preserve"
             filename="src/msg-service.c"
             line="443">Get next link</doc>
        <source-position filename="src/msg-service.h" line="87"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/msg-service.c"
               line="449">next link or %NULL if not available</doc>
          <type name="utf8" c:type="char*"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/msg-service.c"
                 line="445">a #JsonObject</doc>
            <type name="Json.Object" c:type="JsonObject*"/>
          </parameter>
        </parameters>
      </function>
      <function name="handle_rate_limiting"
                c:identifier="msg_service_handle_rate_limiting">
        <source-position filename="src/msg-service.h" line="90"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="msg" transfer-ownership="none">
            <type name="Soup.Message" c:type="SoupMessage*"/>
          </parameter>
        </parameters>
      </function>
      <function name="parse_response"
                c:identifier="msg_service_parse_response"
                throws="1">
        <doc xml:space="preserve"
             filename="src/msg-service.c"
             line="356">Parse response data and check for errors. In case
no errors are found, return json root object.</doc>
        <source-position filename="src/msg-service.h" line="53"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/msg-service.c"
               line="365">a #JsonParser</doc>
          <type name="Json.Parser" c:type="JsonParser*"/>
        </return-value>
        <parameters>
          <parameter name="bytes" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/msg-service.c"
                 line="358">input bytes containing response buffer</doc>
            <type name="GLib.Bytes" c:type="GBytes*"/>
          </parameter>
          <parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/msg-service.c"
                 line="359">a pointer to the returning root object</doc>
            <type name="Json.Object" c:type="JsonObject**"/>
          </parameter>
        </parameters>
      </function>
      <method name="build_message" c:identifier="msg_service_build_message">
        <doc xml:space="preserve"
             filename="src/msg-service.c"
             line="103">Construct and checks a #SoupMessage for transfer</doc>
        <source-position filename="src/msg-service.h" line="58"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/msg-service.c"
               line="112">a #SoupMessage or NULL on error.</doc>
          <type name="Soup.Message" c:type="SoupMessage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Service" c:type="MsgService*"/>
          </instance-parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/msg-service.c"
                 line="105">transfer method</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/msg-service.c"
                 line="106">uri to access</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="etag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/msg-service.c"
                 line="107">an optional etag</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="etag_if_match" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/msg-service.c"
                 line="108">use etag if</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_authorizer" c:identifier="msg_service_get_authorizer">
        <doc xml:space="preserve"
             filename="src/msg-service.c"
             line="428">Get related authorizer.</doc>
        <source-position filename="src/msg-service.h" line="77"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/msg-service.c"
               line="434">a #MsgAuthorizer</doc>
          <type name="Authorizer" c:type="MsgAuthorizer*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/msg-service.c"
                 line="430">a #MsgService</doc>
            <type name="Service" c:type="MsgService*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_session" c:identifier="msg_service_get_session">
        <doc xml:space="preserve"
             filename="src/msg-service.c"
             line="413">Get related soup session</doc>
        <source-position filename="src/msg-service.h" line="74"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/msg-service.c"
               line="419">a #SoupSession</doc>
          <type name="Soup.Session" c:type="SoupSession*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/msg-service.c"
                 line="415">a #MsgService</doc>
            <type name="Service" c:type="MsgService*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="refresh_authorization"
              c:identifier="msg_service_refresh_authorization"
              throws="1">
        <source-position filename="src/msg-service.h" line="36"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Service" c:type="MsgService*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="send" c:identifier="msg_service_send" throws="1">
        <doc xml:space="preserve"
             filename="src/msg-service.c"
             line="147">Adds authorizer information to `message` and send it.</doc>
        <source-position filename="src/msg-service.h" line="41"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/msg-service.c"
               line="156">a #GInputStream</doc>
          <type name="Gio.InputStream" c:type="GInputStream*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/msg-service.c"
                 line="149">a msg service</doc>
            <type name="Service" c:type="MsgService*"/>
          </instance-parameter>
          <parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/msg-service.c"
                 line="150">a #SoupMessage</doc>
            <type name="Soup.Message" c:type="SoupMessage*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/msg-service.c"
                 line="151">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="send_and_parse_response"
              c:identifier="msg_service_send_and_parse_response"
              throws="1">
        <doc xml:space="preserve"
             filename="src/msg-service.c"
             line="207">A combination of `msg_service_send_and_read` and `msg_service_parse_response`</doc>
        <source-position filename="src/msg-service.h" line="80"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/msg-service.c"
               line="216">a #JsonParser or %NULL on error</doc>
          <type name="Json.Parser" c:type="JsonParser*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/msg-service.c"
                 line="209">a msg service</doc>
            <type name="Service" c:type="MsgService*"/>
          </instance-parameter>
          <parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/msg-service.c"
                 line="210">a #SoupMessage</doc>
            <type name="Soup.Message" c:type="SoupMessage*"/>
          </parameter>
          <parameter name="object" transfer-ownership="none">
            <type name="Json.Object" c:type="JsonObject**"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/msg-service.c"
                 line="211">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="send_and_read"
              c:identifier="msg_service_send_and_read"
              throws="1">
        <doc xml:space="preserve"
             filename="src/msg-service.c"
             line="177">Adds authorizer information to `message` and send it.</doc>
        <source-position filename="src/msg-service.h" line="47"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/msg-service.c"
               line="186">a #GBytes or %NULL on error.</doc>
          <type name="GLib.Bytes" c:type="GBytes*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/msg-service.c"
                 line="179">a msg service</doc>
            <type name="Service" c:type="MsgService*"/>
          </instance-parameter>
          <parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/msg-service.c"
                 line="180">a #SoupMessage</doc>
            <type name="Soup.Message" c:type="SoupMessage*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/msg-service.c"
                 line="181">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <property name="authorizer"
                readable="0"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Authorizer"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
    </class>
    <record name="ServiceClass"
            c:type="MsgServiceClass"
            glib:is-gtype-struct-for="Service">
      <source-position filename="src/msg-service.h" line="31"/>
      <field name="parent">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="User"
           c:symbol-prefix="user"
           c:type="MsgUser"
           parent="GObject.Object"
           glib:type-name="MsgUser"
           glib:get-type="msg_user_get_type"
           glib:type-struct="UserClass">
      <doc xml:space="preserve"
           filename="src/user/msg-user.c"
           line="21">Handling of user specific functions.</doc>
      <source-position filename="src/user/msg-user.h" line="31"/>
      <constructor name="new" c:identifier="msg_user_new">
        <doc xml:space="preserve"
             filename="src/user/msg-user.c"
             line="76">Creates a new `MsgUser`.</doc>
        <source-position filename="src/user/msg-user.h" line="34"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/user/msg-user.c"
               line="81">the newly created `MsgUser`</doc>
          <type name="User" c:type="MsgUser*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_json"
                   c:identifier="msg_user_new_from_json"
                   throws="1">
        <doc xml:space="preserve"
             filename="src/user/msg-user.c"
             line="89">Creates a new `MsgUser` from json response object.</doc>
        <source-position filename="src/user/msg-user.h" line="37"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/user/msg-user.c"
               line="96">the newly created `MsgUser`</doc>
          <type name="User" c:type="MsgUser*"/>
        </return-value>
        <parameters>
          <parameter name="json_object" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/user/msg-user.c"
                 line="91">The json object to parse</doc>
            <type name="Json.Object" c:type="JsonObject*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_company_name" c:identifier="msg_user_get_company_name">
        <source-position filename="src/user/msg-user.h" line="62"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/user/msg-user.c"
               line="200">company name of user or %NULL if not existing</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/user/msg-user.c"
                 line="198">a user</doc>
            <type name="User" c:type="MsgUser*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_department" c:identifier="msg_user_get_department">
        <source-position filename="src/user/msg-user.h" line="65"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/user/msg-user.c"
               line="212">department of user or %NULL if not existing</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/user/msg-user.c"
                 line="210">a user</doc>
            <type name="User" c:type="MsgUser*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_display_name" c:identifier="msg_user_get_display_name">
        <source-position filename="src/user/msg-user.h" line="44"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/user/msg-user.c"
               line="140">display name of user or %NULL if not existing</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/user/msg-user.c"
                 line="138">a user</doc>
            <type name="User" c:type="MsgUser*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_given_name" c:identifier="msg_user_get_given_name">
        <source-position filename="src/user/msg-user.h" line="47"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/user/msg-user.c"
               line="188">given name of user or %NULL if not existing</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/user/msg-user.c"
                 line="186">a user</doc>
            <type name="User" c:type="MsgUser*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_mail" c:identifier="msg_user_get_mail">
        <source-position filename="src/user/msg-user.h" line="41"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/user/msg-user.c"
               line="128">mail of user or %NULL if not existing</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/user/msg-user.c"
                 line="126">a user</doc>
            <type name="User" c:type="MsgUser*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_mail_name" c:identifier="msg_user_get_mail_name">
        <source-position filename="src/user/msg-user.h" line="50"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="User" c:type="MsgUser*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_mobile_phone" c:identifier="msg_user_get_mobile_phone">
        <source-position filename="src/user/msg-user.h" line="53"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/user/msg-user.c"
               line="152">mobile phone of user or %NULL if not existing</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/user/msg-user.c"
                 line="150">a user</doc>
            <type name="User" c:type="MsgUser*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_office_location"
              c:identifier="msg_user_get_office_location">
        <source-position filename="src/user/msg-user.h" line="56"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/user/msg-user.c"
               line="164">office location of user or %NULL if not existing</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/user/msg-user.c"
                 line="162">a user</doc>
            <type name="User" c:type="MsgUser*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_surname" c:identifier="msg_user_get_surname">
        <source-position filename="src/user/msg-user.h" line="59"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/user/msg-user.c"
               line="176">surname of user or %NULL if not existing</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/user/msg-user.c"
                 line="174">a user</doc>
            <type name="User" c:type="MsgUser*"/>
          </instance-parameter>
        </parameters>
      </method>
    </class>
    <record name="UserClass"
            c:type="MsgUserClass"
            glib:is-gtype-struct-for="User">
      <source-position filename="src/user/msg-user.h" line="31"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="UserContactFolder"
           c:symbol-prefix="user_contact_folder"
           c:type="MsgUserContactFolder"
           parent="GObject.Object"
           glib:type-name="MsgUserContactFolder"
           glib:get-type="msg_user_contact_folder_get_type"
           glib:type-struct="UserContactFolderClass">
      <doc xml:space="preserve"
           filename="src/user/msg-user-contact-folder.c"
           line="21">Handling of user_contact folder specific functions.</doc>
      <source-position filename="src/user/msg-user-contact-folder.h"
                       line="31"/>
      <constructor name="new" c:identifier="msg_user_contact_folder_new">
        <doc xml:space="preserve"
             filename="src/user/msg-user-contact-folder.c"
             line="60">Creates a new `MsgUserContactFolder`.</doc>
        <source-position filename="src/user/msg-user-contact-folder.h"
                         line="34"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/user/msg-user-contact-folder.c"
               line="65">the newly created `MsgUserContactFolder`</doc>
          <type name="UserContactFolder" c:type="MsgUserContactFolder*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_json"
                   c:identifier="msg_user_contact_folder_new_from_json"
                   throws="1">
        <doc xml:space="preserve"
             filename="src/user/msg-user-contact-folder.c"
             line="73">Creates a new `MsgUserContactFolder` from json response object.</doc>
        <source-position filename="src/user/msg-user-contact-folder.h"
                         line="37"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/user/msg-user-contact-folder.c"
               line="80">the newly created `MsgUserContactFolder`</doc>
          <type name="UserContactFolder" c:type="MsgUserContactFolder*"/>
        </return-value>
        <parameters>
          <parameter name="json_object" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/user/msg-user-contact-folder.c"
                 line="75">The json object to parse</doc>
            <type name="Json.Object" c:type="JsonObject*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_display_name"
              c:identifier="msg_user_contact_folder_get_display_name">
        <source-position filename="src/user/msg-user-contact-folder.h"
                         line="41"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/user/msg-user-contact-folder.c"
               line="100">display name of user_contact folder</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/user/msg-user-contact-folder.c"
                 line="98">a user_contact folder</doc>
            <type name="UserContactFolder" c:type="MsgUserContactFolder*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_id" c:identifier="msg_user_contact_folder_get_id">
        <source-position filename="src/user/msg-user-contact-folder.h"
                         line="44"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/user/msg-user-contact-folder.c"
               line="112">id of user_contact folder</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/user/msg-user-contact-folder.c"
                 line="110">a user_contact folder</doc>
            <type name="UserContactFolder" c:type="MsgUserContactFolder*"/>
          </instance-parameter>
        </parameters>
      </method>
    </class>
    <record name="UserContactFolderClass"
            c:type="MsgUserContactFolderClass"
            glib:is-gtype-struct-for="UserContactFolder">
      <source-position filename="src/user/msg-user-contact-folder.h"
                       line="31"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="UserService"
           c:symbol-prefix="user_service"
           c:type="MsgUserService"
           parent="Service"
           glib:type-name="MsgUserService"
           glib:get-type="msg_user_service_get_type"
           glib:type-struct="UserServiceClass">
      <source-position filename="src/user/msg-user-service.h" line="27"/>
      <constructor name="new" c:identifier="msg_user_service_new">
        <source-position filename="src/user/msg-user-service.h" line="29"/>
        <return-value transfer-ownership="full">
          <type name="UserService" c:type="MsgUserService*"/>
        </return-value>
        <parameters>
          <parameter name="authorizer" transfer-ownership="none">
            <type name="Authorizer" c:type="MsgAuthorizer*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="find_users"
              c:identifier="msg_user_service_find_users"
              throws="1">
        <doc xml:space="preserve"
             filename="src/user/msg-user-service.c"
             line="259">Find all users with the given @name. (Business accounts only!)</doc>
        <source-position filename="src/user/msg-user-service.h" line="49"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/user/msg-user-service.c"
               line="268">a list of contacts with the given name.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="User"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/user/msg-user-service.c"
                 line="261">a #MsgUserService</doc>
            <type name="UserService" c:type="MsgUserService*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/user/msg-user-service.c"
                 line="262">name to search</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/user/msg-user-service.c"
                 line="263">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_contact_folders"
              c:identifier="msg_user_service_get_contact_folders"
              throws="1">
        <doc xml:space="preserve"
             filename="src/user/msg-user-service.c"
             line="132">Get all folders for given service</doc>
        <source-position filename="src/user/msg-user-service.h" line="55"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/user/msg-user-service.c"
               line="140">all user contact folders the user can access</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="UserContactFolder"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/user/msg-user-service.c"
                 line="134">a #MsgUserService</doc>
            <type name="UserService" c:type="MsgUserService*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/user/msg-user-service.c"
                 line="135">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_contacts"
              c:identifier="msg_user_service_get_contacts"
              throws="1">
        <doc xml:space="preserve"
             filename="src/user/msg-user-service.c"
             line="195">Get all contats within users 'Contact' folder.</doc>
        <source-position filename="src/user/msg-user-service.h" line="44"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/user/msg-user-service.c"
               line="203">all contact in users contact folder</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="UserContactFolder"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/user/msg-user-service.c"
                 line="197">a #MsgUserService</doc>
            <type name="UserService" c:type="MsgUserService*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/user/msg-user-service.c"
                 line="198">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_photo"
              c:identifier="msg_user_service_get_photo"
              throws="1">
        <doc xml:space="preserve"
             filename="src/user/msg-user-service.c"
             line="91">Try to load user photo using provided %mail address.</doc>
        <source-position filename="src/user/msg-user-service.h" line="38"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/user/msg-user-service.c"
               line="100">user photo or %NULL if not found.</doc>
          <type name="GLib.Bytes" c:type="GBytes*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/user/msg-user-service.c"
                 line="93">a #MsgUserService</doc>
            <type name="UserService" c:type="MsgUserService*"/>
          </instance-parameter>
          <parameter name="mail" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/user/msg-user-service.c"
                 line="94">mail address</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/user/msg-user-service.c"
                 line="95">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_user"
              c:identifier="msg_user_service_get_user"
              throws="1">
        <doc xml:space="preserve"
             filename="src/user/msg-user-service.c"
             line="52">Get user information</doc>
        <source-position filename="src/user/msg-user-service.h" line="32"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/user/msg-user-service.c"
               line="61">request user</doc>
          <type name="User" c:type="MsgUser*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/user/msg-user-service.c"
                 line="54">a #MsgUserService</doc>
            <type name="UserService" c:type="MsgUserService*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/user/msg-user-service.c"
                 line="55">user name (%NULL for me)</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/user/msg-user-service.c"
                 line="56">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
    </class>
    <record name="UserServiceClass"
            c:type="MsgUserServiceClass"
            glib:is-gtype-struct-for="UserService">
      <source-position filename="src/user/msg-user-service.h" line="27"/>
      <field name="parent_class">
        <type name="ServiceClass" c:type="MsgServiceClass"/>
      </field>
    </record>
    <record name="_DriveItemFileClass" c:type="_MsgDriveItemFileClass">
      <source-position filename="src/drive/msg-drive-item-file.h" line="38"/>
      <field name="parent_class" writable="1">
        <type name="DriveItemClass" c:type="MsgDriveItemClass"/>
      </field>
      <field name="padding" writable="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="_DriveItemFolderClass" c:type="_MsgDriveItemFolderClass">
      <source-position filename="src/drive/msg-drive-item-folder.h" line="38"/>
      <field name="parent_class" writable="1">
        <type name="DriveItemClass" c:type="MsgDriveItemClass"/>
      </field>
      <field name="padding" writable="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <function name="error_quark" c:identifier="msg_error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="json_object_get_boolean"
              c:identifier="msg_json_object_get_boolean">
      <source-position filename="src/msg-json-utils.h" line="10"/>
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="object" transfer-ownership="none">
          <type name="Json.Object" c:type="JsonObject*"/>
        </parameter>
        <parameter name="name" transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="json_object_get_string"
              c:identifier="msg_json_object_get_string">
      <source-position filename="src/msg-json-utils.h" line="6"/>
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="const char*"/>
      </return-value>
      <parameters>
        <parameter name="object" transfer-ownership="none">
          <type name="Json.Object" c:type="JsonObject*"/>
        </parameter>
        <parameter name="name" transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </parameter>
      </parameters>
    </function>
    <docsection name="msg-error">
      <doc xml:space="preserve"
           filename="src/msg-error.c"
           line="22">Error codes used to represent errors thrown by the MS Graph APIs.</doc>
    </docsection>
    <docsection name="msg-goa-authorizer">
      <doc xml:space="preserve"
           filename="src/msg-goa-authorizer.c"
           line="25">#MsgGoaAuthorizer provides an implementation of the #MsgAuthorizer
interface using GNOME Online Accounts.</doc>
    </docsection>
  </namespace>
</repository>
