<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations.  -->
<repository version="1.2"
            xmlns="http://www.gtk.org/introspection/core/1.0"
            xmlns:c="http://www.gtk.org/introspection/c/1.0"
            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
  <include name="Camel" version="1.2"/>
  <include name="EBackend" version="1.2"/>
  <include name="ECal" version="2.0"/>
  <include name="EDataServer" version="1.2"/>
  <include name="GObject" version="2.0"/>
  <include name="Gio" version="2.0"/>
  <include name="ICalGLib" version="3.0"/>
  <include name="Soup" version="3.0"/>
  <include name="libxml2" version="2.0"/>
  <package name="libedata-cal-2.0"/>
  <c:include name="libedata-cal/libedata-cal.h"/>
  <namespace name="EDataCal"
             version="2.0"
             shared-library="libebackend-1.2.so.11,libecal-2.0.so.2,libedata-cal-2.0.so.2,libedataserver-1.2.so.27"
             c:identifier-prefixes="E"
             c:symbol-prefixes="e">
    <function-macro name="CAL_BACKEND"
                    c:identifier="E_CAL_BACKEND"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                       line="32"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CAL_BACKEND_CLASS"
                    c:identifier="E_CAL_BACKEND_CLASS"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                       line="35"/>
      <parameters>
        <parameter name="cls">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CAL_BACKEND_FACTORY"
                    c:identifier="E_CAL_BACKEND_FACTORY"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-cal-backend-factory.h"
                       line="33"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CAL_BACKEND_FACTORY_CLASS"
                    c:identifier="E_CAL_BACKEND_FACTORY_CLASS"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-cal-backend-factory.h"
                       line="36"/>
      <parameters>
        <parameter name="cls">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CAL_BACKEND_FACTORY_GET_CLASS"
                    c:identifier="E_CAL_BACKEND_FACTORY_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-cal-backend-factory.h"
                       line="45"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CAL_BACKEND_GET_CLASS"
                    c:identifier="E_CAL_BACKEND_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                       line="44"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CAL_BACKEND_SEXP"
                    c:identifier="E_CAL_BACKEND_SEXP"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-cal-backend-sexp.h"
                       line="31"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CAL_BACKEND_SEXP_CLASS"
                    c:identifier="E_CAL_BACKEND_SEXP_CLASS"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-cal-backend-sexp.h"
                       line="34"/>
      <parameters>
        <parameter name="cls">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CAL_BACKEND_SEXP_GET_CLASS"
                    c:identifier="E_CAL_BACKEND_SEXP_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-cal-backend-sexp.h"
                       line="43"/>
      <parameters>
        <parameter name="cls">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CAL_BACKEND_SYNC"
                    c:identifier="E_CAL_BACKEND_SYNC"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-cal-backend-sync.h"
                       line="28"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CAL_BACKEND_SYNC_CLASS"
                    c:identifier="E_CAL_BACKEND_SYNC_CLASS"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-cal-backend-sync.h"
                       line="31"/>
      <parameters>
        <parameter name="cls">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CAL_BACKEND_SYNC_GET_CLASS"
                    c:identifier="E_CAL_BACKEND_SYNC_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-cal-backend-sync.h"
                       line="40"/>
      <parameters>
        <parameter name="cls">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CAL_CACHE"
                    c:identifier="E_CAL_CACHE"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                       line="30"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CAL_CACHE_CLASS"
                    c:identifier="E_CAL_CACHE_CLASS"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                       line="33"/>
      <parameters>
        <parameter name="cls">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CAL_CACHE_GET_CLASS"
                    c:identifier="E_CAL_CACHE_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                       line="42"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CAL_META_BACKEND"
                    c:identifier="E_CAL_META_BACKEND"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                       line="32"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CAL_META_BACKEND_CLASS"
                    c:identifier="E_CAL_META_BACKEND_CLASS"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                       line="35"/>
      <parameters>
        <parameter name="cls">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CAL_META_BACKEND_GET_CLASS"
                    c:identifier="E_CAL_META_BACKEND_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                       line="44"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="CalBackend"
           c:symbol-prefix="cal_backend"
           c:type="ECalBackend"
           parent="EBackend.Backend"
           glib:type-name="ECalBackend"
           glib:get-type="e_cal_backend_get_type"
           glib:type-struct="CalBackendClass">
      <doc xml:space="preserve"
           filename="src/calendar/libedata-cal/e-cal-backend.h"
           line="55">Contains only private data that should be read and manipulated using the
functions below.</doc>
      <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                       line="211"/>
      <implements name="ECal.TimezoneCache"/>
      <function name="mail_account_get_default"
                c:identifier="e_cal_backend_mail_account_get_default">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend-util.c"
             line="28">Retrieve the default mail account as stored in Evolution configuration.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend-util.h"
                         line="38"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend-util.c"
               line="36">TRUE if there is a default account, FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="registry" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-util.c"
                 line="30">an #ESourceRegistry</doc>
            <type name="EDataServer.SourceRegistry" c:type="ESourceRegistry*"/>
          </parameter>
          <parameter name="address" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-util.c"
                 line="31">placeholder for default address</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-util.c"
                 line="32">placeholder for name</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
        </parameters>
      </function>
      <function name="mail_account_is_valid"
                c:identifier="e_cal_backend_mail_account_is_valid">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend-util.c"
             line="68">Checks that a mail account is valid, and returns its name.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend-util.h"
                         line="42"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend-util.c"
               line="76">TRUE if the account is valid, FALSE if not.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="registry" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-util.c"
                 line="70">an #ESourceRegistry</doc>
            <type name="EDataServer.SourceRegistry" c:type="ESourceRegistry*"/>
          </parameter>
          <parameter name="user" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-util.c"
                 line="71">user name for the account to check</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-util.c"
                 line="72">placeholder for the account name</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
        </parameters>
      </function>
      <function name="user_declined"
                c:identifier="e_cal_backend_user_declined"
                version="2.26">
        <source-position filename="src/calendar/libedata-cal/e-cal-backend-util.h"
                         line="46"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend-util.c"
               line="185">Whether icalcomp contains attendee with a mail same as any of
         configured enabled mail account and whether this user declined.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="registry" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-util.c"
                 line="182">an #ESourceRegistry</doc>
            <type name="EDataServer.SourceRegistry" c:type="ESourceRegistry*"/>
          </parameter>
          <parameter name="icalcomp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-util.c"
                 line="183">component where to check</doc>
            <type name="ICalGLib.Component" c:type="ICalComponent*"/>
          </parameter>
        </parameters>
      </function>
      <virtual-method name="closed">
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="205"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="sender" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="impl_add_timezone">
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="193"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="cal" transfer-ownership="none">
            <type name="DataCal" c:type="EDataCal*"/>
          </parameter>
          <parameter name="opid" transfer-ownership="none">
            <type name="guint32" c:type="guint32"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="tzobject" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="impl_create_objects" introspectable="0">
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="141"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="cal" transfer-ownership="none">
            <type name="DataCal" c:type="EDataCal*"/>
          </parameter>
          <parameter name="opid" transfer-ownership="none">
            <type name="guint32" c:type="guint32"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="calobjs" transfer-ownership="none">
            <type name="GLib.SList" c:type="const GSList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
          <parameter name="opflags" transfer-ownership="none">
            <type name="ECal.OperationFlags" c:type="ECalOperationFlags"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="impl_discard_alarm">
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="180"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="cal" transfer-ownership="none">
            <type name="DataCal" c:type="EDataCal*"/>
          </parameter>
          <parameter name="opid" transfer-ownership="none">
            <type name="guint32" c:type="guint32"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="uid" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="rid" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="auid" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="opflags" transfer-ownership="none">
            <type name="ECal.OperationFlags" c:type="ECalOperationFlags"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="impl_get_attachment_uris">
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="173"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="cal" transfer-ownership="none">
            <type name="DataCal" c:type="EDataCal*"/>
          </parameter>
          <parameter name="opid" transfer-ownership="none">
            <type name="guint32" c:type="guint32"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="uid" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="rid" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="impl_get_backend_property">
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="110"/>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="prop_name" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="impl_get_free_busy" introspectable="0">
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="134"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="cal" transfer-ownership="none">
            <type name="DataCal" c:type="EDataCal*"/>
          </parameter>
          <parameter name="opid" transfer-ownership="none">
            <type name="guint32" c:type="guint32"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="users" transfer-ownership="none">
            <type name="GLib.SList" c:type="const GSList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
          <parameter name="start" transfer-ownership="none">
            <type name="glong" c:type="time_t"/>
          </parameter>
          <parameter name="end" transfer-ownership="none">
            <type name="glong" c:type="time_t"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="impl_get_object">
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="123"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="cal" transfer-ownership="none">
            <type name="DataCal" c:type="EDataCal*"/>
          </parameter>
          <parameter name="opid" transfer-ownership="none">
            <type name="guint32" c:type="guint32"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="uid" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="rid" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="impl_get_object_list">
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="129"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="cal" transfer-ownership="none">
            <type name="DataCal" c:type="EDataCal*"/>
          </parameter>
          <parameter name="opid" transfer-ownership="none">
            <type name="guint32" c:type="guint32"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="sexp" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="impl_get_timezone">
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="188"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="cal" transfer-ownership="none">
            <type name="DataCal" c:type="EDataCal*"/>
          </parameter>
          <parameter name="opid" transfer-ownership="none">
            <type name="guint32" c:type="guint32"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="tzid" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="impl_modify_objects" introspectable="0">
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="147"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="cal" transfer-ownership="none">
            <type name="DataCal" c:type="EDataCal*"/>
          </parameter>
          <parameter name="opid" transfer-ownership="none">
            <type name="guint32" c:type="guint32"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="calobjs" transfer-ownership="none">
            <type name="GLib.SList" c:type="const GSList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
          <parameter name="mod" transfer-ownership="none">
            <type name="ECal.ObjModType" c:type="ECalObjModType"/>
          </parameter>
          <parameter name="opflags" transfer-ownership="none">
            <type name="ECal.OperationFlags" c:type="ECalOperationFlags"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="impl_open">
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="114"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="cal" transfer-ownership="none">
            <type name="DataCal" c:type="EDataCal*"/>
          </parameter>
          <parameter name="opid" transfer-ownership="none">
            <type name="guint32" c:type="guint32"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="impl_receive_objects">
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="161"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="cal" transfer-ownership="none">
            <type name="DataCal" c:type="EDataCal*"/>
          </parameter>
          <parameter name="opid" transfer-ownership="none">
            <type name="guint32" c:type="guint32"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="calobj" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="opflags" transfer-ownership="none">
            <type name="ECal.OperationFlags" c:type="ECalOperationFlags"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="impl_refresh">
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="119"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="cal" transfer-ownership="none">
            <type name="DataCal" c:type="EDataCal*"/>
          </parameter>
          <parameter name="opid" transfer-ownership="none">
            <type name="guint32" c:type="guint32"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="impl_remove_objects" introspectable="0">
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="154"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="cal" transfer-ownership="none">
            <type name="DataCal" c:type="EDataCal*"/>
          </parameter>
          <parameter name="opid" transfer-ownership="none">
            <type name="guint32" c:type="guint32"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="ids" transfer-ownership="none">
            <type name="GLib.SList" c:type="const GSList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
          <parameter name="mod" transfer-ownership="none">
            <type name="ECal.ObjModType" c:type="ECalObjModType"/>
          </parameter>
          <parameter name="opflags" transfer-ownership="none">
            <type name="ECal.OperationFlags" c:type="ECalOperationFlags"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="impl_send_objects">
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="167"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="cal" transfer-ownership="none">
            <type name="DataCal" c:type="EDataCal*"/>
          </parameter>
          <parameter name="opid" transfer-ownership="none">
            <type name="guint32" c:type="guint32"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="calobj" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="opflags" transfer-ownership="none">
            <type name="ECal.OperationFlags" c:type="ECalOperationFlags"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="impl_start_view">
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="199"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="view" transfer-ownership="none">
            <type name="DataCalView" c:type="EDataCalView*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="impl_stop_view">
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="201"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="view" transfer-ownership="none">
            <type name="DataCalView" c:type="EDataCalView*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="shutdown">
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="207"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="add_timezone"
              c:identifier="e_cal_backend_add_timezone"
              version="3.10">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="4568">Asynchronously adds the timezone described by @tzobject to @backend.

When the operation is finished, @callback will be called.  You can
then call e_cal_backend_add_timezone_finish() to get the result of
the operation.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="475"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4570">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="tzobject" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4571">an iCalendar VTIMEZONE string</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4572">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="3">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4573">a #GAsyncReadyCallback to call when the request is satisfied</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4574">data to pass to the callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_timezone_finish"
              c:identifier="e_cal_backend_add_timezone_finish"
              version="3.10"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="4618">Finishes the operation started with e_cal_backend_add_timezone().

If an error occurred, the function will set @error and return %FALSE.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="480"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend.c"
               line="4628">%TRUE on success, %FALSE on failure</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4620">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4621">a #GAsyncResult</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_timezone_sync"
              c:identifier="e_cal_backend_add_timezone_sync"
              version="3.10"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="4481">Adds the timezone described by @tzobject to @backend.

If an error occurs, the function will set @error and return %FALSE.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="471"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend.c"
               line="4492">%TRUE on success, %FALSE on failure</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4483">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="tzobject" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4484">an iCalendar VTIMEZONE string</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4485">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_view"
              c:identifier="e_cal_backend_add_view"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="1658">Adds a view to the list of live views being run by the given backend.
Doing so means that any listener on the view will get notified of any
change that affect the live view.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="240"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="1660">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="1661">An #EDataCalView object.</doc>
            <type name="DataCalView" c:type="EDataCalView*"/>
          </parameter>
        </parameters>
      </method>
      <method name="create_cache_filename"
              c:identifier="e_cal_backend_create_cache_filename"
              version="3.4">
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="234"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend.c"
               line="1609">a filename for an attachment in a local cache dir. Free returned
pointer with a g_free().</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="1604">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="1605">a component UID</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="filename"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="1606">a filename to use; can be %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="fileindex" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="1607">index of a file; used only when @filename is %NULL</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="create_objects"
              c:identifier="e_cal_backend_create_objects"
              version="3.10">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="2896">Asynchronously creates one or more new iCalendar objects from @calobjs.

When the operation is finished, @callback will be called.  You can then
call e_cal_backend_create_objects_finish() to get the result of the
operation.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="339"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2898">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="calobjs" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2899">a %NULL-terminated array of iCalendar strings</doc>
            <type name="utf8" c:type="const gchar* const*"/>
          </parameter>
          <parameter name="opflags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2900">bit-or of #ECalOperationFlags</doc>
            <type name="ECal.OperationFlags" c:type="ECalOperationFlags"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2901">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="4">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2902">a #GAsyncReadyCallback to call when the request is satisifed</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2903">data to pass to the callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="create_objects_finish"
              c:identifier="e_cal_backend_create_objects_finish"
              version="3.10"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="2954">Finishes the operation started with e_cal_backend_create_objects().

A unique ID string for each newly-created object is deposited in @out_uids.
Free the returned ID strings with g_free() when finished with them.

If an error occurred, the function will set @error and return %FALSE.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="345"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend.c"
               line="2968">%TRUE on success, %FALSE on failure</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2956">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2957">a #GAsyncResult</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
          <parameter name="out_uids" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2958">a #GQueue in which to deposit results</doc>
            <type name="GLib.Queue" c:type="GQueue*"/>
          </parameter>
        </parameters>
      </method>
      <method name="create_objects_sync"
              c:identifier="e_cal_backend_create_objects_sync"
              version="3.10"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="2795">Creates one or more new iCalendar objects from @calobjs, and deposits
the unique ID string for each newly-created object in @out_uids.

Free the returned ID strings with g_free() when finished with them.

If an error occurs, the function will set @error and return %FALSE.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="332"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend.c"
               line="2811">%TRUE on success, %FALSE on failure</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2797">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="calobjs" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2798">a %NULL-terminated array of iCalendar strings</doc>
            <type name="utf8" c:type="const gchar* const*"/>
          </parameter>
          <parameter name="opflags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2799">bit-or of #ECalOperationFlags</doc>
            <type name="ECal.OperationFlags" c:type="ECalOperationFlags"/>
          </parameter>
          <parameter name="out_uids" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2800">a #GQueue in which to deposit results</doc>
            <type name="GLib.Queue" c:type="GQueue*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2801">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="discard_alarm"
              c:identifier="e_cal_backend_discard_alarm"
              version="3.10">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="4197">Asynchronously discards the VALARM object with a unique ID of @alarm_uid
from the iCalendar object identified by @uid and, optionally, @rid.

When the operation is finished, @callback will be called.  You can
then call e_cal_backend_discard_alarm_finish() to get the result of
the operation.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="446"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4199">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4200">a unique ID for an iCalendar object</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="rid"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4201">a recurrence ID, or %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="alarm_uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4202">a unique ID for an iCalendar VALARM object</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="opflags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4203">bit-or of #ECalOperationFlags</doc>
            <type name="ECal.OperationFlags" c:type="ECalOperationFlags"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4204">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="6">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4205">a #GAsyncReadyCallback to call when the request is satisfied</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4206">data to pass to the callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="discard_alarm_finish"
              c:identifier="e_cal_backend_discard_alarm_finish"
              version="3.10"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="4259">Finishes the operation started with e_cal_backend_discard_alarm().

If an error occurred, the function will set @error and return %FALSE.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="454"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend.c"
               line="4269">%TRUE on success, %FALSE on failure</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4261">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4262">a #GAsyncResult</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="discard_alarm_sync"
              c:identifier="e_cal_backend_discard_alarm_sync"
              version="3.10"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="4091">Discards the VALARM object with a unique ID of @alarm_uid from the
iCalendar object identified by @uid and, optionally, @rid.

If an error occurs, the function will set @error and return %FALSE.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="438"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend.c"
               line="4106">%TRUE on success, %FALSE on failure</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4093">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4094">a unique ID for an iCalendar object</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="rid"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4095">a recurrence ID, or %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="alarm_uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4096">a unique ID for an iCalendar VALARM object</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="opflags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4097">bit-or of #ECalOperationFlags</doc>
            <type name="ECal.OperationFlags" c:type="ECalOperationFlags"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4098">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="dup_cache_dir"
              c:identifier="e_cal_backend_dup_cache_dir"
              version="3.10">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="1536">Thread-safe variation of e_cal_backend_get_cache_dir().
Use this function when accessing @backend from multiple threads.

The returned string should be freed with g_free() when no longer needed.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="231"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend.c"
               line="1545">a newly-allocated copy of #ECalBackend:cache-dir</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="1538">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="foreach_view"
              c:identifier="e_cal_backend_foreach_view"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="1774">Calls @func for each existing view (as returned by e_cal_backend_list_views()).
The @func can return %FALSE to stop early.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="250"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend.c"
               line="1783">whether the call had been stopped by @func</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="1776">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="func"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="call"
                     closure="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="1777">an #ECalBackendForeachViewFunc function to call</doc>
            <type name="CalBackendForeachViewFunc"
                  c:type="ECalBackendForeachViewFunc"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     closure="0">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="1778">user data to pass to @func</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="foreach_view_notify_progress"
              c:identifier="e_cal_backend_foreach_view_notify_progress"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="1831">Notifies each view of the @backend about progress. When @only_completed_views
is %TRUE, notifies only completed views.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="253"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="1833">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="only_completed_views" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="1834">whether notify in completed views only</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="percent" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="1835">percent complete</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="message"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="1836">message describing the operation in progress, or %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_attachment_uris"
              c:identifier="e_cal_backend_get_attachment_uris"
              version="3.10">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="3989">Asynchronously inspects the iCalendar object specified by @uid and,
optionally, @rid for attachments.

When the operation is finished, @callback will be called.  You can then
call e_cal_backend_get_attachment_uris_finish() to get the result of the
operation.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="426"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3991">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3992">a unique ID for an iCalendar object</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="rid"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3993">a recurrence ID, or %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3994">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="4">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3995">a #GAsyncReadyCallback to call when the request is satisfied</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3996">data to pass to the callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_attachment_uris_finish"
              c:identifier="e_cal_backend_get_attachment_uris_finish"
              version="3.10"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="4044">Finishes the operation started with e_cal_backend_get_attachment_uris().

The requested attachment URI strings are deposited in @out_attachment_uris.
Free the returned strings with g_free() when finished with them.

If an error occurred, the function will set @error and return %FALSE.
Note that an empty result set does not necessarily imply an error.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="433"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend.c"
               line="4059">%TRUE on success, %FALSE on failure</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4046">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4047">a #GAsyncResult</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
          <parameter name="out_attachment_uris" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4048">a #GQueue in which to deposit results</doc>
            <type name="GLib.Queue" c:type="GQueue*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_attachment_uris_sync"
              c:identifier="e_cal_backend_get_attachment_uris_sync"
              version="3.10"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="3892">Inspects the iCalendar object specified by @uid and, optionally, @rid
for attachments and deposits a URI string for each attachment in
@out_attachment_uris.  Free the returned strings with g_free() when
finished with them.

If an error occurs, the function will set @error and return %FALSE.
Note that an empty result set does not necessarily imply an error.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="419"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend.c"
               line="3909">%TRUE on success, %FALSE on failure</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3894">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3895">a unique ID for an iCalendar object</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="rid"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3896">a recurrence ID, or %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="out_attachment_uris" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3897">a #GQueue in which to deposit results</doc>
            <type name="GLib.Queue" c:type="GQueue*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3898">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_backend_property"
              c:identifier="e_cal_backend_get_backend_property"
              version="3.10">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="1630">Obtains the value of the backend property named @prop_name.
Freed the returned string with g_free() when finished with it.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="259"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend.c"
               line="1638">the value for @prop_name</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="1632">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="prop_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="1633">a backend property name</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_cache_dir"
              c:identifier="e_cal_backend_get_cache_dir"
              glib:get-property="cache-dir"
              version="2.32">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="1518">Returns the cache directory path used by @backend.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="230"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend.c"
               line="1524">the cache directory path</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="1520">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_free_busy"
              c:identifier="e_cal_backend_get_free_busy"
              version="3.10">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="2671">Asynchronously obtains a free/busy object for the list of @users in the
time interval between @start and @end.

When the operation is finished, @callback will be called.  You can
then call e_cal_backend_get_free_busy_finish() to get the result of
the operation.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="320"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2673">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="start" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2674">start time</doc>
            <type name="glong" c:type="time_t"/>
          </parameter>
          <parameter name="end" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2675">end time</doc>
            <type name="glong" c:type="time_t"/>
          </parameter>
          <parameter name="users" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2676">a %NULL-terminated array of user strings</doc>
            <array c:type="const gchar* const*">
              <type name="utf8" c:type="gchar*"/>
            </array>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2677">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="5">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2678">a #GAsyncReadyCallback to call when the request is satisfied</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2679">data to pass to the callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_free_busy_finish"
              c:identifier="e_cal_backend_get_free_busy_finish"
              version="3.10"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="2735">Finishes the operation started with e_cal_backend_get_free_busy().

The free/busy results can be returned through the
e_data_cal_report_free_busy_data() function asynchronously. The out_freebusy
will contain all the returned data, possibly again, thus the client is
responsible for the data merge, if needed.

If an error occurred, the function will set @error and return %FALSE.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="327"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend.c"
               line="2751">%TRUE on success, %FALSE on failure</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2737">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2738">a #GAsyncResult</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
          <parameter name="out_freebusy" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2739">iCalendar strings with overall returned Free/Busy data</doc>
            <type name="GLib.SList" c:type="GSList**">
              <type name="utf8"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="get_free_busy_sync"
              c:identifier="e_cal_backend_get_free_busy_sync"
              version="3.10"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="2571">Obtains a free/busy object for the list of @users in the time interval
between @start and @end.

The free/busy results can be returned through the
e_data_cal_report_free_busy_data() function asynchronously. The out_freebusy
will contain all the returned data, possibly again, thus the client is
responsible for the data merge, if needed.

If an error occurs, the function will set @error and return %FALSE.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="312"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend.c"
               line="2591">%TRUE on success, %FALSE on failure.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2573">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="start" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2574">start time</doc>
            <type name="glong" c:type="time_t"/>
          </parameter>
          <parameter name="end" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2575">end time</doc>
            <type name="glong" c:type="time_t"/>
          </parameter>
          <parameter name="users" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2576">a %NULL-terminated array of user strings</doc>
            <array c:type="const gchar* const*">
              <type name="utf8" c:type="gchar*"/>
            </array>
          </parameter>
          <parameter name="out_freebusy" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2577">iCalendar strings with overall returned Free/Busy data</doc>
            <type name="GLib.SList" c:type="GSList**">
              <type name="utf8"/>
            </type>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2578">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_kind"
              c:identifier="e_cal_backend_get_kind"
              glib:get-property="kind">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="1317">Gets the kind of components the given backend stores.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="215"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend.c"
               line="1323">The kind of components for this backend.</doc>
          <type name="ICalGLib.ComponentKind" c:type="ICalComponentKind"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="1319">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_object"
              c:identifier="e_cal_backend_get_object"
              version="3.10">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="2280">Asynchronously obtains an #ECalComponent by its @uid and, optionally, @rid.

When the operation is finished, @callback will be called.  You can then
call e_cal_backend_get_object_finish() to get the result of the operation.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="287"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2282">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2283">a unique ID for an iCalendar object</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="rid"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2284">a recurrence ID, or %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2285">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="4">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2286">a #GAsyncReadyCallback to call when the request is satisfied</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2287">data to pass to the callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_object_finish"
              c:identifier="e_cal_backend_get_object_finish"
              version="3.10"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="2333">Finishes the operation started with e_cal_backend_get_object().

The returned string is an iCalendar object describing either single component
or a vCalendar object, which includes also detached instances. It should be
freed when no longer needed.

If an error occurs, the function will set @error and return %NULL.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="293"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend.c"
               line="2347">an #ECalComponent, or %NULL on error</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2335">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2336">a #GAsyncResult</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_object_list"
              c:identifier="e_cal_backend_get_object_list"
              version="3.10">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="2473">Asynchronously obtains a set of iCalendar instances which satisfy
the criteria specified in @query.

When the operation in finished, @callback will be called.  You can then
call e_cal_backend_get_object_list_finish() to get the result of the
operation.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="302"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2475">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="query" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2476">a search query in S-expression format</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2477">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="3">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2478">a #GAsyncReadyCallback to call when the request is satisfied</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2479">data to pass to the callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_object_list_finish"
              c:identifier="e_cal_backend_get_object_list_finish"
              version="3.10"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="2524">Finishes the operation started with e_cal_backend_get_object_list().

The matching iCalendar instances are deposited in @out_objects.
The returned instances should be freed with g_free() when finished with them.

If an error occurred, the function will set @error and return %FALSE.
Note that an empty result set does not necessarily imply an error.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="307"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend.c"
               line="2539">%TRUE on success, %FALSE on failure</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2526">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2527">a #GAsyncResult</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
          <parameter name="out_objects" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2528">a #GQueue in which to deposit results</doc>
            <type name="GLib.Queue" c:type="GQueue*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_object_list_sync"
              c:identifier="e_cal_backend_get_object_list_sync"
              version="3.10"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="2380">Obtains a set of iCalendar string instances which satisfy the criteria
specified in @query, and deposits them in @out_objects.

The returned instances should be freed with g_free() when finished with them.

If an error occurs, the function will set @error and return %FALSE.
Note that an empty result set does not necessarily imply an error.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="296"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend.c"
               line="2396">%TRUE on success, %FALSE on failure</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2382">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="query" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2383">a search query in S-expression format</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="out_objects" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2384">a #GQueue in which to deposit results</doc>
            <type name="GLib.Queue" c:type="GQueue*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2385">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_object_sync"
              c:identifier="e_cal_backend_get_object_sync"
              version="3.10"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="2187">Obtains an iCalendar string for an object identified by its @uid and,
optionally, @rid.

The returned string should be freed with g_free() when finished with it.

If an error occurs, the function will set @error and return %NULL.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="282"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend.c"
               line="2202">an #ECalComponent, or %NULL on error</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2189">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2190">a unique ID for an iCalendar object</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="rid"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2191">a recurrence ID, or %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2192">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_registry"
              c:identifier="e_cal_backend_get_registry"
              glib:get-property="registry"
              version="3.6">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="1422">Returns the data source registry to which #EBackend:source belongs.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="223"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend.c"
               line="1428">an #ESourceRegistry</doc>
          <type name="EDataServer.SourceRegistry" c:type="ESourceRegistry*"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="1424">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_timezone"
              c:identifier="e_cal_backend_get_timezone"
              version="3.10">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="4381">Asynchronously obtains the VTIMEZONE object identified by @tzid.

When the operation is finished, @callback will be called.  You can
then call e_cal_backend_get_timezone_finish() to get the result of
the operation.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="462"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4383">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="tzid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4384">a unique ID for an iCalendar VTIMEZONE object</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4385">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="3">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4386">a #GAsyncReadyCallback to call when the request is satisfied</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4387">data to pass to the callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_timezone_finish"
              c:identifier="e_cal_backend_get_timezone_finish"
              version="3.10"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="4431">Finishes the operation started with e_cal_backend_get_timezone().

Free the returned string with g_free() when finished with it.

If an error occurred, the function will set @error and return %NULL.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="467"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend.c"
               line="4443">an iCalendar string, or %NULL on error</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4433">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4434">a #GAsyncResult</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_timezone_sync"
              c:identifier="e_cal_backend_get_timezone_sync"
              version="3.10"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="4293">Obtains the VTIMEZONE object identified by @tzid.  Free the returned
string with g_free() when finished with it.

If an error occurs, the function will set @error and return %NULL.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="458"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend.c"
               line="4305">an iCalendar string, or %NULL on error</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4295">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="tzid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4296">a unique ID for an iCalendar VTIMEZONE object</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4297">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_writable"
              c:identifier="e_cal_backend_get_writable"
              glib:get-property="writable"
              version="3.8">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="1440">Returns whether @backend will accept changes to its data content.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="224"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend.c"
               line="1446">whether @backend is writable</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="1442">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_opened"
              c:identifier="e_cal_backend_is_opened"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="1481">Checks if @backend's storage has been opened (and
authenticated, if necessary) and the backend itself
is ready for accessing. This property is changed automatically
after the @backend is successfully opened.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="227"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend.c"
               line="1490">%TRUE if fully opened, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="1483">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_readonly"
              c:identifier="e_cal_backend_is_readonly"
              version="3.2">
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="228"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend.c"
               line="1506">Whether is backend read-only.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="1504">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="list_views"
              c:identifier="e_cal_backend_list_views"
              version="3.8">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="1722">Returns a list of #EDataCalView instances added with
e_cal_backend_add_view().

The views returned in the list are referenced for thread-safety.
They must each be unreferenced with g_object_unref() when finished
with them.  Free the returned list itself with g_list_free().

An easy way to free the list properly in one step is as follows:

|[
  g_list_free_full (list, g_object_unref);
]|</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="244"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend.c"
               line="1739">a list of cal views</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="DataCalView"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="1724">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="modify_objects"
              c:identifier="e_cal_backend_modify_objects"
              version="3.10">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="3125">Asynchronously modifies one or more iCalendar objects according to
@calobjs and @mod.

When the operation is finished, @callback will be called.  You can then
call e_cal_backend_modify_objects_finish() to get the result of the
operation.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="357"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3127">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="calobjs" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3128">a %NULL-terminated array of iCalendar strings</doc>
            <type name="utf8" c:type="const gchar* const*"/>
          </parameter>
          <parameter name="mod" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3129">modification type for recurrences</doc>
            <type name="ECal.ObjModType" c:type="ECalObjModType"/>
          </parameter>
          <parameter name="opflags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3130">bit-or of #ECalOperationFlags</doc>
            <type name="ECal.OperationFlags" c:type="ECalOperationFlags"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3131">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="5">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3132">a #GAsyncReadyCallback to call when the request is satisfied</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3133">data to pass to the callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="modify_objects_finish"
              c:identifier="e_cal_backend_modify_objects_finish"
              version="3.10"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="3187">Finishes the operation started with e_cal_backend_modify_objects().

If an error occurred, the function will set @error and return %FALSE.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="364"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend.c"
               line="3197">%TRUE on success, %FALSE on failure</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3189">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3190">a #GAsyncResult</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="modify_objects_sync"
              c:identifier="e_cal_backend_modify_objects_sync"
              version="3.10"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="3025">Modifies one or more iCalendar objects according to @calobjs and @mod.

If an error occurs, the function will set @error and return %FALSE.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="350"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend.c"
               line="3038">%TRUE on success, %FALSE on failure</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3027">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="calobjs" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3028">a %NULL-terminated array of iCalendar strings</doc>
            <type name="utf8" c:type="const gchar* const*"/>
          </parameter>
          <parameter name="mod" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3029">modification type for recurrences</doc>
            <type name="ECal.ObjModType" c:type="ECalObjModType"/>
          </parameter>
          <parameter name="opflags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3030">bit-or of #ECalOperationFlags</doc>
            <type name="ECal.OperationFlags" c:type="ECalOperationFlags"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3031">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="notify_component_created"
              c:identifier="e_cal_backend_notify_component_created"
              version="3.4">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="4703">Notifies each of the backend's listeners about a new object.

Uses the #EDataCalView's fields-of-interest to filter out unwanted
information from ical strings sent over the bus.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="489"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4705">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="component" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4706">the newly created #ECalComponent</doc>
            <type name="ECal.Component" c:type="ECalComponent*"/>
          </parameter>
        </parameters>
      </method>
      <method name="notify_component_modified"
              c:identifier="e_cal_backend_notify_component_modified"
              version="3.4">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="4725">Notifies each of the backend's listeners about a modified object.

Uses the #EDataCalView's fields-of-interest to filter out unwanted
information from ical strings sent over the bus.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="492"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4727">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="old_component" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4728">the #ECalComponent before the modification</doc>
            <type name="ECal.Component" c:type="ECalComponent*"/>
          </parameter>
          <parameter name="new_component" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4729">the #ECalComponent after the modification</doc>
            <type name="ECal.Component" c:type="ECalComponent*"/>
          </parameter>
        </parameters>
      </method>
      <method name="notify_component_removed"
              c:identifier="e_cal_backend_notify_component_removed"
              version="3.4">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="4750">Notifies each of the backend's listeners about a removed object.

Uses the #EDataCalView's fields-of-interest to filter out unwanted
information from ical strings sent over the bus.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="496"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4752">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4753">the Id of the removed object</doc>
            <type name="ECal.ComponentId" c:type="const ECalComponentId*"/>
          </parameter>
          <parameter name="old_component" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4754">the removed component</doc>
            <type name="ECal.Component" c:type="ECalComponent*"/>
          </parameter>
          <parameter name="new_component" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4755">the component after the removal. This only applies to recurrent
appointments that had an instance removed. In that case, this function
notifies a modification instead of a removal.</doc>
            <type name="ECal.Component" c:type="ECalComponent*"/>
          </parameter>
        </parameters>
      </method>
      <method name="notify_error" c:identifier="e_cal_backend_notify_error">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="4778">Notifies each of the backend's listeners about an error</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="502"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4780">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4781">Error message</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="notify_property_changed"
              c:identifier="e_cal_backend_notify_property_changed"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="4802">Notifies client about property value change.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="504"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4804">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="prop_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4805">property name, which changed</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="prop_value"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4806">new property value</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="open" c:identifier="e_cal_backend_open" version="3.10">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="1938">Asynchronously "opens" the @backend.  Opening a backend is something of
an outdated concept, but the operation is hanging around for a little
while longer.  This usually involves some custom initialization logic,
and testing of remote authentication if applicable.

When the operation is finished, @callback will be called.  You can then
call e_cal_backend_open_finish() to get the result of the operation.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="265"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="1940">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="1941">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="2">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="1942">a #GAsyncReadyCallback to call when the request is satisfied</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="1943">data to pass to the callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="open_finish"
              c:identifier="e_cal_backend_open_finish"
              version="3.10"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="1980">Finishes the operation started with e_cal_backend_open().

If an error occurred, the function will set @error and return %FALSE.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="269"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend.c"
               line="1990">%TRUE on success, %FALSE on failure</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="1982">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="1983">a #GAsyncResult</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="open_sync"
              c:identifier="e_cal_backend_open_sync"
              version="3.10"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="1860">"Opens" the @backend.  Opening a backend is something of an outdated
concept, but the operation is hanging around for a little while longer.
This usually involves some custom initialization logic, and testing of
remote authentication if applicable.

If an error occurs, the function will set @error and return %FALSE.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="262"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend.c"
               line="1873">%TRUE on success, %FALSE on failure</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="1862">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="1863">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="prepare_for_completion"
              c:identifier="e_cal_backend_prepare_for_completion"
              version="3.10">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="4830">Obtains the #GSimpleAsyncResult for @opid and sets @result_queue as a
place to deposit results prior to completing the #GSimpleAsyncResult.

&lt;note&gt;
  &lt;para&gt;
    This is a temporary function to serve #EDataCal's "respond"
    functions until they can be removed.  Nothing else should be
    calling this function.
  &lt;/para&gt;
&lt;/note&gt;</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="510"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend.c"
               line="4847">a #GSimpleAsyncResult</doc>
          <type name="Gio.SimpleAsyncResult" c:type="GSimpleAsyncResult*"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4832">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="opid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4833">an operation ID given to #EDataCal</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="result_queue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4834">return location for a #GQueue, or %NULL</doc>
            <type name="GLib.Queue" c:type="GQueue**"/>
          </parameter>
        </parameters>
      </method>
      <method name="receive_objects"
              c:identifier="e_cal_backend_receive_objects"
              version="3.10">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="3601">Asynchronously receives the set of iCalendar objects specified by
@calobj.  This is used for iTIP confirmation and cancellation messages
for scheduled meetings.

When the operation is finished, @callback will be called.  You can then
call e_cal_backend_receive_objects_finish() to get the result of the
operation.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="392"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3603">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="calobj" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3604">an iCalendar string</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="opflags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3605">bit-or of #ECalOperationFlags</doc>
            <type name="ECal.OperationFlags" c:type="ECalOperationFlags"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3606">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="4">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3607">a #GAsyncReadyCallback to call when the request is satisfied</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3608">data to pass to the callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="receive_objects_finish"
              c:identifier="e_cal_backend_receive_objects_finish"
              version="3.10"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="3656">Finishes the operation started with e_cal_backend_receive_objects().

If an error occurred, the function will set @error and erturn %FALSE.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="398"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend.c"
               line="3666">%TRUE on success, %FALSE on failure</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3658">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3659">a #GAsyncResult</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="receive_objects_sync"
              c:identifier="e_cal_backend_receive_objects_sync"
              version="3.10"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="3510">Receives the set of iCalendar objects specified by @calobj.  This is used
for iTIP confirmation and cancellation messages for scheduled meetings.

If an error occurs, the function will set @error and return %FALSE.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="386"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend.c"
               line="3523">%TRUE on success, %FALSE on failure</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3512">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="calobj" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3513">an iCalendar string</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="opflags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3514">bit-or of #ECalOperationFlags</doc>
            <type name="ECal.OperationFlags" c:type="ECalOperationFlags"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3515">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="ref_data_cal"
              c:identifier="e_cal_backend_ref_data_cal"
              version="3.10">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="1333">Returns the #EDataCal for @backend.  The #EDataCal is essentially
the glue between incoming D-Bus requests and @backend's native API.

An #EDataCal should be set only once after @backend is first created.
If an #EDataCal has not yet been set, the function returns %NULL.

The returned #EDataCal is referenced for thread-safety and must be
unreferenced with g_object_unref() when finished with it.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="216"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend.c"
               line="1346">an #EDataCal, or %NULL</doc>
          <type name="DataCal" c:type="EDataCal*"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="1335">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="ref_proxy_resolver"
              c:identifier="e_cal_backend_ref_proxy_resolver"
              version="3.12">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="1390">Returns the #GProxyResolver for @backend (if applicable), as indicated
by the #ESourceAuthentication:proxy-uid of @backend's #EBackend:source
or one of its ancestors.

The returned #GProxyResolver is referenced for thread-safety and must
be unreferenced with g_object_unref() when finished with it.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="220"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend.c"
               line="1401">a #GProxyResolver, or %NULL</doc>
          <type name="Gio.ProxyResolver" c:type="GProxyResolver*"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="1392">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="refresh"
              c:identifier="e_cal_backend_refresh"
              version="3.10">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="2108">Asynchronously initiates a refresh for @backend, if the @backend supports
refreshing.  The actual refresh operation completes on its own time.  This
function, along with e_cal_backend_refresh_finish(), merely initiates the
operation.

Once the refresh is initiated, @callback will be called.  You can then
call e_cal_backend_refresh_finish() to get the result of the initiation.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="275"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2110">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2111">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="2">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2112">a #GAsyncReadyCallback to call when the request is satisfied</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2113">data to pass to the callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="refresh_finish"
              c:identifier="e_cal_backend_refresh_finish"
              version="3.10"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="2150">Finishes the refresh initiation started with e_cal_backend_refresh().

If an error occurred while initiating the refresh, the function will set
@error and return %FALSE.  If the @backend does not support refreshing,
the function will set an %E_CLIENT_ERROR_NOT_SUPPORTED error and return
%FALSE.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="279"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend.c"
               line="2163">%TRUE on success, %FALSE on failure</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2152">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2153">a #GAsyncResult</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="refresh_sync"
              c:identifier="e_cal_backend_refresh_sync"
              version="3.10"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="2018">Initiates a refresh for @backend, if the @backend supports refreshing.
The actual refresh operation completes on its own time.  This function
merely initiates the operation.

If an error occrs while initiating the refresh, the function will set
@error and return %FALSE.  If the @backend does not support refreshing,
the function will set an %E_CLIENT_ERROR_NOT_SUPPORTED error and return
%FALSE.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="272"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend.c"
               line="2033">%TRUE on success, %FALSE on failure</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2020">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="2021">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_objects"
              c:identifier="e_cal_backend_remove_objects"
              version="3.10">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="3357">Asynchronously removes one or more iCalendar objects according to
@component_ids and @mod.

When the operation is finished, @callback will be called.  You can then
call e_cal_backend_remove_objects_finish() to get the result of the
operation.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="375"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3359">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="component_ids" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3360">a #GList of #ECalComponentId structs</doc>
            <type name="GLib.List" c:type="GList*">
              <type name="ECal.ComponentId"/>
            </type>
          </parameter>
          <parameter name="mod" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3361">modification type for recurrences</doc>
            <type name="ECal.ObjModType" c:type="ECalObjModType"/>
          </parameter>
          <parameter name="opflags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3362">bit-or of #ECalOperationFlags</doc>
            <type name="ECal.OperationFlags" c:type="ECalOperationFlags"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3363">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="5">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3364">a #GAsyncReadyCallback to call when the request is satisfied</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3365">data to pass to the callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_objects_finish"
              c:identifier="e_cal_backend_remove_objects_finish"
              version="3.10"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="3421">Finishes the operation started with e_cal_backend_remove_objects().

If an error occurred, the function will set @error and return %FALSE.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="382"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend.c"
               line="3431">%TRUE on success, %FALSE on failure</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3423">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3424">a #GAsyncResult</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_objects_sync"
              c:identifier="e_cal_backend_remove_objects_sync"
              version="3.10"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="3264">Removes one or more iCalendar objects according to @component_ids and @mod.

If an error occurs, the function will set @error and return %FALSE.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="368"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend.c"
               line="3277">%TRUE on success, %FALSE on failure</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3266">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="component_ids" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3267">a #GList of #ECalComponentId structs</doc>
            <type name="GLib.List" c:type="GList*">
              <type name="ECal.ComponentId"/>
            </type>
          </parameter>
          <parameter name="mod" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3268">modification type for recurrences</doc>
            <type name="ECal.ObjModType" c:type="ECalObjModType"/>
          </parameter>
          <parameter name="opflags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3269">bit-or of #ECalOperationFlags</doc>
            <type name="ECal.OperationFlags" c:type="ECalOperationFlags"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3270">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_view"
              c:identifier="e_cal_backend_remove_view"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="1684">Removes view from the list of live views for the backend.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="242"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="1686">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="1687">An #EDataCalView object, previously added with @ref e_cal_backend_add_view.</doc>
            <type name="DataCalView" c:type="EDataCalView*"/>
          </parameter>
        </parameters>
      </method>
      <method name="schedule_custom_operation"
              c:identifier="e_cal_backend_schedule_custom_operation"
              version="3.26">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="4877">Schedules user function @func to be run in a dedicated thread as
a blocking operation.

The function adds its own reference to @use_cancellable, if not %NULL.

The error returned from @func is propagated to client using
e_cal_backend_notify_error() function. If it's not desired,
then left the error unchanged and notify about errors manually.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="532"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="cal_backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4879">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="use_cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4880">an optional #GCancellable to use for @func</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="func"
                     transfer-ownership="none"
                     scope="notified"
                     closure="2"
                     destroy="3">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4881">a function to call in a dedicated thread</doc>
            <type name="CalBackendCustomOpFunc"
                  c:type="ECalBackendCustomOpFunc"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4882">user data being passed to @func</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="user_data_free"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4883">optional destroy call back for @user_data</doc>
            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
          </parameter>
        </parameters>
      </method>
      <method name="send_objects"
              c:identifier="e_cal_backend_send_objects"
              version="3.10">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="3787">Asynchronously sends meeting information in @calobj.  The @backend may
modify @calobj and send meeting information only to particular users.

When the operation is finished, @callback will be called.  You can then
call e_cal_backend_send_objects_finish() to get the result of the operation.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="408"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3789">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="calobj" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3790">an iCalendar string</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="opflags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3791">bit-or of #ECalOperationFlags</doc>
            <type name="ECal.OperationFlags" c:type="ECalOperationFlags"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3792">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="4">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3793">a #GAsyncReadyCallback to call when the request is satisfied</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3794">data to pass to the callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="send_objects_finish"
              c:identifier="e_cal_backend_send_objects_finish"
              version="3.10"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="3840">Finishes the operation started with e_cal_backend_send_objects().

The function returns a string representation of a sent, or to be send,
vCalendar and deposits the list of users the meeting information was sent
to, or to be send to, in @out_users.

Free the returned pointer with g_free(), when no longer needed.

If an error occurs, the function will set @error and return %NULL.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="414"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend.c"
               line="3857">a newly allocated vCalendar string, or %NULL on error</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3842">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3843">a #GAsyncResult</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
          <parameter name="out_users" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3844">a #GQueue in which to deposit results</doc>
            <type name="GLib.Queue" c:type="GQueue*"/>
          </parameter>
        </parameters>
      </method>
      <method name="send_objects_sync"
              c:identifier="e_cal_backend_send_objects_sync"
              version="3.10"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="3690">Sends meeting information in @calobj.  The @backend may modify @calobj
and send meeting information only to particular users.  The function
returns the (maybe) modified @calobj and deposits the list of users the
meeting information was sent (to be send) to in @out_users.

The returned pointer should be freed with g_free(), when no londer needed.

If an error occurs, the function will set @error and return %NULL.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="402"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend.c"
               line="3708">a vCalendar string, or %NULL on error</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3692">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="calobj" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3693">an iCalendar string</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="opflags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3694">bit-or of #ECalOperationFlags</doc>
            <type name="ECal.OperationFlags" c:type="ECalOperationFlags"/>
          </parameter>
          <parameter name="out_users" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3695">a #GQueue in which to deposit results</doc>
            <type name="GLib.Queue" c:type="GQueue*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="3696">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_cache_dir"
              c:identifier="e_cal_backend_set_cache_dir"
              glib:set-property="cache-dir"
              version="2.32">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="1567">Sets the cache directory path for use by @backend.

Note that #ECalBackend is initialized with a default cache directory
path which should suffice for most cases.  Backends should not override
the default path without good reason.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="232"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="1569">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="cache_dir" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="1570">a local cache directory path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_data_cal"
              c:identifier="e_cal_backend_set_data_cal"
              version="3.10">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="1363">Sets the #EDataCal for @backend.  The #EDataCal is essentially the
glue between incoming D-Bus requests and @backend's native API.

An #EDataCal should be set only once after @backend is first created.

The @backend adds its own reference on the @data_cal.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="217"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="1365">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="data_cal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="1366">an #EDataCal</doc>
            <type name="DataCal" c:type="EDataCal*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_writable"
              c:identifier="e_cal_backend_set_writable"
              glib:set-property="writable"
              version="3.8">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="1458">Sets whether @backend will accept changes to its data content.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="225"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="1460">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="writable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="1461">whether @backend is writable</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="start_view"
              c:identifier="e_cal_backend_start_view"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="4652">Starts a new live view on the given backend.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="484"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4654">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4655">The view to be started.</doc>
            <type name="DataCalView" c:type="EDataCalView*"/>
          </parameter>
        </parameters>
      </method>
      <method name="stop_view"
              c:identifier="e_cal_backend_stop_view"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="4677">Stops a previously started live view on the given backend.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                         line="486"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4679">an #ECalBackend</doc>
            <type name="CalBackend" c:type="ECalBackend*"/>
          </instance-parameter>
          <parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="4680">The view to be stopped.</doc>
            <type name="DataCalView" c:type="EDataCalView*"/>
          </parameter>
        </parameters>
      </method>
      <property name="cache-dir"
                writable="1"
                transfer-ownership="none"
                setter="set_cache_dir"
                getter="get_cache_dir">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="kind"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_kind">
        <type name="gulong" c:type="gulong"/>
      </property>
      <property name="proxy-resolver" transfer-ownership="none">
        <type name="Gio.ProxyResolver"/>
      </property>
      <property name="registry"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_registry">
        <type name="EDataServer.SourceRegistry"/>
      </property>
      <property name="writable"
                writable="1"
                transfer-ownership="none"
                setter="set_writable"
                getter="get_writable">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <field name="parent" readable="0" private="1">
        <type name="EBackend.Backend" c:type="EBackend"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="CalBackendPrivate" c:type="ECalBackendPrivate*"/>
      </field>
      <glib:signal name="closed" when="last" version="3.10">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="1244">Emitted when a client destroys its #ECalClient for @backend</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="sender" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend.c"
                 line="1247">the bus name that invoked the "close" method</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="shutdown" when="last" version="3.10">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="1262">Emitted when the last client destroys its #ECalClient for
@backend.  This signals the @backend to begin final cleanup
tasks such as synchronizing data to permanent storage.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="CalBackendClass"
            c:type="ECalBackendClass"
            glib:is-gtype-struct-for="CalBackend">
      <doc xml:space="preserve"
           filename="src/calendar/libedata-cal/e-cal-backend.h"
           line="67">Class structure for the #ECalBackend class.

These virtual methods must be implemented when writing
a calendar backend.</doc>
      <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                       line="211"/>
      <field name="parent_class" readable="0" private="1">
        <type name="EBackend.BackendClass" c:type="EBackendClass"/>
      </field>
      <field name="use_serial_dispatch_queue">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.h"
             line="69">Whether a serial dispatch queue should
                            be used for this backend or not. The default is %TRUE.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="impl_get_backend_property">
        <callback name="impl_get_backend_property">
          <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                           line="110"/>
          <return-value transfer-ownership="full">
            <type name="utf8" c:type="gchar*"/>
          </return-value>
          <parameters>
            <parameter name="backend" transfer-ownership="none">
              <type name="CalBackend" c:type="ECalBackend*"/>
            </parameter>
            <parameter name="prop_name" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="impl_open">
        <callback name="impl_open">
          <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                           line="114"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="backend" transfer-ownership="none">
              <type name="CalBackend" c:type="ECalBackend*"/>
            </parameter>
            <parameter name="cal" transfer-ownership="none">
              <type name="DataCal" c:type="EDataCal*"/>
            </parameter>
            <parameter name="opid" transfer-ownership="none">
              <type name="guint32" c:type="guint32"/>
            </parameter>
            <parameter name="cancellable"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <type name="Gio.Cancellable" c:type="GCancellable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="impl_refresh">
        <callback name="impl_refresh">
          <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                           line="119"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="backend" transfer-ownership="none">
              <type name="CalBackend" c:type="ECalBackend*"/>
            </parameter>
            <parameter name="cal" transfer-ownership="none">
              <type name="DataCal" c:type="EDataCal*"/>
            </parameter>
            <parameter name="opid" transfer-ownership="none">
              <type name="guint32" c:type="guint32"/>
            </parameter>
            <parameter name="cancellable"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <type name="Gio.Cancellable" c:type="GCancellable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="impl_get_object">
        <callback name="impl_get_object">
          <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                           line="123"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="backend" transfer-ownership="none">
              <type name="CalBackend" c:type="ECalBackend*"/>
            </parameter>
            <parameter name="cal" transfer-ownership="none">
              <type name="DataCal" c:type="EDataCal*"/>
            </parameter>
            <parameter name="opid" transfer-ownership="none">
              <type name="guint32" c:type="guint32"/>
            </parameter>
            <parameter name="cancellable"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <type name="Gio.Cancellable" c:type="GCancellable*"/>
            </parameter>
            <parameter name="uid" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="rid" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="impl_get_object_list">
        <callback name="impl_get_object_list">
          <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                           line="129"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="backend" transfer-ownership="none">
              <type name="CalBackend" c:type="ECalBackend*"/>
            </parameter>
            <parameter name="cal" transfer-ownership="none">
              <type name="DataCal" c:type="EDataCal*"/>
            </parameter>
            <parameter name="opid" transfer-ownership="none">
              <type name="guint32" c:type="guint32"/>
            </parameter>
            <parameter name="cancellable"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <type name="Gio.Cancellable" c:type="GCancellable*"/>
            </parameter>
            <parameter name="sexp" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="impl_get_free_busy" introspectable="0">
        <callback name="impl_get_free_busy" introspectable="0">
          <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                           line="134"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="backend" transfer-ownership="none">
              <type name="CalBackend" c:type="ECalBackend*"/>
            </parameter>
            <parameter name="cal" transfer-ownership="none">
              <type name="DataCal" c:type="EDataCal*"/>
            </parameter>
            <parameter name="opid" transfer-ownership="none">
              <type name="guint32" c:type="guint32"/>
            </parameter>
            <parameter name="cancellable"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <type name="Gio.Cancellable" c:type="GCancellable*"/>
            </parameter>
            <parameter name="users" transfer-ownership="none">
              <type name="GLib.SList" c:type="const GSList*">
                <type name="gpointer" c:type="gpointer"/>
              </type>
            </parameter>
            <parameter name="start" transfer-ownership="none">
              <type name="glong" c:type="time_t"/>
            </parameter>
            <parameter name="end" transfer-ownership="none">
              <type name="glong" c:type="time_t"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="impl_create_objects" introspectable="0">
        <callback name="impl_create_objects" introspectable="0">
          <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                           line="141"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="backend" transfer-ownership="none">
              <type name="CalBackend" c:type="ECalBackend*"/>
            </parameter>
            <parameter name="cal" transfer-ownership="none">
              <type name="DataCal" c:type="EDataCal*"/>
            </parameter>
            <parameter name="opid" transfer-ownership="none">
              <type name="guint32" c:type="guint32"/>
            </parameter>
            <parameter name="cancellable"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <type name="Gio.Cancellable" c:type="GCancellable*"/>
            </parameter>
            <parameter name="calobjs" transfer-ownership="none">
              <type name="GLib.SList" c:type="const GSList*">
                <type name="gpointer" c:type="gpointer"/>
              </type>
            </parameter>
            <parameter name="opflags" transfer-ownership="none">
              <type name="ECal.OperationFlags" c:type="ECalOperationFlags"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="impl_modify_objects" introspectable="0">
        <callback name="impl_modify_objects" introspectable="0">
          <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                           line="147"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="backend" transfer-ownership="none">
              <type name="CalBackend" c:type="ECalBackend*"/>
            </parameter>
            <parameter name="cal" transfer-ownership="none">
              <type name="DataCal" c:type="EDataCal*"/>
            </parameter>
            <parameter name="opid" transfer-ownership="none">
              <type name="guint32" c:type="guint32"/>
            </parameter>
            <parameter name="cancellable"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <type name="Gio.Cancellable" c:type="GCancellable*"/>
            </parameter>
            <parameter name="calobjs" transfer-ownership="none">
              <type name="GLib.SList" c:type="const GSList*">
                <type name="gpointer" c:type="gpointer"/>
              </type>
            </parameter>
            <parameter name="mod" transfer-ownership="none">
              <type name="ECal.ObjModType" c:type="ECalObjModType"/>
            </parameter>
            <parameter name="opflags" transfer-ownership="none">
              <type name="ECal.OperationFlags" c:type="ECalOperationFlags"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="impl_remove_objects" introspectable="0">
        <callback name="impl_remove_objects" introspectable="0">
          <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                           line="154"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="backend" transfer-ownership="none">
              <type name="CalBackend" c:type="ECalBackend*"/>
            </parameter>
            <parameter name="cal" transfer-ownership="none">
              <type name="DataCal" c:type="EDataCal*"/>
            </parameter>
            <parameter name="opid" transfer-ownership="none">
              <type name="guint32" c:type="guint32"/>
            </parameter>
            <parameter name="cancellable"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <type name="Gio.Cancellable" c:type="GCancellable*"/>
            </parameter>
            <parameter name="ids" transfer-ownership="none">
              <type name="GLib.SList" c:type="const GSList*">
                <type name="gpointer" c:type="gpointer"/>
              </type>
            </parameter>
            <parameter name="mod" transfer-ownership="none">
              <type name="ECal.ObjModType" c:type="ECalObjModType"/>
            </parameter>
            <parameter name="opflags" transfer-ownership="none">
              <type name="ECal.OperationFlags" c:type="ECalOperationFlags"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="impl_receive_objects">
        <callback name="impl_receive_objects">
          <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                           line="161"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="backend" transfer-ownership="none">
              <type name="CalBackend" c:type="ECalBackend*"/>
            </parameter>
            <parameter name="cal" transfer-ownership="none">
              <type name="DataCal" c:type="EDataCal*"/>
            </parameter>
            <parameter name="opid" transfer-ownership="none">
              <type name="guint32" c:type="guint32"/>
            </parameter>
            <parameter name="cancellable"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <type name="Gio.Cancellable" c:type="GCancellable*"/>
            </parameter>
            <parameter name="calobj" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="opflags" transfer-ownership="none">
              <type name="ECal.OperationFlags" c:type="ECalOperationFlags"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="impl_send_objects">
        <callback name="impl_send_objects">
          <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                           line="167"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="backend" transfer-ownership="none">
              <type name="CalBackend" c:type="ECalBackend*"/>
            </parameter>
            <parameter name="cal" transfer-ownership="none">
              <type name="DataCal" c:type="EDataCal*"/>
            </parameter>
            <parameter name="opid" transfer-ownership="none">
              <type name="guint32" c:type="guint32"/>
            </parameter>
            <parameter name="cancellable"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <type name="Gio.Cancellable" c:type="GCancellable*"/>
            </parameter>
            <parameter name="calobj" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="opflags" transfer-ownership="none">
              <type name="ECal.OperationFlags" c:type="ECalOperationFlags"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="impl_get_attachment_uris">
        <callback name="impl_get_attachment_uris">
          <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                           line="173"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="backend" transfer-ownership="none">
              <type name="CalBackend" c:type="ECalBackend*"/>
            </parameter>
            <parameter name="cal" transfer-ownership="none">
              <type name="DataCal" c:type="EDataCal*"/>
            </parameter>
            <parameter name="opid" transfer-ownership="none">
              <type name="guint32" c:type="guint32"/>
            </parameter>
            <parameter name="cancellable"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <type name="Gio.Cancellable" c:type="GCancellable*"/>
            </parameter>
            <parameter name="uid" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="rid" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="impl_discard_alarm">
        <callback name="impl_discard_alarm">
          <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                           line="180"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="backend" transfer-ownership="none">
              <type name="CalBackend" c:type="ECalBackend*"/>
            </parameter>
            <parameter name="cal" transfer-ownership="none">
              <type name="DataCal" c:type="EDataCal*"/>
            </parameter>
            <parameter name="opid" transfer-ownership="none">
              <type name="guint32" c:type="guint32"/>
            </parameter>
            <parameter name="cancellable"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <type name="Gio.Cancellable" c:type="GCancellable*"/>
            </parameter>
            <parameter name="uid" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="rid" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="auid" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="opflags" transfer-ownership="none">
              <type name="ECal.OperationFlags" c:type="ECalOperationFlags"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="impl_get_timezone">
        <callback name="impl_get_timezone">
          <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                           line="188"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="backend" transfer-ownership="none">
              <type name="CalBackend" c:type="ECalBackend*"/>
            </parameter>
            <parameter name="cal" transfer-ownership="none">
              <type name="DataCal" c:type="EDataCal*"/>
            </parameter>
            <parameter name="opid" transfer-ownership="none">
              <type name="guint32" c:type="guint32"/>
            </parameter>
            <parameter name="cancellable"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <type name="Gio.Cancellable" c:type="GCancellable*"/>
            </parameter>
            <parameter name="tzid" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="impl_add_timezone">
        <callback name="impl_add_timezone">
          <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                           line="193"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="backend" transfer-ownership="none">
              <type name="CalBackend" c:type="ECalBackend*"/>
            </parameter>
            <parameter name="cal" transfer-ownership="none">
              <type name="DataCal" c:type="EDataCal*"/>
            </parameter>
            <parameter name="opid" transfer-ownership="none">
              <type name="guint32" c:type="guint32"/>
            </parameter>
            <parameter name="cancellable"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <type name="Gio.Cancellable" c:type="GCancellable*"/>
            </parameter>
            <parameter name="tzobject" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="impl_start_view">
        <callback name="impl_start_view">
          <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                           line="199"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="backend" transfer-ownership="none">
              <type name="CalBackend" c:type="ECalBackend*"/>
            </parameter>
            <parameter name="view" transfer-ownership="none">
              <type name="DataCalView" c:type="EDataCalView*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="impl_stop_view">
        <callback name="impl_stop_view">
          <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                           line="201"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="backend" transfer-ownership="none">
              <type name="CalBackend" c:type="ECalBackend*"/>
            </parameter>
            <parameter name="view" transfer-ownership="none">
              <type name="DataCalView" c:type="EDataCalView*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="closed">
        <callback name="closed">
          <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                           line="205"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="backend" transfer-ownership="none">
              <type name="CalBackend" c:type="ECalBackend*"/>
            </parameter>
            <parameter name="sender" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="shutdown">
        <callback name="shutdown">
          <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                           line="207"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="backend" transfer-ownership="none">
              <type name="CalBackend" c:type="ECalBackend*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="reserved_padding">
        <array zero-terminated="0" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <callback name="CalBackendCustomOpFunc"
              c:type="ECalBackendCustomOpFunc"
              version="3.26"
              throws="1">
      <doc xml:space="preserve"
           filename="src/calendar/libedata-cal/e-cal-backend.h"
           line="515">A callback prototype being called in a dedicated thread, scheduled
by e_cal_backend_schedule_custom_operation().</doc>
      <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                       line="527"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="cal_backend" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend.h"
               line="517">an #ECalBackend</doc>
          <type name="CalBackend" c:type="ECalBackend*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="1">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend.h"
               line="518">a function user data, as provided to e_cal_backend_schedule_custom_operation()</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="cancellable"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend.h"
               line="519">an optional #GCancellable, as provided to e_cal_backend_schedule_custom_operation()</doc>
          <type name="Gio.Cancellable" c:type="GCancellable*"/>
        </parameter>
      </parameters>
    </callback>
    <class name="CalBackendFactory"
           c:symbol-prefix="cal_backend_factory"
           c:type="ECalBackendFactory"
           parent="EBackend.BackendFactory"
           abstract="1"
           glib:type-name="ECalBackendFactory"
           glib:get-type="e_cal_backend_factory_get_type"
           glib:type-struct="CalBackendFactoryClass">
      <doc xml:space="preserve"
           filename="src/calendar/libedata-cal/e-cal-backend-factory.h"
           line="56">Contains only private data that should be read and manipulated using the
functions below.</doc>
      <source-position filename="src/calendar/libedata-cal/e-cal-backend-factory.h"
                       line="90"/>
      <field name="parent" readable="0" private="1">
        <type name="EBackend.BackendFactory" c:type="EBackendFactory"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="CalBackendFactoryPrivate"
              c:type="ECalBackendFactoryPrivate*"/>
      </field>
    </class>
    <record name="CalBackendFactoryClass"
            c:type="ECalBackendFactoryClass"
            glib:is-gtype-struct-for="CalBackendFactory">
      <doc xml:space="preserve"
           filename="src/calendar/libedata-cal/e-cal-backend-factory.h"
           line="68">Class structure for the #ECalBackendFactory class.

Subclasses need to set the factory name and backend type
at initialization, the base class will take care of creating
backends of the specified type on demand.</doc>
      <source-position filename="src/calendar/libedata-cal/e-cal-backend-factory.h"
                       line="90"/>
      <field name="parent_class" readable="0" private="1">
        <type name="EBackend.BackendFactoryClass"
              c:type="EBackendFactoryClass"/>
      </field>
      <field name="factory_name">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend-factory.h"
             line="70">The string identifier for this book backend type</doc>
        <type name="utf8" c:type="const gchar*"/>
      </field>
      <field name="component_kind">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend-factory.h"
             line="71">The type if component this calendar backend should be created for</doc>
        <type name="ICalGLib.ComponentKind" c:type="ICalComponentKind"/>
      </field>
      <field name="backend_type">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend-factory.h"
             line="72">The #GType to use to build #EBookBackends for this factory</doc>
        <type name="GType" c:type="GType"/>
      </field>
    </record>
    <record name="CalBackendFactoryPrivate"
            c:type="ECalBackendFactoryPrivate"
            disguised="1">
      <source-position filename="src/calendar/libedata-cal/e-cal-backend-factory.h"
                       line="54"/>
    </record>
    <callback name="CalBackendForeachViewFunc"
              c:type="ECalBackendForeachViewFunc"
              version="3.34">
      <doc xml:space="preserve"
           filename="src/calendar/libedata-cal/e-cal-backend.c"
           line="1761">Callback function used by e_cal_backend_foreach_view().</doc>
      <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                       line="246"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend.c"
             line="1769">%TRUE, to continue, %FALSE to stop further processing.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="backend" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend.c"
               line="1763">an #ECalBackend</doc>
          <type name="CalBackend" c:type="ECalBackend*"/>
        </parameter>
        <parameter name="view" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend.c"
               line="1764">an #EDataCalView</doc>
          <type name="DataCalView" c:type="EDataCalView*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="2">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend.c"
               line="1765">user data for the function</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <record name="CalBackendPrivate" c:type="ECalBackendPrivate" disguised="1">
      <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                       line="53"/>
    </record>
    <class name="CalBackendSExp"
           c:symbol-prefix="cal_backend_sexp"
           c:type="ECalBackendSExp"
           parent="GObject.Object"
           glib:type-name="ECalBackendSExp"
           glib:get-type="e_cal_backend_sexp_get_type"
           glib:type-struct="CalBackendSExpClass">
      <source-position filename="src/calendar/libedata-cal/e-cal-backend-sexp.h"
                       line="74"/>
      <constructor name="new" c:identifier="e_cal_backend_sexp_new">
        <source-position filename="src/calendar/libedata-cal/e-cal-backend-sexp.h"
                         line="78"/>
        <return-value transfer-ownership="full">
          <type name="CalBackendSExp" c:type="ECalBackendSExp*"/>
        </return-value>
        <parameters>
          <parameter name="text" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <function name="func_make_time"
                c:identifier="e_cal_backend_sexp_func_make_time"
                introspectable="0">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
             line="1551">(make-time ISODATE)
ISODATE - string, ISO 8601 date/time representation

Constructs a time_t value for the specified date.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend-sexp.h"
                         line="97"/>
        <return-value>
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
               line="1563">The result of the function.</doc>
          <type c:type="ESExpResult*"/>
        </return-value>
        <parameters>
          <parameter name="esexp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
                 line="1553">An #ESExp object.</doc>
            <type c:type="ESExp*"/>
          </parameter>
          <parameter name="argc" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
                 line="1554">Number of arguments.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="argv" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
                 line="1555">The arguments.</doc>
            <type c:type="ESExpResult**"/>
          </parameter>
          <parameter name="data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
                 line="1556">Closure data.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </function>
      <function name="func_time_add_day"
                c:identifier="e_cal_backend_sexp_func_time_add_day"
                introspectable="0">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
             line="1616">(time-add-day TIME N)
TIME - time_t, base time
N - int, number of days to add

Adds the specified number of days to a time value.

FIXME: TIMEZONES - need to use a timezone or daylight saving changes will
make the result incorrect.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend-sexp.h"
                         line="102"/>
        <return-value>
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
               line="1632">The result of the function.</doc>
          <type c:type="ESExpResult*"/>
        </return-value>
        <parameters>
          <parameter name="esexp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
                 line="1618">An #ESExp object.</doc>
            <type c:type="ESExp*"/>
          </parameter>
          <parameter name="argc" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
                 line="1619">Number of arguments.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="argv" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
                 line="1620">The arguments.</doc>
            <type c:type="ESExpResult**"/>
          </parameter>
          <parameter name="data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
                 line="1621">Closure data.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </function>
      <function name="func_time_day_begin"
                c:identifier="e_cal_backend_sexp_func_time_day_begin"
                introspectable="0">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
             line="1677">(time-day-begin TIME)
TIME - time_t, base time

Returns the start of the day, according to the local time.

FIXME: TIMEZONES - this uses the current Unix timezone.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend-sexp.h"
                         line="107"/>
        <return-value>
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
               line="1691">The result of the function.</doc>
          <type c:type="ESExpResult*"/>
        </return-value>
        <parameters>
          <parameter name="esexp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
                 line="1679">An #ESExp object.</doc>
            <type c:type="ESExp*"/>
          </parameter>
          <parameter name="argc" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
                 line="1680">Number of arguments.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="argv" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
                 line="1681">The arguments.</doc>
            <type c:type="ESExpResult**"/>
          </parameter>
          <parameter name="data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
                 line="1682">Closure data.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </function>
      <function name="func_time_day_end"
                c:identifier="e_cal_backend_sexp_func_time_day_end"
                introspectable="0">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
             line="1726">(time-day-end TIME)
TIME - time_t, base time

Returns the end of the day, according to the local time.

FIXME: TIMEZONES - this uses the current Unix timezone.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend-sexp.h"
                         line="112"/>
        <return-value>
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
               line="1740">The result of the function.</doc>
          <type c:type="ESExpResult*"/>
        </return-value>
        <parameters>
          <parameter name="esexp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
                 line="1728">An #ESExp object.</doc>
            <type c:type="ESExp*"/>
          </parameter>
          <parameter name="argc" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
                 line="1729">Number of arguments.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="argv" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
                 line="1730">The arguments.</doc>
            <type c:type="ESExpResult**"/>
          </parameter>
          <parameter name="data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
                 line="1731">Closure data.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </function>
      <function name="func_time_now"
                c:identifier="e_cal_backend_sexp_func_time_now"
                introspectable="0">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
             line="1517">Processes the (time-now) sexp expression.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend-sexp.h"
                         line="92"/>
        <return-value>
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
               line="1526">The result of the function.</doc>
          <type c:type="ESExpResult*"/>
        </return-value>
        <parameters>
          <parameter name="esexp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
                 line="1519">An #ESExp object.</doc>
            <type c:type="ESExp*"/>
          </parameter>
          <parameter name="argc" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
                 line="1520">Number of arguments.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="argv" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
                 line="1521">The arguments.</doc>
            <type c:type="ESExpResult**"/>
          </parameter>
          <parameter name="data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
                 line="1522">Closure data.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </function>
      <method name="evaluate_occur_times"
              c:identifier="e_cal_backend_sexp_evaluate_occur_times"
              version="2.32">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
             line="1775">Determines biggest time window given by expressions "occur-in-range" in sexp.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend-sexp.h"
                         line="117"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
               line="1783">%TRUE on success, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="sexp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
                 line="1777">An #ESExp object.</doc>
            <type name="CalBackendSExp" c:type="ECalBackendSExp*"/>
          </instance-parameter>
          <parameter name="start" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
                 line="1778">Start of the time window will be stored here.</doc>
            <type name="glong" c:type="time_t*"/>
          </parameter>
          <parameter name="end" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
                 line="1779">End of the time window will be stored here.</doc>
            <type name="glong" c:type="time_t*"/>
          </parameter>
        </parameters>
      </method>
      <method name="lock"
              c:identifier="e_cal_backend_sexp_lock"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
             line="1484">Locks the @sexp. Other threads cannot use it until
it's unlocked with e_cal_backend_sexp_unlock().</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend-sexp.h"
                         line="87"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="sexp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
                 line="1486">an #ECalBackendSExp</doc>
            <type name="CalBackendSExp" c:type="ECalBackendSExp*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="match_comp" c:identifier="e_cal_backend_sexp_match_comp">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
             line="1410">Checks if @comp matches @sexp.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend-sexp.h"
                         line="84"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
               line="1418">%TRUE if the component matches, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="sexp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
                 line="1412">An #ESExp object.</doc>
            <type name="CalBackendSExp" c:type="ECalBackendSExp*"/>
          </instance-parameter>
          <parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
                 line="1413">Component to match against the expression.</doc>
            <type name="ECal.Component" c:type="ECalComponent*"/>
          </parameter>
          <parameter name="cache" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
                 line="1414">an #ETimezoneCache</doc>
            <type name="ECal.TimezoneCache" c:type="ETimezoneCache*"/>
          </parameter>
        </parameters>
      </method>
      <method name="match_object"
              c:identifier="e_cal_backend_sexp_match_object">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
             line="1451">Checks if @object matches @sexp.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend-sexp.h"
                         line="81"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
               line="1459">%TRUE if the object matches, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="sexp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
                 line="1453">An #ESExp object.</doc>
            <type name="CalBackendSExp" c:type="ECalBackendSExp*"/>
          </instance-parameter>
          <parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
                 line="1454">An iCalendar string.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cache" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
                 line="1455">an #ETimezoneCache</doc>
            <type name="ECal.TimezoneCache" c:type="ETimezoneCache*"/>
          </parameter>
        </parameters>
      </method>
      <method name="text" c:identifier="e_cal_backend_sexp_text">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
             line="1394">Retrieve the text expression for the given #ECalBackendSExp object.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend-sexp.h"
                         line="79"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
               line="1400">the text expression</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="sexp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
                 line="1396">An #ECalBackendSExp object.</doc>
            <type name="CalBackendSExp" c:type="ECalBackendSExp*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="unlock"
              c:identifier="e_cal_backend_sexp_unlock"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
             line="1501">Unlocks the @sexp, previously locked by e_cal_backend_sexp_lock().</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend-sexp.h"
                         line="88"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="sexp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
                 line="1503">an #ECalBackendSExp</doc>
            <type name="CalBackendSExp" c:type="ECalBackendSExp*"/>
          </instance-parameter>
        </parameters>
      </method>
      <field name="parent" readable="0" private="1">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="CalBackendSExpPrivate" c:type="ECalBackendSExpPrivate*"/>
      </field>
    </class>
    <record name="CalBackendSExpClass"
            c:type="ECalBackendSExpClass"
            glib:is-gtype-struct-for="CalBackendSExp">
      <source-position filename="src/calendar/libedata-cal/e-cal-backend-sexp.h"
                       line="74"/>
      <field name="parent_class" readable="0" private="1">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="CalBackendSExpPrivate"
            c:type="ECalBackendSExpPrivate"
            disguised="1">
      <source-position filename="src/calendar/libedata-cal/e-cal-backend-sexp.h"
                       line="52"/>
    </record>
    <class name="CalBackendSync"
           c:symbol-prefix="cal_backend_sync"
           c:type="ECalBackendSync"
           parent="CalBackend"
           glib:type-name="ECalBackendSync"
           glib:get-type="e_cal_backend_sync_get_type"
           glib:type-struct="CalBackendSyncClass">
      <doc xml:space="preserve"
           filename="src/calendar/libedata-cal/e-cal-backend-sync.h"
           line="51">Contains only private data that should be read and manipulated using the
functions below.</doc>
      <source-position filename="src/calendar/libedata-cal/e-cal-backend-sync.h"
                       line="190"/>
      <implements name="ECal.TimezoneCache"/>
      <virtual-method name="add_timezone_sync" throws="1">
        <source-position filename="src/calendar/libedata-cal/e-cal-backend-sync.h"
                         line="182"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <type name="CalBackendSync" c:type="ECalBackendSync*"/>
          </instance-parameter>
          <parameter name="cal" transfer-ownership="none">
            <type name="DataCal" c:type="EDataCal*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="tzobject" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="create_objects_sync" introspectable="0" throws="1">
        <source-position filename="src/calendar/libedata-cal/e-cal-backend-sync.h"
                         line="120"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <type name="CalBackendSync" c:type="ECalBackendSync*"/>
          </instance-parameter>
          <parameter name="cal" transfer-ownership="none">
            <type name="DataCal" c:type="EDataCal*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="calobjs" transfer-ownership="none">
            <type name="GLib.SList" c:type="const GSList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
          <parameter name="opflags" transfer-ownership="none">
            <type name="ECal.OperationFlags" c:type="ECalOperationFlags"/>
          </parameter>
          <parameter name="uids" transfer-ownership="none">
            <type name="GLib.SList" c:type="GSList**">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
          <parameter name="new_components" transfer-ownership="none">
            <type name="GLib.SList" c:type="GSList**">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="discard_alarm_sync" throws="1">
        <source-position filename="src/calendar/libedata-cal/e-cal-backend-sync.h"
                         line="168"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <type name="CalBackendSync" c:type="ECalBackendSync*"/>
          </instance-parameter>
          <parameter name="cal" transfer-ownership="none">
            <type name="DataCal" c:type="EDataCal*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="uid" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="rid" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="auid" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="opflags" transfer-ownership="none">
            <type name="ECal.OperationFlags" c:type="ECalOperationFlags"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_attachment_uris_sync"
                      introspectable="0"
                      throws="1">
        <source-position filename="src/calendar/libedata-cal/e-cal-backend-sync.h"
                         line="160"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <type name="CalBackendSync" c:type="ECalBackendSync*"/>
          </instance-parameter>
          <parameter name="cal" transfer-ownership="none">
            <type name="DataCal" c:type="EDataCal*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="uid" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="rid" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="attachments" transfer-ownership="none">
            <type name="GLib.SList" c:type="GSList**">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_free_busy_sync" introspectable="0" throws="1">
        <source-position filename="src/calendar/libedata-cal/e-cal-backend-sync.h"
                         line="112"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <type name="CalBackendSync" c:type="ECalBackendSync*"/>
          </instance-parameter>
          <parameter name="cal" transfer-ownership="none">
            <type name="DataCal" c:type="EDataCal*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="users" transfer-ownership="none">
            <type name="GLib.SList" c:type="const GSList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
          <parameter name="start" transfer-ownership="none">
            <type name="glong" c:type="time_t"/>
          </parameter>
          <parameter name="end" transfer-ownership="none">
            <type name="glong" c:type="time_t"/>
          </parameter>
          <parameter name="freebusyobjs" transfer-ownership="none">
            <type name="GLib.SList" c:type="GSList**">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_object_list_sync"
                      introspectable="0"
                      throws="1">
        <source-position filename="src/calendar/libedata-cal/e-cal-backend-sync.h"
                         line="106"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <type name="CalBackendSync" c:type="ECalBackendSync*"/>
          </instance-parameter>
          <parameter name="cal" transfer-ownership="none">
            <type name="DataCal" c:type="EDataCal*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="sexp" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="calobjs" transfer-ownership="none">
            <type name="GLib.SList" c:type="GSList**">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_object_sync" throws="1">
        <source-position filename="src/calendar/libedata-cal/e-cal-backend-sync.h"
                         line="99"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <type name="CalBackendSync" c:type="ECalBackendSync*"/>
          </instance-parameter>
          <parameter name="cal" transfer-ownership="none">
            <type name="DataCal" c:type="EDataCal*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="uid" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="rid" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="calobj" transfer-ownership="none">
            <type name="utf8" c:type="gchar**"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_timezone_sync" throws="1">
        <source-position filename="src/calendar/libedata-cal/e-cal-backend-sync.h"
                         line="176"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <type name="CalBackendSync" c:type="ECalBackendSync*"/>
          </instance-parameter>
          <parameter name="cal" transfer-ownership="none">
            <type name="DataCal" c:type="EDataCal*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="tzid" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="tzobject" transfer-ownership="none">
            <type name="utf8" c:type="gchar**"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="modify_objects_sync" introspectable="0" throws="1">
        <source-position filename="src/calendar/libedata-cal/e-cal-backend-sync.h"
                         line="128"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <type name="CalBackendSync" c:type="ECalBackendSync*"/>
          </instance-parameter>
          <parameter name="cal" transfer-ownership="none">
            <type name="DataCal" c:type="EDataCal*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="calobjs" transfer-ownership="none">
            <type name="GLib.SList" c:type="const GSList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
          <parameter name="mod" transfer-ownership="none">
            <type name="ECal.ObjModType" c:type="ECalObjModType"/>
          </parameter>
          <parameter name="opflags" transfer-ownership="none">
            <type name="ECal.OperationFlags" c:type="ECalOperationFlags"/>
          </parameter>
          <parameter name="old_components" transfer-ownership="none">
            <type name="GLib.SList" c:type="GSList**">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
          <parameter name="new_components" transfer-ownership="none">
            <type name="GLib.SList" c:type="GSList**">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="open_sync" throws="1">
        <source-position filename="src/calendar/libedata-cal/e-cal-backend-sync.h"
                         line="90"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <type name="CalBackendSync" c:type="ECalBackendSync*"/>
          </instance-parameter>
          <parameter name="cal" transfer-ownership="none">
            <type name="DataCal" c:type="EDataCal*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="receive_objects_sync" throws="1">
        <source-position filename="src/calendar/libedata-cal/e-cal-backend-sync.h"
                         line="146"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <type name="CalBackendSync" c:type="ECalBackendSync*"/>
          </instance-parameter>
          <parameter name="cal" transfer-ownership="none">
            <type name="DataCal" c:type="EDataCal*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="calobj" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="opflags" transfer-ownership="none">
            <type name="ECal.OperationFlags" c:type="ECalOperationFlags"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="refresh_sync" throws="1">
        <source-position filename="src/calendar/libedata-cal/e-cal-backend-sync.h"
                         line="94"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <type name="CalBackendSync" c:type="ECalBackendSync*"/>
          </instance-parameter>
          <parameter name="cal" transfer-ownership="none">
            <type name="DataCal" c:type="EDataCal*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="remove_objects_sync" introspectable="0" throws="1">
        <source-position filename="src/calendar/libedata-cal/e-cal-backend-sync.h"
                         line="137"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <type name="CalBackendSync" c:type="ECalBackendSync*"/>
          </instance-parameter>
          <parameter name="cal" transfer-ownership="none">
            <type name="DataCal" c:type="EDataCal*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="ids" transfer-ownership="none">
            <type name="GLib.SList" c:type="const GSList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
          <parameter name="mod" transfer-ownership="none">
            <type name="ECal.ObjModType" c:type="ECalObjModType"/>
          </parameter>
          <parameter name="opflags" transfer-ownership="none">
            <type name="ECal.OperationFlags" c:type="ECalOperationFlags"/>
          </parameter>
          <parameter name="old_components" transfer-ownership="none">
            <type name="GLib.SList" c:type="GSList**">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
          <parameter name="new_components" transfer-ownership="none">
            <type name="GLib.SList" c:type="GSList**">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="send_objects_sync" introspectable="0" throws="1">
        <source-position filename="src/calendar/libedata-cal/e-cal-backend-sync.h"
                         line="152"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <type name="CalBackendSync" c:type="ECalBackendSync*"/>
          </instance-parameter>
          <parameter name="cal" transfer-ownership="none">
            <type name="DataCal" c:type="EDataCal*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="calobj" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="opflags" transfer-ownership="none">
            <type name="ECal.OperationFlags" c:type="ECalOperationFlags"/>
          </parameter>
          <parameter name="users" transfer-ownership="none">
            <type name="GLib.SList" c:type="GSList**">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
          <parameter name="modified_calobj" transfer-ownership="none">
            <type name="utf8" c:type="gchar**"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="add_timezone"
              c:identifier="e_cal_backend_sync_add_timezone"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
             line="608">Calls the add_timezone_sync method on the given backend.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend-sync.h"
                         line="291"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="610">An ECalBackendSync object.</doc>
            <type name="CalBackendSync" c:type="ECalBackendSync*"/>
          </instance-parameter>
          <parameter name="cal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="611">An EDataCal object.</doc>
            <type name="DataCal" c:type="EDataCal*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="612">a #GCancellable for the operation</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="tzobject" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="613">VTIMEZONE object to be added.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="create_objects"
              c:identifier="e_cal_backend_sync_create_objects"
              version="3.6"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
             line="231">Calls the create_objects_sync method on the given backend.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend-sync.h"
                         line="224"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="233">An ECalBackendSync object.</doc>
            <type name="CalBackendSync" c:type="ECalBackendSync*"/>
          </instance-parameter>
          <parameter name="cal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="234">An EDataCal object.</doc>
            <type name="DataCal" c:type="EDataCal*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="235">a #GCancellable for the operation</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="calobjs" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="236">The objects to be added.</doc>
            <type name="GLib.SList" c:type="const GSList*">
              <type name="utf8"/>
            </type>
          </parameter>
          <parameter name="opflags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="237">bit-or of #ECalOperationFlags</doc>
            <type name="ECal.OperationFlags" c:type="ECalOperationFlags"/>
          </parameter>
          <parameter name="uids"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="238">Placeholder for server-generated UIDs.</doc>
            <type name="GLib.SList" c:type="GSList**">
              <type name="utf8"/>
            </type>
          </parameter>
          <parameter name="new_components"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="239">Placeholder for returned #ECalComponent objects.</doc>
            <type name="GLib.SList" c:type="GSList**">
              <type name="ECal.Component"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="discard_alarm"
              c:identifier="e_cal_backend_sync_discard_alarm"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
             line="500">Calls the discard_alarm_sync method on the given backend.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend-sync.h"
                         line="276"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="502">An ECalBackendSync object.</doc>
            <type name="CalBackendSync" c:type="ECalBackendSync*"/>
          </instance-parameter>
          <parameter name="cal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="503">An EDataCal object.</doc>
            <type name="DataCal" c:type="EDataCal*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="504">a #GCancellable for the operation</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="505">Unique id of the calendar object.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="rid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="506">Recurrence id of the calendar object.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="auid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="507">Alarm ID to remove.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="opflags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="508">bit-or of #ECalOperationFlags</doc>
            <type name="ECal.OperationFlags" c:type="ECalOperationFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_attachment_uris"
              c:identifier="e_cal_backend_sync_get_attachment_uris"
              version="3.2"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
             line="456">Calls the get_attachment_uris_sync method on the given backend.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend-sync.h"
                         line="268"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="458">An ECalBackendSync object.</doc>
            <type name="CalBackendSync" c:type="ECalBackendSync*"/>
          </instance-parameter>
          <parameter name="cal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="459">An EDataCal object.</doc>
            <type name="DataCal" c:type="EDataCal*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="460">a #GCancellable for the operation</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="461">Unique id of the calendar object.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="rid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="462">Recurrence id of the calendar object.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="attachments" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="463">Placeholder for list of returned attachment uris.</doc>
            <type name="GLib.SList" c:type="GSList**">
              <type name="utf8"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="get_free_busy"
              c:identifier="e_cal_backend_sync_get_free_busy"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
             line="188">Calls the get_free_busy_sync method on the given backend.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend-sync.h"
                         line="215"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="190">An ECalBackendSync object.</doc>
            <type name="CalBackendSync" c:type="ECalBackendSync*"/>
          </instance-parameter>
          <parameter name="cal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="191">An EDataCal object.</doc>
            <type name="DataCal" c:type="EDataCal*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="192">a #GCancellable for the operation</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="users" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="193">List of users to get F/B info from.</doc>
            <type name="GLib.SList" c:type="const GSList*">
              <type name="utf8"/>
            </type>
          </parameter>
          <parameter name="start" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="194">Time range start.</doc>
            <type name="glong" c:type="time_t"/>
          </parameter>
          <parameter name="end" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="195">Time range end.</doc>
            <type name="glong" c:type="time_t"/>
          </parameter>
          <parameter name="freebusyobjects"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="196">Placeholder for F/B information.</doc>
            <type name="GLib.SList" c:type="GSList**">
              <type name="utf8"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="get_object"
              c:identifier="e_cal_backend_sync_get_object"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
             line="107">Calls the get_object_sync method on the given backend.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend-sync.h"
                         line="201"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="109">An ECalBackendSync object.</doc>
            <type name="CalBackendSync" c:type="ECalBackendSync*"/>
          </instance-parameter>
          <parameter name="cal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="110">An EDataCal object.</doc>
            <type name="DataCal" c:type="EDataCal*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="111">a #GCancellable for the operation</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="112">UID of the object to get.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="rid"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="113">Recurrence ID of the specific instance to get, or %NULL if
   getting the master object.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="calobj"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="115">Placeholder for returned object.</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_object_list"
              c:identifier="e_cal_backend_sync_get_object_list"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
             line="149">Calls the get_object_list_sync method on the given backend.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend-sync.h"
                         line="208"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="151">An ECalBackendSync object.</doc>
            <type name="CalBackendSync" c:type="ECalBackendSync*"/>
          </instance-parameter>
          <parameter name="cal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="152">An EDataCal object.</doc>
            <type name="DataCal" c:type="EDataCal*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="153">a #GCancellable for the operation</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="sexp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="154">Search query.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="calobjs"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="155">Placeholder for list of returned objects.</doc>
            <type name="GLib.SList" c:type="GSList**">
              <type name="utf8"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="get_timezone"
              c:identifier="e_cal_backend_sync_get_timezone"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
             line="545">Calls the get_timezone_sync method on the given backend.
This method is not mandatory on the backend, because here
is used internal_get_timezone call to fetch timezone from
it and that is transformed to a string. In other words,
any object deriving from ECalBackendSync can implement only
internal_get_timezone and can skip implementation of
get_timezone_sync completely.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend-sync.h"
                         line="285"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="547">An ECalBackendSync object.</doc>
            <type name="CalBackendSync" c:type="ECalBackendSync*"/>
          </instance-parameter>
          <parameter name="cal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="548">An EDataCal object.</doc>
            <type name="DataCal" c:type="EDataCal*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="549">a #GCancellable for the operation</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="tzid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="550">ID of the timezone to retrieve.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="tzobject" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="551">Placeholder for the returned timezone.</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
        </parameters>
      </method>
      <method name="modify_objects"
              c:identifier="e_cal_backend_sync_modify_objects"
              version="3.6"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
             line="276">Calls the modify_objects_sync method on the given backend.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend-sync.h"
                         line="233"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="278">An ECalBackendSync object.</doc>
            <type name="CalBackendSync" c:type="ECalBackendSync*"/>
          </instance-parameter>
          <parameter name="cal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="279">An EDataCal object.</doc>
            <type name="DataCal" c:type="EDataCal*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="280">a #GCancellable for the operation</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="calobjs" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="281">Objects to be modified.</doc>
            <type name="GLib.SList" c:type="const GSList*">
              <type name="utf8"/>
            </type>
          </parameter>
          <parameter name="mod" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="282">Type of modification to be done.</doc>
            <type name="ECal.ObjModType" c:type="ECalObjModType"/>
          </parameter>
          <parameter name="opflags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="283">bit-or of #ECalOperationFlags</doc>
            <type name="ECal.OperationFlags" c:type="ECalOperationFlags"/>
          </parameter>
          <parameter name="old_components"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="284">Placeholder for
   returning the old components as they were stored on the backend.</doc>
            <type name="GLib.SList" c:type="GSList**">
              <type name="ECal.Component"/>
            </type>
          </parameter>
          <parameter name="new_components"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="286">Placeholder for
   returning the new components as they have been stored on the backend.</doc>
            <type name="GLib.SList" c:type="GSList**">
              <type name="ECal.Component"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="open" c:identifier="e_cal_backend_sync_open" throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
             line="38">Calls the open_sync method on the given backend.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend-sync.h"
                         line="193"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="40">An ECalBackendSync object.</doc>
            <type name="CalBackendSync" c:type="ECalBackendSync*"/>
          </instance-parameter>
          <parameter name="cal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="41">An EDataCal object.</doc>
            <type name="DataCal" c:type="EDataCal*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="42">a #GCancellable for the operation
or just create it when it does not exist.</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="receive_objects"
              c:identifier="e_cal_backend_sync_receive_objects"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
             line="375">Calls the receive_objects_sync method on the given backend.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend-sync.h"
                         line="253"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="377">An ECalBackendSync object.</doc>
            <type name="CalBackendSync" c:type="ECalBackendSync*"/>
          </instance-parameter>
          <parameter name="cal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="378">An EDataCal object.</doc>
            <type name="DataCal" c:type="EDataCal*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="380">a #GCancellable for the operation</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="calobj" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="381">iCalendar object to receive.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="opflags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="379">bit-or of #ECalOperationFlags</doc>
            <type name="ECal.OperationFlags" c:type="ECalOperationFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="refresh"
              c:identifier="e_cal_backend_sync_refresh"
              version="2.30"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
             line="72">Calls the refresh_sync method on the given backend.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend-sync.h"
                         line="197"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="74">An ECalBackendSync object.</doc>
            <type name="CalBackendSync" c:type="ECalBackendSync*"/>
          </instance-parameter>
          <parameter name="cal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="75">An EDataCal object.</doc>
            <type name="DataCal" c:type="EDataCal*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="76">a #GCancellable for the operation</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_objects"
              c:identifier="e_cal_backend_sync_remove_objects"
              version="3.6"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
             line="325">Calls the remove_objects_sync method on the given backend.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend-sync.h"
                         line="243"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="327">An ECalBackendSync object.</doc>
            <type name="CalBackendSync" c:type="ECalBackendSync*"/>
          </instance-parameter>
          <parameter name="cal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="328">An EDataCal object.</doc>
            <type name="DataCal" c:type="EDataCal*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="329">a #GCancellable for the operation</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="ids" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="330">List of #ECalComponentId objects identifying the objects to remove.</doc>
            <type name="GLib.SList" c:type="const GSList*">
              <type name="ECal.ComponentId"/>
            </type>
          </parameter>
          <parameter name="mod" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="331">Type of removal.</doc>
            <type name="ECal.ObjModType" c:type="ECalObjModType"/>
          </parameter>
          <parameter name="opflags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="332">bit-or of #ECalOperationFlags</doc>
            <type name="ECal.OperationFlags" c:type="ECalOperationFlags"/>
          </parameter>
          <parameter name="old_components"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="333">Placeholder for returning the old
   components as they were stored on the backend.</doc>
            <type name="GLib.SList" c:type="GSList**">
              <type name="ECal.Component"/>
            </type>
          </parameter>
          <parameter name="new_components"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="335">Placeholder for returning the new
   components as they have been stored on the backend (when removing individual instances). If removing
   whole objects, they will be set to %NULL.</doc>
            <type name="GLib.SList" c:type="GSList**">
              <type name="ECal.Component"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="send_objects"
              c:identifier="e_cal_backend_sync_send_objects"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
             line="413">Calls the send_objects_sync method on the given backend.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend-sync.h"
                         line="260"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="415">An ECalBackendSync object.</doc>
            <type name="CalBackendSync" c:type="ECalBackendSync*"/>
          </instance-parameter>
          <parameter name="cal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="416">An EDataCal object.</doc>
            <type name="DataCal" c:type="EDataCal*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="417">a #GCancellable for the operation</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="calobj" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="418">The iCalendar object to send.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="opflags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="419">bit-or of #ECalOperationFlags</doc>
            <type name="ECal.OperationFlags" c:type="ECalOperationFlags"/>
          </parameter>
          <parameter name="users" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="420">List of users to send notifications to.</doc>
            <type name="GLib.SList" c:type="GSList**">
              <type name="utf8"/>
            </type>
          </parameter>
          <parameter name="modified_calobj"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
                 line="421">Placeholder for the iCalendar object after being modified.</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent" readable="0" private="1">
        <type name="CalBackend" c:type="ECalBackend"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="CalBackendSyncPrivate" c:type="ECalBackendSyncPrivate*"/>
      </field>
    </class>
    <record name="CalBackendSyncClass"
            c:type="ECalBackendSyncClass"
            glib:is-gtype-struct-for="CalBackendSync"
            version="3.4">
      <doc xml:space="preserve"
           filename="src/calendar/libedata-cal/e-cal-backend-sync.h"
           line="63">Base class structure for the #ECalBackendSync class</doc>
      <source-position filename="src/calendar/libedata-cal/e-cal-backend-sync.h"
                       line="190"/>
      <field name="parent_class" readable="0" private="1">
        <type name="CalBackendClass" c:type="ECalBackendClass"/>
      </field>
      <field name="open_sync">
        <callback name="open_sync" throws="1">
          <source-position filename="src/calendar/libedata-cal/e-cal-backend-sync.h"
                           line="90"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="backend" transfer-ownership="none">
              <type name="CalBackendSync" c:type="ECalBackendSync*"/>
            </parameter>
            <parameter name="cal" transfer-ownership="none">
              <type name="DataCal" c:type="EDataCal*"/>
            </parameter>
            <parameter name="cancellable"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <type name="Gio.Cancellable" c:type="GCancellable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="refresh_sync">
        <callback name="refresh_sync" throws="1">
          <source-position filename="src/calendar/libedata-cal/e-cal-backend-sync.h"
                           line="94"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="backend" transfer-ownership="none">
              <type name="CalBackendSync" c:type="ECalBackendSync*"/>
            </parameter>
            <parameter name="cal" transfer-ownership="none">
              <type name="DataCal" c:type="EDataCal*"/>
            </parameter>
            <parameter name="cancellable"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <type name="Gio.Cancellable" c:type="GCancellable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_object_sync">
        <callback name="get_object_sync" throws="1">
          <source-position filename="src/calendar/libedata-cal/e-cal-backend-sync.h"
                           line="99"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="backend" transfer-ownership="none">
              <type name="CalBackendSync" c:type="ECalBackendSync*"/>
            </parameter>
            <parameter name="cal" transfer-ownership="none">
              <type name="DataCal" c:type="EDataCal*"/>
            </parameter>
            <parameter name="cancellable"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <type name="Gio.Cancellable" c:type="GCancellable*"/>
            </parameter>
            <parameter name="uid" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="rid" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="calobj" transfer-ownership="none">
              <type name="utf8" c:type="gchar**"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_object_list_sync" introspectable="0">
        <callback name="get_object_list_sync" introspectable="0" throws="1">
          <source-position filename="src/calendar/libedata-cal/e-cal-backend-sync.h"
                           line="106"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="backend" transfer-ownership="none">
              <type name="CalBackendSync" c:type="ECalBackendSync*"/>
            </parameter>
            <parameter name="cal" transfer-ownership="none">
              <type name="DataCal" c:type="EDataCal*"/>
            </parameter>
            <parameter name="cancellable"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <type name="Gio.Cancellable" c:type="GCancellable*"/>
            </parameter>
            <parameter name="sexp" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="calobjs" transfer-ownership="none">
              <type name="GLib.SList" c:type="GSList**">
                <type name="gpointer" c:type="gpointer"/>
              </type>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_free_busy_sync" introspectable="0">
        <callback name="get_free_busy_sync" introspectable="0" throws="1">
          <source-position filename="src/calendar/libedata-cal/e-cal-backend-sync.h"
                           line="112"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="backend" transfer-ownership="none">
              <type name="CalBackendSync" c:type="ECalBackendSync*"/>
            </parameter>
            <parameter name="cal" transfer-ownership="none">
              <type name="DataCal" c:type="EDataCal*"/>
            </parameter>
            <parameter name="cancellable"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <type name="Gio.Cancellable" c:type="GCancellable*"/>
            </parameter>
            <parameter name="users" transfer-ownership="none">
              <type name="GLib.SList" c:type="const GSList*">
                <type name="gpointer" c:type="gpointer"/>
              </type>
            </parameter>
            <parameter name="start" transfer-ownership="none">
              <type name="glong" c:type="time_t"/>
            </parameter>
            <parameter name="end" transfer-ownership="none">
              <type name="glong" c:type="time_t"/>
            </parameter>
            <parameter name="freebusyobjs" transfer-ownership="none">
              <type name="GLib.SList" c:type="GSList**">
                <type name="gpointer" c:type="gpointer"/>
              </type>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="create_objects_sync" introspectable="0">
        <callback name="create_objects_sync" introspectable="0" throws="1">
          <source-position filename="src/calendar/libedata-cal/e-cal-backend-sync.h"
                           line="120"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="backend" transfer-ownership="none">
              <type name="CalBackendSync" c:type="ECalBackendSync*"/>
            </parameter>
            <parameter name="cal" transfer-ownership="none">
              <type name="DataCal" c:type="EDataCal*"/>
            </parameter>
            <parameter name="cancellable"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <type name="Gio.Cancellable" c:type="GCancellable*"/>
            </parameter>
            <parameter name="calobjs" transfer-ownership="none">
              <type name="GLib.SList" c:type="const GSList*">
                <type name="gpointer" c:type="gpointer"/>
              </type>
            </parameter>
            <parameter name="opflags" transfer-ownership="none">
              <type name="ECal.OperationFlags" c:type="ECalOperationFlags"/>
            </parameter>
            <parameter name="uids" transfer-ownership="none">
              <type name="GLib.SList" c:type="GSList**">
                <type name="gpointer" c:type="gpointer"/>
              </type>
            </parameter>
            <parameter name="new_components" transfer-ownership="none">
              <type name="GLib.SList" c:type="GSList**">
                <type name="gpointer" c:type="gpointer"/>
              </type>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="modify_objects_sync" introspectable="0">
        <callback name="modify_objects_sync" introspectable="0" throws="1">
          <source-position filename="src/calendar/libedata-cal/e-cal-backend-sync.h"
                           line="128"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="backend" transfer-ownership="none">
              <type name="CalBackendSync" c:type="ECalBackendSync*"/>
            </parameter>
            <parameter name="cal" transfer-ownership="none">
              <type name="DataCal" c:type="EDataCal*"/>
            </parameter>
            <parameter name="cancellable"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <type name="Gio.Cancellable" c:type="GCancellable*"/>
            </parameter>
            <parameter name="calobjs" transfer-ownership="none">
              <type name="GLib.SList" c:type="const GSList*">
                <type name="gpointer" c:type="gpointer"/>
              </type>
            </parameter>
            <parameter name="mod" transfer-ownership="none">
              <type name="ECal.ObjModType" c:type="ECalObjModType"/>
            </parameter>
            <parameter name="opflags" transfer-ownership="none">
              <type name="ECal.OperationFlags" c:type="ECalOperationFlags"/>
            </parameter>
            <parameter name="old_components" transfer-ownership="none">
              <type name="GLib.SList" c:type="GSList**">
                <type name="gpointer" c:type="gpointer"/>
              </type>
            </parameter>
            <parameter name="new_components" transfer-ownership="none">
              <type name="GLib.SList" c:type="GSList**">
                <type name="gpointer" c:type="gpointer"/>
              </type>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="remove_objects_sync" introspectable="0">
        <callback name="remove_objects_sync" introspectable="0" throws="1">
          <source-position filename="src/calendar/libedata-cal/e-cal-backend-sync.h"
                           line="137"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="backend" transfer-ownership="none">
              <type name="CalBackendSync" c:type="ECalBackendSync*"/>
            </parameter>
            <parameter name="cal" transfer-ownership="none">
              <type name="DataCal" c:type="EDataCal*"/>
            </parameter>
            <parameter name="cancellable"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <type name="Gio.Cancellable" c:type="GCancellable*"/>
            </parameter>
            <parameter name="ids" transfer-ownership="none">
              <type name="GLib.SList" c:type="const GSList*">
                <type name="gpointer" c:type="gpointer"/>
              </type>
            </parameter>
            <parameter name="mod" transfer-ownership="none">
              <type name="ECal.ObjModType" c:type="ECalObjModType"/>
            </parameter>
            <parameter name="opflags" transfer-ownership="none">
              <type name="ECal.OperationFlags" c:type="ECalOperationFlags"/>
            </parameter>
            <parameter name="old_components" transfer-ownership="none">
              <type name="GLib.SList" c:type="GSList**">
                <type name="gpointer" c:type="gpointer"/>
              </type>
            </parameter>
            <parameter name="new_components" transfer-ownership="none">
              <type name="GLib.SList" c:type="GSList**">
                <type name="gpointer" c:type="gpointer"/>
              </type>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="receive_objects_sync">
        <callback name="receive_objects_sync" throws="1">
          <source-position filename="src/calendar/libedata-cal/e-cal-backend-sync.h"
                           line="146"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="backend" transfer-ownership="none">
              <type name="CalBackendSync" c:type="ECalBackendSync*"/>
            </parameter>
            <parameter name="cal" transfer-ownership="none">
              <type name="DataCal" c:type="EDataCal*"/>
            </parameter>
            <parameter name="cancellable"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <type name="Gio.Cancellable" c:type="GCancellable*"/>
            </parameter>
            <parameter name="calobj" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="opflags" transfer-ownership="none">
              <type name="ECal.OperationFlags" c:type="ECalOperationFlags"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="send_objects_sync" introspectable="0">
        <callback name="send_objects_sync" introspectable="0" throws="1">
          <source-position filename="src/calendar/libedata-cal/e-cal-backend-sync.h"
                           line="152"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="backend" transfer-ownership="none">
              <type name="CalBackendSync" c:type="ECalBackendSync*"/>
            </parameter>
            <parameter name="cal" transfer-ownership="none">
              <type name="DataCal" c:type="EDataCal*"/>
            </parameter>
            <parameter name="cancellable"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <type name="Gio.Cancellable" c:type="GCancellable*"/>
            </parameter>
            <parameter name="calobj" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="opflags" transfer-ownership="none">
              <type name="ECal.OperationFlags" c:type="ECalOperationFlags"/>
            </parameter>
            <parameter name="users" transfer-ownership="none">
              <type name="GLib.SList" c:type="GSList**">
                <type name="gpointer" c:type="gpointer"/>
              </type>
            </parameter>
            <parameter name="modified_calobj" transfer-ownership="none">
              <type name="utf8" c:type="gchar**"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_attachment_uris_sync" introspectable="0">
        <callback name="get_attachment_uris_sync"
                  introspectable="0"
                  throws="1">
          <source-position filename="src/calendar/libedata-cal/e-cal-backend-sync.h"
                           line="160"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="backend" transfer-ownership="none">
              <type name="CalBackendSync" c:type="ECalBackendSync*"/>
            </parameter>
            <parameter name="cal" transfer-ownership="none">
              <type name="DataCal" c:type="EDataCal*"/>
            </parameter>
            <parameter name="cancellable"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <type name="Gio.Cancellable" c:type="GCancellable*"/>
            </parameter>
            <parameter name="uid" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="rid" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="attachments" transfer-ownership="none">
              <type name="GLib.SList" c:type="GSList**">
                <type name="gpointer" c:type="gpointer"/>
              </type>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="discard_alarm_sync">
        <callback name="discard_alarm_sync" throws="1">
          <source-position filename="src/calendar/libedata-cal/e-cal-backend-sync.h"
                           line="168"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="backend" transfer-ownership="none">
              <type name="CalBackendSync" c:type="ECalBackendSync*"/>
            </parameter>
            <parameter name="cal" transfer-ownership="none">
              <type name="DataCal" c:type="EDataCal*"/>
            </parameter>
            <parameter name="cancellable"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <type name="Gio.Cancellable" c:type="GCancellable*"/>
            </parameter>
            <parameter name="uid" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="rid" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="auid" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="opflags" transfer-ownership="none">
              <type name="ECal.OperationFlags" c:type="ECalOperationFlags"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_timezone_sync">
        <callback name="get_timezone_sync" throws="1">
          <source-position filename="src/calendar/libedata-cal/e-cal-backend-sync.h"
                           line="176"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="backend" transfer-ownership="none">
              <type name="CalBackendSync" c:type="ECalBackendSync*"/>
            </parameter>
            <parameter name="cal" transfer-ownership="none">
              <type name="DataCal" c:type="EDataCal*"/>
            </parameter>
            <parameter name="cancellable"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <type name="Gio.Cancellable" c:type="GCancellable*"/>
            </parameter>
            <parameter name="tzid" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="tzobject" transfer-ownership="none">
              <type name="utf8" c:type="gchar**"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="add_timezone_sync">
        <callback name="add_timezone_sync" throws="1">
          <source-position filename="src/calendar/libedata-cal/e-cal-backend-sync.h"
                           line="182"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="backend" transfer-ownership="none">
              <type name="CalBackendSync" c:type="ECalBackendSync*"/>
            </parameter>
            <parameter name="cal" transfer-ownership="none">
              <type name="DataCal" c:type="EDataCal*"/>
            </parameter>
            <parameter name="cancellable"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <type name="Gio.Cancellable" c:type="GCancellable*"/>
            </parameter>
            <parameter name="tzobject" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="reserved_padding">
        <array zero-terminated="0" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="CalBackendSyncPrivate"
            c:type="ECalBackendSyncPrivate"
            disguised="1">
      <source-position filename="src/calendar/libedata-cal/e-cal-backend-sync.h"
                       line="49"/>
    </record>
    <class name="CalCache"
           c:symbol-prefix="cal_cache"
           c:type="ECalCache"
           version="3.26"
           parent="EBackend.Cache"
           glib:type-name="ECalCache"
           glib:get-type="e_cal_cache_get_type"
           glib:type-struct="CalCacheClass">
      <doc xml:space="preserve"
           filename="src/calendar/libedata-cal/e-cal-cache.h"
           line="155">Contains only private data that should be read and manipulated using
the functions below.</doc>
      <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                       line="189"/>
      <implements name="ECal.TimezoneCache"/>
      <implements name="EDataServer.Extensible"/>
      <constructor name="new"
                   c:identifier="e_cal_cache_new"
                   version="3.26"
                   throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-cache.c"
             line="2366">Creates a new #ECalCache.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                         line="193"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-cache.c"
               line="2374">A new #ECalCache or %NULL on error</doc>
          <type name="CalCache" c:type="ECalCache*"/>
        </return-value>
        <parameters>
          <parameter name="filename" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2368">file name to load or create the new cache</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2369">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </constructor>
      <function name="resolve_timezone_cb"
                c:identifier="e_cal_cache_resolve_timezone_cb"
                version="3.26"
                throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-cache.c"
             line="4165">An #ECalRecurResolveTimezoneCb callback, which can be used
with e_cal_recur_generate_instances_sync(). The @cal_cache
is supposed to be an #ECalCache instance.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                         line="363"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-cache.c"
               line="4176">the resolved #ICalTimezone, or %NULL, if not found</doc>
          <type name="ICalGLib.Timezone" c:type="ICalTimezone*"/>
        </return-value>
        <parameters>
          <parameter name="tzid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="4167">a timezone ID</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cal_cache"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="4168">an #ECalCache</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="4169">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </function>
      <virtual-method name="dup_component_revision"
                      invoker="dup_component_revision"
                      version="3.26">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-cache.c"
             line="2397">Returns the @icomp revision, used to detect changes.
The returned string should be freed with g_free(), when
no longer needed.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                         line="181"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-cache.c"
               line="2406">A newly allocated string containing
   revision of the @icomp.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="cal_cache" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2399">an #ECalCache</doc>
            <type name="CalCache" c:type="ECalCache*"/>
          </instance-parameter>
          <parameter name="icomp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2400">an #ICalComponent</doc>
            <type name="ICalGLib.Component" c:type="ICalComponent*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_timezone" introspectable="0">
        <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                         line="184"/>
        <return-value>
          <type name="ICalGLib.Timezone" c:type="ICalTimezone*"/>
        </return-value>
        <parameters>
          <instance-parameter name="cal_cache" transfer-ownership="none">
            <type name="CalCache" c:type="ECalCache*"/>
          </instance-parameter>
          <parameter name="tzid" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="contains"
              c:identifier="e_cal_cache_contains"
              version="3.26">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-cache.c"
             line="2425">Checkes whether the @cal_cache contains an object with
the given @uid and @rid. The @rid can be an empty string
or %NULL to search for the master object, otherwise the check
is done for a detached instance, not for a recurrence instance.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                         line="199"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-cache.c"
               line="2437">Whether the object had been found.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="cal_cache" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2427">an #ECalCache</doc>
            <type name="CalCache" c:type="ECalCache*"/>
          </instance-parameter>
          <parameter name="uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2428">component UID</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="rid"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2429">optional component Recurrence-ID or %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="deleted_flag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2430">one of #ECacheDeletedFlag enum</doc>
            <type name="EBackend.CacheDeletedFlag" c:type="ECacheDeletedFlag"/>
          </parameter>
        </parameters>
      </method>
      <method name="delete_attachments"
              c:identifier="e_cal_cache_delete_attachments"
              version="3.26"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-cache.c"
             line="3672">Deletes all locally stored attachments beside the cache file from the disk.
This doesn't modify the @component. It's usually called before the @component
is being removed from the @cal_cache.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                         line="330"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-cache.c"
               line="3683">Whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="cal_cache" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3674">an #ECalCache</doc>
            <type name="CalCache" c:type="ECalCache*"/>
          </instance-parameter>
          <parameter name="component" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3675">an #ICalComponent</doc>
            <type name="ICalGLib.Component" c:type="ICalComponent*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3676">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="dup_component_revision"
              c:identifier="e_cal_cache_dup_component_revision"
              version="3.26">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-cache.c"
             line="2397">Returns the @icomp revision, used to detect changes.
The returned string should be freed with g_free(), when
no longer needed.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                         line="196"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-cache.c"
               line="2406">A newly allocated string containing
   revision of the @icomp.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="cal_cache" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2399">an #ECalCache</doc>
            <type name="CalCache" c:type="ECalCache*"/>
          </instance-parameter>
          <parameter name="icomp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2400">an #ICalComponent</doc>
            <type name="ICalGLib.Component" c:type="ICalComponent*"/>
          </parameter>
        </parameters>
      </method>
      <method name="dup_timezone_as_string"
              c:identifier="e_cal_cache_dup_timezone_as_string"
              version="3.26"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-cache.c"
             line="3916">Gets a timezone with given @tzid, which had been previously put
into the @cal_cache with e_cal_cache_put_timezone().
The returned string is an iCal string for that ICalTimezone and
should be freed with g_free() when no longer needed.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                         line="345"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-cache.c"
               line="3929">Whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="cal_cache" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3918">an #ECalCache</doc>
            <type name="CalCache" c:type="ECalCache*"/>
          </instance-parameter>
          <parameter name="tzid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3919">a timezone ID to get</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="out_zone_string"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3920">return location for the #ICalTimezone as iCal string</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3921">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_component"
              c:identifier="e_cal_cache_get_component"
              version="3.26"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-cache.c"
             line="2723">Gets a component identified by @uid, and optionally by the @rid,
from the @cal_cache. The returned @out_component should be freed with
g_object_unref(), when no longer needed.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                         line="230"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-cache.c"
               line="2736">Whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="cal_cache" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2725">an #ECalCache</doc>
            <type name="CalCache" c:type="ECalCache*"/>
          </instance-parameter>
          <parameter name="uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2726">a UID of the component</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="rid"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2727">an optional Recurrence-ID</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="out_component"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2728">return location for an #ECalComponent</doc>
            <type name="ECal.Component" c:type="ECalComponent**"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2729">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_component_as_string"
              c:identifier="e_cal_cache_get_component_as_string"
              version="3.26"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-cache.c"
             line="2764">Gets a component identified by @uid, and optionally by the @rid,
from the @cal_cache. The returned @out_icalstring should be freed with
g_free(), when no longer needed.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                         line="236"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-cache.c"
               line="2777">Whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="cal_cache" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2766">an #ECalCache</doc>
            <type name="CalCache" c:type="ECalCache*"/>
          </instance-parameter>
          <parameter name="uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2767">a UID of the component</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="rid"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2768">an optional Recurrence-ID</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="out_icalstring"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2769">return location for an iCalendar string</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2770">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_component_custom_flags"
              c:identifier="e_cal_cache_get_component_custom_flags"
              version="3.34"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-cache.c"
             line="2860">Gets the custom flags previously set for @uid and @rid, either with
e_cal_cache_set_component_custom_flags(), when adding components or
when removing components in offline.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                         line="250"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-cache.c"
               line="2873">Whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="cal_cache" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2862">an #ECalCache</doc>
            <type name="CalCache" c:type="ECalCache*"/>
          </instance-parameter>
          <parameter name="uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2863">a UID of the component</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="rid"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2864">an optional Recurrence-ID</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="out_custom_flags"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2865">return location to store the custom flags</doc>
            <type name="guint32" c:type="guint32*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2866">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_component_extra"
              c:identifier="e_cal_cache_get_component_extra"
              version="3.26"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-cache.c"
             line="2984">Gets the extra data previously set for @uid and @rid, either with
e_cal_cache_set_component_extra() or when adding components.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                         line="263"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-cache.c"
               line="2996">Whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="cal_cache" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2986">an #ECalCache</doc>
            <type name="CalCache" c:type="ECalCache*"/>
          </instance-parameter>
          <parameter name="uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2987">a UID of the component</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="rid"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2988">an optional Recurrence-ID</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="out_extra"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2989">return location to store the extra data</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2990">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_components_by_uid"
              c:identifier="e_cal_cache_get_components_by_uid"
              version="3.26"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-cache.c"
             line="3109">Gets the master object and all detached instances for a component
identified by the @uid. Free the returned #GSList with
g_slist_free_full (components, g_object_unref); when
no longer needed.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                         line="274"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-cache.c"
               line="3122">Whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="cal_cache" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3111">an #ECalCache</doc>
            <type name="CalCache" c:type="ECalCache*"/>
          </instance-parameter>
          <parameter name="uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3112">a UID of the component</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="out_components"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3113">return location for the components</doc>
            <type name="GLib.SList" c:type="GSList**">
              <type name="ECal.Component"/>
            </type>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3114">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_components_by_uid_as_string"
              c:identifier="e_cal_cache_get_components_by_uid_as_string"
              version="3.26"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-cache.c"
             line="3148">Gets the master object and all detached instances as string
for a component identified by the @uid. Free the returned #GSList
with g_slist_free_full (icalstrings, g_free); when no longer needed.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                         line="280"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-cache.c"
               line="3160">Whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="cal_cache" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3150">an #ECalCache</doc>
            <type name="CalCache" c:type="ECalCache*"/>
          </instance-parameter>
          <parameter name="uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3151">a UID of the component</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="out_icalstrings"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3152">return location for the iCal strings</doc>
            <type name="GLib.SList" c:type="GSList**">
              <type name="utf8"/>
            </type>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3153">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_components_in_range"
              c:identifier="e_cal_cache_get_components_in_range"
              version="3.26"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-cache.c"
             line="3201">Gets a list of components which occur in the given time range.
It's not an error if none is found.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                         line="286"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-cache.c"
               line="3213">Whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="cal_cache" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3203">an #ECalCache</doc>
            <type name="CalCache" c:type="ECalCache*"/>
          </instance-parameter>
          <parameter name="range_start" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3204">start of the range, as time_t, inclusive</doc>
            <type name="glong" c:type="time_t"/>
          </parameter>
          <parameter name="range_end" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3205">end of the range, as time_t, exclusive</doc>
            <type name="glong" c:type="time_t"/>
          </parameter>
          <parameter name="out_components"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3206">return location for the components</doc>
            <type name="GLib.SList" c:type="GSList**">
              <type name="ECal.Component"/>
            </type>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3207">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_components_in_range_as_strings"
              c:identifier="e_cal_cache_get_components_in_range_as_strings"
              version="3.26"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-cache.c"
             line="3259">Gets a list of components, as iCal strings, which occur in the given time range.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                         line="293"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-cache.c"
               line="3270">Whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="cal_cache" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3261">an #ECalCache</doc>
            <type name="CalCache" c:type="ECalCache*"/>
          </instance-parameter>
          <parameter name="range_start" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3262">start of the range, as time_t, inclusive</doc>
            <type name="glong" c:type="time_t"/>
          </parameter>
          <parameter name="range_end" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3263">end of the range, as time_t, exclusive</doc>
            <type name="glong" c:type="time_t"/>
          </parameter>
          <parameter name="out_icalstrings"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3264">return location for the iCal strings</doc>
            <type name="GLib.SList" c:type="GSList**">
              <type name="utf8"/>
            </type>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3265">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_ids_with_extra"
              c:identifier="e_cal_cache_get_ids_with_extra"
              version="3.26"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-cache.c"
             line="3040">Gets all the ID-s the @extra data is set for.

The @out_ids should be freed with
g_slist_free_full (ids, (GDestroyNotify) e_cal_component_id_free);
when no longer needed.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                         line="269"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-cache.c"
               line="3054">Whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="cal_cache" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3042">an #ECalCache</doc>
            <type name="CalCache" c:type="ECalCache*"/>
          </instance-parameter>
          <parameter name="extra" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3043">an extra column value to search for</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="out_ids"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3044">return location to store the ids to</doc>
            <type name="GLib.SList" c:type="GSList**">
              <type name="ECal.ComponentId"/>
            </type>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3045">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_offline_changes"
              c:identifier="e_cal_cache_get_offline_changes"
              version="3.26"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-cache.c"
             line="3577">The same as e_cache_get_offline_changes(), only splits the saved UID
into UID and RID and saved the data into #ECalCacheOfflineChange structure.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                         line="327"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-cache.c"
               line="3586">A newly allocated list of all
   offline changes. Free it with g_slist_free_full (slist, e_cal_cache_offline_change_free);
   when no longer needed.</doc>
          <type name="GLib.SList" c:type="GSList*">
            <type name="CalCacheOfflineChange"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="cal_cache" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3579">an #ECalCache</doc>
            <type name="CalCache" c:type="ECalCache*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3580">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_offline_state"
              c:identifier="e_cal_cache_get_offline_state"
              version="3.34"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-cache.c"
             line="3628">This is a wrapper of e_cache_get_offline_state(), ensuring that
a correct #ECache UID will be used.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                         line="322"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-cache.c"
               line="3639">Current offline state #EOfflineState for the given component.
   It returns %E_OFFLINE_STATE_UNKNOWN when the component could not be
   found or other error happened.</doc>
          <type name="EBackend.OfflineState" c:type="EOfflineState"/>
        </return-value>
        <parameters>
          <instance-parameter name="cal_cache" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3630">an #ECalCache</doc>
            <type name="CalCache" c:type="ECalCache*"/>
          </instance-parameter>
          <parameter name="uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3631">a UID of the component</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="rid"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3632">an optional Recurrence-ID</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3633">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_timezone"
              c:identifier="e_cal_cache_get_timezone"
              version="3.26"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-cache.c"
             line="3849">Gets a timezone with given @tzid, which had been previously put
into the @cal_cache with e_cal_cache_put_timezone().
The returned ICalTimezone is owned by the @cal_cache and should
not be freed.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                         line="340"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-cache.c"
               line="3862">Whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="cal_cache" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3851">an #ECalCache</doc>
            <type name="CalCache" c:type="ECalCache*"/>
          </instance-parameter>
          <parameter name="tzid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3852">a timezone ID to get</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="out_zone"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3853">return location for the #ICalTimezone</doc>
            <type name="ICalGLib.Timezone" c:type="ICalTimezone**"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3854">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="list_timezones"
              c:identifier="e_cal_cache_list_timezones"
              version="3.26"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-cache.c"
             line="3986">Gets a list of all stored timezones by the @cal_cache.
Only the returned list should be freed with g_list_free()
when no longer needed; the #ICalTimezone-s are owned
by the @cal_cache.

Note: The list can contain timezones previously stored
in the cache, but removed from it since they were loaded,
because these are freed only when also the @cal_cache is freed.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                         line="351"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-cache.c"
               line="4002">Whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="cal_cache" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3988">an #ECalCache</doc>
            <type name="CalCache" c:type="ECalCache*"/>
          </instance-parameter>
          <parameter name="out_timezones"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="container">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3989">return location for the list of stored timezones</doc>
            <type name="GLib.List" c:type="GList**">
              <type name="ICalGLib.Timezone"/>
            </type>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3990">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="put_component"
              c:identifier="e_cal_cache_put_component"
              version="3.26"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-cache.c"
             line="2462">Adds a @component into the @cal_cache. Any existing with the same UID
and RID is replaced.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                         line="203"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-cache.c"
               line="2475">Whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="cal_cache" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2464">an #ECalCache</doc>
            <type name="CalCache" c:type="ECalCache*"/>
          </instance-parameter>
          <parameter name="component" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2465">an #ECalComponent to put into the @cal_cache</doc>
            <type name="ECal.Component" c:type="ECalComponent*"/>
          </parameter>
          <parameter name="extra"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2466">an extra data to store in association with the @component</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="custom_flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2467">custom flags for the @component, not interpreted by the @cal_cache</doc>
            <type name="guint32" c:type="guint32"/>
          </parameter>
          <parameter name="offline_flag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2468">one of #ECacheOfflineFlag, whether putting this component in offline</doc>
            <type name="EBackend.CacheOfflineFlag" c:type="ECacheOfflineFlag"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2469">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="put_components"
              c:identifier="e_cal_cache_put_components"
              version="3.26"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-cache.c"
             line="2509">Adds a list of @components into the @cal_cache. Any existing with the same UID
and RID are replaced.

If @extras is not %NULL, its length should be the same as the length
of the @components. Similarly the non-NULL @custom_flags length
should be the same as the length of the @components.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                         line="210"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-cache.c"
               line="2526">Whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="cal_cache" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2511">an #ECalCache</doc>
            <type name="CalCache" c:type="ECalCache*"/>
          </instance-parameter>
          <parameter name="components" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2512">a #GSList of #ECalComponent to put into the @cal_cache</doc>
            <type name="GLib.SList" c:type="const GSList*">
              <type name="ECal.Component"/>
            </type>
          </parameter>
          <parameter name="extras"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2513">optional extra data to store in association with the @components</doc>
            <type name="GLib.SList" c:type="const GSList*">
              <type name="utf8"/>
            </type>
          </parameter>
          <parameter name="custom_flags"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2514">optional custom flags to use for the @components</doc>
            <type name="GLib.SList" c:type="const GSList*">
              <type name="guint32"/>
            </type>
          </parameter>
          <parameter name="offline_flag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2515">one of #ECacheOfflineFlag, whether putting these components in offline</doc>
            <type name="EBackend.CacheOfflineFlag" c:type="ECacheOfflineFlag"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2516">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="put_timezone"
              c:identifier="e_cal_cache_put_timezone"
              version="3.26"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-cache.c"
             line="3763">Puts the @zone into the @cal_cache using its timezone ID as
an identificator. The function adds a new or replaces existing,
if any such already exists in the @cal_cache. The function does
nothing and returns %TRUE, when the passed-in @zone is libical
builtin timezone.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                         line="335"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-cache.c"
               line="3777">Whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="cal_cache" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3765">an #ECalCache</doc>
            <type name="CalCache" c:type="ECalCache*"/>
          </instance-parameter>
          <parameter name="zone" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3766">an #ICalTimezone to put</doc>
            <type name="ICalGLib.Timezone" c:type="const ICalTimezone*"/>
          </parameter>
          <parameter name="inc_ref_counts" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3767">how many refs to add, or 0 to have it stored forever</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3768">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_component"
              c:identifier="e_cal_cache_remove_component"
              version="3.26"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-cache.c"
             line="2603">Removes a component identified by @uid and @rid from the @cal_cache.
When the @rid is %NULL, or an empty string, then removes the master
object only, without any detached instance.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                         line="217"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-cache.c"
               line="2617">Whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="cal_cache" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2605">an #ECalCache</doc>
            <type name="CalCache" c:type="ECalCache*"/>
          </instance-parameter>
          <parameter name="uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2606">a UID of the component to remove</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="rid"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2607">an optional Recurrence-ID to remove</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="custom_flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2608">custom flags for the component, not interpreted by the @cal_cache</doc>
            <type name="guint32" c:type="guint32"/>
          </parameter>
          <parameter name="offline_flag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2609">one of #ECacheOfflineFlag, whether removing this component in offline</doc>
            <type name="EBackend.CacheOfflineFlag" c:type="ECacheOfflineFlag"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2610">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_components"
              c:identifier="e_cal_cache_remove_components"
              version="3.26"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-cache.c"
             line="2650">Removes components identified by @uid and @rid from the @cal_cache
in the @ids list. When the @rid is %NULL, or an empty string, then
removes the master object only, without any detached instance.
The @custom_flags is used, if not %NULL, only if the @offline_flag
is %E_CACHE_IS_OFFLINE. Otherwise it's ignored. The length of
the @custom_flags should match the length of @ids, when not %NULL.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                         line="224"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-cache.c"
               line="2666">Whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="cal_cache" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2652">an #ECalCache</doc>
            <type name="CalCache" c:type="ECalCache*"/>
          </instance-parameter>
          <parameter name="ids" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2653">a #GSList of components to remove</doc>
            <type name="GLib.SList" c:type="const GSList*">
              <type name="ECal.ComponentId"/>
            </type>
          </parameter>
          <parameter name="custom_flags"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2654">an optional #GSList of custom flags for the @ids</doc>
            <type name="GLib.SList" c:type="const GSList*">
              <type name="guint32"/>
            </type>
          </parameter>
          <parameter name="offline_flag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2655">one of #ECacheOfflineFlag, whether removing these comonents in offline</doc>
            <type name="EBackend.CacheOfflineFlag" c:type="ECacheOfflineFlag"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2656">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_timezone"
              c:identifier="e_cal_cache_remove_timezone"
              version="3.30"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-cache.c"
             line="4056">Dereferences use count of the time zone with ID @tzid by @dec_ref_counts
and removes the timezone from the cache when the reference count reaches
zero. Special case is with @dec_ref_counts being zero, in which case
the corresponding timezone is removed regardless of the current reference
count.

It's not an error when the timezone doesn't exist in the cache.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                         line="355"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-cache.c"
               line="4072">Whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="cal_cache" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="4058">an #ECalCache</doc>
            <type name="CalCache" c:type="ECalCache*"/>
          </instance-parameter>
          <parameter name="tzid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="4059">timezone ID to remove/dereference</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="dec_ref_counts" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="4060">reference counts to drop, 0 to remove it regardless of the current reference count</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="4061">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_timezones"
              c:identifier="e_cal_cache_remove_timezones"
              version="3.26"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-cache.c"
             line="4121">Removes all stored timezones from the @cal_cache.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                         line="360"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-cache.c"
               line="4129">Whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="cal_cache" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="4123">an #ECalCache</doc>
            <type name="CalCache" c:type="ECalCache*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="4124">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="search"
              c:identifier="e_cal_cache_search"
              version="3.26"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-cache.c"
             line="3391">Searches the @cal_cache with the given @sexp and
returns those components which satisfy the search
expression as a #GSList of #ECalCacheSearchData.
The @out_data should be freed with
g_slist_free_full (data, e_cal_cache_search_data_free);
when no longer needed.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                         line="300"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-cache.c"
               line="3406">Whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="cal_cache" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3393">an #ECalCache</doc>
            <type name="CalCache" c:type="ECalCache*"/>
          </instance-parameter>
          <parameter name="sexp"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3394">search expression; use %NULL or an empty string to list all stored components</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="out_data"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3395">stored components, as search data, satisfied by @sexp</doc>
            <type name="GLib.SList" c:type="GSList**">
              <type name="CalCacheSearchData"/>
            </type>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3396">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="search_components"
              c:identifier="e_cal_cache_search_components"
              version="3.26"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-cache.c"
             line="3436">Searches the @cal_cache with the given @sexp and
returns those components which satisfy the search
expression. The @out_components should be freed with
g_slist_free_full (components, g_object_unref); when
no longer needed.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                         line="305"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-cache.c"
               line="3450">Whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="cal_cache" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3438">an #ECalCache</doc>
            <type name="CalCache" c:type="ECalCache*"/>
          </instance-parameter>
          <parameter name="sexp"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3439">search expression; use %NULL or an empty string to list all stored components</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="out_components"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3440">stored components satisfied by @sexp</doc>
            <type name="GLib.SList" c:type="GSList**">
              <type name="ECal.Component"/>
            </type>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3441">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="search_ids"
              c:identifier="e_cal_cache_search_ids"
              version="3.26"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-cache.c"
             line="3480">Searches the @cal_cache with the given @sexp and returns ECalComponentId
for those components which satisfy the search expression.
The @out_ids should be freed with
g_slist_free_full (ids, (GDestroyNotify) e_cal_component_id_free);
when no longer needed.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                         line="310"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-cache.c"
               line="3494">Whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="cal_cache" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3482">an #ECalCache</doc>
            <type name="CalCache" c:type="ECalCache*"/>
          </instance-parameter>
          <parameter name="sexp"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3483">search expression; use %NULL or an empty string to list all stored components</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="out_ids"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3484">IDs of stored components satisfied by @sexp</doc>
            <type name="GLib.SList" c:type="GSList**">
              <type name="ECal.ComponentId"/>
            </type>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3485">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="search_with_callback"
              c:identifier="e_cal_cache_search_with_callback"
              version="3.26"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-cache.c"
             line="3525">Searches the @cal_cache with the given @sexp and calls @func for each
row which satisfy the search expression.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                         line="315"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-cache.c"
               line="3537">Whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="cal_cache" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3527">an #ECalCache</doc>
            <type name="CalCache" c:type="ECalCache*"/>
          </instance-parameter>
          <parameter name="sexp"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3528">search expression; use %NULL or an empty string to list all stored components</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="func"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="call"
                     closure="2">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3529">an #ECalCacheSearchFunc callback to call for each row which satisfies @sexp</doc>
            <type name="CalCacheSearchFunc" c:type="ECalCacheSearchFunc"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     closure="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3530">user data for @func</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="3531">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_component_custom_flags"
              c:identifier="e_cal_cache_set_component_custom_flags"
              version="3.34"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-cache.c"
             line="2804">Sets or replaces the custom flags associated with a component
identified by @uid and optionally @rid.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                         line="243"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-cache.c"
               line="2816">Whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="cal_cache" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2806">an #ECalCache</doc>
            <type name="CalCache" c:type="ECalCache*"/>
          </instance-parameter>
          <parameter name="uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2807">a UID of the component</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="rid"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2808">an optional Recurrence-ID</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="custom_flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2809">the custom flags to set for the component</doc>
            <type name="guint32" c:type="guint32"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2810">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_component_extra"
              c:identifier="e_cal_cache_set_component_extra"
              version="3.26"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-cache.c"
             line="2921">Sets or replaces the extra data associated with a component
identified by @uid and optionally @rid.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                         line="257"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-cache.c"
               line="2933">Whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="cal_cache" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2923">an #ECalCache</doc>
            <type name="CalCache" c:type="ECalCache*"/>
          </instance-parameter>
          <parameter name="uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2924">a UID of the component</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="rid"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2925">an optional Recurrence-ID</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="extra"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2926">extra data to set for the component</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2927">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent" readable="0" private="1">
        <type name="EBackend.Cache" c:type="ECache"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="CalCachePrivate" c:type="ECalCachePrivate*"/>
      </field>
      <glib:signal name="dup-component-revision" when="last" action="1">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="ICalGLib.Component"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="get-timezone" when="last" action="1" version="3.30">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-cache.c"
             line="4573">A signal being called to get timezone when putting component
into the cache. It's used to make sure the cache contains
all timezones which are needed by the component. The returned
ICalTimezone will not be freed.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-cache.c"
               line="4583">an #ICalTimezone</doc>
          <type name="ICalGLib.Timezone"/>
        </return-value>
        <parameters>
          <parameter name="tzid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="4576">timezone ID</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="CalCacheClass"
            c:type="ECalCacheClass"
            glib:is-gtype-struct-for="CalCache"
            version="3.26">
      <doc xml:space="preserve"
           filename="src/calendar/libedata-cal/e-cal-cache.h"
           line="169">Class structure for the #ECalCache class.</doc>
      <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                       line="189"/>
      <field name="parent_class" readable="0" private="1">
        <type name="EBackend.CacheClass" c:type="ECacheClass"/>
      </field>
      <field name="dup_component_revision">
        <callback name="dup_component_revision">
          <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                           line="181"/>
          <return-value transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="2406">A newly allocated string containing
   revision of the @icomp.</doc>
            <type name="utf8" c:type="gchar*"/>
          </return-value>
          <parameters>
            <parameter name="cal_cache" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-cache.c"
                   line="2399">an #ECalCache</doc>
              <type name="CalCache" c:type="ECalCache*"/>
            </parameter>
            <parameter name="icomp" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-cache.c"
                   line="2400">an #ICalComponent</doc>
              <type name="ICalGLib.Component" c:type="ICalComponent*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_timezone" introspectable="0">
        <callback name="get_timezone" introspectable="0">
          <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                           line="184"/>
          <return-value>
            <type name="ICalGLib.Timezone" c:type="ICalTimezone*"/>
          </return-value>
          <parameters>
            <parameter name="cal_cache" transfer-ownership="none">
              <type name="CalCache" c:type="ECalCache*"/>
            </parameter>
            <parameter name="tzid" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="reserved" readable="0" private="1">
        <array zero-terminated="0" fixed-size="9">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="CalCacheOfflineChange"
            c:type="ECalCacheOfflineChange"
            version="3.26"
            glib:type-name="ECalCacheOfflineChange"
            glib:get-type="e_cal_cache_offline_change_get_type"
            c:symbol-prefix="cal_cache_offline_change">
      <doc xml:space="preserve"
           filename="src/calendar/libedata-cal/e-cal-cache.h"
           line="53">Holds the information about offline change for one component.</doc>
      <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                       line="71"/>
      <field name="uid" writable="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-cache.h"
             line="55">UID of the component</doc>
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="rid" writable="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-cache.h"
             line="56">Recurrence-ID of the component</doc>
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="revision" writable="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-cache.h"
             line="57">stored revision of the component</doc>
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="object" writable="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-cache.h"
             line="58">the component itself, as an iCalendar string</doc>
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="state" writable="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-cache.h"
             line="59">an #EOfflineState of the component</doc>
        <type name="EBackend.OfflineState" c:type="EOfflineState"/>
      </field>
      <constructor name="new"
                   c:identifier="e_cal_cache_offline_change_new"
                   version="3.26">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-cache.c"
             line="105">Creates a new #ECalCacheOfflineChange with the offline @state
information for the given @uid.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                         line="78"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-cache.c"
               line="116">A new #ECalCacheOfflineChange. Free it with
   e_cal_cache_offline_change_free() when no longer needed.</doc>
          <type name="CalCacheOfflineChange" c:type="ECalCacheOfflineChange*"/>
        </return-value>
        <parameters>
          <parameter name="uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="107">a unique component identifier</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="rid"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="108">a Recurrence-ID of the component</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="revision"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="109">a revision of the component</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="object"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="110">component itself</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="state" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="111">an #EOfflineState</doc>
            <type name="EBackend.OfflineState" c:type="EOfflineState"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="copy"
              c:identifier="e_cal_cache_offline_change_copy"
              version="3.26">
        <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                         line="84"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-cache.c"
               line="146">Copy of the given @change. Free it with
   e_cal_cache_offline_change_free() when no longer needed.
   If the @change is %NULL, then returns %NULL as well.</doc>
          <type name="CalCacheOfflineChange" c:type="ECalCacheOfflineChange*"/>
        </return-value>
        <parameters>
          <instance-parameter name="change"
                              transfer-ownership="none"
                              nullable="1"
                              allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="144">a source #ECalCacheOfflineChange to copy, or %NULL</doc>
            <type name="CalCacheOfflineChange"
                  c:type="const ECalCacheOfflineChange*"/>
          </instance-parameter>
        </parameters>
      </method>
      <function name="free"
                c:identifier="e_cal_cache_offline_change_free"
                version="3.26">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-cache.c"
             line="161">Frees the @change structure, previously allocated with e_cal_cache_offline_change_new()
or e_cal_cache_offline_change_copy().</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                         line="85"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="change"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="163">an #ECalCacheOfflineChange</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </function>
    </record>
    <record name="CalCachePrivate" c:type="ECalCachePrivate" disguised="1">
      <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                       line="51"/>
    </record>
    <record name="CalCacheSearchData"
            c:type="ECalCacheSearchData"
            version="3.26"
            glib:type-name="ECalCacheSearchData"
            glib:get-type="e_cal_cache_search_data_get_type"
            c:symbol-prefix="cal_cache_search_data">
      <doc xml:space="preserve"
           filename="src/calendar/libedata-cal/e-cal-cache.h"
           line="87">This structure is used to represent components returned
by the #ECalCache from various functions
such as e_cal_cache_search().

The @extra parameter will contain any data which was
previously passed for this component in e_cal_cache_put_component()
or set with e_cal_cache_set_component_extra().

These should be freed with e_cal_cache_search_data_free().</doc>
      <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                       line="111"/>
      <field name="uid" writable="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-cache.h"
             line="89">the UID of this component</doc>
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="rid" writable="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-cache.h"
             line="90">the Recurrence-ID of this component</doc>
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="object" writable="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-cache.h"
             line="91">the component string</doc>
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="extra" writable="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-cache.h"
             line="92">any extra data associated with the component</doc>
        <type name="utf8" c:type="gchar*"/>
      </field>
      <constructor name="new"
                   c:identifier="e_cal_cache_search_data_new"
                   version="3.26">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-cache.c"
             line="184">Creates a new #ECalCacheSearchData prefilled with the given values.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                         line="118"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-cache.c"
               line="193">A new #ECalCacheSearchData. Free it with
   e_cal_cache_search_data_free() when no longer needed.</doc>
          <type name="CalCacheSearchData" c:type="ECalCacheSearchData*"/>
        </return-value>
        <parameters>
          <parameter name="uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="186">a component UID; cannot be %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="rid"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="187">a component Recurrence-ID; can be %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="188">the component as an iCal string; cannot be %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="extra"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="189">any extra data stored with the component, or %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="copy"
              c:identifier="e_cal_cache_search_data_copy"
              version="3.26">
        <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                         line="123"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-cache.c"
               line="222">Copy of the given @data. Free it with
   e_cal_cache_search_data_free() when no longer needed.
   If the @data is %NULL, then returns %NULL as well.</doc>
          <type name="CalCacheSearchData" c:type="ECalCacheSearchData*"/>
        </return-value>
        <parameters>
          <instance-parameter name="data"
                              transfer-ownership="none"
                              nullable="1"
                              allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="220">a source #ECalCacheSearchData to copy, or %NULL</doc>
            <type name="CalCacheSearchData"
                  c:type="const ECalCacheSearchData*"/>
          </instance-parameter>
        </parameters>
      </method>
      <function name="free"
                c:identifier="e_cal_cache_search_data_free"
                version="3.26">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-cache.c"
             line="237">Frees the @ptr structure, previously allocated with e_cal_cache_search_data_new()
or e_cal_cache_search_data_copy().</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                         line="124"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="ptr"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-cache.c"
                 line="239">an #ECalCacheSearchData</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </function>
    </record>
    <callback name="CalCacheSearchFunc"
              c:type="ECalCacheSearchFunc"
              version="3.26">
      <doc xml:space="preserve"
           filename="src/calendar/libedata-cal/e-cal-cache.h"
           line="126">A callback called for each object row when using
e_cal_cache_search_with_callback() function.</doc>
      <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                       line="145"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-cache.h"
             line="141">%TRUE to continue, %FALSE to stop walk through.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="cal_cache" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-cache.h"
               line="128">an #ECalCache</doc>
          <type name="CalCache" c:type="ECalCache*"/>
        </parameter>
        <parameter name="uid" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-cache.h"
               line="129">a unique object identifier</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="rid"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-cache.h"
               line="130">an optional Recurrence-ID of the object</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="revision" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-cache.h"
               line="131">the object revision</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="object" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-cache.h"
               line="132">the object itself</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="extra" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-cache.h"
               line="133">extra data stored with the object</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="custom_flags" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-cache.h"
               line="134">object's custom flags</doc>
          <type name="guint32" c:type="guint32"/>
        </parameter>
        <parameter name="offline_state" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-cache.h"
               line="135">object's offline state, one of #EOfflineState</doc>
          <type name="EBackend.OfflineState" c:type="EOfflineState"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="8">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-cache.h"
               line="136">user data, as used in e_cal_cache_search_with_callback()</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <class name="CalMetaBackend"
           c:symbol-prefix="cal_meta_backend"
           c:type="ECalMetaBackend"
           version="3.26"
           parent="CalBackendSync"
           abstract="1"
           glib:type-name="ECalMetaBackend"
           glib:get-type="e_cal_meta_backend_get_type"
           glib:type-struct="CalMetaBackendClass">
      <doc xml:space="preserve"
           filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
           line="75">Contains only private data that should be read and manipulated using
the functions below.</doc>
      <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                       line="175"/>
      <implements name="ECal.TimezoneCache"/>
      <virtual-method name="connect_sync"
                      invoker="connect_sync"
                      version="3.26"
                      throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
             line="4831">This is called always before any operation which requires a connection
to the remote side. It can fail with an #E_CLIENT_ERROR_REPOSITORY_OFFLINE
error to indicate that the remote side cannot be currently reached. Other
errors are propagated to the caller/client side. This method is not called
when the backend is offline.

The descendant should also call e_cal_backend_set_writable() after successful
connect to the remote side. This value is stored for later use, when being
opened offline.

The @credentials parameter consists of the previously used credentials.
It's always %NULL with the first connection attempt. To get the credentials,
just set the @out_auth_result to %E_SOURCE_AUTHENTICATION_REQUIRED for
the first time and the function will be called again once the credentials
are available. See the documentation of #ESourceAuthenticationResult for
other available results.

The out parameters are passed to e_backend_schedule_credentials_required()
and are ignored when the descendant returns %TRUE, aka they are used
only if the connection fails. The @out_certificate_pem and @out_certificate_errors
should be used together and they can be left untouched if the failure reason was
not related to certificate. Use @out_auth_result %E_SOURCE_AUTHENTICATION_UNKNOWN
to indicate other error than @credentials error, otherwise the @error is used
according to @out_auth_result value.

It is mandatory to implement this virtual method by the descendant.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                         line="101"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
               line="4868">Whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta_backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4833">an #ECalMetaBackend</doc>
            <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
          </instance-parameter>
          <parameter name="credentials"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4834">an #ENamedParameters with previously used credentials, or %NULL</doc>
            <type name="EDataServer.NamedParameters"
                  c:type="const ENamedParameters*"/>
          </parameter>
          <parameter name="out_auth_result"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4835">an #ESourceAuthenticationResult with an authentication result</doc>
            <type name="EDataServer.SourceAuthenticationResult"
                  c:type="ESourceAuthenticationResult*"/>
          </parameter>
          <parameter name="out_certificate_pem"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4836">a PEM encoded certificate on failure, or %NULL</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
          <parameter name="out_certificate_errors"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4837">a #GTlsCertificateFlags on failure, or 0</doc>
            <type name="Gio.TlsCertificateFlags"
                  c:type="GTlsCertificateFlags*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4838">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="disconnect_sync"
                      invoker="disconnect_sync"
                      version="3.26"
                      throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
             line="4892">This is called when the backend goes into offline mode or
when the disconnect is required. The implementation should
not report any error when it is called and the @meta_backend
is not connected.

It is mandatory to implement this virtual method by the descendant.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                         line="108"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
               line="4905">Whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta_backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4894">an #ECalMetaBackend</doc>
            <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4895">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_changes_sync"
                      invoker="get_changes_sync"
                      version="3.26"
                      throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
             line="4925">Gathers the changes since the last check which had been done
on the remote side.

The @last_sync_tag can be used as a tag of the last check. This can be %NULL,
when there was no previous call or when the descendant doesn't store any
such tags. The @out_new_sync_tag can be populated with a value to be stored
and used the next time.

The @out_repeat can be set to %TRUE when the descendant didn't finish
read of all the changes. In that case the @meta_backend calls this
function again with the @out_new_sync_tag as the @last_sync_tag, but also
notifies about the found changes immediately. The @is_repeat is set
to %TRUE as well in this case, otherwise it's %FALSE.

The descendant can populate also ECalMetaBackendInfo::object of
the @out_created_objects and @out_modified_objects, if known, in which
case this will be used instead of loading it with e_cal_meta_backend_load_component_sync().

It is optional to implement this virtual method by the descendant.
The default implementation calls e_cal_meta_backend_list_existing_sync()
and then compares the list with the current content of the local cache
and populates the respective lists appropriately.

Each output #GSList should be freed with
g_slist_free_full (objects, e_cal_meta_backend_info_free);
when no longer needed.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                         line="112"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
               line="4971">Whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta_backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4927">an #ECalMetaBackend</doc>
            <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
          </instance-parameter>
          <parameter name="last_sync_tag"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4928">optional sync tag from the last check</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="is_repeat" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4929">set to %TRUE when this is the repeated call</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="out_new_sync_tag"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4930">new sync tag to store on success</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
          <parameter name="out_repeat"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4931">whether to repeat this call again; default is %FALSE</doc>
            <type name="gboolean" c:type="gboolean*"/>
          </parameter>
          <parameter name="out_created_objects"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4932">
   a #GSList of #ECalMetaBackendInfo object infos which had been created since
   the last check</doc>
            <type name="GLib.SList" c:type="GSList**">
              <type name="CalMetaBackendInfo"/>
            </type>
          </parameter>
          <parameter name="out_modified_objects"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4935">
   a #GSList of #ECalMetaBackendInfo object infos which had been modified since
   the last check</doc>
            <type name="GLib.SList" c:type="GSList**">
              <type name="CalMetaBackendInfo"/>
            </type>
          </parameter>
          <parameter name="out_removed_objects"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4938">
   a #GSList of #ECalMetaBackendInfo object infos which had been removed since
   the last check</doc>
            <type name="GLib.SList" c:type="GSList**">
              <type name="CalMetaBackendInfo"/>
            </type>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4941">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_ssl_error_details"
                      invoker="get_ssl_error_details"
                      version="3.28">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
             line="5474">It is optional to implement this virtual method by the descendants.
It is used to receive SSL error details when any online operation
returns E_CLIENT_ERROR, E_CLIENT_ERROR_TLS_NOT_AVAILABLE error.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                         line="169"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
               line="5484">%TRUE, when the SSL error details had been available and
   the out parameters populated, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta_backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5476">an #ECalMetaBackend</doc>
            <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
          </instance-parameter>
          <parameter name="out_certificate_pem"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5477">SSL certificate encoded in PEM format</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
          <parameter name="out_certificate_errors"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5478">bit-or of #GTlsCertificateFlags claiming the certificate errors</doc>
            <type name="Gio.TlsCertificateFlags"
                  c:type="GTlsCertificateFlags*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="list_existing_sync"
                      invoker="list_existing_sync"
                      version="3.26"
                      throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
             line="5036">Used to get list of all existing objects on the remote side. The descendant
can optionally provide @out_new_sync_tag, which will be stored on success, if
not %NULL. The descendant can populate also ECalMetaBackendInfo::object of
the @out_existing_objects, if known, in which case this will be used instead
of loading it with e_cal_meta_backend_load_component_sync().

It is mandatory to implement this virtual method by the descendant, unless
it implements its own #ECalMetaBackendClass.get_changes_sync().

The @out_existing_objects #GSList should be freed with
g_slist_free_full (objects, e_cal_meta_backend_info_free);
when no longer needed.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                         line="122"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
               line="5058">Whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta_backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5038">an #ECalMetaBackend</doc>
            <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
          </instance-parameter>
          <parameter name="out_new_sync_tag"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5039">optional return location for a new sync tag</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
          <parameter name="out_existing_objects"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5040">
   a #GSList of #ECalMetaBackendInfo object infos which are stored on the remote side</doc>
            <type name="GLib.SList" c:type="GSList**">
              <type name="CalMetaBackendInfo"/>
            </type>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5042">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="load_component_sync"
                      invoker="load_component_sync"
                      version="3.26"
                      throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
             line="5104">Loads a component from the remote side. Any detached instances should be
returned together with the master object. The @out_component can be either
a VCALENDAR component, which would contain the master object and all of
its detached instances, eventually also used time zones, or the requested
component of type VEVENT, VJOURNAL or VTODO.

It is mandatory to implement this virtual method by the descendant.

The returned @out_component should be freed with g_object_unref(),
when no longer needed.

The returned @out_extra should be freed with g_free(), when no longer
needed.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                         line="127"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
               line="5128">Whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta_backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5106">an #ECalMetaBackend</doc>
            <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
          </instance-parameter>
          <parameter name="uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5107">a component UID</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="extra"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5108">optional extra data stored with the component, or %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="out_component"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5109">a loaded component, as #ICalComponent</doc>
            <type name="ICalGLib.Component" c:type="ICalComponent**"/>
          </parameter>
          <parameter name="out_extra"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5110">an extra data to store to #ECalCache with this component</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5111">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="remove_component_sync"
                      invoker="remove_component_sync"
                      version="3.26"
                      throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
             line="5287">Removes a component from the remote side, with all its detached instances.
The @object is not %NULL when it's removing locally deleted object
in offline mode. Being it %NULL, the descendant can obtain the object
from the #ECalCache.

It is mandatory to implement this virtual method by the writable descendant.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                         line="144"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
               line="5305">Whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta_backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5289">an #ECalMetaBackend</doc>
            <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
          </instance-parameter>
          <parameter name="conflict_resolution" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5290">an #EConflictResolution to use</doc>
            <type name="EDataServer.ConflictResolution"
                  c:type="EConflictResolution"/>
          </parameter>
          <parameter name="uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5291">a component UID</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="extra"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5292">extra data being saved with the component in the local cache, or %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="object"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5293">corresponding iCalendar object, as stored in the local cache, or %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="opflags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5294">bit-or of #ECalOperationFlags</doc>
            <type name="ECal.OperationFlags" c:type="ECalOperationFlags"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5295">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="requires_reconnect"
                      invoker="requires_reconnect"
                      version="3.26">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
             line="5443">Determines, whether current source content requires reconnect of the backend.

It is optional to implement this virtual method by the descendant. The default
implementation compares %E_SOURCE_EXTENSION_AUTHENTICATION and
%E_SOURCE_EXTENSION_WEBDAV_BACKEND, if existing in the source,
with the values after the last successful connect and returns
%TRUE when they changed. It always return %TRUE when there was
no successful connect done yet.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                         line="164"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
               line="5456">%TRUE, when reconnect is required, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta_backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5445">an #ECalMetaBackend</doc>
            <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="save_component_sync"
                      invoker="save_component_sync"
                      version="3.26"
                      throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
             line="5178">Saves one component into the remote side. The @instances contain the master
object and all the detached instances of the same component (all have the same UID).
When the @overwrite_existing is %TRUE, then the descendant can overwrite an object
with the same UID on the remote side (usually used for modify). The @conflict_resolution
defines what to do when the remote side had made any changes to the object since
the last update.

The descendant can use e_cal_meta_backend_merge_instances() to merge
the instances into one VCALENDAR component, which will contain also
used time zones.

The components in @instances have already converted locally stored attachments
into inline attachments, thus it's not needed to call
e_cal_meta_backend_inline_local_attachments_sync() by the descendant.

The @out_new_uid can be populated with a UID of the saved component as the server
assigned it to it. This UID, if set, is loaded from the remote side afterwards,
also to see whether any changes had been made to the component by the remote side.

The @out_new_extra can be populated with a new extra data to save with the component.
Left it %NULL, to keep the same value as the @extra.

The descendant can use an #E_CLIENT_ERROR_OUT_OF_SYNC error to indicate that
the save failed due to made changes on the remote side, and let the @meta_backend
to resolve this conflict based on the @conflict_resolution on its own.
The #E_CLIENT_ERROR_OUT_OF_SYNC error should not be used when the descendant
is able to resolve the conflicts itself.

It is mandatory to implement this virtual method by the writable descendant.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                         line="134"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
               line="5221">Whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta_backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5180">an #ECalMetaBackend</doc>
            <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
          </instance-parameter>
          <parameter name="overwrite_existing" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5181">%TRUE when can overwrite existing components, %FALSE otherwise</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="conflict_resolution" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5182">one of #EConflictResolution, what to do on conflicts</doc>
            <type name="EDataServer.ConflictResolution"
                  c:type="EConflictResolution"/>
          </parameter>
          <parameter name="instances" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5183">instances of the component to save</doc>
            <type name="GLib.SList" c:type="const GSList*">
              <type name="ECal.Component"/>
            </type>
          </parameter>
          <parameter name="extra"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5184">extra data saved with the components in an #ECalCache</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="opflags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5185">bit-or of #ECalOperationFlags</doc>
            <type name="ECal.OperationFlags" c:type="ECalOperationFlags"/>
          </parameter>
          <parameter name="out_new_uid"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5186">return location for the UID of the saved component</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
          <parameter name="out_new_extra"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5187">return location for the extra data to store with the component</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5188">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="search_components_sync"
                      invoker="search_components_sync"
                      version="3.26"
                      throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
             line="5400">Searches @meta_backend with given expression @expr and returns
found components as a #GSList of #ECalComponent @out_components.
Free the returned @out_components with g_slist_free_full (components, g_object_unref);
when no longer needed.
When the @expr is %NULL, all objects are returned. To get iCal
strings instead, call e_cal_meta_backend_search_sync().

It is optional to implement this virtual method by the descendant.
The default implementation searches @meta_backend's cache. It's also
not required to be online for searching, thus @meta_backend doesn't
ensure it.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                         line="158"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
               line="5420">Whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta_backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5402">an #ECalMetaBackend</doc>
            <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
          </instance-parameter>
          <parameter name="expr"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5403">a search expression, or %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="out_components"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5404">return location for the found #ECalComponent-s</doc>
            <type name="GLib.SList" c:type="GSList**">
              <type name="ECal.Component"/>
            </type>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5405">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="search_sync"
                      invoker="search_sync"
                      version="3.26"
                      throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
             line="5357">Searches @meta_backend with given expression @expr and returns
found components as a #GSList of iCal strings @out_icalstrings.
Free the returned @out_icalstrings with g_slist_free_full (icalstrings, g_free);
when no longer needed.
When the @expr is %NULL, all objects are returned. To get
#ECalComponent-s instead, call e_cal_meta_backend_search_components_sync().

It is optional to implement this virtual method by the descendant.
The default implementation searches @meta_backend's cache. It's also
not required to be online for searching, thus @meta_backend doesn't
ensure it.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                         line="153"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
               line="5377">Whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta_backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5359">an #ECalMetaBackend</doc>
            <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
          </instance-parameter>
          <parameter name="expr"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5360">a search expression, or %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="out_icalstrings"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5361">return location for the found components as iCal strings</doc>
            <type name="GLib.SList" c:type="GSList**">
              <type name="utf8"/>
            </type>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5362">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="source_changed">
        <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                         line="167"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta_backend" transfer-ownership="none">
            <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="connect_sync"
              c:identifier="e_cal_meta_backend_connect_sync"
              version="3.26"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
             line="4831">This is called always before any operation which requires a connection
to the remote side. It can fail with an #E_CLIENT_ERROR_REPOSITORY_OFFLINE
error to indicate that the remote side cannot be currently reached. Other
errors are propagated to the caller/client side. This method is not called
when the backend is offline.

The descendant should also call e_cal_backend_set_writable() after successful
connect to the remote side. This value is stored for later use, when being
opened offline.

The @credentials parameter consists of the previously used credentials.
It's always %NULL with the first connection attempt. To get the credentials,
just set the @out_auth_result to %E_SOURCE_AUTHENTICATION_REQUIRED for
the first time and the function will be called again once the credentials
are available. See the documentation of #ESourceAuthenticationResult for
other available results.

The out parameters are passed to e_backend_schedule_credentials_required()
and are ignored when the descendant returns %TRUE, aka they are used
only if the connection fails. The @out_certificate_pem and @out_certificate_errors
should be used together and they can be left untouched if the failure reason was
not related to certificate. Use @out_auth_result %E_SOURCE_AUTHENTICATION_UNKNOWN
to indicate other error than @credentials error, otherwise the @error is used
according to @out_auth_result value.

It is mandatory to implement this virtual method by the descendant.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                         line="243"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
               line="4868">Whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta_backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4833">an #ECalMetaBackend</doc>
            <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
          </instance-parameter>
          <parameter name="credentials"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4834">an #ENamedParameters with previously used credentials, or %NULL</doc>
            <type name="EDataServer.NamedParameters"
                  c:type="const ENamedParameters*"/>
          </parameter>
          <parameter name="out_auth_result"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4835">an #ESourceAuthenticationResult with an authentication result</doc>
            <type name="EDataServer.SourceAuthenticationResult"
                  c:type="ESourceAuthenticationResult*"/>
          </parameter>
          <parameter name="out_certificate_pem"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4836">a PEM encoded certificate on failure, or %NULL</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
          <parameter name="out_certificate_errors"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4837">a #GTlsCertificateFlags on failure, or 0</doc>
            <type name="Gio.TlsCertificateFlags"
                  c:type="GTlsCertificateFlags*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4838">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="disconnect_sync"
              c:identifier="e_cal_meta_backend_disconnect_sync"
              version="3.26"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
             line="4892">This is called when the backend goes into offline mode or
when the disconnect is required. The implementation should
not report any error when it is called and the @meta_backend
is not connected.

It is mandatory to implement this virtual method by the descendant.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                         line="250"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
               line="4905">Whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta_backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4894">an #ECalMetaBackend</doc>
            <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4895">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="dup_sync_tag"
              c:identifier="e_cal_meta_backend_dup_sync_tag"
              version="3.28">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
             line="3736">Returns the last known synchronization tag, the same as used to
call e_cal_meta_backend_get_changes_sync().

Free the returned string with g_free(), when no longer needed.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                         line="191"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
               line="3745">The last known synchronization tag,
   or %NULL, when none is stored.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta_backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="3738">an #ECalMetaBackend</doc>
            <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="empty_cache_sync"
              c:identifier="e_cal_meta_backend_empty_cache_sync"
              version="3.26"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
             line="4340">Empties the local cache by removing all known components from it
and notifies about such removal any opened views. It removes also
all known time zones.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                         line="215"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
               line="4350">Whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta_backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4342">an #ECalMetaBackend</doc>
            <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4343">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="ensure_connected_sync"
              c:identifier="e_cal_meta_backend_ensure_connected_sync"
              version="3.26"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
             line="4458">Ensures that the @meta_backend is connected to its destination.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                         line="224"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
               line="4466">Whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta_backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4460">an #ECalMetaBackend</doc>
            <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4461">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="gather_timezones_sync"
              c:identifier="e_cal_meta_backend_gather_timezones_sync"
              version="3.26"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
             line="4286">Extracts all VTIMEZONE components from the @vcalendar and adds them
to the memory cache, thus they are available when needed. The function does
nothing when the @vcalendar doesn't hold a VCALENDAR component.

Set the @remove_existing argument to %TRUE to remove all cached timezones
first and then add the existing in the @vcalendar, or set it to %FALSE
to preserver existing timezones and merge them with those in @vcalendar.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                         line="209"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
               line="4302">Whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta_backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4288">an #ECalMetaBackend</doc>
            <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
          </instance-parameter>
          <parameter name="vcalendar" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4289">a VCALENDAR #ICalComponent</doc>
            <type name="ICalGLib.Component" c:type="ICalComponent*"/>
          </parameter>
          <parameter name="remove_existing" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4290">whether to remove any existing first</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4291">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_capabilities"
              c:identifier="e_cal_meta_backend_get_capabilities"
              version="3.26">
        <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                         line="179"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
               line="3592">an #ECalBackend::capabilities property to be used by
   the descendant in conjunction to the descendant's capabilities
   in the result of e_cal_backend_get_backend_property() with
   #CLIENT_BACKEND_PROPERTY_CAPABILITIES.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta_backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="3590">an #ECalMetaBackend</doc>
            <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_changes_sync"
              c:identifier="e_cal_meta_backend_get_changes_sync"
              version="3.26"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
             line="4925">Gathers the changes since the last check which had been done
on the remote side.

The @last_sync_tag can be used as a tag of the last check. This can be %NULL,
when there was no previous call or when the descendant doesn't store any
such tags. The @out_new_sync_tag can be populated with a value to be stored
and used the next time.

The @out_repeat can be set to %TRUE when the descendant didn't finish
read of all the changes. In that case the @meta_backend calls this
function again with the @out_new_sync_tag as the @last_sync_tag, but also
notifies about the found changes immediately. The @is_repeat is set
to %TRUE as well in this case, otherwise it's %FALSE.

The descendant can populate also ECalMetaBackendInfo::object of
the @out_created_objects and @out_modified_objects, if known, in which
case this will be used instead of loading it with e_cal_meta_backend_load_component_sync().

It is optional to implement this virtual method by the descendant.
The default implementation calls e_cal_meta_backend_list_existing_sync()
and then compares the list with the current content of the local cache
and populates the respective lists appropriately.

Each output #GSList should be freed with
g_slist_free_full (objects, e_cal_meta_backend_info_free);
when no longer needed.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                         line="254"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
               line="4971">Whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta_backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4927">an #ECalMetaBackend</doc>
            <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
          </instance-parameter>
          <parameter name="last_sync_tag"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4928">optional sync tag from the last check</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="is_repeat" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4929">set to %TRUE when this is the repeated call</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="out_new_sync_tag"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4930">new sync tag to store on success</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
          <parameter name="out_repeat"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4931">whether to repeat this call again; default is %FALSE</doc>
            <type name="gboolean" c:type="gboolean*"/>
          </parameter>
          <parameter name="out_created_objects"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4932">
   a #GSList of #ECalMetaBackendInfo object infos which had been created since
   the last check</doc>
            <type name="GLib.SList" c:type="GSList**">
              <type name="CalMetaBackendInfo"/>
            </type>
          </parameter>
          <parameter name="out_modified_objects"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4935">
   a #GSList of #ECalMetaBackendInfo object infos which had been modified since
   the last check</doc>
            <type name="GLib.SList" c:type="GSList**">
              <type name="CalMetaBackendInfo"/>
            </type>
          </parameter>
          <parameter name="out_removed_objects"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4938">
   a #GSList of #ECalMetaBackendInfo object infos which had been removed since
   the last check</doc>
            <type name="GLib.SList" c:type="GSList**">
              <type name="CalMetaBackendInfo"/>
            </type>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4941">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_connected_writable"
              c:identifier="e_cal_meta_backend_get_connected_writable"
              version="3.26">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
             line="3703">This value has meaning only if e_cal_meta_backend_get_ever_connected()
is %TRUE.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                         line="189"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
               line="3710">Whether the @meta_backend connected to a writable destination.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta_backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="3705">an #ECalMetaBackend</doc>
            <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_ever_connected"
              c:identifier="e_cal_meta_backend_get_ever_connected"
              version="3.26">
        <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                         line="184"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
               line="3645">Whether the @meta_backend ever made a successful connection
   to its destination.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta_backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="3643">an #ECalMetaBackend</doc>
            <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_ssl_error_details"
              c:identifier="e_cal_meta_backend_get_ssl_error_details"
              version="3.28">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
             line="5474">It is optional to implement this virtual method by the descendants.
It is used to receive SSL error details when any online operation
returns E_CLIENT_ERROR, E_CLIENT_ERROR_TLS_NOT_AVAILABLE error.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                         line="312"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
               line="5484">%TRUE, when the SSL error details had been available and
   the out parameters populated, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta_backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5476">an #ECalMetaBackend</doc>
            <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
          </instance-parameter>
          <parameter name="out_certificate_pem"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5477">SSL certificate encoded in PEM format</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
          <parameter name="out_certificate_errors"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5478">bit-or of #GTlsCertificateFlags claiming the certificate errors</doc>
            <type name="Gio.TlsCertificateFlags"
                  c:type="GTlsCertificateFlags*"/>
          </parameter>
        </parameters>
      </method>
      <method name="inline_local_attachments_sync"
              c:identifier="e_cal_meta_backend_inline_local_attachments_sync"
              version="3.26"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
             line="4166">Changes all URL attachments which point to a local file in @component
to inline attachments, aka adds the file content into the @component.
It also populates FILENAME parameter on the attachment.
This is called automatically before e_cal_meta_backend_save_component_sync().

The reverse operation is e_cal_meta_backend_store_inline_attachments_sync().</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                         line="199"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
               line="4180">Whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta_backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4168">an #ECalMetaBackend</doc>
            <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
          </instance-parameter>
          <parameter name="component" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4169">an #ICalComponent to work with</doc>
            <type name="ICalGLib.Component" c:type="ICalComponent*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4170">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="list_existing_sync"
              c:identifier="e_cal_meta_backend_list_existing_sync"
              version="3.26"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
             line="5036">Used to get list of all existing objects on the remote side. The descendant
can optionally provide @out_new_sync_tag, which will be stored on success, if
not %NULL. The descendant can populate also ECalMetaBackendInfo::object of
the @out_existing_objects, if known, in which case this will be used instead
of loading it with e_cal_meta_backend_load_component_sync().

It is mandatory to implement this virtual method by the descendant, unless
it implements its own #ECalMetaBackendClass.get_changes_sync().

The @out_existing_objects #GSList should be freed with
g_slist_free_full (objects, e_cal_meta_backend_info_free);
when no longer needed.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                         line="265"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
               line="5058">Whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta_backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5038">an #ECalMetaBackend</doc>
            <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
          </instance-parameter>
          <parameter name="out_new_sync_tag"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5039">optional return location for a new sync tag</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
          <parameter name="out_existing_objects"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5040">
   a #GSList of #ECalMetaBackendInfo object infos which are stored on the remote side</doc>
            <type name="GLib.SList" c:type="GSList**">
              <type name="CalMetaBackendInfo"/>
            </type>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5042">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="load_component_sync"
              c:identifier="e_cal_meta_backend_load_component_sync"
              version="3.26"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
             line="5104">Loads a component from the remote side. Any detached instances should be
returned together with the master object. The @out_component can be either
a VCALENDAR component, which would contain the master object and all of
its detached instances, eventually also used time zones, or the requested
component of type VEVENT, VJOURNAL or VTODO.

It is mandatory to implement this virtual method by the descendant.

The returned @out_component should be freed with g_object_unref(),
when no longer needed.

The returned @out_extra should be freed with g_free(), when no longer
needed.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                         line="271"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
               line="5128">Whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta_backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5106">an #ECalMetaBackend</doc>
            <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
          </instance-parameter>
          <parameter name="uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5107">a component UID</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="extra"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5108">optional extra data stored with the component, or %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="out_component"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5109">a loaded component, as #ICalComponent</doc>
            <type name="ICalGLib.Component" c:type="ICalComponent**"/>
          </parameter>
          <parameter name="out_extra"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5110">an extra data to store to #ECalCache with this component</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5111">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="merge_instances"
              c:identifier="e_cal_meta_backend_merge_instances"
              version="3.26">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
             line="4006">Merges all the instances provided in @instances list into one VCALENDAR
object, which would eventually contain also all the used timezones.
The @instances list should contain the master object and eventually all
the detached instances for one component (they all have the same UID).

Any TZID property parameters can be replaced with corresponding timezone
location, which will not influence the timezone itself.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                         line="195"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
               line="4020">an #ICalComponent containing a VCALENDAR
   component which consists of all the given instances. Free
   the returned pointer with g_object_unref(), when no longer needed.

See: e_cal_meta_backend_save_component_sync()</doc>
          <type name="ICalGLib.Component" c:type="ICalComponent*"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta_backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4008">an #ECalMetaBackend</doc>
            <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
          </instance-parameter>
          <parameter name="instances" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4009">component instances to merge</doc>
            <type name="GLib.SList" c:type="const GSList*">
              <type name="ECal.Component"/>
            </type>
          </parameter>
          <parameter name="replace_tzid_with_location"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4010">whether to replace TZID-s with locations</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="process_changes_sync"
              c:identifier="e_cal_meta_backend_process_changes_sync"
              version="3.26"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
             line="4710">Processes given changes by updating local cache content accordingly.
The @meta_backend processes the changes like being online and particularly
requires to be online to load created and modified objects when needed.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                         line="236"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
               line="4726">Whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta_backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4712">an #ECalMetaBackend</doc>
            <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
          </instance-parameter>
          <parameter name="created_objects"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4713">
   a #GSList of #ECalMetaBackendInfo object infos which had been created</doc>
            <type name="GLib.SList" c:type="const GSList*">
              <type name="CalMetaBackendInfo"/>
            </type>
          </parameter>
          <parameter name="modified_objects"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4715">
   a #GSList of #ECalMetaBackendInfo object infos which had been modified</doc>
            <type name="GLib.SList" c:type="const GSList*">
              <type name="CalMetaBackendInfo"/>
            </type>
          </parameter>
          <parameter name="removed_objects"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4717">
   a #GSList of #ECalMetaBackendInfo object infos which had been removed</doc>
            <type name="GLib.SList" c:type="const GSList*">
              <type name="CalMetaBackendInfo"/>
            </type>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4719">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="ref_cache"
              c:identifier="e_cal_meta_backend_ref_cache"
              version="3.26">
        <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                         line="194"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
               line="3860">Referenced #ECalCache, which is used by @meta_backend.
   Unref it with g_object_unref() when no longer needed.</doc>
          <type name="CalCache" c:type="ECalCache*"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta_backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="3858">an #ECalMetaBackend</doc>
            <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="refresh_sync"
              c:identifier="e_cal_meta_backend_refresh_sync"
              version="3.26"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
             line="4435">Refreshes the @meta_backend immediately. To just schedule refresh
operation call e_cal_meta_backend_schedule_refresh().</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                         line="221"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
               line="4444">Whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta_backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4437">an #ECalMetaBackend</doc>
            <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4438">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_component_sync"
              c:identifier="e_cal_meta_backend_remove_component_sync"
              version="3.26"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
             line="5287">Removes a component from the remote side, with all its detached instances.
The @object is not %NULL when it's removing locally deleted object
in offline mode. Being it %NULL, the descendant can obtain the object
from the #ECalCache.

It is mandatory to implement this virtual method by the writable descendant.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                         line="290"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
               line="5305">Whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta_backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5289">an #ECalMetaBackend</doc>
            <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
          </instance-parameter>
          <parameter name="conflict_resolution" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5290">an #EConflictResolution to use</doc>
            <type name="EDataServer.ConflictResolution"
                  c:type="EConflictResolution"/>
          </parameter>
          <parameter name="uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5291">a component UID</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="extra"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5292">extra data being saved with the component in the local cache, or %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="object"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5293">corresponding iCalendar object, as stored in the local cache, or %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="opflags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5294">bit-or of #ECalOperationFlags</doc>
            <type name="ECal.OperationFlags" c:type="ECalOperationFlags"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5295">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="requires_reconnect"
              c:identifier="e_cal_meta_backend_requires_reconnect"
              version="3.26">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
             line="5443">Determines, whether current source content requires reconnect of the backend.

It is optional to implement this virtual method by the descendant. The default
implementation compares %E_SOURCE_EXTENSION_AUTHENTICATION and
%E_SOURCE_EXTENSION_WEBDAV_BACKEND, if existing in the source,
with the values after the last successful connect and returns
%TRUE when they changed. It always return %TRUE when there was
no successful connect done yet.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                         line="310"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
               line="5456">%TRUE, when reconnect is required, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta_backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5445">an #ECalMetaBackend</doc>
            <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="save_component_sync"
              c:identifier="e_cal_meta_backend_save_component_sync"
              version="3.26"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
             line="5178">Saves one component into the remote side. The @instances contain the master
object and all the detached instances of the same component (all have the same UID).
When the @overwrite_existing is %TRUE, then the descendant can overwrite an object
with the same UID on the remote side (usually used for modify). The @conflict_resolution
defines what to do when the remote side had made any changes to the object since
the last update.

The descendant can use e_cal_meta_backend_merge_instances() to merge
the instances into one VCALENDAR component, which will contain also
used time zones.

The components in @instances have already converted locally stored attachments
into inline attachments, thus it's not needed to call
e_cal_meta_backend_inline_local_attachments_sync() by the descendant.

The @out_new_uid can be populated with a UID of the saved component as the server
assigned it to it. This UID, if set, is loaded from the remote side afterwards,
also to see whether any changes had been made to the component by the remote side.

The @out_new_extra can be populated with a new extra data to save with the component.
Left it %NULL, to keep the same value as the @extra.

The descendant can use an #E_CLIENT_ERROR_OUT_OF_SYNC error to indicate that
the save failed due to made changes on the remote side, and let the @meta_backend
to resolve this conflict based on the @conflict_resolution on its own.
The #E_CLIENT_ERROR_OUT_OF_SYNC error should not be used when the descendant
is able to resolve the conflicts itself.

It is mandatory to implement this virtual method by the writable descendant.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                         line="279"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
               line="5221">Whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta_backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5180">an #ECalMetaBackend</doc>
            <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
          </instance-parameter>
          <parameter name="overwrite_existing" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5181">%TRUE when can overwrite existing components, %FALSE otherwise</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="conflict_resolution" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5182">one of #EConflictResolution, what to do on conflicts</doc>
            <type name="EDataServer.ConflictResolution"
                  c:type="EConflictResolution"/>
          </parameter>
          <parameter name="instances" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5183">instances of the component to save</doc>
            <type name="GLib.SList" c:type="const GSList*">
              <type name="ECal.Component"/>
            </type>
          </parameter>
          <parameter name="extra"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5184">extra data saved with the components in an #ECalCache</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="opflags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5185">bit-or of #ECalOperationFlags</doc>
            <type name="ECal.OperationFlags" c:type="ECalOperationFlags"/>
          </parameter>
          <parameter name="out_new_uid"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5186">return location for the UID of the saved component</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
          <parameter name="out_new_extra"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5187">return location for the extra data to store with the component</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5188">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="schedule_refresh"
              c:identifier="e_cal_meta_backend_schedule_refresh"
              version="3.26">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
             line="4397">Schedules refresh of the content of the @meta_backend. If there's any
already scheduled, then the function does nothing.

Use e_cal_meta_backend_refresh_sync() to refresh the @meta_backend
immediately.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                         line="219"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta_backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4399">an #ECalMetaBackend</doc>
            <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="search_components_sync"
              c:identifier="e_cal_meta_backend_search_components_sync"
              version="3.26"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
             line="5400">Searches @meta_backend with given expression @expr and returns
found components as a #GSList of #ECalComponent @out_components.
Free the returned @out_components with g_slist_free_full (components, g_object_unref);
when no longer needed.
When the @expr is %NULL, all objects are returned. To get iCal
strings instead, call e_cal_meta_backend_search_sync().

It is optional to implement this virtual method by the descendant.
The default implementation searches @meta_backend's cache. It's also
not required to be online for searching, thus @meta_backend doesn't
ensure it.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                         line="304"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
               line="5420">Whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta_backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5402">an #ECalMetaBackend</doc>
            <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
          </instance-parameter>
          <parameter name="expr"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5403">a search expression, or %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="out_components"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5404">return location for the found #ECalComponent-s</doc>
            <type name="GLib.SList" c:type="GSList**">
              <type name="ECal.Component"/>
            </type>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5405">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="search_sync"
              c:identifier="e_cal_meta_backend_search_sync"
              version="3.26"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
             line="5357">Searches @meta_backend with given expression @expr and returns
found components as a #GSList of iCal strings @out_icalstrings.
Free the returned @out_icalstrings with g_slist_free_full (icalstrings, g_free);
when no longer needed.
When the @expr is %NULL, all objects are returned. To get
#ECalComponent-s instead, call e_cal_meta_backend_search_components_sync().

It is optional to implement this virtual method by the descendant.
The default implementation searches @meta_backend's cache. It's also
not required to be online for searching, thus @meta_backend doesn't
ensure it.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                         line="299"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
               line="5377">Whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta_backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5359">an #ECalMetaBackend</doc>
            <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
          </instance-parameter>
          <parameter name="expr"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5360">a search expression, or %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="out_icalstrings"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5361">return location for the found components as iCal strings</doc>
            <type name="GLib.SList" c:type="GSList**">
              <type name="utf8"/>
            </type>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5362">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_cache"
              c:identifier="e_cal_meta_backend_set_cache"
              glib:set-property="cache"
              version="3.26">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
             line="3805">Sets the @cache as the cache to be used by the @meta_backend.
By default, a cache.db in ECalBackend::cache-dir is created
in the constructed method. This function can be used to override
the default.

Note the @meta_backend adds its own reference to the @cache.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                         line="192"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta_backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="3807">an #ECalMetaBackend</doc>
            <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
          </instance-parameter>
          <parameter name="cache" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="3808">an #ECalCache to use</doc>
            <type name="CalCache" c:type="ECalCache*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_connected_writable"
              c:identifier="e_cal_meta_backend_set_connected_writable"
              version="3.26">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
             line="3672">Sets whether the @meta_backend connected to a writable destination.
This value has meaning only if e_cal_meta_backend_get_ever_connected()
is %TRUE.

This is used by the @meta_backend itself, during the opening phase,
to set the backend writable or not also in the offline mode.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                         line="186"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta_backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="3674">an #ECalMetaBackend</doc>
            <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
          </instance-parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="3675">value to set</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_ever_connected"
              c:identifier="e_cal_meta_backend_set_ever_connected"
              version="3.26">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
             line="3610">Sets whether the @meta_backend ever made a successful connection
to its destination.

This is used by the @meta_backend itself, during the opening phase,
when it had not been connected yet, then it does so immediately, to
eventually report settings error easily.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                         line="181"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta_backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="3612">an #ECalMetaBackend</doc>
            <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
          </instance-parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="3613">value to set</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="split_changes_sync"
              c:identifier="e_cal_meta_backend_split_changes_sync"
              version="3.26"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
             line="4568">Splits @objects into created/modified/removed lists according to current local
cache content. Only the @out_removed_objects can be %NULL, others cannot.
The function modifies @objects by moving its 'data' to corresponding out
lists and sets the @objects 'data' to %NULL.

Each output #GSList should be freed with
g_slist_free_full (objects, e_cal_meta_backend_info_free);
when no longer needed.

The caller is still responsible to free @objects as well.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                         line="228"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
               line="4594">Whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta_backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4570">an #ECalMetaBackend</doc>
            <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
          </instance-parameter>
          <parameter name="objects"
                     direction="inout"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4571">
   a #GSList of #ECalMetaBackendInfo object infos to split</doc>
            <type name="GLib.SList" c:type="GSList*">
              <type name="CalMetaBackendInfo"/>
            </type>
          </parameter>
          <parameter name="out_created_objects"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4573">
   a #GSList of #ECalMetaBackendInfo object infos which had been created</doc>
            <type name="GLib.SList" c:type="GSList**">
              <type name="CalMetaBackendInfo"/>
            </type>
          </parameter>
          <parameter name="out_modified_objects"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4575">
   a #GSList of #ECalMetaBackendInfo object infos which had been modified</doc>
            <type name="GLib.SList" c:type="GSList**">
              <type name="CalMetaBackendInfo"/>
            </type>
          </parameter>
          <parameter name="out_removed_objects"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     nullable="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4577">
   a #GSList of #ECalMetaBackendInfo object infos which had been removed;
   it can be %NULL, to not gather list of removed object infos</doc>
            <type name="GLib.SList" c:type="GSList**">
              <type name="CalMetaBackendInfo"/>
            </type>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4580">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="store_inline_attachments_sync"
              c:identifier="e_cal_meta_backend_store_inline_attachments_sync"
              version="3.26"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
             line="4195">Changes all inline attachments to URL attachments in @component, which
will point to a local file instead. The function expects FILENAME parameter
to be set on the attachment as the file name of it.
This is called automatically after e_cal_meta_backend_load_component_sync().

The reverse operation is e_cal_meta_backend_inline_local_attachments_sync().</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                         line="204"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
               line="4209">Whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta_backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4197">an #ECalMetaBackend</doc>
            <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
          </instance-parameter>
          <parameter name="component" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4198">an #ICalComponent to work with</doc>
            <type name="ICalGLib.Component" c:type="ICalComponent*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4199">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <property name="cache"
                writable="1"
                transfer-ownership="none"
                setter="set_cache">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
             line="3515">The #ECalCache being used for this meta backend.</doc>
        <type name="CalCache"/>
      </property>
      <field name="parent" readable="0" private="1">
        <type name="CalBackendSync" c:type="ECalBackendSync"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="CalMetaBackendPrivate" c:type="ECalMetaBackendPrivate*"/>
      </field>
      <glib:signal name="refresh-completed" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="source-changed" when="last" version="3.26">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
             line="3541">This signal is emitted whenever the underlying backend #ESource
changes. Unlike the #ESource's 'changed' signal this one is
tight to the #ECalMetaBackend itself and is emitted from
a dedicated thread, thus it doesn't block the main thread.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="CalMetaBackendClass"
            c:type="ECalMetaBackendClass"
            glib:is-gtype-struct-for="CalMetaBackend"
            version="3.26">
      <doc xml:space="preserve"
           filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
           line="89">Class structure for the #ECalMetaBackend class.</doc>
      <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                       line="175"/>
      <field name="parent_class" readable="0" private="1">
        <type name="CalBackendSyncClass" c:type="ECalBackendSyncClass"/>
      </field>
      <field name="connect_sync">
        <callback name="connect_sync" throws="1">
          <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                           line="101"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4868">Whether succeeded.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="meta_backend" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="4833">an #ECalMetaBackend</doc>
              <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
            </parameter>
            <parameter name="credentials"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="4834">an #ENamedParameters with previously used credentials, or %NULL</doc>
              <type name="EDataServer.NamedParameters"
                    c:type="const ENamedParameters*"/>
            </parameter>
            <parameter name="out_auth_result"
                       direction="out"
                       caller-allocates="0"
                       transfer-ownership="full">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="4835">an #ESourceAuthenticationResult with an authentication result</doc>
              <type name="EDataServer.SourceAuthenticationResult"
                    c:type="ESourceAuthenticationResult*"/>
            </parameter>
            <parameter name="out_certificate_pem"
                       direction="out"
                       caller-allocates="0"
                       transfer-ownership="full">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="4836">a PEM encoded certificate on failure, or %NULL</doc>
              <type name="utf8" c:type="gchar**"/>
            </parameter>
            <parameter name="out_certificate_errors"
                       direction="out"
                       caller-allocates="0"
                       transfer-ownership="full">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="4837">a #GTlsCertificateFlags on failure, or 0</doc>
              <type name="Gio.TlsCertificateFlags"
                    c:type="GTlsCertificateFlags*"/>
            </parameter>
            <parameter name="cancellable"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="4838">optional #GCancellable object, or %NULL</doc>
              <type name="Gio.Cancellable" c:type="GCancellable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="disconnect_sync">
        <callback name="disconnect_sync" throws="1">
          <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                           line="108"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4905">Whether succeeded.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="meta_backend" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="4894">an #ECalMetaBackend</doc>
              <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
            </parameter>
            <parameter name="cancellable"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="4895">optional #GCancellable object, or %NULL</doc>
              <type name="Gio.Cancellable" c:type="GCancellable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_changes_sync">
        <callback name="get_changes_sync" throws="1">
          <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                           line="112"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="4971">Whether succeeded.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="meta_backend" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="4927">an #ECalMetaBackend</doc>
              <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
            </parameter>
            <parameter name="last_sync_tag"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="4928">optional sync tag from the last check</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="is_repeat" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="4929">set to %TRUE when this is the repeated call</doc>
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
            <parameter name="out_new_sync_tag"
                       direction="out"
                       caller-allocates="0"
                       transfer-ownership="full">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="4930">new sync tag to store on success</doc>
              <type name="utf8" c:type="gchar**"/>
            </parameter>
            <parameter name="out_repeat"
                       direction="out"
                       caller-allocates="0"
                       transfer-ownership="full">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="4931">whether to repeat this call again; default is %FALSE</doc>
              <type name="gboolean" c:type="gboolean*"/>
            </parameter>
            <parameter name="out_created_objects"
                       direction="out"
                       caller-allocates="0"
                       transfer-ownership="full">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="4932">
   a #GSList of #ECalMetaBackendInfo object infos which had been created since
   the last check</doc>
              <type name="GLib.SList" c:type="GSList**">
                <type name="CalMetaBackendInfo"/>
              </type>
            </parameter>
            <parameter name="out_modified_objects"
                       direction="out"
                       caller-allocates="0"
                       transfer-ownership="full">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="4935">
   a #GSList of #ECalMetaBackendInfo object infos which had been modified since
   the last check</doc>
              <type name="GLib.SList" c:type="GSList**">
                <type name="CalMetaBackendInfo"/>
              </type>
            </parameter>
            <parameter name="out_removed_objects"
                       direction="out"
                       caller-allocates="0"
                       transfer-ownership="full">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="4938">
   a #GSList of #ECalMetaBackendInfo object infos which had been removed since
   the last check</doc>
              <type name="GLib.SList" c:type="GSList**">
                <type name="CalMetaBackendInfo"/>
              </type>
            </parameter>
            <parameter name="cancellable"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="4941">optional #GCancellable object, or %NULL</doc>
              <type name="Gio.Cancellable" c:type="GCancellable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="list_existing_sync">
        <callback name="list_existing_sync" throws="1">
          <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                           line="122"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5058">Whether succeeded.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="meta_backend" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="5038">an #ECalMetaBackend</doc>
              <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
            </parameter>
            <parameter name="out_new_sync_tag"
                       direction="out"
                       caller-allocates="0"
                       transfer-ownership="full">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="5039">optional return location for a new sync tag</doc>
              <type name="utf8" c:type="gchar**"/>
            </parameter>
            <parameter name="out_existing_objects"
                       direction="out"
                       caller-allocates="0"
                       transfer-ownership="full">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="5040">
   a #GSList of #ECalMetaBackendInfo object infos which are stored on the remote side</doc>
              <type name="GLib.SList" c:type="GSList**">
                <type name="CalMetaBackendInfo"/>
              </type>
            </parameter>
            <parameter name="cancellable"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="5042">optional #GCancellable object, or %NULL</doc>
              <type name="Gio.Cancellable" c:type="GCancellable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="load_component_sync">
        <callback name="load_component_sync" throws="1">
          <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                           line="127"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5128">Whether succeeded.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="meta_backend" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="5106">an #ECalMetaBackend</doc>
              <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
            </parameter>
            <parameter name="uid" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="5107">a component UID</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="extra"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="5108">optional extra data stored with the component, or %NULL</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="out_component"
                       direction="out"
                       caller-allocates="0"
                       transfer-ownership="full">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="5109">a loaded component, as #ICalComponent</doc>
              <type name="ICalGLib.Component" c:type="ICalComponent**"/>
            </parameter>
            <parameter name="out_extra"
                       direction="out"
                       caller-allocates="0"
                       transfer-ownership="full">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="5110">an extra data to store to #ECalCache with this component</doc>
              <type name="utf8" c:type="gchar**"/>
            </parameter>
            <parameter name="cancellable"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="5111">optional #GCancellable object, or %NULL</doc>
              <type name="Gio.Cancellable" c:type="GCancellable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="save_component_sync">
        <callback name="save_component_sync" throws="1">
          <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                           line="134"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5221">Whether succeeded.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="meta_backend" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="5180">an #ECalMetaBackend</doc>
              <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
            </parameter>
            <parameter name="overwrite_existing" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="5181">%TRUE when can overwrite existing components, %FALSE otherwise</doc>
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
            <parameter name="conflict_resolution" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="5182">one of #EConflictResolution, what to do on conflicts</doc>
              <type name="EDataServer.ConflictResolution"
                    c:type="EConflictResolution"/>
            </parameter>
            <parameter name="instances" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="5183">instances of the component to save</doc>
              <type name="GLib.SList" c:type="const GSList*">
                <type name="ECal.Component"/>
              </type>
            </parameter>
            <parameter name="extra"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="5184">extra data saved with the components in an #ECalCache</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="opflags" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="5185">bit-or of #ECalOperationFlags</doc>
              <type name="ECal.OperationFlags" c:type="ECalOperationFlags"/>
            </parameter>
            <parameter name="out_new_uid"
                       direction="out"
                       caller-allocates="0"
                       transfer-ownership="full">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="5186">return location for the UID of the saved component</doc>
              <type name="utf8" c:type="gchar**"/>
            </parameter>
            <parameter name="out_new_extra"
                       direction="out"
                       caller-allocates="0"
                       transfer-ownership="full">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="5187">return location for the extra data to store with the component</doc>
              <type name="utf8" c:type="gchar**"/>
            </parameter>
            <parameter name="cancellable"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="5188">optional #GCancellable object, or %NULL</doc>
              <type name="Gio.Cancellable" c:type="GCancellable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="remove_component_sync">
        <callback name="remove_component_sync" throws="1">
          <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                           line="144"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5305">Whether succeeded.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="meta_backend" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="5289">an #ECalMetaBackend</doc>
              <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
            </parameter>
            <parameter name="conflict_resolution" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="5290">an #EConflictResolution to use</doc>
              <type name="EDataServer.ConflictResolution"
                    c:type="EConflictResolution"/>
            </parameter>
            <parameter name="uid" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="5291">a component UID</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="extra"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="5292">extra data being saved with the component in the local cache, or %NULL</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="object"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="5293">corresponding iCalendar object, as stored in the local cache, or %NULL</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="opflags" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="5294">bit-or of #ECalOperationFlags</doc>
              <type name="ECal.OperationFlags" c:type="ECalOperationFlags"/>
            </parameter>
            <parameter name="cancellable"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="5295">optional #GCancellable object, or %NULL</doc>
              <type name="Gio.Cancellable" c:type="GCancellable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="search_sync">
        <callback name="search_sync" throws="1">
          <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                           line="153"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5377">Whether succeeded.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="meta_backend" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="5359">an #ECalMetaBackend</doc>
              <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
            </parameter>
            <parameter name="expr"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="5360">a search expression, or %NULL</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="out_icalstrings"
                       direction="out"
                       caller-allocates="0"
                       transfer-ownership="full">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="5361">return location for the found components as iCal strings</doc>
              <type name="GLib.SList" c:type="GSList**">
                <type name="utf8"/>
              </type>
            </parameter>
            <parameter name="cancellable"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="5362">optional #GCancellable object, or %NULL</doc>
              <type name="Gio.Cancellable" c:type="GCancellable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="search_components_sync">
        <callback name="search_components_sync" throws="1">
          <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                           line="158"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5420">Whether succeeded.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="meta_backend" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="5402">an #ECalMetaBackend</doc>
              <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
            </parameter>
            <parameter name="expr"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="5403">a search expression, or %NULL</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="out_components"
                       direction="out"
                       caller-allocates="0"
                       transfer-ownership="full">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="5404">return location for the found #ECalComponent-s</doc>
              <type name="GLib.SList" c:type="GSList**">
                <type name="ECal.Component"/>
              </type>
            </parameter>
            <parameter name="cancellable"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="5405">optional #GCancellable object, or %NULL</doc>
              <type name="Gio.Cancellable" c:type="GCancellable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="requires_reconnect">
        <callback name="requires_reconnect">
          <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                           line="164"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5456">%TRUE, when reconnect is required, %FALSE otherwise.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="meta_backend" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="5445">an #ECalMetaBackend</doc>
              <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="source_changed">
        <callback name="source_changed">
          <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                           line="167"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="meta_backend" transfer-ownership="none">
              <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_ssl_error_details">
        <callback name="get_ssl_error_details">
          <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                           line="169"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="5484">%TRUE, when the SSL error details had been available and
   the out parameters populated, %FALSE otherwise.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="meta_backend" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="5476">an #ECalMetaBackend</doc>
              <type name="CalMetaBackend" c:type="ECalMetaBackend*"/>
            </parameter>
            <parameter name="out_certificate_pem"
                       direction="out"
                       caller-allocates="0"
                       transfer-ownership="full">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="5477">SSL certificate encoded in PEM format</doc>
              <type name="utf8" c:type="gchar**"/>
            </parameter>
            <parameter name="out_certificate_errors"
                       direction="out"
                       caller-allocates="0"
                       transfer-ownership="full">
              <doc xml:space="preserve"
                   filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                   line="5478">bit-or of #GTlsCertificateFlags claiming the certificate errors</doc>
              <type name="Gio.TlsCertificateFlags"
                    c:type="GTlsCertificateFlags*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="reserved" readable="0" private="1">
        <array zero-terminated="0" fixed-size="9">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="CalMetaBackendInfo"
            c:type="ECalMetaBackendInfo"
            glib:type-name="ECalMetaBackendInfo"
            glib:get-type="e_cal_meta_backend_info_get_type"
            c:symbol-prefix="cal_meta_backend_info">
      <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                       line="56"/>
      <field name="uid" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="revision" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="object" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="extra" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <constructor name="new"
                   c:identifier="e_cal_meta_backend_info_new"
                   version="3.26">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
             line="170">Creates a new #ECalMetaBackendInfo prefilled with the given values.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                         line="63"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
               line="179">A new #ECalMetaBackendInfo. Free it with
   e_cal_meta_backend_info_free(), when no longer needed.</doc>
          <type name="CalMetaBackendInfo" c:type="ECalMetaBackendInfo*"/>
        </return-value>
        <parameters>
          <parameter name="uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="172">a component UID; cannot be %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="revision"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="173">the component revision; can be %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="object"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="174">the component object as an iCalendar string; can be %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="extra"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="175">extra backend-specific data; can be %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="copy"
              c:identifier="e_cal_meta_backend_info_copy"
              version="3.26">
        <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                         line="68"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
               line="207">Copy of the given @src. Free it with
   e_cal_meta_backend_info_free() when no longer needed.
   If the @src is %NULL, then returns %NULL as well.</doc>
          <type name="CalMetaBackendInfo" c:type="ECalMetaBackendInfo*"/>
        </return-value>
        <parameters>
          <instance-parameter name="src"
                              transfer-ownership="none"
                              nullable="1"
                              allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="205">a source ECalMetaBackendInfo to copy, or %NULL</doc>
            <type name="CalMetaBackendInfo"
                  c:type="const ECalMetaBackendInfo*"/>
          </instance-parameter>
        </parameters>
      </method>
      <function name="free"
                c:identifier="e_cal_meta_backend_info_free"
                version="3.26">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
             line="222">Frees the @ptr structure, previously allocated with e_cal_meta_backend_info_new()
or e_cal_meta_backend_info_copy().</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                         line="69"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="ptr"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
                 line="224">an #ECalMetaBackendInfo</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </function>
    </record>
    <record name="CalMetaBackendPrivate"
            c:type="ECalMetaBackendPrivate"
            disguised="1">
      <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                       line="73"/>
    </record>
    <function-macro name="DATA_CAL"
                    c:identifier="E_DATA_CAL"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-data-cal.h"
                       line="30"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="DATA_CAL_CLASS"
                    c:identifier="E_DATA_CAL_CLASS"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-data-cal.h"
                       line="33"/>
      <parameters>
        <parameter name="cls">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="DATA_CAL_FACTORY"
                    c:identifier="E_DATA_CAL_FACTORY"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-data-cal-factory.h"
                       line="32"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="DATA_CAL_FACTORY_CLASS"
                    c:identifier="E_DATA_CAL_FACTORY_CLASS"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-data-cal-factory.h"
                       line="35"/>
      <parameters>
        <parameter name="cls">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="DATA_CAL_FACTORY_GET_CLASS"
                    c:identifier="E_DATA_CAL_FACTORY_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-data-cal-factory.h"
                       line="44"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="DATA_CAL_GET_CLASS"
                    c:identifier="E_DATA_CAL_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-data-cal.h"
                       line="42"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="DATA_CAL_VIEW"
                    c:identifier="E_DATA_CAL_VIEW"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-data-cal-view.h"
                       line="31"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="DATA_CAL_VIEW_CLASS"
                    c:identifier="E_DATA_CAL_VIEW_CLASS"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-data-cal-view.h"
                       line="34"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="DATA_CAL_VIEW_GET_CLASS"
                    c:identifier="E_DATA_CAL_VIEW_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-data-cal-view.h"
                       line="43"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="DataCal"
           c:symbol-prefix="data_cal"
           c:type="EDataCal"
           parent="GObject.Object"
           glib:type-name="EDataCal"
           glib:get-type="e_data_cal_get_type"
           glib:type-struct="DataCalClass">
      <source-position filename="src/calendar/libedata-cal/e-data-cal.h"
                       line="62"/>
      <implements name="Gio.Initable"/>
      <constructor name="new" c:identifier="e_data_cal_new" throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-data-cal.c"
             line="2527">Creates a new #EDataCal and exports the Calendar D-Bus interface
on @connection at @object_path.  The #EDataCal handles incoming remote
method invocations and forwards them to the @backend.  If the Calendar
interface fails to export, the function sets @error and returns %NULL.</doc>
        <source-position filename="src/calendar/libedata-cal/e-data-cal.h"
                         line="65"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-data-cal.c"
               line="2539">an #EDataCal, or %NULL on error</doc>
          <type name="DataCal" c:type="EDataCal*"/>
        </return-value>
        <parameters>
          <parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="2529">an #ECalBackend</doc>
            <type name="CalBackend" c:type="_ECalBackend*"/>
          </parameter>
          <parameter name="connection" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="2530">a #GDBusConnection</doc>
            <type name="Gio.DBusConnection" c:type="GDBusConnection*"/>
          </parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="2531">object path for the D-Bus interface</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_connection"
              c:identifier="e_data_cal_get_connection"
              glib:get-property="connection"
              version="3.8">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-data-cal.c"
             line="2581">Returns the #GDBusConnection on which the Calendar D-Bus interface
is exported.</doc>
        <source-position filename="src/calendar/libedata-cal/e-data-cal.h"
                         line="72"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-data-cal.c"
               line="2588">the #GDBusConnection</doc>
          <type name="Gio.DBusConnection" c:type="GDBusConnection*"/>
        </return-value>
        <parameters>
          <instance-parameter name="cal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="2583">an #EDataCal</doc>
            <type name="DataCal" c:type="EDataCal*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_object_path"
              c:identifier="e_data_cal_get_object_path"
              glib:get-property="object-path"
              version="3.8">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-data-cal.c"
             line="2600">Returns the object path at which the Calendar D-Bus interface is
exported.</doc>
        <source-position filename="src/calendar/libedata-cal/e-data-cal.h"
                         line="73"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-data-cal.c"
               line="2607">the object path</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="cal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="2602">an #EDataCal</doc>
            <type name="DataCal" c:type="EDataCal*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="ref_backend"
              c:identifier="e_data_cal_ref_backend"
              version="3.10">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-data-cal.c"
             line="2559">Returns the #ECalBackend to which incoming remote method invocations
are being forwarded.

The returned #ECalBackend is referenced for thread-safety and should
be unreferenced with g_object_unref() when finished with it.</doc>
        <source-position filename="src/calendar/libedata-cal/e-data-cal.h"
                         line="70"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-data-cal.c"
               line="2569">an #ECalBackend</doc>
          <type name="CalBackend" c:type="_ECalBackend*"/>
        </return-value>
        <parameters>
          <instance-parameter name="cal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="2561">an #EDataCal</doc>
            <type name="DataCal" c:type="EDataCal*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="report_backend_property_changed"
              c:identifier="e_data_cal_report_backend_property_changed"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-data-cal.c"
             line="2135">Notifies client about certain property value change</doc>
        <source-position filename="src/calendar/libedata-cal/e-data-cal.h"
                         line="144"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="cal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="2137">an #EDataCal</doc>
            <type name="DataCal" c:type="EDataCal*"/>
          </instance-parameter>
          <parameter name="prop_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="2138">property name</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="prop_value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="2139">new property value</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="report_error"
              c:identifier="e_data_cal_report_error"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-data-cal.c"
             line="2076">Emits an error message, thus the clients can be notified about it.</doc>
        <source-position filename="src/calendar/libedata-cal/e-data-cal.h"
                         line="139"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="cal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="2078">an #EDataCal</doc>
            <type name="DataCal" c:type="EDataCal*"/>
          </instance-parameter>
          <parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="2079">an error message to report</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="report_free_busy_data"
              c:identifier="e_data_cal_report_free_busy_data"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-data-cal.c"
             line="2101">Reports result of a free/busy query on the @cal.</doc>
        <source-position filename="src/calendar/libedata-cal/e-data-cal.h"
                         line="141"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="cal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="2103">an #EDataCal</doc>
            <type name="DataCal" c:type="EDataCal*"/>
          </instance-parameter>
          <parameter name="freebusy" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="2104">a #GSList of free/busy components encoded as string</doc>
            <type name="GLib.SList" c:type="const GSList*">
              <type name="utf8"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="respond_add_timezone"
              c:identifier="e_data_cal_respond_add_timezone"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-data-cal.c"
             line="2038">Notifies listeners of the completion of the add_timezone method call.</doc>
        <source-position filename="src/calendar/libedata-cal/e-data-cal.h"
                         line="136"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="cal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="2040">A calendar client interface.</doc>
            <type name="DataCal" c:type="EDataCal*"/>
          </instance-parameter>
          <parameter name="opid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="2041">associated operation id</doc>
            <type name="guint32" c:type="guint32"/>
          </parameter>
          <parameter name="error" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="2042">Operation error, if any, automatically freed if passed it.</doc>
            <type name="GLib.Error" c:type="GError*"/>
          </parameter>
        </parameters>
      </method>
      <method name="respond_create_objects"
              c:identifier="e_data_cal_respond_create_objects"
              version="3.6">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-data-cal.c"
             line="1571">Notifies listeners of the completion of the create_objects method call.</doc>
        <source-position filename="src/calendar/libedata-cal/e-data-cal.h"
                         line="95"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="cal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1573">A calendar client interface.</doc>
            <type name="DataCal" c:type="EDataCal*"/>
          </instance-parameter>
          <parameter name="opid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1574">associated operation id</doc>
            <type name="guint32" c:type="guint32"/>
          </parameter>
          <parameter name="error" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1575">Operation error, if any, automatically freed if passed it.</doc>
            <type name="GLib.Error" c:type="GError*"/>
          </parameter>
          <parameter name="uids" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1576">UIDs of the objects created.</doc>
            <type name="GLib.SList" c:type="const GSList*">
              <type name="utf8"/>
            </type>
          </parameter>
          <parameter name="new_components" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1577">The newly created #ECalComponent objects.</doc>
            <type name="GLib.SList" c:type="GSList*">
              <type name="ECal.Component"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="respond_discard_alarm"
              c:identifier="e_data_cal_respond_discard_alarm"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-data-cal.c"
             line="1955">Notifies listeners of the completion of the discard_alarm method call.</doc>
        <source-position filename="src/calendar/libedata-cal/e-data-cal.h"
                         line="128"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="cal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1957">A calendar client interface.</doc>
            <type name="DataCal" c:type="EDataCal*"/>
          </instance-parameter>
          <parameter name="opid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1958">associated operation id</doc>
            <type name="guint32" c:type="guint32"/>
          </parameter>
          <parameter name="error" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1959">Operation error, if any, automatically freed if passed it.</doc>
            <type name="GLib.Error" c:type="GError*"/>
          </parameter>
        </parameters>
      </method>
      <method name="respond_get_attachment_uris"
              c:identifier="e_data_cal_respond_get_attachment_uris"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-data-cal.c"
             line="1905">Notifies listeners of the completion of the get_attachment_uris method call.</doc>
        <source-position filename="src/calendar/libedata-cal/e-data-cal.h"
                         line="123"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="cal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1907">A calendar client interface.</doc>
            <type name="DataCal" c:type="EDataCal*"/>
          </instance-parameter>
          <parameter name="opid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1908">associated operation id</doc>
            <type name="guint32" c:type="guint32"/>
          </parameter>
          <parameter name="error" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1909">Operation error, if any, automatically freed if passed it.</doc>
            <type name="GLib.Error" c:type="GError*"/>
          </parameter>
          <parameter name="attachment_uris" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1910">List of retrieved attachment uri's.</doc>
            <type name="GLib.SList" c:type="const GSList*">
              <type name="utf8"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="respond_get_free_busy"
              c:identifier="e_data_cal_respond_get_free_busy"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-data-cal.c"
             line="1519">Notifies listeners of the completion of the get_free_busy method call.
To pass actual free/busy objects to the client asynchronously
use e_data_cal_report_free_busy_data(), but the @freebusy should contain
all the objects being used in e_data_cal_report_free_busy_data().</doc>
        <source-position filename="src/calendar/libedata-cal/e-data-cal.h"
                         line="90"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="cal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1521">A calendar client interface.</doc>
            <type name="DataCal" c:type="EDataCal*"/>
          </instance-parameter>
          <parameter name="opid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1522">associated operation id</doc>
            <type name="guint32" c:type="guint32"/>
          </parameter>
          <parameter name="error" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1523">Operation error, if any, automatically freed if passed it.</doc>
            <type name="GLib.Error" c:type="GError*"/>
          </parameter>
          <parameter name="freebusy" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1524">a #GSList of iCalendar strings with all gathered free/busy components.</doc>
            <type name="GLib.SList" c:type="const GSList*">
              <type name="utf8"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="respond_get_object"
              c:identifier="e_data_cal_respond_get_object"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-data-cal.c"
             line="1411">Notifies listeners of the completion of the get_object method call.</doc>
        <source-position filename="src/calendar/libedata-cal/e-data-cal.h"
                         line="81"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="cal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1413">A calendar client interface.</doc>
            <type name="DataCal" c:type="EDataCal*"/>
          </instance-parameter>
          <parameter name="opid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1414">associated operation id</doc>
            <type name="guint32" c:type="guint32"/>
          </parameter>
          <parameter name="error" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1415">Operation error, if any, automatically freed if passed it.</doc>
            <type name="GLib.Error" c:type="GError*"/>
          </parameter>
          <parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1416">The object retrieved as an iCalendar string.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="respond_get_object_list"
              c:identifier="e_data_cal_respond_get_object_list"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-data-cal.c"
             line="1464">Notifies listeners of the completion of the get_object_list method call.</doc>
        <source-position filename="src/calendar/libedata-cal/e-data-cal.h"
                         line="85"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="cal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1466">A calendar client interface.</doc>
            <type name="DataCal" c:type="EDataCal*"/>
          </instance-parameter>
          <parameter name="opid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1467">associated operation id</doc>
            <type name="guint32" c:type="guint32"/>
          </parameter>
          <parameter name="error" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1468">Operation error, if any, automatically freed if passed it.</doc>
            <type name="GLib.Error" c:type="GError*"/>
          </parameter>
          <parameter name="objects" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1469">List of retrieved objects.</doc>
            <type name="GLib.SList" c:type="const GSList*">
              <type name="utf8"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="respond_get_timezone"
              c:identifier="e_data_cal_respond_get_timezone"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-data-cal.c"
             line="1993">Notifies listeners of the completion of the get_timezone method call.</doc>
        <source-position filename="src/calendar/libedata-cal/e-data-cal.h"
                         line="132"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="cal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1995">A calendar client interface.</doc>
            <type name="DataCal" c:type="EDataCal*"/>
          </instance-parameter>
          <parameter name="opid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1996">associated operation id</doc>
            <type name="guint32" c:type="guint32"/>
          </parameter>
          <parameter name="error" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1997">Operation error, if any, automatically freed if passed it.</doc>
            <type name="GLib.Error" c:type="GError*"/>
          </parameter>
          <parameter name="tzobject" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1998">The requested timezone as an iCalendar string.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="respond_modify_objects"
              c:identifier="e_data_cal_respond_modify_objects"
              version="3.6">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-data-cal.c"
             line="1640">Notifies listeners of the completion of the modify_objects method call.</doc>
        <source-position filename="src/calendar/libedata-cal/e-data-cal.h"
                         line="101"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="cal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1642">A calendar client interface.</doc>
            <type name="DataCal" c:type="EDataCal*"/>
          </instance-parameter>
          <parameter name="opid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1643">associated operation id</doc>
            <type name="guint32" c:type="guint32"/>
          </parameter>
          <parameter name="error" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1644">Operation error, if any, automatically freed if passed it.</doc>
            <type name="GLib.Error" c:type="GError*"/>
          </parameter>
          <parameter name="old_components" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1645">The old #ECalComponent(s).</doc>
            <type name="GLib.SList" c:type="GSList*">
              <type name="ECal.Component"/>
            </type>
          </parameter>
          <parameter name="new_components" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1646">The new #ECalComponent(s).</doc>
            <type name="GLib.SList" c:type="GSList*">
              <type name="ECal.Component"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="respond_open"
              c:identifier="e_data_cal_respond_open"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-data-cal.c"
             line="1335">Notifies listeners of the completion of the open method call.</doc>
        <source-position filename="src/calendar/libedata-cal/e-data-cal.h"
                         line="75"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="cal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1337">A calendar client interface.</doc>
            <type name="DataCal" c:type="EDataCal*"/>
          </instance-parameter>
          <parameter name="opid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1338">associated operation id</doc>
            <type name="guint32" c:type="guint32"/>
          </parameter>
          <parameter name="error" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1339">Operation error, if any, automatically freed if passed it.</doc>
            <type name="GLib.Error" c:type="GError*"/>
          </parameter>
        </parameters>
      </method>
      <method name="respond_receive_objects"
              c:identifier="e_data_cal_respond_receive_objects"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-data-cal.c"
             line="1812">Notifies listeners of the completion of the receive_objects method call.</doc>
        <source-position filename="src/calendar/libedata-cal/e-data-cal.h"
                         line="114"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="cal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1814">A calendar client interface.</doc>
            <type name="DataCal" c:type="EDataCal*"/>
          </instance-parameter>
          <parameter name="opid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1815">associated operation id</doc>
            <type name="guint32" c:type="guint32"/>
          </parameter>
          <parameter name="error" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1816">Operation error, if any, automatically freed if passed it.</doc>
            <type name="GLib.Error" c:type="GError*"/>
          </parameter>
        </parameters>
      </method>
      <method name="respond_refresh"
              c:identifier="e_data_cal_respond_refresh"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-data-cal.c"
             line="1373">Notifies listeners of the completion of the refresh method call.</doc>
        <source-position filename="src/calendar/libedata-cal/e-data-cal.h"
                         line="78"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="cal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1375">A calendar client interface.</doc>
            <type name="DataCal" c:type="EDataCal*"/>
          </instance-parameter>
          <parameter name="opid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1376">associated operation id</doc>
            <type name="guint32" c:type="guint32"/>
          </parameter>
          <parameter name="error" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1377">Operation error, if any, automatically freed if passed it.</doc>
            <type name="GLib.Error" c:type="GError*"/>
          </parameter>
        </parameters>
      </method>
      <method name="respond_remove_objects"
              c:identifier="e_data_cal_respond_remove_objects"
              version="3.6">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-data-cal.c"
             line="1716">Notifies listeners of the completion of the remove_objects method call.</doc>
        <source-position filename="src/calendar/libedata-cal/e-data-cal.h"
                         line="107"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="cal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1718">A calendar client interface.</doc>
            <type name="DataCal" c:type="EDataCal*"/>
          </instance-parameter>
          <parameter name="opid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1719">associated operation id</doc>
            <type name="guint32" c:type="guint32"/>
          </parameter>
          <parameter name="error" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1720">Operation error, if any, automatically freed if passed it.</doc>
            <type name="GLib.Error" c:type="GError*"/>
          </parameter>
          <parameter name="ids" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1721">IDs of the removed objects.</doc>
            <type name="GLib.SList" c:type="const GSList*">
              <type name="ECal.ComponentId"/>
            </type>
          </parameter>
          <parameter name="old_components" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1722">The old #ECalComponent(s).</doc>
            <type name="GLib.SList" c:type="GSList*">
              <type name="ECal.Component"/>
            </type>
          </parameter>
          <parameter name="new_components" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1723">The new #ECalComponent(s).
   They will not be NULL only when removing instances of recurring appointments.</doc>
            <type name="GLib.SList" c:type="GSList*">
              <type name="ECal.Component"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="respond_send_objects"
              c:identifier="e_data_cal_respond_send_objects"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-data-cal.c"
             line="1850">Notifies listeners of the completion of the send_objects method call.</doc>
        <source-position filename="src/calendar/libedata-cal/e-data-cal.h"
                         line="118"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="cal" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1852">A calendar client interface.</doc>
            <type name="DataCal" c:type="EDataCal*"/>
          </instance-parameter>
          <parameter name="opid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1853">associated operation id</doc>
            <type name="guint32" c:type="guint32"/>
          </parameter>
          <parameter name="error" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1854">Operation error, if any, automatically freed if passed it.</doc>
            <type name="GLib.Error" c:type="GError*"/>
          </parameter>
          <parameter name="users" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1855">List of users.</doc>
            <type name="GLib.SList" c:type="const GSList*">
              <type name="utf8"/>
            </type>
          </parameter>
          <parameter name="calobj" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal.c"
                 line="1856">An iCalendar string representing the object sent.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="backend"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="CalBackend"/>
      </property>
      <property name="connection"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_connection">
        <type name="Gio.DBusConnection"/>
      </property>
      <property name="object-path"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_object_path">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="DataCalPrivate" c:type="EDataCalPrivate*"/>
      </field>
    </class>
    <record name="DataCalClass"
            c:type="EDataCalClass"
            glib:is-gtype-struct-for="DataCal">
      <source-position filename="src/calendar/libedata-cal/e-data-cal.h"
                       line="62"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="DataCalFactory"
           c:symbol-prefix="data_cal_factory"
           c:type="EDataCalFactory"
           parent="EBackend.DataFactory"
           glib:type-name="EDataCalFactory"
           glib:get-type="e_data_cal_factory_get_type"
           glib:type-struct="DataCalFactoryClass">
      <source-position filename="src/calendar/libedata-cal/e-data-cal-factory.h"
                       line="78"/>
      <implements name="EDataServer.Extensible"/>
      <implements name="Gio.Initable"/>
      <constructor name="new" c:identifier="e_data_cal_factory_new" throws="1">
        <source-position filename="src/calendar/libedata-cal/e-data-cal-factory.h"
                         line="81"/>
        <return-value transfer-ownership="full">
          <type name="EBackend.DBusServer" c:type="EDBusServer*"/>
        </return-value>
        <parameters>
          <parameter name="backend_per_process" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </constructor>
      <field name="parent">
        <type name="EBackend.DataFactory" c:type="EDataFactory"/>
      </field>
      <field name="priv">
        <type name="DataCalFactoryPrivate" c:type="EDataCalFactoryPrivate*"/>
      </field>
    </class>
    <record name="DataCalFactoryClass"
            c:type="EDataCalFactoryClass"
            glib:is-gtype-struct-for="DataCalFactory">
      <source-position filename="src/calendar/libedata-cal/e-data-cal-factory.h"
                       line="78"/>
      <field name="parent_class">
        <type name="EBackend.DataFactoryClass" c:type="EDataFactoryClass"/>
      </field>
    </record>
    <record name="DataCalFactoryPrivate"
            c:type="EDataCalFactoryPrivate"
            disguised="1">
      <source-position filename="src/calendar/libedata-cal/e-data-cal-factory.h"
                       line="69"/>
    </record>
    <record name="DataCalPrivate" c:type="EDataCalPrivate" disguised="1">
      <source-position filename="src/calendar/libedata-cal/e-data-cal.h"
                       line="53"/>
    </record>
    <class name="DataCalView"
           c:symbol-prefix="data_cal_view"
           c:type="EDataCalView"
           parent="GObject.Object"
           glib:type-name="EDataCalView"
           glib:get-type="e_data_cal_view_get_type"
           glib:type-struct="DataCalViewClass">
      <source-position filename="src/calendar/libedata-cal/e-data-cal-view.h"
                       line="64"/>
      <implements name="Gio.Initable"/>
      <constructor name="new" c:identifier="e_data_cal_view_new" throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-data-cal-view.c"
             line="617">Creates a new #EDataCalView and exports its D-Bus interface on
@connection at @object_path.  If an error occurs while exporting,
the function sets @error and returns %NULL.</doc>
        <source-position filename="src/calendar/libedata-cal/e-data-cal-view.h"
                         line="67"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-data-cal-view.c"
               line="629">a new #EDataCalView, or %NULL on error</doc>
          <type name="DataCalView" c:type="EDataCalView*"/>
        </return-value>
        <parameters>
          <parameter name="backend"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal-view.c"
                 line="619">an #ECalBackend</doc>
            <type name="gpointer" c:type="_ECalBackend*"/>
          </parameter>
          <parameter name="sexp"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal-view.c"
                 line="620">an #ECalBackendSExp</doc>
            <type name="gpointer" c:type="_ECalBackendSExp*"/>
          </parameter>
          <parameter name="connection" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal-view.c"
                 line="621">a #GDBusConnection</doc>
            <type name="Gio.DBusConnection" c:type="GDBusConnection*"/>
          </parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal-view.c"
                 line="622">an object path for the view</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="component_matches"
              c:identifier="e_data_cal_view_component_matches"
              version="3.4">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-data-cal-view.c"
             line="971">Compares the given @component to the regular expression used for the
given view.</doc>
        <source-position filename="src/calendar/libedata-cal/e-data-cal-view.h"
                         line="85"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-data-cal-view.c"
               line="979">TRUE if the object matches the expression, FALSE if not.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal-view.c"
                 line="973">an #EDataCalView</doc>
            <type name="DataCalView" c:type="EDataCalView*"/>
          </instance-parameter>
          <parameter name="component" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal-view.c"
                 line="974">the #ECalComponent object to match.</doc>
            <type name="ECal.Component" c:type="ECalComponent*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_component_string"
              c:identifier="e_data_cal_view_get_component_string"
              version="3.4">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-data-cal-view.c"
             line="1179">This function is similar to e_cal_component_get_as_string() except
that it takes into account the fields-of-interest that @view is
configured with and filters out any unneeded fields.</doc>
        <source-position filename="src/calendar/libedata-cal/e-data-cal-view.h"
                         line="96"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-data-cal-view.c"
               line="1188">A newly allocated string representation of
@component suitable for @view.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal-view.c"
                 line="1181">an #EDataCalView</doc>
            <type name="DataCalView" c:type="EDataCalView*"/>
          </instance-parameter>
          <parameter name="component" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal-view.c"
                 line="1182">The #ECalComponent to get the string for.</doc>
            <type name="ECal.Component" c:type="ECalComponent*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_connection"
              c:identifier="e_data_cal_view_get_connection"
              glib:get-property="connection"
              version="3.8">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-data-cal-view.c"
             line="884">Returns the #GDBusConnection on which the CalendarView D-Bus
interface is exported.</doc>
        <source-position filename="src/calendar/libedata-cal/e-data-cal-view.h"
                         line="79"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-data-cal-view.c"
               line="891">the #GDBusConnection</doc>
          <type name="Gio.DBusConnection" c:type="GDBusConnection*"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal-view.c"
                 line="886">an #EDataCalView</doc>
            <type name="DataCalView" c:type="EDataCalView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_fields_of_interest"
              c:identifier="e_data_cal_view_get_fields_of_interest"
              version="3.2">
        <source-position filename="src/calendar/libedata-cal/e-data-cal-view.h"
                         line="91"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-data-cal-view.c"
               line="1063">Hash table of field names which the
listener is interested in. Backends can return fully populated objects, but
the listener advertised that it will use only these. Returns %NULL for all
available fields.

Note: The data pointer in the hash table has no special meaning, it's
only GINT_TO_POINTER(1) for easier checking. Also, field names are
compared case insensitively.</doc>
          <type name="GLib.HashTable" c:type="GHashTable*">
            <type name="gpointer" c:type="gpointer"/>
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal-view.c"
                 line="1061">an #EDataCalView</doc>
            <type name="DataCalView" c:type="EDataCalView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_flags"
              c:identifier="e_data_cal_view_get_flags"
              version="3.6">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-data-cal-view.c"
             line="1082">Gets the #ECalClientViewFlags that control the behaviour of @view.</doc>
        <source-position filename="src/calendar/libedata-cal/e-data-cal-view.h"
                         line="94"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-data-cal-view.c"
               line="1088">the flags for @view.</doc>
          <type name="ECal.ClientViewFlags" c:type="ECalClientViewFlags"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal-view.c"
                 line="1084">an #EDataCalView</doc>
            <type name="DataCalView" c:type="EDataCalView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_object_path"
              c:identifier="e_data_cal_view_get_object_path"
              glib:get-property="object-path"
              version="3.8">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-data-cal-view.c"
             line="903">Return the object path at which the CalendarView D-Bus inteface is
exported.</doc>
        <source-position filename="src/calendar/libedata-cal/e-data-cal-view.h"
                         line="80"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-data-cal-view.c"
               line="910">the object path</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal-view.c"
                 line="905">an #EDataCalView</doc>
            <type name="DataCalView" c:type="EDataCalView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_sexp"
              c:identifier="e_data_cal_view_get_sexp"
              glib:get-property="sexp"
              version="3.8">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-data-cal-view.c"
             line="922">Get the #ECalBackendSExp object used for the given view.</doc>
        <source-position filename="src/calendar/libedata-cal/e-data-cal-view.h"
                         line="82"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-data-cal-view.c"
               line="928">The expression object used to search.</doc>
          <type name="gpointer" c:type="_ECalBackendSExp*"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal-view.c"
                 line="924">an #EDataCalView</doc>
            <type name="DataCalView" c:type="EDataCalView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_completed"
              c:identifier="e_data_cal_view_is_completed"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-data-cal-view.c"
             line="1038">Checks whether the given view is already completed. Being completed means the initial
matching of objects have been finished, not that no more notifications about
changes will be sent. In fact, even after completed, notifications will still be sent
if there are changes in the objects matching the view search expression.</doc>
        <source-position filename="src/calendar/libedata-cal/e-data-cal-view.h"
                         line="89"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-data-cal-view.c"
               line="1047">TRUE if the view is completed, FALSE if still in progress.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal-view.c"
                 line="1040">an #EDataCalView</doc>
            <type name="DataCalView" c:type="EDataCalView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_started" c:identifier="e_data_cal_view_is_started">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-data-cal-view.c"
             line="1004">Checks whether the given view has already been started.</doc>
        <source-position filename="src/calendar/libedata-cal/e-data-cal-view.h"
                         line="88"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-data-cal-view.c"
               line="1010">TRUE if the view has already been started, FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal-view.c"
                 line="1006">an #EDataCalView</doc>
            <type name="DataCalView" c:type="EDataCalView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_stopped"
              c:identifier="e_data_cal_view_is_stopped"
              version="2.32">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-data-cal-view.c"
             line="1020">Checks whether the given view has been stopped.</doc>
        <source-position filename="src/calendar/libedata-cal/e-data-cal-view.h"
                         line="90"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-data-cal-view.c"
               line="1026">TRUE if the view has been stopped, FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal-view.c"
                 line="1022">an #EDataCalView</doc>
            <type name="DataCalView" c:type="EDataCalView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="notify_complete"
              c:identifier="e_data_cal_view_notify_complete"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-data-cal-view.c"
             line="1421">Notifies all view listeners of the completion of the view, including a
status code.</doc>
        <source-position filename="src/calendar/libedata-cal/e-data-cal-view.h"
                         line="122"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal-view.c"
                 line="1423">an #EDataCalView</doc>
            <type name="DataCalView" c:type="EDataCalView*"/>
          </instance-parameter>
          <parameter name="error" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal-view.c"
                 line="1424">View completion error, if any.</doc>
            <type name="GLib.Error" c:type="const GError*"/>
          </parameter>
        </parameters>
      </method>
      <method name="notify_components_added"
              c:identifier="e_data_cal_view_notify_components_added"
              version="3.4">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-data-cal-view.c"
             line="1223">Notifies all view listeners of the addition of a list of components.

Uses the #EDataCalView's fields-of-interest to filter out unwanted
information from iCalendar strings sent over the bus.</doc>
        <source-position filename="src/calendar/libedata-cal/e-data-cal-view.h"
                         line="100"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal-view.c"
                 line="1225">an #EDataCalView</doc>
            <type name="DataCalView" c:type="EDataCalView*"/>
          </instance-parameter>
          <parameter name="ecalcomponents" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal-view.c"
                 line="1226">List of #ECalComponent-s that have been added.</doc>
            <type name="GLib.SList" c:type="const GSList*">
              <type name="ECal.Component"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="notify_components_added_1"
              c:identifier="e_data_cal_view_notify_components_added_1"
              version="3.4">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-data-cal-view.c"
             line="1259">Notifies all the view listeners of the addition of a single object.

Uses the #EDataCalView's fields-of-interest to filter out unwanted
information from iCalendar strings sent over the bus.</doc>
        <source-position filename="src/calendar/libedata-cal/e-data-cal-view.h"
                         line="103"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal-view.c"
                 line="1261">an #EDataCalView</doc>
            <type name="DataCalView" c:type="EDataCalView*"/>
          </instance-parameter>
          <parameter name="component" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal-view.c"
                 line="1262">The #ECalComponent that has been added.</doc>
            <type name="ECal.Component" c:type="ECalComponent*"/>
          </parameter>
        </parameters>
      </method>
      <method name="notify_components_modified"
              c:identifier="e_data_cal_view_notify_components_modified"
              version="3.4">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-data-cal-view.c"
             line="1284">Notifies all view listeners of the modification of a list of components.

Uses the #EDataCalView's fields-of-interest to filter out unwanted
information from iCalendar strings sent over the bus.</doc>
        <source-position filename="src/calendar/libedata-cal/e-data-cal-view.h"
                         line="106"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal-view.c"
                 line="1286">an #EDataCalView</doc>
            <type name="DataCalView" c:type="EDataCalView*"/>
          </instance-parameter>
          <parameter name="ecalcomponents" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal-view.c"
                 line="1287">List of modified #ECalComponent-s.</doc>
            <type name="GLib.SList" c:type="const GSList*">
              <type name="ECal.Component"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="notify_components_modified_1"
              c:identifier="e_data_cal_view_notify_components_modified_1"
              version="3.4">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-data-cal-view.c"
             line="1320">Notifies all view listeners of the modification of @component.

Uses the #EDataCalView's fields-of-interest to filter out unwanted
information from iCalendar strings sent over the bus.</doc>
        <source-position filename="src/calendar/libedata-cal/e-data-cal-view.h"
                         line="109"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal-view.c"
                 line="1322">an #EDataCalView</doc>
            <type name="DataCalView" c:type="EDataCalView*"/>
          </instance-parameter>
          <parameter name="component" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal-view.c"
                 line="1323">The modified #ECalComponent.</doc>
            <type name="ECal.Component" c:type="ECalComponent*"/>
          </parameter>
        </parameters>
      </method>
      <method name="notify_objects_removed"
              c:identifier="e_data_cal_view_notify_objects_removed">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-data-cal-view.c"
             line="1345">Notifies all view listener of the removal of a list of objects.</doc>
        <source-position filename="src/calendar/libedata-cal/e-data-cal-view.h"
                         line="113"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal-view.c"
                 line="1347">an #EDataCalView</doc>
            <type name="DataCalView" c:type="EDataCalView*"/>
          </instance-parameter>
          <parameter name="ids" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal-view.c"
                 line="1348">List of IDs for the objects that have been removed.</doc>
            <type name="GLib.SList" c:type="const GSList*">
              <type name="ECal.ComponentId"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="notify_objects_removed_1"
              c:identifier="e_data_cal_view_notify_objects_removed_1">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-data-cal-view.c"
             line="1374">Notifies all view listener of the removal of a single object.</doc>
        <source-position filename="src/calendar/libedata-cal/e-data-cal-view.h"
                         line="116"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal-view.c"
                 line="1376">an #EDataCalView</doc>
            <type name="DataCalView" c:type="EDataCalView*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal-view.c"
                 line="1377">ID of the removed object.</doc>
            <type name="ECal.ComponentId" c:type="const ECalComponentId*"/>
          </parameter>
        </parameters>
      </method>
      <method name="notify_progress"
              c:identifier="e_data_cal_view_notify_progress">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-data-cal-view.c"
             line="1394">Notifies all view listeners of progress messages.</doc>
        <source-position filename="src/calendar/libedata-cal/e-data-cal-view.h"
                         line="119"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal-view.c"
                 line="1396">an #EDataCalView</doc>
            <type name="DataCalView" c:type="EDataCalView*"/>
          </instance-parameter>
          <parameter name="percent" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal-view.c"
                 line="1397">Percentage completed.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal-view.c"
                 line="1398">Progress message to send to listeners.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="object_matches"
              c:identifier="e_data_cal_view_object_matches">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-data-cal-view.c"
             line="940">Compares the given @object to the regular expression used for the
given view.</doc>
        <source-position filename="src/calendar/libedata-cal/e-data-cal-view.h"
                         line="83"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-data-cal-view.c"
               line="948">TRUE if the object matches the expression, FALSE if not.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal-view.c"
                 line="942">an #EDataCalView</doc>
            <type name="DataCalView" c:type="EDataCalView*"/>
          </instance-parameter>
          <parameter name="object" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal-view.c"
                 line="943">Object to match.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="ref_backend"
              c:identifier="e_data_cal_view_ref_backend"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-data-cal-view.c"
             line="839">Refs the backend that @view is querying. Unref the returned backend,
if not %NULL, with g_object_unref(), when no longer needed.</doc>
        <source-position filename="src/calendar/libedata-cal/e-data-cal-view.h"
                         line="73"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-data-cal-view.c"
               line="846">The associated #ECalBackend.</doc>
          <type name="CalBackend" c:type="_ECalBackend*"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-data-cal-view.c"
                 line="841">an #EDataCalView</doc>
            <type name="DataCalView" c:type="EDataCalView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="backend"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="CalBackend"/>
      </property>
      <property name="connection"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_connection">
        <type name="Gio.DBusConnection"/>
      </property>
      <property name="object-path"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_object_path">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="sexp"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_sexp">
        <type name="CalBackendSExp"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="DataCalViewPrivate" c:type="EDataCalViewPrivate*"/>
      </field>
    </class>
    <record name="DataCalViewClass"
            c:type="EDataCalViewClass"
            glib:is-gtype-struct-for="DataCalView">
      <source-position filename="src/calendar/libedata-cal/e-data-cal-view.h"
                       line="64"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="DataCalViewPrivate"
            c:type="EDataCalViewPrivate"
            disguised="1">
      <source-position filename="src/calendar/libedata-cal/e-data-cal-view.h"
                       line="55"/>
    </record>
    <constant name="EDS_CALENDAR_MODULES"
              value="EDS_CALENDAR_MODULES"
              c:type="EDS_CALENDAR_MODULES">
      <doc xml:space="preserve"
           filename="src/calendar/libedata-cal/e-data-cal-factory.h"
           line="49">This environment variable configures where the calendar
factory loads its backend modules from.</doc>
      <source-position filename="src/calendar/libedata-cal/e-data-cal-factory.h"
                       line="54"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="EDS_SUBPROCESS_CAL_PATH"
              value="EDS_SUBPROCESS_CAL_PATH"
              c:type="EDS_SUBPROCESS_CAL_PATH">
      <doc xml:space="preserve"
           filename="src/calendar/libedata-cal/e-data-cal-factory.h"
           line="57">This environment variable configures where the calendar
factory subprocess is located in.</doc>
      <source-position filename="src/calendar/libedata-cal/e-data-cal-factory.h"
                       line="62"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <function-macro name="INTERVALTREE"
                    c:identifier="E_INTERVALTREE"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-cal-backend-intervaltree.h"
                       line="33"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="INTERVALTREE_CLASS"
                    c:identifier="E_INTERVALTREE_CLASS"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-cal-backend-intervaltree.h"
                       line="36"/>
      <parameters>
        <parameter name="cls">
        </parameter>
      </parameters>
    </function-macro>
    <constant name="INTERVALTREE_DEBUG"
              value="1"
              c:type="E_INTERVALTREE_DEBUG">
      <source-position filename="src/calendar/libedata-cal/e-cal-backend-intervaltree.h"
                       line="29"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <function-macro name="INTERVALTREE_GET_CLASS"
                    c:identifier="E_INTERVALTREE_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-cal-backend-intervaltree.h"
                       line="45"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_CAL_BACKEND"
                    c:identifier="E_IS_CAL_BACKEND"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                       line="38"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_CAL_BACKEND_CLASS"
                    c:identifier="E_IS_CAL_BACKEND_CLASS"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-cal-backend.h"
                       line="41"/>
      <parameters>
        <parameter name="cls">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_CAL_BACKEND_FACTORY"
                    c:identifier="E_IS_CAL_BACKEND_FACTORY"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-cal-backend-factory.h"
                       line="39"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_CAL_BACKEND_FACTORY_CLASS"
                    c:identifier="E_IS_CAL_BACKEND_FACTORY_CLASS"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-cal-backend-factory.h"
                       line="42"/>
      <parameters>
        <parameter name="cls">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_CAL_BACKEND_SEXP"
                    c:identifier="E_IS_CAL_BACKEND_SEXP"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-cal-backend-sexp.h"
                       line="37"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_CAL_BACKEND_SEXP_CLASS"
                    c:identifier="E_IS_CAL_BACKEND_SEXP_CLASS"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-cal-backend-sexp.h"
                       line="40"/>
      <parameters>
        <parameter name="cls">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_CAL_BACKEND_SYNC"
                    c:identifier="E_IS_CAL_BACKEND_SYNC"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-cal-backend-sync.h"
                       line="34"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_CAL_BACKEND_SYNC_CLASS"
                    c:identifier="E_IS_CAL_BACKEND_SYNC_CLASS"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-cal-backend-sync.h"
                       line="37"/>
      <parameters>
        <parameter name="cls">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_CAL_CACHE"
                    c:identifier="E_IS_CAL_CACHE"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                       line="36"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_CAL_CACHE_CLASS"
                    c:identifier="E_IS_CAL_CACHE_CLASS"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                       line="39"/>
      <parameters>
        <parameter name="cls">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_CAL_META_BACKEND"
                    c:identifier="E_IS_CAL_META_BACKEND"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                       line="38"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_CAL_META_BACKEND_CLASS"
                    c:identifier="E_IS_CAL_META_BACKEND_CLASS"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                       line="41"/>
      <parameters>
        <parameter name="cls">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_DATA_CAL"
                    c:identifier="E_IS_DATA_CAL"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-data-cal.h"
                       line="36"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_DATA_CAL_CLASS"
                    c:identifier="E_IS_DATA_CAL_CLASS"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-data-cal.h"
                       line="39"/>
      <parameters>
        <parameter name="cls">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_DATA_CAL_FACTORY"
                    c:identifier="E_IS_DATA_CAL_FACTORY"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-data-cal-factory.h"
                       line="38"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_DATA_CAL_FACTORY_CLASS"
                    c:identifier="E_IS_DATA_CAL_FACTORY_CLASS"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-data-cal-factory.h"
                       line="41"/>
      <parameters>
        <parameter name="cls">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_DATA_CAL_VIEW"
                    c:identifier="E_IS_DATA_CAL_VIEW"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-data-cal-view.h"
                       line="37"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_DATA_CAL_VIEW_CLASS"
                    c:identifier="E_IS_DATA_CAL_VIEW_CLASS"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-data-cal-view.h"
                       line="40"/>
      <parameters>
        <parameter name="cls">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_INTERVALTREE"
                    c:identifier="E_IS_INTERVALTREE"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-cal-backend-intervaltree.h"
                       line="39"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_INTERVALTREE_CLASS"
                    c:identifier="E_IS_INTERVALTREE_CLASS"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-cal-backend-intervaltree.h"
                       line="42"/>
      <parameters>
        <parameter name="cls">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_SUBPROCESS_CAL_FACTORY"
                    c:identifier="E_IS_SUBPROCESS_CAL_FACTORY"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-subprocess-cal-factory.h"
                       line="35"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_SUBPROCESS_CAL_FACTORY_CLASS"
                    c:identifier="E_IS_SUBPROCESS_CAL_FACTORY_CLASS"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-subprocess-cal-factory.h"
                       line="38"/>
      <parameters>
        <parameter name="cls">
        </parameter>
      </parameters>
    </function-macro>
    <class name="IntervalTree"
           c:symbol-prefix="intervaltree"
           c:type="EIntervalTree"
           version="2.32"
           parent="GObject.Object"
           glib:type-name="EIntervalTree"
           glib:get-type="e_intervaltree_get_type"
           glib:type-struct="IntervalTreeClass">
      <doc xml:space="preserve"
           filename="src/calendar/libedata-cal/e-cal-backend-intervaltree.h"
           line="65">Contains only private data that should be read and manipulated using the
functions below.</doc>
      <source-position filename="src/calendar/libedata-cal/e-cal-backend-intervaltree.h"
                       line="89"/>
      <constructor name="new" c:identifier="e_intervaltree_new" version="2.32">
        <doc xml:space="preserve"
             filename="src/calendar/libedata-cal/e-cal-backend-intervaltree.c"
             line="464">Creates a new #EIntervalTree.</doc>
        <source-position filename="src/calendar/libedata-cal/e-cal-backend-intervaltree.h"
                         line="92"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend-intervaltree.c"
               line="469">The newly-created #EIntervalTree.</doc>
          <type name="IntervalTree" c:type="EIntervalTree*"/>
        </return-value>
      </constructor>
      <method name="destroy"
              c:identifier="e_intervaltree_destroy"
              version="2.32">
        <source-position filename="src/calendar/libedata-cal/e-cal-backend-intervaltree.h"
                         line="103"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="tree" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-intervaltree.c"
                 line="724">an #EIntervalTree</doc>
            <type name="IntervalTree" c:type="EIntervalTree*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="dump" c:identifier="e_intervaltree_dump">
        <source-position filename="src/calendar/libedata-cal/e-cal-backend-intervaltree.h"
                         line="106"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="tree" transfer-ownership="none">
            <type name="IntervalTree" c:type="EIntervalTree*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="insert"
              c:identifier="e_intervaltree_insert"
              version="2.32">
        <source-position filename="src/calendar/libedata-cal/e-cal-backend-intervaltree.h"
                         line="93"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="tree" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-intervaltree.c"
                 line="481">interval tree</doc>
            <type name="IntervalTree" c:type="EIntervalTree*"/>
          </instance-parameter>
          <parameter name="start" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-intervaltree.c"
                 line="482">start of the interval</doc>
            <type name="glong" c:type="time_t"/>
          </parameter>
          <parameter name="end" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-intervaltree.c"
                 line="483">end of the interval</doc>
            <type name="glong" c:type="time_t"/>
          </parameter>
          <parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-intervaltree.c"
                 line="484">Component</doc>
            <type name="ECal.Component" c:type="ECalComponent*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove"
              c:identifier="e_intervaltree_remove"
              version="2.32">
        <source-position filename="src/calendar/libedata-cal/e-cal-backend-intervaltree.h"
                         line="97"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="tree" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-intervaltree.c"
                 line="574">an #EIntervalTree</doc>
            <type name="IntervalTree" c:type="EIntervalTree*"/>
          </instance-parameter>
          <parameter name="uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-intervaltree.c"
                 line="575">the uid of the component to remove</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="rid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-intervaltree.c"
                 line="576">the recurrance id of the component to remove</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="search"
              c:identifier="e_intervaltree_search"
              version="2.32">
        <source-position filename="src/calendar/libedata-cal/e-cal-backend-intervaltree.h"
                         line="100"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-backend-intervaltree.c"
               line="675">list of #ECalComponent-s
   that overlap given interval, or %NULL.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="ECal.Component"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="tree" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-intervaltree.c"
                 line="671">interval tree</doc>
            <type name="IntervalTree" c:type="EIntervalTree*"/>
          </instance-parameter>
          <parameter name="start" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-intervaltree.c"
                 line="672">start of the interval</doc>
            <type name="glong" c:type="time_t"/>
          </parameter>
          <parameter name="end" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libedata-cal/e-cal-backend-intervaltree.c"
                 line="673">end of the interval</doc>
            <type name="glong" c:type="time_t"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent" readable="0" private="1">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="IntervalTreePrivate" c:type="EIntervalTreePrivate*"/>
      </field>
    </class>
    <record name="IntervalTreeClass"
            c:type="EIntervalTreeClass"
            glib:is-gtype-struct-for="IntervalTree"
            version="2.32">
      <doc xml:space="preserve"
           filename="src/calendar/libedata-cal/e-cal-backend-intervaltree.h"
           line="79">Class structure for the #EIntervalTree class.</doc>
      <source-position filename="src/calendar/libedata-cal/e-cal-backend-intervaltree.h"
                       line="89"/>
      <field name="parent_class" readable="0" private="1">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="IntervalTreePrivate"
            c:type="EIntervalTreePrivate"
            disguised="1">
      <source-position filename="src/calendar/libedata-cal/e-cal-backend-intervaltree.h"
                       line="63"/>
    </record>
    <constant name="LIBICAL_GLIB_UNSTABLE_API"
              value="1"
              c:type="LIBICAL_GLIB_UNSTABLE_API">
      <source-position filename="src/calendar/libedata-cal/libedata-cal.h"
                       line="26"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <function-macro name="SUBPROCESS_CAL_FACTORY"
                    c:identifier="E_SUBPROCESS_CAL_FACTORY"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-subprocess-cal-factory.h"
                       line="29"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SUBPROCESS_CAL_FACTORY_CLASS"
                    c:identifier="E_SUBPROCESS_CAL_FACTORY_CLASS"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-subprocess-cal-factory.h"
                       line="32"/>
      <parameters>
        <parameter name="cls">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SUBPROCESS_CAL_FACTORY_GET_CLASS"
                    c:identifier="E_SUBPROCESS_CAL_FACTORY_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/calendar/libedata-cal/e-subprocess-cal-factory.h"
                       line="41"/>
      <parameters>
        <parameter name="cls">
        </parameter>
      </parameters>
    </function-macro>
    <class name="SubprocessCalFactory"
           c:symbol-prefix="subprocess_cal_factory"
           c:type="ESubprocessCalFactory"
           parent="EBackend.SubprocessFactory"
           glib:type-name="ESubprocessCalFactory"
           glib:get-type="e_subprocess_cal_factory_get_type"
           glib:type-struct="SubprocessCalFactoryClass">
      <source-position filename="src/calendar/libedata-cal/e-subprocess-cal-factory.h"
                       line="59"/>
      <implements name="Gio.Initable"/>
      <constructor name="new"
                   c:identifier="e_subprocess_cal_factory_new"
                   throws="1">
        <source-position filename="src/calendar/libedata-cal/e-subprocess-cal-factory.h"
                         line="63"/>
        <return-value transfer-ownership="full">
          <type name="SubprocessCalFactory" c:type="ESubprocessCalFactory*"/>
        </return-value>
        <parameters>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </constructor>
      <field name="parent">
        <type name="EBackend.SubprocessFactory" c:type="ESubprocessFactory"/>
      </field>
      <field name="priv">
        <type name="SubprocessCalFactoryPrivate"
              c:type="ESubprocessCalFactoryPrivate*"/>
      </field>
    </class>
    <record name="SubprocessCalFactoryClass"
            c:type="ESubprocessCalFactoryClass"
            glib:is-gtype-struct-for="SubprocessCalFactory">
      <source-position filename="src/calendar/libedata-cal/e-subprocess-cal-factory.h"
                       line="59"/>
      <field name="parent_class">
        <type name="EBackend.SubprocessFactoryClass"
              c:type="ESubprocessFactoryClass"/>
      </field>
    </record>
    <record name="SubprocessCalFactoryPrivate"
            c:type="ESubprocessCalFactoryPrivate"
            disguised="1">
      <source-position filename="src/calendar/libedata-cal/e-subprocess-cal-factory.h"
                       line="50"/>
    </record>
    <function name="cal_cache_offline_change_free"
              c:identifier="e_cal_cache_offline_change_free"
              moved-to="CalCacheOfflineChange.free"
              version="3.26">
      <doc xml:space="preserve"
           filename="src/calendar/libedata-cal/e-cal-cache.c"
           line="161">Frees the @change structure, previously allocated with e_cal_cache_offline_change_new()
or e_cal_cache_offline_change_copy().</doc>
      <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                       line="85"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="change"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-cache.c"
               line="163">an #ECalCacheOfflineChange</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="cal_cache_search_data_free"
              c:identifier="e_cal_cache_search_data_free"
              moved-to="CalCacheSearchData.free"
              version="3.26">
      <doc xml:space="preserve"
           filename="src/calendar/libedata-cal/e-cal-cache.c"
           line="237">Frees the @ptr structure, previously allocated with e_cal_cache_search_data_new()
or e_cal_cache_search_data_copy().</doc>
      <source-position filename="src/calendar/libedata-cal/e-cal-cache.h"
                       line="124"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="ptr"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-cache.c"
               line="239">an #ECalCacheSearchData</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="cal_meta_backend_info_free"
              c:identifier="e_cal_meta_backend_info_free"
              moved-to="CalMetaBackendInfo.free"
              version="3.26">
      <doc xml:space="preserve"
           filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
           line="222">Frees the @ptr structure, previously allocated with e_cal_meta_backend_info_new()
or e_cal_meta_backend_info_copy().</doc>
      <source-position filename="src/calendar/libedata-cal/e-cal-meta-backend.h"
                       line="69"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="ptr"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
               line="224">an #ECalMetaBackendInfo</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <docsection name="e-cal-backend">
      <doc xml:space="preserve"
           filename="src/calendar/libedata-cal/e-cal-backend.c"
           line="18">This is the main server facing API for interfacing with calendar backends,
calendar backends must implement methods on this class.</doc>
    </docsection>
    <docsection name="e-cal-backend-factory">
      <doc xml:space="preserve"
           filename="src/calendar/libedata-cal/e-cal-backend-factory.c"
           line="20">This class handles creation of new calendars of various
backend types.</doc>
    </docsection>
    <docsection name="e-cal-backend-intervaltree">
      <doc xml:space="preserve"
           filename="src/calendar/libedata-cal/e-cal-backend-intervaltree.c"
           line="20">Implementation of the interval node as described in Introduction to
Algorithms book by Cormen et al, chapter 14.3.

Basically, the interval tree is the red-black tree, the node key is
the start of the interval.</doc>
    </docsection>
    <docsection name="e-cal-backend-sexp">
      <doc xml:space="preserve"
           filename="src/calendar/libedata-cal/e-cal-backend-sexp.c"
           line="18">This API is an all purpose utility for comparing #ECalComponent(s) with search expressions
and is used by various backends to implement component filtering and searching.</doc>
    </docsection>
    <docsection name="e-cal-backend-sync">
      <doc xml:space="preserve"
           filename="src/calendar/libedata-cal/e-cal-backend-sync.c"
           line="20">This class can be subclassed in place of the #ECalBackend
abstract backend for easier implementation of calendar backends.</doc>
    </docsection>
    <docsection name="e-cal-cache">
      <doc xml:space="preserve"
           filename="src/calendar/libedata-cal/e-cal-cache.c"
           line="18">The #ECalCache is an API for storing and looking up calendar
components in an #ECache.

The API is thread safe, in the similar way as the #ECache is.

Any operations which can take a lot of time to complete (depending
on the size of your calendar) can be cancelled using a #GCancellable.</doc>
    </docsection>
    <docsection name="e-cal-meta-backend">
      <doc xml:space="preserve"
           filename="src/calendar/libedata-cal/e-cal-meta-backend.c"
           line="18">The #ECalMetaBackend is an abstract #ECalBackend descendant which
aims to implement all evolution-data-server internals for the backend
itself and lefts the backend do as minimum work as possible, like
loading and saving components, listing available components and so on,
thus the backend implementation can focus on things like converting
(possibly) remote data into iCalendar objects and back.

As the #ECalMetaBackend uses an #ECalCache, the offline support
is provided by default.

The structure is thread safe.</doc>
    </docsection>
    <docsection name="e-data-cal">
      <doc xml:space="preserve"
           filename="src/calendar/libedata-cal/e-data-cal.c"
           line="18">This class communicates with #ECalClients over the bus and accesses
an #ECalBackend to satisfy client requests.</doc>
    </docsection>
    <docsection name="e-data-cal-factory">
      <doc xml:space="preserve"
           filename="src/calendar/libedata-cal/e-data-cal-factory.c"
           line="24">This class handles incomming D-Bus connections and creates
the #EDataCal layer for server side calendars to communicate
with client side #ECalClient objects.</doc>
    </docsection>
    <docsection name="e-data-cal-view">
      <doc xml:space="preserve"
           filename="src/calendar/libedata-cal/e-data-cal-view.c"
           line="23">This class communicates with #ECalClientViews over the bus.

Calendar backends can automatically own a number of views requested
by the client, this API can be used by the backend to issue notifications
which will be delivered to the #ECalClientView</doc>
    </docsection>
  </namespace>
</repository>
