<?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="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="libecal-2.0"/>
  <c:include name="libecal/libecal.h"/>
  <namespace name="ECal"
             version="2.0"
             shared-library="libecal-2.0.so.2"
             c:identifier-prefixes="ECal,E"
             c:symbol-prefixes="e_cal,e">
    <constant name="BACKEND_PROPERTY_ALARM_EMAIL_ADDRESS"
              value="alarm-email-address"
              c:type="E_CAL_BACKEND_PROPERTY_ALARM_EMAIL_ADDRESS"
              version="3.2">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-client.h"
           line="62">An email address preferred for e-mail reminders by the calendar.</doc>
      <source-position filename="src/calendar/libecal/e-cal-client.h"
                       line="68"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="BACKEND_PROPERTY_CAL_EMAIL_ADDRESS"
              value="cal-email-address"
              c:type="E_CAL_BACKEND_PROPERTY_CAL_EMAIL_ADDRESS"
              version="3.2">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-client.h"
           line="53">An email address associated with the calendar.</doc>
      <source-position filename="src/calendar/libecal/e-cal-client.h"
                       line="59"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="BACKEND_PROPERTY_DEFAULT_OBJECT"
              value="default-object"
              c:type="E_CAL_BACKEND_PROPERTY_DEFAULT_OBJECT"
              version="3.2">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-client.h"
           line="71">A default object for the calendar. Calendars use VEVENT, memo lists VJOURNAL
and task lists VTODO, which can have prefilled values by the backend.</doc>
      <source-position filename="src/calendar/libecal/e-cal-client.h"
                       line="78"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="BACKEND_PROPERTY_REVISION"
              value="revision"
              c:type="E_CAL_BACKEND_PROPERTY_REVISION"
              version="3.4">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-client.h"
           line="81">The current overall revision string, this can be used as
a quick check to see if data has changed at all since the
last time the calendar revision was observed.</doc>
      <source-position filename="src/calendar/libecal/e-cal-client.h"
                       line="89"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <function-macro name="CLIENT"
                    c:identifier="E_CAL_CLIENT"
                    introspectable="0">
      <source-position filename="src/calendar/libecal/e-cal-client.h"
                       line="36"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CLIENT_CLASS"
                    c:identifier="E_CAL_CLIENT_CLASS"
                    introspectable="0">
      <source-position filename="src/calendar/libecal/e-cal-client.h"
                       line="39"/>
      <parameters>
        <parameter name="cls">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CLIENT_GET_CLASS"
                    c:identifier="E_CAL_CLIENT_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/calendar/libecal/e-cal-client.h"
                       line="48"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CLIENT_VIEW"
                    c:identifier="E_CAL_CLIENT_VIEW"
                    introspectable="0">
      <source-position filename="src/calendar/libecal/e-cal-client-view.h"
                       line="31"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CLIENT_VIEW_CLASS"
                    c:identifier="E_CAL_CLIENT_VIEW_CLASS"
                    introspectable="0">
      <source-position filename="src/calendar/libecal/e-cal-client-view.h"
                       line="34"/>
      <parameters>
        <parameter name="cls">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CLIENT_VIEW_GET_CLASS"
                    c:identifier="E_CAL_CLIENT_VIEW_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/calendar/libecal/e-cal-client-view.h"
                       line="43"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="COMPONENT"
                    c:identifier="E_CAL_COMPONENT"
                    introspectable="0">
      <source-position filename="src/calendar/libecal/e-cal-component.h"
                       line="47"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="COMPONENT_CLASS"
                    c:identifier="E_CAL_COMPONENT_CLASS"
                    introspectable="0">
      <source-position filename="src/calendar/libecal/e-cal-component.h"
                       line="50"/>
      <parameters>
        <parameter name="cls">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="COMPONENT_GET_CLASS"
                    c:identifier="E_CAL_COMPONENT_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/calendar/libecal/e-cal-component.h"
                       line="59"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="Client"
           c:symbol-prefix="client"
           c:type="ECalClient"
           version="3.2"
           parent="EDataServer.Client"
           glib:type-name="ECalClient"
           glib:get-type="e_cal_client_get_type"
           glib:type-struct="ClientClass">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-client.h"
           line="136">Contains only private data that should be read and manipulated using the
functions below.</doc>
      <source-position filename="src/calendar/libecal/e-cal-client.h"
                       line="165"/>
      <implements name="TimezoneCache"/>
      <implements name="Gio.AsyncInitable"/>
      <implements name="Gio.Initable"/>
      <function name="check_timezones_sync"
                c:identifier="e_cal_client_check_timezones_sync"
                version="3.34"
                throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-check-timezones.c"
             line="209">This function cleans up VEVENT, VJOURNAL, VTODO and VTIMEZONE
items which are to be imported into Evolution.

Using VTIMEZONE definitions is problematic because they cannot be
updated properly when timezone definitions change. They are also
incomplete (for compatibility reason only one set of rules for
summer saving changes can be included, even if different rules
apply in different years). This function looks for matches of the
used TZIDs against system timezones and replaces such TZIDs with
the corresponding system timezone. This works for TZIDs containing
a location (found via a fuzzy string search) and for Outlook TZIDs
(via a hard-coded lookup table).

Some programs generate broken meeting invitations with TZID, but
without including the corresponding VTIMEZONE. Importing such
invitations unchanged causes problems later on (meeting displayed
incorrectly, e_cal_component_get_as_string() fails). The situation
where this occurred in the past (found by a SyncEvolution user) is
now handled via the location based mapping.

If this mapping fails, this function also deals with VTIMEZONE
conflicts: such conflicts occur when the calendar already contains
an old VTIMEZONE definition with the same TZID, but different
summer saving rules. Replacing the VTIMEZONE potentially breaks
displaying of old events, whereas not replacing it breaks the new
events (the behavior in Evolution &lt;= 2.22.1).

The way this problem is resolved by renaming the new VTIMEZONE
definition until the TZID is unique. A running count is appended to
the TZID. All items referencing the renamed TZID are adapted
accordingly.</doc>
        <source-position filename="src/calendar/libecal/e-cal-check-timezones.h"
                         line="34"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-check-timezones.c"
               line="259">%TRUE if successful, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="vcalendar" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-check-timezones.c"
                 line="211">a VCALENDAR containing a list of
   VTIMEZONE and arbitrary other components, in
   arbitrary order: these other components are
   modified by this call</doc>
            <type name="ICalGLib.Component" c:type="ICalComponent*"/>
          </parameter>
          <parameter name="icalcomps"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-check-timezones.c"
                 line="215">a list of #ICalComponent
   instances which also have to be patched; may be %NULL</doc>
            <type name="GLib.SList" c:type="GSList*">
              <type name="ICalGLib.Component"/>
            </type>
          </parameter>
          <parameter name="tzlookup"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="call"
                     closure="3">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-check-timezones.c"
                 line="217">a callback function which is called to retrieve
   a calendar's VTIMEZONE definition; the returned
   definition is *not* freed by e_cal_client_check_timezones()
   NULL indicates that no such timezone exists
   or an error occurred</doc>
            <type name="RecurResolveTimezoneCb"
                  c:type="ECalRecurResolveTimezoneCb"/>
          </parameter>
          <parameter name="tzlookup_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     closure="2">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-check-timezones.c"
                 line="222">an arbitrary pointer which is passed
   through to the @tzlookup function</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/libecal/e-cal-check-timezones.c"
                 line="224">a #GCancellable to use in @tzlookup function</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </function>
      <function name="connect"
                c:identifier="e_cal_client_connect"
                version="3.8">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="1833">Asynchronously creates a new #ECalClient for @source and @source_type.

The @wait_for_connected_seconds argument had been added since 3.16,
to let the caller decide how long to wait for the backend to fully
connect to its (possibly remote) data store. This is required due
to a change in the authentication process, which is fully asynchronous
and done on the client side, while not every client is supposed to
response to authentication requests. In case the backend will not connect
within the set interval, then it is opened in an offline mode. A special
value -1 can be used to not wait for the connected state at all.

Unlike with e_cal_client_new(), there is no need to call e_client_open()
after obtaining the #ECalClient.

When the operation is finished, @callback will be called.  You can then
call e_cal_client_connect_finish() to get the result of the operation.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="173"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="source" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="1835">an #ESource</doc>
            <type name="EDataServer.Source" c:type="ESource*"/>
          </parameter>
          <parameter name="source_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="1836">source tpe of the calendar</doc>
            <type name="ClientSourceType" c:type="ECalClientSourceType"/>
          </parameter>
          <parameter name="wait_for_connected_seconds"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="1837">timeout, in seconds, to wait for the backend to be fully connected</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/libecal/e-cal-client.c"
                 line="1838">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/libecal/e-cal-client.c"
                 line="1839">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/libecal/e-cal-client.c"
                 line="1841">data to pass to the callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </function>
      <function name="connect_finish"
                c:identifier="e_cal_client_connect_finish"
                version="3.8"
                throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="1917">Finishes the operation started with e_cal_client_connect().  If an
error occurs in connecting to the D-Bus service, the function sets
@error and returns %NULL.

For error handling convenience, any error message returned by this
function will have a descriptive prefix that includes the display
name of the #ESource passed to e_cal_client_connect().</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="179"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client.c"
               line="1930">a new #ECalClient, or %NULL</doc>
          <type name="EDataServer.Client" c:type="EClient*"/>
        </return-value>
        <parameters>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="1919">a #GAsyncResult</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </function>
      <function name="connect_sync"
                c:identifier="e_cal_client_connect_sync"
                version="3.8"
                throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="1640">Creates a new #ECalClient for @source and @source_type.  If an error
occurs, the function will set @error and return %FALSE.

The @wait_for_connected_seconds argument had been added since 3.16,
to let the caller decide how long to wait for the backend to fully
connect to its (possibly remote) data store. This is required due
to a change in the authentication process, which is fully asynchronous
and done on the client side, while not every client is supposed to
response to authentication requests. In case the backend will not connect
within the set interval, then it is opened in an offline mode. A special
value -1 can be used to not wait for the connected state at all.

Unlike with e_cal_client_new(), there is no need to call
e_client_open_sync() after obtaining the #ECalClient.

For error handling convenience, any error message returned by this
function will have a descriptive prefix that includes the display
name of @source.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="168"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client.c"
               line="1667">a new #ECalClient, or %NULL</doc>
          <type name="EDataServer.Client" c:type="EClient*"/>
        </return-value>
        <parameters>
          <parameter name="source" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="1642">an #ESource</doc>
            <type name="EDataServer.Source" c:type="ESource*"/>
          </parameter>
          <parameter name="source_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="1643">source type of the calendar</doc>
            <type name="ClientSourceType" c:type="ECalClientSourceType"/>
          </parameter>
          <parameter name="wait_for_connected_seconds"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="1644">timeout, in seconds, to wait for the backend to be fully connected</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/libecal/e-cal-client.c"
                 line="1645">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </function>
      <function name="error_create"
                c:identifier="e_cal_client_error_create"
                version="3.2">
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="126"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client.c"
               line="265">a new #GError containing an #E_CAL_CLIENT_ERROR of the given
   @code. If the @custom_msg is NULL, then the error message is the one returned
   from e_cal_client_error_to_string() for the @code, otherwise the given message is used.
   Returned pointer should be freed with g_error_free().</doc>
          <type name="GLib.Error" c:type="GError*"/>
        </return-value>
        <parameters>
          <parameter name="code" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="262">an #ECalClientError code to create</doc>
            <type name="ClientError" c:type="ECalClientError"/>
          </parameter>
          <parameter name="custom_msg"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="263">custom message to use for the error; can be %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="error_create_fmt"
                c:identifier="e_cal_client_error_create_fmt"
                version="3.34"
                introspectable="0">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="282">Similar as e_cal_client_error_create(), only here, instead of custom_msg,
is used a printf() format to create a custom message for the error.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="128"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client.c"
               line="291">a newly allocated #GError, which should be
  freed with g_error_free(), when no longer needed.
  The #GError has set the custom message, or the default message for
  @code, when @format is %NULL.</doc>
          <type name="GLib.Error" c:type="GError*"/>
        </return-value>
        <parameters>
          <parameter name="code" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="284">an #ECalClientError</doc>
            <type name="ClientError" c:type="ECalClientError"/>
          </parameter>
          <parameter name="format"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="285">message format, or %NULL to use the default message for the @code</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="286">arguments for the format</doc>
            <varargs/>
          </parameter>
        </parameters>
      </function>
      <function name="error_quark" c:identifier="e_cal_client_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <function name="error_to_string"
                c:identifier="e_cal_client_error_to_string"
                version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="229">Get localized human readable description of the given error code.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="125"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client.c"
               line="235">Localized human readable description of the given error code</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <parameter name="code" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="231">an #ECalClientError error code</doc>
            <type name="ClientError" c:type="ECalClientError"/>
          </parameter>
        </parameters>
      </function>
      <function name="tzlookup_cb"
                c:identifier="e_cal_client_tzlookup_cb"
                version="3.34"
                throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-check-timezones.c"
             line="463">An implementation of the #ECalRecurResolveTimezoneCb callback which clients
can use. Calls e_cal_client_get_timezone_sync().

The returned timezone object, if not %NULL, is owned by the @ecalclient.</doc>
        <source-position filename="src/calendar/libecal/e-cal-check-timezones.h"
                         line="42"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-check-timezones.c"
               line="475">A timezone object, or %NULL on failure
   or when 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/libecal/e-cal-check-timezones.c"
                 line="465">ID of the timezone to lookup</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="ecalclient" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-check-timezones.c"
                 line="466">a valid #ECalClient pointer</doc>
            <type name="Client" c:type="gpointer"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-check-timezones.c"
                 line="467">an optional #GCancellable to use, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </function>
      <function name="tzlookup_icalcomp_cb"
                c:identifier="e_cal_client_tzlookup_icalcomp_cb"
                version="3.34"
                throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-check-timezones.c"
             line="600">An implementation of the #ECalRecurResolveTimezoneCb callback which
backends can use. Searches for the timezone in an %ICalComponent
associated with the @lookup_data %ECalClientTzlookupICalCompData.

The returned timezone object is owned by the @lookup_data.</doc>
        <source-position filename="src/calendar/libecal/e-cal-check-timezones.h"
                         line="69"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-check-timezones.c"
               line="614">A timezone object, or %NULL, if
   not found inside @lookup_data 's #ICalComponent.</doc>
          <type name="ICalGLib.Timezone" c:type="ICalTimezone*"/>
        </return-value>
        <parameters>
          <parameter name="tzid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-check-timezones.c"
                 line="602">ID of the timezone to lookup</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="lookup_data" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-check-timezones.c"
                 line="603">an #ECalClientTzlookupICalCompData
   strcture, created with e_cal_client_tzlookup_icalcomp_data_new()</doc>
            <type name="ClientTzlookupICalCompData" c:type="gpointer"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-check-timezones.c"
                 line="605">an optional #GCancellable to use, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </function>
      <virtual-method name="free_busy_data" introspectable="0">
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="163"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="free_busy_ecalcomps" transfer-ownership="none">
            <type name="GLib.SList" c:type="const GSList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="add_timezone"
              c:identifier="e_cal_client_add_timezone"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="6851">Add a VTIMEZONE object to the given calendar client.
The call is finished by e_cal_client_add_timezone_finish() from
the @callback.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="543"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="6853">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="zone" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="6854">The timezone to add</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/libecal/e-cal-client.c"
                 line="6855">a #GCancellable; can be %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/libecal/e-cal-client.c"
                 line="6856">callback to call when a result is ready</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/libecal/e-cal-client.c"
                 line="6857">user data for the @callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_timezone_finish"
              c:identifier="e_cal_client_add_timezone_finish"
              version="3.2"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="6900">Finishes previous call of e_cal_client_add_timezone().</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="548"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client.c"
               line="6908">%TRUE if successful, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="6902">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="6903">a #GAsyncResult</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_timezone_sync"
              c:identifier="e_cal_client_add_timezone_sync"
              version="3.2"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="6930">Add a VTIMEZONE object to the given calendar client.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="552"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client.c"
               line="6939">%TRUE if successful, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="6932">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="zone" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="6933">The timezone to add</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/libecal/e-cal-client.c"
                 line="6934">a #GCancellable; can be %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="check_one_alarm_only"
              c:identifier="e_cal_client_check_one_alarm_only"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="2056">Checks if a calendar supports only one alarm per component.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="190"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client.c"
               line="2062">TRUE if the calendar allows only one alarm, FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="2058">A calendar client.</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="check_organizer_must_accept"
              c:identifier="e_cal_client_check_organizer_must_accept"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="2117">Checks whether a calendar requires organizer to accept their attendance to
meetings.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="196"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client.c"
               line="2124">TRUE if the calendar requires organizers to accept, FALSE
otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="2119">A calendar client.</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="check_organizer_must_attend"
              c:identifier="e_cal_client_check_organizer_must_attend"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="2096">Checks if a calendar forces organizers of meetings to be also attendees.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="194"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client.c"
               line="2102">TRUE if the calendar forces organizers to attend meetings,
FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="2098">A calendar client.</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="check_recurrences_no_master"
              c:identifier="e_cal_client_check_recurrences_no_master"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="2139">Checks if the calendar has a master object for recurrences.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="198"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client.c"
               line="2145">TRUE if the calendar has a master object for recurrences,
FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="2141">A calendar client.</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="check_save_schedules"
              c:identifier="e_cal_client_check_save_schedules"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="2076">Checks whether the calendar saves schedules.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="192"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client.c"
               line="2082">TRUE if it saves schedules, FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="2078">A calendar client.</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="create_object"
              c:identifier="e_cal_client_create_object"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="4543">Requests the calendar backend to create the object specified by the @icalcomp
argument. Some backends would assign a specific UID to the newly created object,
but this function does not modify the original @icalcomp if its UID changes.
The call is finished by e_cal_client_create_object_finish() from
the @callback.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="334"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4545">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="icalcomp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4546">The component to create</doc>
            <type name="ICalGLib.Component" c:type="ICalComponent*"/>
          </parameter>
          <parameter name="opflags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4547">bit-or of #ECalOperationFlags</doc>
            <type name="OperationFlags" c:type="ECalOperationFlags"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4548">a #GCancellable; can be %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/libecal/e-cal-client.c"
                 line="4549">callback to call when a result is ready</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/libecal/e-cal-client.c"
                 line="4550">user data for the @callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="create_object_finish"
              c:identifier="e_cal_client_create_object_finish"
              version="3.2"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="4592">Finishes previous call of e_cal_client_create_object() and
sets @out_uid to newly assigned UID for the created object.
This @out_uid should be freed with g_free().</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="340"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client.c"
               line="4604">%TRUE if successful, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4594">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4595">a #GAsyncResult</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
          <parameter name="out_uid"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     nullable="1"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4596">Return value for the UID assigned to the new component
          by the calendar backend</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
        </parameters>
      </method>
      <method name="create_object_sync"
              c:identifier="e_cal_client_create_object_sync"
              version="3.2"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="4638">Requests the calendar backend to create the object specified by the
@icalcomp argument. Some backends would assign a specific UID to the newly
created object, in those cases that UID would be returned in the @out_uid
argument. This function does not modify the original @icalcomp if its UID
changes.  Returned @out_uid should be freed with g_free().</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="345"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client.c"
               line="4654">%TRUE if successful, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4640">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="icalcomp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4641">The component to create</doc>
            <type name="ICalGLib.Component" c:type="ICalComponent*"/>
          </parameter>
          <parameter name="opflags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4642">bit-or of #ECalOperationFlags</doc>
            <type name="OperationFlags" c:type="ECalOperationFlags"/>
          </parameter>
          <parameter name="out_uid"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     nullable="1"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4643">Return value for the UID assigned to the new component
          by the calendar backend</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/libecal/e-cal-client.c"
                 line="4645">a #GCancellable; can be %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="create_objects"
              c:identifier="e_cal_client_create_objects"
              version="3.6">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="4720">Requests the calendar backend to create the objects specified by the @icalcomps
argument. Some backends would assign a specific UID to the newly created object,
but this function does not modify the original @icalcomps if their UID changes.
The call is finished by e_cal_client_create_objects_finish() from
the @callback.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="351"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4722">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="icalcomps" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4723">The components to create</doc>
            <type name="GLib.SList" c:type="GSList*">
              <type name="ICalGLib.Component"/>
            </type>
          </parameter>
          <parameter name="opflags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4724">bit-or of #ECalOperationFlags</doc>
            <type name="OperationFlags" c:type="ECalOperationFlags"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4725">a #GCancellable; can be %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/libecal/e-cal-client.c"
                 line="4726">callback to call when a result is ready</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/libecal/e-cal-client.c"
                 line="4727">user data for the @callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="create_objects_finish"
              c:identifier="e_cal_client_create_objects_finish"
              version="3.6"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="4772">Finishes previous call of e_cal_client_create_objects() and
sets @out_uids to newly assigned UIDs for the created objects.
This @out_uids should be freed with e_client_util_free_string_slist().</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="357"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client.c"
               line="4784">%TRUE if successful, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4774">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4775">a #GAsyncResult</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
          <parameter name="out_uids"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4776">Return value for the UIDs assigned
           to the new components by the calendar backend</doc>
            <type name="GLib.SList" c:type="GSList**">
              <type name="utf8"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="create_objects_sync"
              c:identifier="e_cal_client_create_objects_sync"
              version="3.6"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="4816">Requests the calendar backend to create the objects specified by the
@icalcomps argument. Some backends would assign a specific UID to the
newly created objects, in those cases these UIDs would be returned in
the @out_uids argument. This function does not modify the original
@icalcomps if their UID changes.  Returned @out_uids should be freed
with e_client_util_free_string_slist().</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="362"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client.c"
               line="4833">%TRUE if successful, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4818">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="icalcomps" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4819">The components to create</doc>
            <type name="GLib.SList" c:type="GSList*">
              <type name="ICalGLib.Component"/>
            </type>
          </parameter>
          <parameter name="opflags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4820">bit-or of #ECalOperationFlags</doc>
            <type name="OperationFlags" c:type="ECalOperationFlags"/>
          </parameter>
          <parameter name="out_uids"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4821">Return value for the UIDs assigned
           to the new components by the calendar backend</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/libecal/e-cal-client.c"
                 line="4823">a #GCancellable; can be %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="discard_alarm"
              c:identifier="e_cal_client_discard_alarm"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="6259">Discards alarm @auid from a given component identified by @uid and @rid.
The call is finished by e_cal_client_discard_alarm_finish() from
the @callback.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="495"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="6261">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="6262">Unique identifier for a calendar 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/libecal/e-cal-client.c"
                 line="6263">Recurrence identifier</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="auid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="6264">Alarm identifier to discard</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="opflags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="6265">bit-or of #ECalOperationFlags</doc>
            <type name="OperationFlags" c:type="ECalOperationFlags"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="6266">a #GCancellable; can be %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/libecal/e-cal-client.c"
                 line="6267">callback to call when a result is ready</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/libecal/e-cal-client.c"
                 line="6268">user data for the @callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="discard_alarm_finish"
              c:identifier="e_cal_client_discard_alarm_finish"
              version="3.2"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="6316">Finishes previous call of e_cal_client_discard_alarm().</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="503"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client.c"
               line="6324">%TRUE if successful, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="6318">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="6319">a #GAsyncResult</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="discard_alarm_sync"
              c:identifier="e_cal_client_discard_alarm_sync"
              version="3.2"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="6346">Discards alarm @auid from a given component identified by @uid and @rid.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="507"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client.c"
               line="6358">%TRUE if successful, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="6348">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="6349">Unique identifier for a calendar 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/libecal/e-cal-client.c"
                 line="6350">Recurrence identifier</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="auid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="6351">Alarm identifier to discard</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="opflags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="6352">bit-or of #ECalOperationFlags</doc>
            <type name="OperationFlags" c:type="ECalOperationFlags"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="6353">a #GCancellable; can be %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="generate_instances"
              c:identifier="e_cal_client_generate_instances"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="2749">Does a combination of e_cal_client_get_object_list() and
e_cal_recur_generate_instances_sync(). Unlike
e_cal_client_generate_instances_sync(), this returns immediately and the
@cb callback is called asynchronously.

The callback function should do a g_object_ref() of the calendar component
it gets passed if it intends to keep it around, since it will be unref'ed
as soon as the callback returns.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="201"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="2751">A calendar client.</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="start" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="2752">Start time for query.</doc>
            <type name="glong" c:type="time_t"/>
          </parameter>
          <parameter name="end" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="2753">End time for query.</doc>
            <type name="glong" c:type="time_t"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="2754">a #GCancellable; can be %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="cb"
                     transfer-ownership="none"
                     scope="notified"
                     closure="4"
                     destroy="5">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="2755">Callback for each generated instance.</doc>
            <type name="RecurInstanceCb" c:type="ECalRecurInstanceCb"/>
          </parameter>
          <parameter name="cb_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="2756">Closure data for the callback.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="destroy_cb_data"
                     transfer-ownership="none"
                     scope="async">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="2757">Function to call when the processing is done, to free
                  @cb_data; can be %NULL.</doc>
            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
          </parameter>
        </parameters>
      </method>
      <method name="generate_instances_for_object"
              c:identifier="e_cal_client_generate_instances_for_object"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="2927">Does a combination of e_cal_client_get_object_list() and
e_cal_recur_generate_instances_sync(), like
e_cal_client_generate_instances(), but for a single object. Unlike
e_cal_client_generate_instances_for_object_sync(), this returns immediately
and the @cb callback is called asynchronously.

The callback function should do a g_object_ref() of the calendar component
it gets passed if it intends to keep it around, since it will be unref'ed
as soon as the callback returns.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="215"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="2929">A calendar client.</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="icalcomp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="2930">Object to generate instances from.</doc>
            <type name="ICalGLib.Component" c:type="ICalComponent*"/>
          </parameter>
          <parameter name="start" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="2931">Start time for query.</doc>
            <type name="glong" c:type="time_t"/>
          </parameter>
          <parameter name="end" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="2932">End time for query.</doc>
            <type name="glong" c:type="time_t"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="2933">a #GCancellable; can be %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="cb"
                     transfer-ownership="none"
                     scope="notified"
                     closure="5"
                     destroy="6">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="2934">Callback for each generated instance.</doc>
            <type name="RecurInstanceCb" c:type="ECalRecurInstanceCb"/>
          </parameter>
          <parameter name="cb_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="2935">Closure data for the callback.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="destroy_cb_data"
                     transfer-ownership="none"
                     scope="async">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="2936">Function to call when the processing is done, to
                  free @cb_data; can be %NULL.</doc>
            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
          </parameter>
        </parameters>
      </method>
      <method name="generate_instances_for_object_sync"
              c:identifier="e_cal_client_generate_instances_for_object_sync"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="3017">Does a combination of e_cal_client_get_object_list() and
e_cal_recur_generate_instances_sync(), like
e_cal_client_generate_instances_sync(), but for a single object.

The callback function should do a g_object_ref() of the calendar component
it gets passed if it intends to keep it around, since it will be unref'ed
as soon as the callback returns.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="224"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="3019">A calendar client</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="icalcomp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="3020">Object to generate instances from</doc>
            <type name="ICalGLib.Component" c:type="ICalComponent*"/>
          </parameter>
          <parameter name="start" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="3021">Start time for query</doc>
            <type name="glong" c:type="time_t"/>
          </parameter>
          <parameter name="end" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="3022">End time for query</doc>
            <type name="glong" c:type="time_t"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="3023">a #GCancellable; can be %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="cb"
                     transfer-ownership="none"
                     scope="call"
                     closure="5">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="3024">Callback for each generated instance</doc>
            <type name="RecurInstanceCb" c:type="ECalRecurInstanceCb"/>
          </parameter>
          <parameter name="cb_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="3025">Closure data for the callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="generate_instances_sync"
              c:identifier="e_cal_client_generate_instances_sync"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="2808">Does a combination of e_cal_client_get_object_list() and
e_cal_recur_generate_instances_sync().

The callback function should do a g_object_ref() of the calendar component
it gets passed if it intends to keep it around, since it will be unreffed
as soon as the callback returns.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="208"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="2810">A calendar client</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="start" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="2811">Start time for query</doc>
            <type name="glong" c:type="time_t"/>
          </parameter>
          <parameter name="end" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="2812">End time for query</doc>
            <type name="glong" c:type="time_t"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="2813">a #GCancellable; can be %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="cb"
                     transfer-ownership="none"
                     scope="call"
                     closure="4">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="2814">Callback for each generated instance</doc>
            <type name="RecurInstanceCb" c:type="ECalRecurInstanceCb"/>
          </parameter>
          <parameter name="cb_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="2815">Closure data for the callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_attachment_uris"
              c:identifier="e_cal_client_get_attachment_uris"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="6060">Queries a calendar for a specified component's object attachment uris.
The call is finished by e_cal_client_get_attachment_uris_finish() from
the @callback.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="476"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="6062">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="6063">Unique identifier for a calendar 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/libecal/e-cal-client.c"
                 line="6064">Recurrence identifier</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/libecal/e-cal-client.c"
                 line="6065">a #GCancellable; can be %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/libecal/e-cal-client.c"
                 line="6066">callback to call when a result is ready</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/libecal/e-cal-client.c"
                 line="6067">user data for the @callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_attachment_uris_finish"
              c:identifier="e_cal_client_get_attachment_uris_finish"
              version="3.2"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="6110">Finishes previous call of e_cal_client_get_attachment_uris() and
sets @out_attachment_uris to uris for component's attachments.
The list should be freed with e_client_util_free_string_slist().</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="483"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client.c"
               line="6122">%TRUE if successful, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="6112">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="6113">a #GAsyncResult</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
          <parameter name="out_attachment_uris"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="6114">Return location for the
                      list of attachment URIs</doc>
            <type name="GLib.SList" c:type="GSList**">
              <type name="utf8"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="get_attachment_uris_sync"
              c:identifier="e_cal_client_get_attachment_uris_sync"
              version="3.2"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="6154">Queries a calendar for a specified component's object attachment URIs.
The list should be freed with e_client_util_free_string_slist().</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="488"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client.c"
               line="6167">%TRUE if successful, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="6156">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="6157">Unique identifier for a calendar 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/libecal/e-cal-client.c"
                 line="6158">Recurrence identifier</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="out_attachment_uris"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="6159">Return location for the
                      list of attachment URIs</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/libecal/e-cal-client.c"
                 line="6161">a #GCancellable; can be %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_component_as_string"
              c:identifier="e_cal_client_get_component_as_string"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="3155">Gets a calendar component as an iCalendar string, with a toplevel
VCALENDAR component and all VTIMEZONEs needed for the component.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="232"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client.c"
               line="3163">the component as a complete iCalendar string, or NULL on
failure. The string should be freed with g_free().</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="3157">A calendar client.</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="icalcomp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="3158">A calendar component object.</doc>
            <type name="ICalGLib.Component" c:type="ICalComponent*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_default_object"
              c:identifier="e_cal_client_get_default_object"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="3249">Retrives an #ICalComponent from the backend that contains the default
values for properties needed. The call is finished
by e_cal_client_get_default_object_finish() from the @callback.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="235"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="3251">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="3252">a #GCancellable; can be %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/libecal/e-cal-client.c"
                 line="3253">callback to call when a result is ready</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/libecal/e-cal-client.c"
                 line="3254">user data for the @callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_default_object_finish"
              c:identifier="e_cal_client_get_default_object_finish"
              version="3.2"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="3291">Finishes previous call of e_cal_client_get_default_object() and
sets @out_icalcomp to an #ICalComponent from the backend that contains
the default values for properties needed. This @out_icalcomp should be
freed with g_object_unref(), when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="239"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client.c"
               line="3303">%TRUE if successful, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="3293">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="3294">a #GAsyncResult</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
          <parameter name="out_icalcomp"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="3295">Return value for the default calendar object.</doc>
            <type name="ICalGLib.Component" c:type="ICalComponent**"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_default_object_sync"
              c:identifier="e_cal_client_get_default_object_sync"
              version="3.2"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="3337">Retrives an #ICalComponent from the backend that contains the default
values for properties needed. This @out_icalcomp should be freed with
g_object_unref(), when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="244"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client.c"
               line="3348">%TRUE if successful, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="3339">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="out_icalcomp"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="3340">Return value for the default calendar object.</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/libecal/e-cal-client.c"
                 line="3341">a #GCancellable; can be %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_default_timezone"
              c:identifier="e_cal_client_get_default_timezone"
              glib:get-property="default-timezone"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="2036">Returns the default timezone previously set with
e_cal_client_set_default_timezone().  The returned pointer is owned by
the @client and should not be freed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="188"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client.c"
               line="2044">an #ICalTimezone</doc>
          <type name="ICalGLib.Timezone" c:type="ICalTimezone*"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="2038">A calendar client.</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_free_busy"
              c:identifier="e_cal_client_get_free_busy"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="4308">Begins retrieval of free/busy information from the calendar server
as a list of #ECalComponent-s. Connect to "free-busy-data" signal
to receive chunks of free/busy components.
The call is finished by e_cal_client_get_free_busy_finish() from
the @callback.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="315"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4310">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="start" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4311">Start time for query</doc>
            <type name="glong" c:type="time_t"/>
          </parameter>
          <parameter name="end" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4312">End time for query</doc>
            <type name="glong" c:type="time_t"/>
          </parameter>
          <parameter name="users" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4313">List of users to retrieve free/busy information for</doc>
            <type name="GLib.SList" c:type="const GSList*">
              <type name="utf8"/>
            </type>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4314">a #GCancellable; can be %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/libecal/e-cal-client.c"
                 line="4315">callback to call when a result is ready</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/libecal/e-cal-client.c"
                 line="4316">user data for the @callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_free_busy_finish"
              c:identifier="e_cal_client_get_free_busy_finish"
              version="3.2"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="4364">Finishes previous call of e_cal_client_get_free_busy().
The @out_freebusy contains all VFREEBUSY #ECalComponent-s, which could be also
received by "free-busy-data" signal. The client is responsible to do a merge of
the components between this complete list and those received through the signal.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="322"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client.c"
               line="4376">%TRUE if successful, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4366">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4367">a #GAsyncResult</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
          <parameter name="out_freebusy"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4368">a #GSList of #ECalComponent-s with overall returned Free/Busy data</doc>
            <type name="GLib.SList" c:type="GSList**">
              <type name="Component"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="get_free_busy_sync"
              c:identifier="e_cal_client_get_free_busy_sync"
              version="3.2"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="4411">Gets free/busy information from the calendar server.
The @out_freebusy contains all VFREEBUSY #ECalComponent-s, which could be also
received by "free-busy-data" signal. The client is responsible to do a merge of
the components between this complete list and those received through the signal.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="327"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client.c"
               line="4426">%TRUE if successful, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4413">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="start" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4414">Start time for query</doc>
            <type name="glong" c:type="time_t"/>
          </parameter>
          <parameter name="end" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4415">End time for query</doc>
            <type name="glong" c:type="time_t"/>
          </parameter>
          <parameter name="users" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4416">List of users to retrieve free/busy information for</doc>
            <type name="GLib.SList" c:type="const GSList*">
              <type name="utf8"/>
            </type>
          </parameter>
          <parameter name="out_freebusy"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4417">a #GSList of #ECalComponent-s with overall returned Free/Busy data</doc>
            <type name="GLib.SList" c:type="GSList**">
              <type name="Component"/>
            </type>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4418">a #GCancellable; can be %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_local_attachment_store"
              c:identifier="e_cal_client_get_local_attachment_store"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="1981">Queries the URL where the calendar attachments are
serialized in the local filesystem. This enable clients
to operate with the reference to attachments rather than the data itself
unless it specifically uses the attachments for open/sending
operations.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="183"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client.c"
               line="1991">The URL where the attachments are serialized in the
local filesystem.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="1983">A calendar client.</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_object"
              c:identifier="e_cal_client_get_object"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="3422">Queries a calendar for a calendar component object based on its unique
identifier. The call is finished by e_cal_client_get_object_finish()
from the @callback.

Use e_cal_client_get_objects_for_uid() to get list of all
objects for the given uid, which includes master object and
all detached instances.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="249"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="3424">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="3425">Unique identifier for a calendar 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/libecal/e-cal-client.c"
                 line="3426">Recurrence identifier.</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/libecal/e-cal-client.c"
                 line="3427">a #GCancellable; can be %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/libecal/e-cal-client.c"
                 line="3428">callback to call when a result is ready</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/libecal/e-cal-client.c"
                 line="3429">user data for the @callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_object_finish"
              c:identifier="e_cal_client_get_object_finish"
              version="3.2"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="3476">Finishes previous call of e_cal_client_get_object() and
sets @out_icalcomp to queried component. This function always returns
master object for a case of @rid being NULL or an empty string.
This component should be freed with g_object_unref(), when no longer needed.

Use e_cal_client_get_objects_for_uid() to get list of all
objects for the given uid, which includes master object and
all detached instances.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="255"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client.c"
               line="3492">%TRUE if successful, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="3478">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="3479">a #GAsyncResult</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
          <parameter name="out_icalcomp"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="3480">Return value for the calendar component object.</doc>
            <type name="ICalGLib.Component" c:type="ICalComponent**"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_object_list"
              c:identifier="e_cal_client_get_object_list"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="3933">Gets a list of objects from the calendar that match the query specified
by the @sexp argument, returning matching objects as a list of #ICalComponent-s.
The call is finished by e_cal_client_get_object_list_finish() from
the @callback.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="282"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="3935">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="sexp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="3936">an S-expression representing the query</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/libecal/e-cal-client.c"
                 line="3937">a #GCancellable; can be %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/libecal/e-cal-client.c"
                 line="3938">callback to call when a result is ready</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/libecal/e-cal-client.c"
                 line="3939">user data for the @callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_object_list_as_comps"
              c:identifier="e_cal_client_get_object_list_as_comps"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="4125">Gets a list of objects from the calendar that match the query specified
by the @sexp argument, returning matching objects as a list of #ECalComponent-s.
The call is finished by e_cal_client_get_object_list_as_comps_finish() from
the @callback.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="298"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4127">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="sexp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4128">an S-expression representing the query</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/libecal/e-cal-client.c"
                 line="4129">a #GCancellable; can be %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/libecal/e-cal-client.c"
                 line="4130">callback to call when a result is ready</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/libecal/e-cal-client.c"
                 line="4131">user data for the @callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_object_list_as_comps_finish"
              c:identifier="e_cal_client_get_object_list_as_comps_finish"
              version="3.2"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="4172">Finishes previous call of e_cal_client_get_object_list_as_comps() and
sets @out_ecalcomps to a matching list of #ECalComponent-s.
This list should be freed with e_client_util_free_object_slist().</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="304"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client.c"
               line="4184">%TRUE if successful, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4174">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4175">a #GAsyncResult</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
          <parameter name="out_ecalcomps"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4176">list of matching
                #ECalComponent&lt;!-- --&gt;s</doc>
            <type name="GLib.SList" c:type="GSList**">
              <type name="Component"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="get_object_list_as_comps_sync"
              c:identifier="e_cal_client_get_object_list_as_comps_sync"
              version="3.2"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="4216">Gets a list of objects from the calendar that match the query specified
by the @sexp argument. The objects will be returned in the @out_ecalcomps
argument, which is a list of #ECalComponent.
This list should be freed with e_client_util_free_object_slist().</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="309"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client.c"
               line="4230">%TRUE if successful, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4218">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="sexp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4219">an S-expression representing the query</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="out_ecalcomps"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4220">list of matching
                #ECalComponent&lt;!-- --&gt;s</doc>
            <type name="GLib.SList" c:type="GSList**">
              <type name="Component"/>
            </type>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4222">a #GCancellable; can be %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_object_list_finish"
              c:identifier="e_cal_client_get_object_list_finish"
              version="3.2"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="3980">Finishes previous call of e_cal_client_get_object_list() and
sets @out_icalcomps to a matching list of #ICalComponent-s.
This list should be freed with e_client_util_free_object_slist().</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="287"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client.c"
               line="3992">%TRUE if successful, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="3982">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="3983">a #GAsyncResult</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
          <parameter name="out_icalcomps"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="3984">list of matching
                #ICalComponent&lt;!-- --&gt;s</doc>
            <type name="GLib.SList" c:type="GSList**">
              <type name="ICalGLib.Component"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="get_object_list_sync"
              c:identifier="e_cal_client_get_object_list_sync"
              version="3.2"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="4024">Gets a list of objects from the calendar that match the query specified
by the @sexp argument. The objects will be returned in the @out_icalcomps
argument, which is a list of #ICalComponent.
This list should be freed with e_client_util_free_object_slist().</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="292"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client.c"
               line="4038">%TRUE if successful, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4026">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="sexp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4027">an S-expression representing the query</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="out_icalcomps"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4028">list of matching
                #ICalComponent&lt;!-- --&gt;s</doc>
            <type name="GLib.SList" c:type="GSList**">
              <type name="ICalGLib.Component"/>
            </type>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4030">a #GCancellable; can be %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_object_sync"
              c:identifier="e_cal_client_get_object_sync"
              version="3.2"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="3526">Queries a calendar for a calendar component object based
on its unique identifier. This function always returns
master object for a case of @rid being NULL or an empty string.
This component should be freed with g_object_unref(),
when no longer needed.

Use e_cal_client_get_objects_for_uid_sync() to get list of all
objects for the given uid, which includes master object and
all detached instances.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="259"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client.c"
               line="3545">%TRUE if successful, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="3528">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="3529">Unique identifier for a calendar 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/libecal/e-cal-client.c"
                 line="3530">Recurrence identifier.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="out_icalcomp"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="3531">Return value for the calendar component object.</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/libecal/e-cal-client.c"
                 line="3532">a #GCancellable; can be %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_objects_for_uid"
              c:identifier="e_cal_client_get_objects_for_uid"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="3695">Queries a calendar for all calendar components with the given unique
ID. This will return any recurring event and all its detached recurrences.
For non-recurring events, it will just return the object with that ID.
The call is finished by e_cal_client_get_objects_for_uid_finish() from
the @callback.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="265"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="3697">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="3698">Unique identifier for a calendar 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/libecal/e-cal-client.c"
                 line="3699">a #GCancellable; can be %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/libecal/e-cal-client.c"
                 line="3700">callback to call when a result is ready</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/libecal/e-cal-client.c"
                 line="3701">user data for the @callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_objects_for_uid_finish"
              c:identifier="e_cal_client_get_objects_for_uid_finish"
              version="3.2"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="3743">Finishes previous call of e_cal_client_get_objects_for_uid() and
sets @out_ecalcomps to a list of #ECalComponent&lt;!-- --&gt;s corresponding to
found components for a given uid of the same type as this client.
This list should be freed with e_client_util_free_object_slist().</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="271"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client.c"
               line="3757">%TRUE if successful, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="3745">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="3746">a #GAsyncResult</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
          <parameter name="out_ecalcomps"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="3747">
                Return location for the list of objects obtained from the
                backend</doc>
            <type name="GLib.SList" c:type="GSList**">
              <type name="Component"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="get_objects_for_uid_sync"
              c:identifier="e_cal_client_get_objects_for_uid_sync"
              version="3.2"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="3789">Queries a calendar for all calendar components with the given unique
ID. This will return any recurring event and all its detached recurrences.
For non-recurring events, it will just return the object with that ID.
This list should be freed with e_client_util_free_object_slist().</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="276"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client.c"
               line="3804">%TRUE if successful, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="3791">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="3792">Unique identifier for a calendar component</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="out_ecalcomps"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="3793">
                Return location for the list of objects obtained from the
                backend</doc>
            <type name="GLib.SList" c:type="GSList**">
              <type name="Component"/>
            </type>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="3796">a #GCancellable; can be %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_source_type"
              c:identifier="e_cal_client_get_source_type"
              glib:get-property="source-type"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="1960">Gets the source type of the calendar client.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="182"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client.c"
               line="1966">an #ECalClientSourceType value corresponding
to the source type of the calendar client.</doc>
          <type name="ClientSourceType" c:type="ECalClientSourceType"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="1962">A calendar client.</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_timezone"
              c:identifier="e_cal_client_get_timezone"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="6627">Retrieves a timezone object from the calendar backend.
The call is finished by e_cal_client_get_timezone_finish() from
the @callback.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="528"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="6629">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="tzid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="6630">ID of the timezone to retrieve</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/libecal/e-cal-client.c"
                 line="6631">a #GCancellable; can be %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/libecal/e-cal-client.c"
                 line="6632">callback to call when a result is ready</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/libecal/e-cal-client.c"
                 line="6633">user data for the @callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_timezone_finish"
              c:identifier="e_cal_client_get_timezone_finish"
              version="3.2"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="6673">Finishes previous call of e_cal_client_get_timezone() and
sets @out_zone to a retrieved timezone object from the calendar backend.
This object is owned by the @client, thus do not free it.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="533"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client.c"
               line="6684">%TRUE if successful, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="6675">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="6676">a #GAsyncResult</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
          <parameter name="out_zone"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="6677">Return value for the timezone</doc>
            <type name="ICalGLib.Timezone" c:type="ICalTimezone**"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_timezone_sync"
              c:identifier="e_cal_client_get_timezone_sync"
              version="3.2"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="6718">Retrieves a timezone object from the calendar backend.
This object is owned by the @client, thus do not free it.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="538"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client.c"
               line="6729">%TRUE if successful, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="6720">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="tzid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="6721">ID of the timezone to retrieve</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/libecal/e-cal-client.c"
                 line="6722">Return value for the timezone</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/libecal/e-cal-client.c"
                 line="6723">a #GCancellable; can be %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_view"
              c:identifier="e_cal_client_get_view"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="6463">Query @client with @sexp, creating an #ECalClientView.
The call is finished by e_cal_client_get_view_finish()
from the @callback.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="514"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="6465">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="sexp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="6466">an S-expression representing the query.</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/libecal/e-cal-client.c"
                 line="6467">a #GCancellable; can be %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/libecal/e-cal-client.c"
                 line="6468">callback to call when a result is ready</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/libecal/e-cal-client.c"
                 line="6469">user data for the @callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_view_finish"
              c:identifier="e_cal_client_get_view_finish"
              version="3.2"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="6509">Finishes previous call of e_cal_client_get_view().
If successful, then the @out_view is set to newly allocated #ECalClientView,
which should be freed with g_object_unref().</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="519"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client.c"
               line="6520">%TRUE if successful, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="6511">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="6512">a #GAsyncResult</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
          <parameter name="out_view"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="6513">an #ECalClientView</doc>
            <type name="ClientView" c:type="ECalClientView**"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_view_sync"
              c:identifier="e_cal_client_get_view_sync"
              version="3.2"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="6552">Query @client with @sexp, creating an #ECalClientView.
If successful, then the @out_view is set to newly allocated #ECalClientView,
which should be freed with g_object_unref().</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="523"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client.c"
               line="6564">%TRUE if successful, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="6554">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="sexp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="6555">an S-expression representing the query.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="out_view"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="6556">an #ECalClientView</doc>
            <type name="ClientView" c:type="ECalClientView**"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="6557">a #GCancellable; can be %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="modify_object"
              c:identifier="e_cal_client_modify_object"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="4928">Requests the calendar backend to modify an existing object. If the object
does not exist on the calendar, an error will be returned.

For recurrent appointments, the @mod argument specifies what to modify,
if all instances (#E_CAL_OBJ_MOD_ALL), a single instance (#E_CAL_OBJ_MOD_THIS),
or a specific set of instances (#E_CAL_OBJ_MOD_THIS_AND_PRIOR and
#E_CAL_OBJ_MOD_THIS_AND_FUTURE).

The call is finished by e_cal_client_modify_object_finish() from
the @callback.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="369"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4930">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="icalcomp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4931">Component to modify</doc>
            <type name="ICalGLib.Component" c:type="ICalComponent*"/>
          </parameter>
          <parameter name="mod" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4932">Type of modification</doc>
            <type name="ObjModType" c:type="ECalObjModType"/>
          </parameter>
          <parameter name="opflags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4933">bit-or of #ECalOperationFlags</doc>
            <type name="OperationFlags" c:type="ECalOperationFlags"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4934">a #GCancellable; can be %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/libecal/e-cal-client.c"
                 line="4935">callback to call when a result is ready</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/libecal/e-cal-client.c"
                 line="4936">user data for the @callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="modify_object_finish"
              c:identifier="e_cal_client_modify_object_finish"
              version="3.2"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="4987">Finishes previous call of e_cal_client_modify_object().</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="376"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client.c"
               line="4995">%TRUE if successful, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4989">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="4990">a #GAsyncResult</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="modify_object_sync"
              c:identifier="e_cal_client_modify_object_sync"
              version="3.2"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="5017">Requests the calendar backend to modify an existing object. If the object
does not exist on the calendar, an error will be returned.

For recurrent appointments, the @mod argument specifies what to modify,
if all instances (#E_CAL_OBJ_MOD_ALL), a single instance (#E_CAL_OBJ_MOD_THIS),
or a specific set of instances (#E_CAL_OBJ_MOD_THIS_AND_PRIOR and
#E_CAL_OBJ_MOD_THIS_AND_FUTURE).</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="380"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client.c"
               line="5034">%TRUE if successful, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5019">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="icalcomp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5020">Component to modify</doc>
            <type name="ICalGLib.Component" c:type="ICalComponent*"/>
          </parameter>
          <parameter name="mod" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5021">Type of modification</doc>
            <type name="ObjModType" c:type="ECalObjModType"/>
          </parameter>
          <parameter name="opflags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5022">bit-or of #ECalOperationFlags</doc>
            <type name="OperationFlags" c:type="ECalOperationFlags"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5023">a #GCancellable; can be %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="modify_objects"
              c:identifier="e_cal_client_modify_objects"
              version="3.6">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="5084">Requests the calendar backend to modify existing objects. If an object
does not exist on the calendar, an error will be returned.

For recurrent appointments, the @mod argument specifies what to modify,
if all instances (#E_CAL_OBJ_MOD_ALL), a single instance (#E_CAL_OBJ_MOD_THIS),
or a specific set of instances (#E_CAL_OBJ_MOD_THIS_AND_PRIOR and
#E_CAL_OBJ_MOD_THIS_AND_FUTURE).

The call is finished by e_cal_client_modify_objects_finish() from
the @callback.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="386"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5086">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="icalcomps" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5087">Components to modify</doc>
            <type name="GLib.SList" c:type="GSList*">
              <type name="ICalGLib.Component"/>
            </type>
          </parameter>
          <parameter name="mod" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5088">Type of modification</doc>
            <type name="ObjModType" c:type="ECalObjModType"/>
          </parameter>
          <parameter name="opflags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5089">bit-or of #ECalOperationFlags</doc>
            <type name="OperationFlags" c:type="ECalOperationFlags"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5090">a #GCancellable; can be %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/libecal/e-cal-client.c"
                 line="5091">callback to call when a result is ready</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/libecal/e-cal-client.c"
                 line="5092">user data for the @callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="modify_objects_finish"
              c:identifier="e_cal_client_modify_objects_finish"
              version="3.6"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="5144">Finishes previous call of e_cal_client_modify_objects().</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="393"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client.c"
               line="5152">%TRUE if successful, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5146">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5147">a #GAsyncResult</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="modify_objects_sync"
              c:identifier="e_cal_client_modify_objects_sync"
              version="3.6"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="5174">Requests the calendar backend to modify existing objects. If an object
does not exist on the calendar, an error will be returned.

For recurrent appointments, the @mod argument specifies what to modify,
if all instances (#E_CAL_OBJ_MOD_ALL), a single instance (#E_CAL_OBJ_MOD_THIS),
or a specific set of instances (#E_CAL_OBJ_MOD_THIS_AND_PRIOR and
#E_CAL_OBJ_MOD_THIS_AND_FUTURE).</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="397"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client.c"
               line="5191">%TRUE if successful, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5176">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="icalcomps" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5177">Components to modify</doc>
            <type name="GLib.SList" c:type="GSList*">
              <type name="ICalGLib.Component"/>
            </type>
          </parameter>
          <parameter name="mod" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5178">Type of modification</doc>
            <type name="ObjModType" c:type="ECalObjModType"/>
          </parameter>
          <parameter name="opflags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5179">bit-or of #ECalOperationFlags</doc>
            <type name="OperationFlags" c:type="ECalOperationFlags"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5180">a #GCancellable; can be %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="receive_objects"
              c:identifier="e_cal_client_receive_objects"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="5675">Makes the backend receive the set of iCalendar objects specified in the
@icalcomp argument. This is used for iTIP confirmation/cancellation
messages for scheduled meetings.

The call is finished by e_cal_client_receive_objects_finish() from
the @callback.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="441"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5677">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="icalcomp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5678">An #ICalComponent</doc>
            <type name="ICalGLib.Component" c:type="ICalComponent*"/>
          </parameter>
          <parameter name="opflags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5679">bit-or of #ECalOperationFlags</doc>
            <type name="OperationFlags" c:type="ECalOperationFlags"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5680">a #GCancellable; can be %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/libecal/e-cal-client.c"
                 line="5681">callback to call when a result is ready</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/libecal/e-cal-client.c"
                 line="5682">user data for the @callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="receive_objects_finish"
              c:identifier="e_cal_client_receive_objects_finish"
              version="3.2"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="5727">Finishes previous call of e_cal_client_receive_objects().</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="447"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client.c"
               line="5735">%TRUE if successful, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5729">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5730">a #GAsyncResult</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="receive_objects_sync"
              c:identifier="e_cal_client_receive_objects_sync"
              version="3.2"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="5757">Makes the backend receive the set of iCalendar objects specified in the
@icalcomp argument. This is used for iTIP confirmation/cancellation
messages for scheduled meetings.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="451"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client.c"
               line="5769">%TRUE if successful, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5759">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="icalcomp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5760">An #ICalComponent</doc>
            <type name="ICalGLib.Component" c:type="ICalComponent*"/>
          </parameter>
          <parameter name="opflags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5761">bit-or of #ECalOperationFlags</doc>
            <type name="OperationFlags" c:type="ECalOperationFlags"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5762">a #GCancellable; can be %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_object"
              c:identifier="e_cal_client_remove_object"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="5282">This function allows the removal of instances of a recurrent
appointment. By using a combination of the @uid, @rid and @mod
arguments, you can remove specific instances. If what you want
is to remove all instances, use %NULL @rid and #E_CAL_OBJ_MOD_ALL
for the @mod.

The call is finished by e_cal_client_remove_object_finish() from
the @callback.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="404"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5284">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5285">UID of the object 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/libecal/e-cal-client.c"
                 line="5286">Recurrence ID of the specific recurrence to remove</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="mod" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5287">Type of the removal</doc>
            <type name="ObjModType" c:type="ECalObjModType"/>
          </parameter>
          <parameter name="opflags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5288">bit-or of #ECalOperationFlags</doc>
            <type name="OperationFlags" c:type="ECalOperationFlags"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5289">a #GCancellable; can be %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/libecal/e-cal-client.c"
                 line="5290">callback to call when a result is ready</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/libecal/e-cal-client.c"
                 line="5291">user data for the @callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_object_finish"
              c:identifier="e_cal_client_remove_object_finish"
              version="3.2"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="5343">Finishes previous call of e_cal_client_remove_object().</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="412"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client.c"
               line="5351">%TRUE if successful, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5345">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5346">a #GAsyncResult</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_object_sync"
              c:identifier="e_cal_client_remove_object_sync"
              version="3.2"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="5373">This function allows the removal of instances of a recurrent
appointment. By using a combination of the @uid, @rid and @mod
arguments, you can remove specific instances. If what you want
is to remove all instances, use %NULL @rid and #E_CAL_OBJ_MOD_ALL
for the @mod.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="416"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client.c"
               line="5389">%TRUE if successful, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5375">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5376">UID of the object 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/libecal/e-cal-client.c"
                 line="5377">Recurrence ID of the specific recurrence to remove</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="mod" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5378">Type of the removal</doc>
            <type name="ObjModType" c:type="ECalObjModType"/>
          </parameter>
          <parameter name="opflags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5379">bit-or of #ECalOperationFlags</doc>
            <type name="OperationFlags" c:type="ECalOperationFlags"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5380">a #GCancellable; can be %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_objects"
              c:identifier="e_cal_client_remove_objects"
              version="3.6">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="5448">This function allows the removal of instances of recurrent appointments.
#ECalComponentId objects can identify specific instances (if rid is not
%NULL).  If what you want is to remove all instances, use a %NULL rid in
the #ECalComponentId and #E_CAL_OBJ_MOD_ALL for the @mod.

The call is finished by e_cal_client_remove_objects_finish() from
the @callback.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="423"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5450">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="ids" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5451">A list of #ECalComponentId objects
identifying the objects to remove</doc>
            <type name="GLib.SList" c:type="const GSList*">
              <type name="ComponentId"/>
            </type>
          </parameter>
          <parameter name="mod" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5453">Type of the removal</doc>
            <type name="ObjModType" c:type="ECalObjModType"/>
          </parameter>
          <parameter name="opflags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5454">bit-or of #ECalOperationFlags</doc>
            <type name="OperationFlags" c:type="ECalOperationFlags"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5455">a #GCancellable; can be %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/libecal/e-cal-client.c"
                 line="5456">callback to call when a result is ready</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/libecal/e-cal-client.c"
                 line="5457">user data for the @callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_objects_finish"
              c:identifier="e_cal_client_remove_objects_finish"
              version="3.6"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="5506">Finishes previous call of e_cal_client_remove_objects().</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="430"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client.c"
               line="5514">%TRUE if successful, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5508">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5509">a #GAsyncResult</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_objects_sync"
              c:identifier="e_cal_client_remove_objects_sync"
              version="3.6"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="5536">This function allows the removal of instances of recurrent
appointments. #ECalComponentId objects can identify specific instances
(if rid is not %NULL).  If what you want is to remove all instances, use
a %NULL rid in the #ECalComponentId and #E_CAL_OBJ_MOD_ALL for the @mod.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="434"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client.c"
               line="5551">%TRUE if successful, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5538">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="ids" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5539">a list of #ECalComponentId objects
      identifying the objects to remove</doc>
            <type name="GLib.SList" c:type="const GSList*">
              <type name="ComponentId"/>
            </type>
          </parameter>
          <parameter name="mod" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5541">Type of the removal</doc>
            <type name="ObjModType" c:type="ECalObjModType"/>
          </parameter>
          <parameter name="opflags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5542">bit-or of #ECalOperationFlags</doc>
            <type name="OperationFlags" c:type="ECalOperationFlags"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5543">a #GCancellable; can be %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="send_objects"
              c:identifier="e_cal_client_send_objects"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="5832">Requests a calendar backend to send meeting information stored in @icalcomp.
The backend can modify this component and request a send to particular users.
The call is finished by e_cal_client_send_objects_finish() from
the @callback.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="457"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5834">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="icalcomp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5835">An #ICalComponent to be sent</doc>
            <type name="ICalGLib.Component" c:type="ICalComponent*"/>
          </parameter>
          <parameter name="opflags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5836">bit-or of #ECalOperationFlags</doc>
            <type name="OperationFlags" c:type="ECalOperationFlags"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5837">a #GCancellable; can be %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/libecal/e-cal-client.c"
                 line="5838">callback to call when a result is ready</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/libecal/e-cal-client.c"
                 line="5839">user data for the @callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="send_objects_finish"
              c:identifier="e_cal_client_send_objects_finish"
              version="3.2"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="5882">Finishes previous call of e_cal_client_send_objects() and
populates @out_users with a list of users to send @out_modified_icalcomp to.

The @out_users list should be freed with e_client_util_free_string_slist()
and the @out_modified_icalcomp should be freed with g_object_unref().</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="463"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client.c"
               line="5897">%TRUE if successful, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5884">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5885">a #GAsyncResult</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
          <parameter name="out_users"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5886">List of users to send
            the @out_modified_icalcomp to</doc>
            <type name="GLib.SList" c:type="GSList**">
              <type name="utf8"/>
            </type>
          </parameter>
          <parameter name="out_modified_icalcomp"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5888">Return value for the #ICalComponent to be sent</doc>
            <type name="ICalGLib.Component" c:type="ICalComponent**"/>
          </parameter>
        </parameters>
      </method>
      <method name="send_objects_sync"
              c:identifier="e_cal_client_send_objects_sync"
              version="3.2"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="5937">Requests a calendar backend to send meeting information stored in @icalcomp.
The backend can modify this component and request a send to users in the
@out_users list.

The @out_users list should be freed with e_client_util_free_string_slist()
and the @out_modified_icalcomp should be freed with g_object_unref().</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="469"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client.c"
               line="5955">%TRUE if successful, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5939">an #ECalClient</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="icalcomp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5940">An #ICalComponent to be sent</doc>
            <type name="ICalGLib.Component" c:type="ICalComponent*"/>
          </parameter>
          <parameter name="opflags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5941">bit-or of #ECalOperationFlags</doc>
            <type name="OperationFlags" c:type="ECalOperationFlags"/>
          </parameter>
          <parameter name="out_users"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5942">List of users to send the
            @out_modified_icalcomp to</doc>
            <type name="GLib.SList" c:type="GSList**">
              <type name="utf8"/>
            </type>
          </parameter>
          <parameter name="out_modified_icalcomp"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="5944">Return value for the #ICalComponent to be sent</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/libecal/e-cal-client.c"
                 line="5945">a #GCancellable; can be %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_default_timezone"
              c:identifier="e_cal_client_set_default_timezone"
              glib:set-property="default-timezone"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.c"
             line="2004">Sets the default timezone to use to resolve DATE and floating DATE-TIME
values. This will typically be from the user's timezone setting. Call this
before using any other object fetching functions.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client.h"
                         line="185"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="client" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="2006">A calendar client.</doc>
            <type name="Client" c:type="ECalClient*"/>
          </instance-parameter>
          <parameter name="zone" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client.c"
                 line="2007">A timezone object.</doc>
            <type name="ICalGLib.Timezone" c:type="ICalTimezone*"/>
          </parameter>
        </parameters>
      </method>
      <property name="default-timezone"
                writable="1"
                transfer-ownership="none"
                setter="set_default_timezone"
                getter="get_default_timezone">
        <type name="ICalGLib.Timezone"/>
      </property>
      <property name="source-type"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_source_type">
        <type name="ClientSourceType"/>
      </property>
      <field name="parent" readable="0" private="1">
        <type name="EDataServer.Client" c:type="EClient"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="ClientPrivate" c:type="ECalClientPrivate*"/>
      </field>
      <glib:signal name="free-busy-data" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="free_busy_ecalcomps" transfer-ownership="none">
            <type name="GLib.SList" c:type="gpointer">
              <type name="Component"/>
            </type>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="ClientClass"
            c:type="ECalClientClass"
            glib:is-gtype-struct-for="Client">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-client.h"
           line="151">Base class structure for the #ECalClient class</doc>
      <source-position filename="src/calendar/libecal/e-cal-client.h"
                       line="165"/>
      <field name="parent" readable="0" private="1">
        <type name="EDataServer.ClientClass" c:type="EClientClass"/>
      </field>
      <field name="free_busy_data" introspectable="0">
        <callback name="free_busy_data" introspectable="0">
          <source-position filename="src/calendar/libecal/e-cal-client.h"
                           line="163"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="client" transfer-ownership="none">
              <type name="Client" c:type="ECalClient*"/>
            </parameter>
            <parameter name="free_busy_ecalcomps" transfer-ownership="none">
              <type name="GLib.SList" c:type="const GSList*">
                <type name="gpointer" c:type="gpointer"/>
              </type>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <enumeration name="ClientError" version="3.2" c:type="ECalClientError">
      <source-position filename="src/calendar/libecal/e-cal-client.h"
                       line="122"/>
      <member name="no_such_calendar"
              value="0"
              c:identifier="E_CAL_CLIENT_ERROR_NO_SUCH_CALENDAR">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.h"
             line="106">No such calendar</doc>
      </member>
      <member name="object_not_found"
              value="1"
              c:identifier="E_CAL_CLIENT_ERROR_OBJECT_NOT_FOUND">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.h"
             line="107">Object not found</doc>
      </member>
      <member name="invalid_object"
              value="2"
              c:identifier="E_CAL_CLIENT_ERROR_INVALID_OBJECT">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.h"
             line="108">Invalid object</doc>
      </member>
      <member name="unknown_user"
              value="3"
              c:identifier="E_CAL_CLIENT_ERROR_UNKNOWN_USER">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.h"
             line="109">Unknown user</doc>
      </member>
      <member name="object_id_already_exists"
              value="4"
              c:identifier="E_CAL_CLIENT_ERROR_OBJECT_ID_ALREADY_EXISTS">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.h"
             line="110">Object ID already exists</doc>
      </member>
      <member name="invalid_range"
              value="5"
              c:identifier="E_CAL_CLIENT_ERROR_INVALID_RANGE">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client.h"
             line="111">Invalid range</doc>
      </member>
    </enumeration>
    <record name="ClientPrivate" c:type="ECalClientPrivate" disguised="1">
      <source-position filename="src/calendar/libecal/e-cal-client.h"
                       line="134"/>
    </record>
    <enumeration name="ClientSourceType"
                 version="3.2"
                 glib:type-name="ECalClientSourceType"
                 glib:get-type="e_cal_client_source_type_get_type"
                 c:type="ECalClientSourceType">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-enums.h"
           line="29">Indicates the type of calendar</doc>
      <member name="events"
              value="0"
              c:identifier="E_CAL_CLIENT_SOURCE_TYPE_EVENTS"
              glib:nick="events"
              glib:name="E_CAL_CLIENT_SOURCE_TYPE_EVENTS">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-enums.h"
             line="31">Events calander</doc>
      </member>
      <member name="tasks"
              value="1"
              c:identifier="E_CAL_CLIENT_SOURCE_TYPE_TASKS"
              glib:nick="tasks"
              glib:name="E_CAL_CLIENT_SOURCE_TYPE_TASKS">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-enums.h"
             line="32">Task list calendar</doc>
      </member>
      <member name="memos"
              value="2"
              c:identifier="E_CAL_CLIENT_SOURCE_TYPE_MEMOS"
              glib:nick="memos"
              glib:name="E_CAL_CLIENT_SOURCE_TYPE_MEMOS">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-enums.h"
             line="33">Memo list calendar</doc>
      </member>
    </enumeration>
    <record name="ClientTzlookupICalCompData"
            c:type="ECalClientTzlookupICalCompData"
            version="3.34"
            glib:type-name="ECalClientTzlookupICalCompData"
            glib:get-type="e_cal_client_tzlookup_icalcomp_data_get_type"
            c:symbol-prefix="client_tzlookup_icalcomp_data">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-check-timezones.h"
           line="47">Contains data used as lookup_data of e_cal_client_tzlookup_icalcomp_cb().</doc>
      <source-position filename="src/calendar/libecal/e-cal-check-timezones.h"
                       line="54"/>
      <constructor name="new"
                   c:identifier="e_cal_client_tzlookup_icalcomp_data_new"
                   version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-check-timezones.c"
             line="516">Constructs a new #ECalClientTzlookupICalCompData, which can
be used as a lookup_data argument of e_cal_client_tzlookup_icalcomp_cb().
Free it with e_cal_client_tzlookup_icalcomp_data_free(), when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-check-timezones.h"
                         line="59"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-check-timezones.c"
               line="524">a new #ECalClientTzlookupICalCompData</doc>
          <type name="ClientTzlookupICalCompData"
                c:type="ECalClientTzlookupICalCompData*"/>
        </return-value>
        <parameters>
          <parameter name="icomp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-check-timezones.c"
                 line="518">an #ICalComponent</doc>
            <type name="ICalGLib.Component" c:type="ICalComponent*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="copy"
              c:identifier="e_cal_client_tzlookup_icalcomp_data_copy"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-check-timezones.c"
             line="542">Copies given #ECalClientTzlookupICalCompData structure.
When the @lookup_data is %NULL, simply returns %NULL as well.</doc>
        <source-position filename="src/calendar/libecal/e-cal-check-timezones.h"
                         line="62"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-check-timezones.c"
               line="549">copy of the @lookup_data. Free the returned structure
   with e_cal_client_tzlookup_icalcomp_data_free(), when no longer needed.</doc>
          <type name="ClientTzlookupICalCompData"
                c:type="ECalClientTzlookupICalCompData*"/>
        </return-value>
        <parameters>
          <instance-parameter name="lookup_data"
                              transfer-ownership="none"
                              nullable="1"
                              allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-check-timezones.c"
                 line="544">source #ECalClientTzlookupICalCompData, or %NULL</doc>
            <type name="ClientTzlookupICalCompData"
                  c:type="const ECalClientTzlookupICalCompData*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="free"
              c:identifier="e_cal_client_tzlookup_icalcomp_data_free"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-check-timezones.c"
             line="564">Frees previously allocated #ECalClientTzlookupICalCompData structure
with e_cal_client_tzlookup_icalcomp_data_new() or e_cal_client_tzlookup_icalcomp_data_copy().
The function does nothing when @lookup_data is %NULL.</doc>
        <source-position filename="src/calendar/libecal/e-cal-check-timezones.h"
                         line="64"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="lookup_data"
                              transfer-ownership="none"
                              nullable="1"
                              allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-check-timezones.c"
                 line="566">an #ECalClientTzlookupICalCompData, or %NULL</doc>
            <type name="ClientTzlookupICalCompData"
                  c:type="ECalClientTzlookupICalCompData*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_icalcomponent"
              c:identifier="e_cal_client_tzlookup_icalcomp_data_get_icalcomponent"
              version="3.34">
        <source-position filename="src/calendar/libecal/e-cal-check-timezones.h"
                         line="66"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-check-timezones.c"
               line="588">The #ICalComponent associated with the @lookup_data</doc>
          <type name="ICalGLib.Component" c:type="ICalComponent*"/>
        </return-value>
        <parameters>
          <instance-parameter name="lookup_data" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-check-timezones.c"
                 line="586">an #ECalClientTzlookupICalCompData</doc>
            <type name="ClientTzlookupICalCompData"
                  c:type="const ECalClientTzlookupICalCompData*"/>
          </instance-parameter>
        </parameters>
      </method>
    </record>
    <class name="ClientView"
           c:symbol-prefix="client_view"
           c:type="ECalClientView"
           version="3.2"
           parent="GObject.Object"
           glib:type-name="ECalClientView"
           glib:get-type="e_cal_client_view_get_type"
           glib:type-struct="ClientViewClass">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-client-view.h"
           line="74">Contains only private data that should be read and manipulated using the
functions below.</doc>
      <source-position filename="src/calendar/libecal/e-cal-client-view.h"
                       line="115"/>
      <implements name="Gio.Initable"/>
      <virtual-method name="complete">
        <source-position filename="src/calendar/libecal/e-cal-client-view.h"
                         line="113"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="client_view" transfer-ownership="none">
            <type name="ClientView" c:type="ECalClientView*"/>
          </instance-parameter>
          <parameter name="error" transfer-ownership="none">
            <type name="GLib.Error" c:type="const GError*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="objects_added" introspectable="0">
        <source-position filename="src/calendar/libecal/e-cal-client-view.h"
                         line="104"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="client_view" transfer-ownership="none">
            <type name="ClientView" c:type="ECalClientView*"/>
          </instance-parameter>
          <parameter name="objects" transfer-ownership="none">
            <type name="GLib.SList" c:type="const GSList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="objects_modified" introspectable="0">
        <source-position filename="src/calendar/libecal/e-cal-client-view.h"
                         line="106"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="client_view" transfer-ownership="none">
            <type name="ClientView" c:type="ECalClientView*"/>
          </instance-parameter>
          <parameter name="objects" transfer-ownership="none">
            <type name="GLib.SList" c:type="const GSList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="objects_removed" introspectable="0">
        <source-position filename="src/calendar/libecal/e-cal-client-view.h"
                         line="108"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="client_view" transfer-ownership="none">
            <type name="ClientView" c:type="ECalClientView*"/>
          </instance-parameter>
          <parameter name="uids" transfer-ownership="none">
            <type name="GLib.SList" c:type="const GSList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="progress">
        <source-position filename="src/calendar/libecal/e-cal-client-view.h"
                         line="110"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="client_view" transfer-ownership="none">
            <type name="ClientView" c:type="ECalClientView*"/>
          </instance-parameter>
          <parameter name="percent" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="message" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="get_connection"
              c:identifier="e_cal_client_view_get_connection"
              glib:get-property="connection"
              version="3.8">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client-view.c"
             line="895">Returns the #GDBusConnection used to create the D-Bus proxy.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client-view.h"
                         line="121"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client-view.c"
               line="901">the #GDBusConnection</doc>
          <type name="Gio.DBusConnection" c:type="GDBusConnection*"/>
        </return-value>
        <parameters>
          <instance-parameter name="client_view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client-view.c"
                 line="897">an #ECalClientView</doc>
            <type name="ClientView" c:type="ECalClientView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_object_path"
              c:identifier="e_cal_client_view_get_object_path"
              glib:get-property="object-path"
              version="3.8">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client-view.c"
             line="913">Returns the object path used to create the D-Bus proxy.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client-view.h"
                         line="123"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client-view.c"
               line="919">the object path</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="client_view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client-view.c"
                 line="915">an #ECalClientView</doc>
            <type name="ClientView" c:type="ECalClientView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_running"
              c:identifier="e_cal_client_view_is_running"
              version="3.2">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client-view.c"
             line="931">Retunrs: Whether view is running. Not running views are ignoring
all events sent from the server.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client-view.h"
                         line="125"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="client_view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client-view.c"
                 line="933">an #ECalClientView</doc>
            <type name="ClientView" c:type="ECalClientView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="ref_client"
              c:identifier="e_cal_client_view_ref_client"
              version="3.10">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client-view.c"
             line="871">Returns the #ECalClientView:client associated with @client_view.

The returned #ECalClient is referenced for thread-safety.  Unreference
the #ECalClient with g_object_unref() when finished with it.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client-view.h"
                         line="119"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-client-view.c"
               line="880">an #ECalClient</doc>
          <type name="Client" c:type="_ECalClient*"/>
        </return-value>
        <parameters>
          <instance-parameter name="client_view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client-view.c"
                 line="873">an #ECalClientView</doc>
            <type name="ClientView" c:type="ECalClientView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_fields_of_interest"
              c:identifier="e_cal_client_view_set_fields_of_interest"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client-view.c"
             line="1011">Client can instruct server to which fields it is interested in only, thus
the server can return less data over the wire. The server can still return
complete objects, this is just a hint to it that the listed fields will
be used only. The UID/RID fields are returned always. Initial views has no
fields of interest and using %NULL for @fields_of_interest will unset any
previous changes.

Some backends can use summary information of its cache to create artifical
objects, which will omit stored object parsing. If this cannot be done then
it will simply return object as is stored in the cache.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client-view.h"
                         line="126"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="client_view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client-view.c"
                 line="1013">an #ECalClientView</doc>
            <type name="ClientView" c:type="ECalClientView*"/>
          </instance-parameter>
          <parameter name="fields_of_interest"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client-view.c"
                 line="1014">List of field names
                     in which the client is interested, or %NULL to reset
                     the fields of interest</doc>
            <type name="GLib.SList" c:type="const GSList*">
              <type name="utf8"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="set_flags"
              c:identifier="e_cal_client_view_set_flags"
              version="3.6"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client-view.c"
             line="1053">Sets the @flags which control the behaviour of @client_view.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client-view.h"
                         line="134"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="client_view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client-view.c"
                 line="1055">an #ECalClientView</doc>
            <type name="ClientView" c:type="ECalClientView*"/>
          </instance-parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client-view.c"
                 line="1056">the #ECalClientViewFlags for @client_view</doc>
            <type name="ClientViewFlags" c:type="ECalClientViewFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="start"
              c:identifier="e_cal_client_view_start"
              version="3.2"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client-view.c"
             line="948">Tells @client_view to start processing events.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client-view.h"
                         line="130"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="client_view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client-view.c"
                 line="950">an #ECalClientView</doc>
            <type name="ClientView" c:type="ECalClientView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="stop"
              c:identifier="e_cal_client_view_stop"
              version="3.2"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client-view.c"
             line="983">Tells @client_view to stop processing events.</doc>
        <source-position filename="src/calendar/libecal/e-cal-client-view.h"
                         line="132"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="client_view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client-view.c"
                 line="985">an #ECalClientView</doc>
            <type name="ClientView" c:type="ECalClientView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="client"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client-view.c"
             line="738">The ECalClient for the view</doc>
        <type name="Client"/>
      </property>
      <property name="connection"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_connection">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client-view.c"
             line="755">The GDBusConnection used to create the D-Bus proxy</doc>
        <type name="Gio.DBusConnection"/>
      </property>
      <property name="object-path"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_object_path">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client-view.c"
             line="773">The object path used to create the D-Bus proxy</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="object" readable="0" private="1">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="ClientViewPrivate" c:type="ECalClientViewPrivate*"/>
      </field>
      <glib:signal name="complete" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="GLib.Error"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="objects-added" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="objects" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client-view.c"
                 line="794">a #GSList
   of added #ICalComponent objects into the @client_view.</doc>
            <type name="GLib.SList" c:type="gpointer">
              <type name="ICalGLib.Component"/>
            </type>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="objects-modified" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="objects" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client-view.c"
                 line="809">a #GSList
   of modified #ICalComponent objects within the @client_view</doc>
            <type name="GLib.SList" c:type="gpointer">
              <type name="ICalGLib.Component"/>
            </type>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="objects-removed" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="uids" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-client-view.c"
                 line="824">a #GSList
   of removed objects, described by their UID and eventually RID, as an #ECalComponentId structure.</doc>
            <type name="GLib.SList" c:type="gpointer">
              <type name="ComponentId"/>
            </type>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="progress" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="ClientViewClass"
            c:type="ECalClientViewClass"
            glib:is-gtype-struct-for="ClientView">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-client-view.h"
           line="88">Base class structure for the #ECalClientView class</doc>
      <source-position filename="src/calendar/libecal/e-cal-client-view.h"
                       line="115"/>
      <field name="parent_class" readable="0" private="1">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="objects_added" introspectable="0">
        <callback name="objects_added" introspectable="0">
          <source-position filename="src/calendar/libecal/e-cal-client-view.h"
                           line="104"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="client_view" transfer-ownership="none">
              <type name="ClientView" c:type="ECalClientView*"/>
            </parameter>
            <parameter name="objects" transfer-ownership="none">
              <type name="GLib.SList" c:type="const GSList*">
                <type name="gpointer" c:type="gpointer"/>
              </type>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="objects_modified" introspectable="0">
        <callback name="objects_modified" introspectable="0">
          <source-position filename="src/calendar/libecal/e-cal-client-view.h"
                           line="106"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="client_view" transfer-ownership="none">
              <type name="ClientView" c:type="ECalClientView*"/>
            </parameter>
            <parameter name="objects" transfer-ownership="none">
              <type name="GLib.SList" c:type="const GSList*">
                <type name="gpointer" c:type="gpointer"/>
              </type>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="objects_removed" introspectable="0">
        <callback name="objects_removed" introspectable="0">
          <source-position filename="src/calendar/libecal/e-cal-client-view.h"
                           line="108"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="client_view" transfer-ownership="none">
              <type name="ClientView" c:type="ECalClientView*"/>
            </parameter>
            <parameter name="uids" transfer-ownership="none">
              <type name="GLib.SList" c:type="const GSList*">
                <type name="gpointer" c:type="gpointer"/>
              </type>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="progress">
        <callback name="progress">
          <source-position filename="src/calendar/libecal/e-cal-client-view.h"
                           line="110"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="client_view" transfer-ownership="none">
              <type name="ClientView" c:type="ECalClientView*"/>
            </parameter>
            <parameter name="percent" transfer-ownership="none">
              <type name="guint" c:type="guint"/>
            </parameter>
            <parameter name="message" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="complete">
        <callback name="complete">
          <source-position filename="src/calendar/libecal/e-cal-client-view.h"
                           line="113"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="client_view" transfer-ownership="none">
              <type name="ClientView" c:type="ECalClientView*"/>
            </parameter>
            <parameter name="error" transfer-ownership="none">
              <type name="GLib.Error" c:type="const GError*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <bitfield name="ClientViewFlags"
              version="3.6"
              c:type="ECalClientViewFlags">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-client-view.h"
           line="56">Flags that control the behaviour of an #ECalClientView.</doc>
      <source-position filename="src/calendar/libecal/e-cal-client-view.h"
                       line="72"/>
      <member name="none"
              value="0"
              c:identifier="E_CAL_CLIENT_VIEW_FLAGS_NONE">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client-view.h"
             line="58">Symbolic value for no flags</doc>
      </member>
      <member name="notify_initial"
              value="1"
              c:identifier="E_CAL_CLIENT_VIEW_FLAGS_NOTIFY_INITIAL">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-client-view.h"
             line="60">If this flag is set then all objects matching the view's query will
  be sent as notifications when starting the view, otherwise only future
  changes will be reported.  The default for an #ECalClientView is %TRUE.</doc>
      </member>
    </bitfield>
    <record name="ClientViewPrivate"
            c:type="ECalClientViewPrivate"
            disguised="1">
      <source-position filename="src/calendar/libecal/e-cal-client-view.h"
                       line="52"/>
    </record>
    <class name="Component"
           c:symbol-prefix="component"
           c:type="ECalComponent"
           parent="GObject.Object"
           glib:type-name="ECalComponent"
           glib:get-type="e_cal_component_get_type"
           glib:type-struct="ComponentClass">
      <source-position filename="src/calendar/libecal/e-cal-component.h"
                       line="79"/>
      <constructor name="new"
                   c:identifier="e_cal_component_new"
                   version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="248">Creates a new empty calendar component object.  Once created, you should set it from an
existing #icalcomponent structure by using e_cal_component_set_icalcomponent() or with a
new empty component type by using e_cal_component_set_new_vtype().</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="83"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="255">A newly-created calendar component object.</doc>
          <type name="Component" c:type="ECalComponent*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_icalcomponent"
                   c:identifier="e_cal_component_new_from_icalcomponent"
                   version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="311">Creates a new #ECalComponent which will has set @icalcomp as
an inner #ICalComponent. The newly created #ECalComponent takes
ownership of the @icalcomp, and if the call
to e_cal_component_set_icalcomponent() fails, then @icalcomp
is freed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="86"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="321">An #ECalComponent with @icalcomp
   assigned on success, %NULL if the @icalcomp cannot be assigned to
   #ECalComponent.</doc>
          <type name="Component" c:type="ECalComponent*"/>
        </return-value>
        <parameters>
          <parameter name="icalcomp" transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="313">An #ICalComponent to use</doc>
            <type name="ICalGLib.Component" c:type="ICalComponent*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_from_string"
                   c:identifier="e_cal_component_new_from_string"
                   version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="286">Creates a new calendar component object from the given iCalendar string.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="85"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="292">A calendar component representing
   the given iCalendar string on success, %NULL if there was an error.</doc>
          <type name="Component" c:type="ECalComponent*"/>
        </return-value>
        <parameters>
          <parameter name="calobj" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="288">A string representation of an iCalendar component.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_vtype"
                   c:identifier="e_cal_component_new_vtype"
                   version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="265">Creates a new #ECalComponent of type @vtype.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="84"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="271">A newly-created calendar component object with set @vtype.</doc>
          <type name="Component" c:type="ECalComponent*"/>
        </return-value>
        <parameters>
          <parameter name="vtype" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="267">an #ECalComponentVType</doc>
            <type name="ComponentVType" c:type="ECalComponentVType"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="abort_sequence"
              c:identifier="e_cal_component_abort_sequence"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="768">Aborts the sequence change needed in the given calendar component,
which means it will not require a sequence commit (via
e_cal_component_commit_sequence()) even if the changes done require a
sequence increment.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="106"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="770">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="add_alarm"
              c:identifier="e_cal_component_add_alarm"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="4113">Adds an alarm subcomponent to a calendar component.  You should have created
the @alarm by using e_cal_component_alarm_new(); it is invalid to use an
#ECalComponentAlarm structure that came from e_cal_component_get_alarm().  After
adding the alarm, the @alarm structure is no longer valid because the
internal structures may change and you should get rid of it by using
e_cal_component_alarm_free().</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="289"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="4115">A calendar component.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
          <parameter name="alarm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="4116">an alarm, as an #ECalComponentAlarm</doc>
            <type name="ComponentAlarm" c:type="ECalComponentAlarm*"/>
          </parameter>
        </parameters>
      </method>
      <method name="clone" c:identifier="e_cal_component_clone" version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="345">Creates a new calendar component object by copying the information from
another one.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="89"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="352">A newly-created calendar component with the same
values as the original one.</doc>
          <type name="Component" c:type="ECalComponent*"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="347">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="commit_sequence"
              c:identifier="e_cal_component_commit_sequence"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="722">Increments the sequence number property in a calendar component object if it
needs it.  This needs to be done when any of a number of properties listed in
RFC 2445 change values, such as the start and end dates of a component.

This function must be called before calling e_cal_component_get_as_string() to
ensure that the component is fully consistent.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="105"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="724">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="dup_comment_for_locale"
              c:identifier="e_cal_component_dup_comment_for_locale"
              version="3.46">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="1328">Returns a comment for the given @locale. When @locale is %NULL,
the current locale is assumed. If no such comment for the locale
exists either a comment with no language parameter or the first
found is returned.

Free the returned non-NULL #ECalComponentText with e_cal_component_text_free(),
when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="135"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="1341">comment for the @locale, %NULL
   if no comment is set on the @comp.</doc>
          <type name="ComponentText" c:type="ECalComponentText*"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="1330">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
          <parameter name="locale"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="1331">a locale identifier, or %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="dup_description_for_locale"
              c:identifier="e_cal_component_dup_description_for_locale"
              version="3.46">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="1601">Returns a description for the given @locale. When @locale is %NULL,
the current locale is assumed. If no such description for the locale
exists either a description with no language parameter or the first
found is returned.

Free the returned non-NULL #ECalComponentText with e_cal_component_text_free(),
when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="155"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="1614">description for the @locale, %NULL
   if no description is set on the @comp.</doc>
          <type name="ComponentText" c:type="ECalComponentText*"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="1603">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
          <parameter name="locale"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="1604">a locale identifier, or %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="dup_summaries"
              c:identifier="e_cal_component_dup_summaries"
              version="3.46">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="3645">Queries the summary of a calendar component object. There can be one summary
property per locale. Free the returned #GSList with
g_slist_free_full (slist, e_cal_component_text_free);, when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="255"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="3653">the summary
   properties and their parameters, as a #GSList of #ECalComponentText structures.</doc>
          <type name="GLib.SList" c:type="GSList*">
            <type name="ComponentText"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="3647">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="dup_summary_for_locale"
              c:identifier="e_cal_component_dup_summary_for_locale"
              version="3.46">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="3689">Returns a summary for the given @locale. When @locale is %NULL,
the current locale is assumed. If no such summary for the locale
exists either a summary with no language parameter or the first
found is returned.

Free the returned non-NULL #ECalComponentText with e_cal_component_text_free(),
when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="259"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="3702">summary for the @locale, %NULL
   if no summary is set on the @comp.</doc>
          <type name="ComponentText" c:type="ECalComponentText*"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="3691">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
          <parameter name="locale"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="3692">a locale identifier, or %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_alarm"
              c:identifier="e_cal_component_get_alarm"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="4304">Queries a particular alarm subcomponent of a calendar component.
Free the returned pointer with e_cal_component_alarm_free(),
when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="298"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="4313">the alarm subcomponent that corresponds
   to the specified @auid, or %NULL if no alarm exists with that UID</doc>
          <type name="ComponentAlarm" c:type="ECalComponentAlarm*"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="4306">A calendar component.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
          <parameter name="auid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="4307">Unique identifier for the sought alarm subcomponent.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_alarm_uids"
              c:identifier="e_cal_component_get_alarm_uids"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="4253">Builds a list of the unique identifiers of the alarm subcomponents inside a
calendar component. Free the returned #GSList with
g_slist_free_full (slist, g_free);, when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="296"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="4261">a #GSList of unique
   identifiers for alarms.</doc>
          <type name="GLib.SList" c:type="GSList*">
            <type name="utf8"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="4255">A calendar component.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_all_alarms"
              c:identifier="e_cal_component_get_all_alarms"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="4359">Queries all alarm subcomponents of a calendar component.
Free the returned #GSList with g_slist_free_full (slist, e_cal_component_alarm_free);,
when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="300"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="4367">the alarm subcomponents
   as a #GSList of #ECalComponentAlarm, or %NULL, if no alarm exists</doc>
          <type name="GLib.SList" c:type="GSList*">
            <type name="ComponentAlarm"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="4361">A calendar component.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_as_string"
              c:identifier="e_cal_component_get_as_string"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="628">Gets the iCalendar string representation of a calendar component.  You should
call e_cal_component_commit_sequence() before this function to ensure that the
component's sequence number is consistent with the state of the object.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="103"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="636">String representation of the calendar component according to
RFC 2445.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="630">A calendar component.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_attachments"
              c:identifier="e_cal_component_get_attachments"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="866">Queries the attachment properties as #ICalAttach objects of the calendar
component object. Changes on these objects are directly affecting the component.
Free the returned #GSList with g_slist_free_full (slist, g_object_unref);,
when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="282"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="875">a #GSList of
   attachments, as #ICalAttach objects</doc>
          <type name="GLib.SList" c:type="GSList*">
            <type name="ICalGLib.Attach"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="868">A calendar component object</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_attendees"
              c:identifier="e_cal_component_get_attendees"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="3906">Queries the attendee properties of the calendar component object.
Free the returned #GSList with g_slist_free_full (slist, e_cal_component_attendee_free);,
when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="272"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="3914">
   the attendees, as a #GSList of an #ECalComponentAttendee, or %NULL,
   when none are set</doc>
          <type name="GLib.SList" c:type="GSList*">
            <type name="ComponentAttendee"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="3908">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_categories"
              c:identifier="e_cal_component_get_categories"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="969">Queries the categories of the given calendar component. The categories
are returned in the @categories argument, which, on success, will contain
a comma-separated list of all categories set in the component.
Free the returned string with g_free(), when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="115"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="978">the categories as string, or %NULL
   if none are set</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="971">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_categories_list"
              c:identifier="e_cal_component_get_categories_list"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="1030">Queries the list of categories of a calendar component object. Each element
in the returned categ_list is a string with the corresponding category.
Free the returned #GSList with g_slist_free_full (categories, g_free); , when
no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="118"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="1039">the #GSList of strings, where each
   string is a category, or %NULL, when no category is set.</doc>
          <type name="GLib.SList" c:type="GSList*">
            <type name="utf8"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="1032">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_classification"
              c:identifier="e_cal_component_get_classification"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="1113">Queries the classification of a calendar component object.  If the
classification property is not set on this component, this function returns
#E_CAL_COMPONENT_CLASS_NONE.

Retuurns: a classification of the @comp, as an #ECalComponentClassification</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="125"/>
        <return-value transfer-ownership="none">
          <type name="ComponentClassification"
                c:type="ECalComponentClassification"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="1115">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_comments"
              c:identifier="e_cal_component_get_comments"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="1283">Queries the comments of a calendar component object.  The comment property can
appear several times inside a calendar component, and so a list of
#ECalComponentText is returned. Free the returned #GSList with
g_slist_free_full (slist, e_cal_component_text_free);, when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="131"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="1292">the comment properties
   and their parameters, as a list of #ECalComponentText structures; or %NULL, when
   the component doesn't contain any.</doc>
          <type name="GLib.SList" c:type="GSList*">
            <type name="ComponentText"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="1285">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_completed"
              c:identifier="e_cal_component_get_completed"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="1450">Queries the date at which a calendar compoment object was completed.
Free the returned non-NULL pointer with g_object_unref(), when
no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="139"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="1458">the completion date, as an #ICalTime,
or %NULL, when none is set</doc>
          <type name="ICalGLib.Time" c:type="ICalTime*"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="1452">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_contacts"
              c:identifier="e_cal_component_get_contacts"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="1355">Queries the contact of a calendar component object.  The contact property can
appear several times inside a calendar component, and so a list of
#ECalComponentText is returned. Free the returned #GSList with
g_slist_free_full (slist, e_cal_component_text_free);, when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="143"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="1364">the contact properties and
   their parameters, as a #GSList of #ECalComponentText structures.</doc>
          <type name="GLib.SList" c:type="GSList*">
            <type name="ComponentText"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="1357">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_created"
              c:identifier="e_cal_component_get_created"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="1509">Queries the date in which a calendar component object was created in the
calendar store. Free the returned non-NULL pointer with g_object_unref(), when
no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="147"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="1517">the creation date, as an #ICalTime, or
%NULL, when none is set</doc>
          <type name="ICalGLib.Time" c:type="ICalTime*"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="1511">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_descriptions"
              c:identifier="e_cal_component_get_descriptions"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="1555">Queries the description of a calendar component object.  Journal components
may have more than one description, and as such this function returns a list
of #ECalComponentText structures.  All other types of components can have at
most one description for a single language. Free the returned #GSList with
g_slist_free_full (slist, e_cal_component_text_free);, when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="151"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="1565">the description
   properties and their parameters, as a #GSList of #ECalComponentText structures.</doc>
          <type name="GLib.SList" c:type="GSList*">
            <type name="ComponentText"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="1557">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_dtend"
              c:identifier="e_cal_component_get_dtend"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="1808">Queries the date/time end of a calendar component object. In case there's no DTEND,
but only DTSTART and DURATION, then the end is computed from the later two.
Free the returned #ECalComponentDateTime with e_cal_component_datetime_free(),
when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="160"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="1817">the date/time end, as an #ECalComponentDateTime</doc>
          <type name="ComponentDateTime" c:type="ECalComponentDateTime*"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="1810">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_dtstamp"
              c:identifier="e_cal_component_get_dtstamp"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="1875">Queries the date/timestamp property of a calendar component object, which is
the last time at which the object was modified by a calendar user agent.

Free a non-NULL returned object with g_object_unref(),
when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="164"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="1885">A value for the date/timestamp, or %NULL, when none found.</doc>
          <type name="ICalGLib.Time" c:type="ICalTime*"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="1877">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_dtstart"
              c:identifier="e_cal_component_get_dtstart"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="1941">Queries the date/time start of a calendar component object.
Free the returned #ECalComponentDateTime with e_cal_component_datetime_free(),
when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="169"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="1949">the date/time start, as an #ECalComponentDateTime</doc>
          <type name="ComponentDateTime" c:type="ECalComponentDateTime*"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="1943">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_due"
              c:identifier="e_cal_component_get_due"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="1987">Queries the due date/time of a calendar component object. In case there's no DUE,
but only DTSTART and DURATION, then the due is computed from the later two.
Free the returned #ECalComponentDateTime with e_cal_component_datetime_free(),
when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="174"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="1996">the due date/time, as an #ECalComponentDateTime</doc>
          <type name="ComponentDateTime" c:type="ECalComponentDateTime*"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="1989">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_exdates"
              c:identifier="e_cal_component_get_exdates"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="2252">Queries the list of exception date properties in a calendar component object.
Free the returned #GSList with g_slist_free_full (exdates, e_cal_component_datetime_free);,
when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="178"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="2260">
   the list of exception dates, as a #GSList of #ECalComponentDateTime</doc>
          <type name="GLib.SList" c:type="GSList*">
            <type name="ComponentDateTime"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="2254">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_exrule_properties"
              c:identifier="e_cal_component_get_exrule_properties"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="2426">Queries the list of exception rule properties of a calendar component object.
Free the list with g_slist_free_full (slist, g_object_unref);, when
no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="184"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="2434">a list of exception
   rule properties</doc>
          <type name="GLib.SList" c:type="GSList*">
            <type name="ICalGLib.Property"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="2428">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_exrules"
              c:identifier="e_cal_component_get_exrules"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="2404">Queries the list of exception rule properties of a calendar component
object. Free the returned list with g_slist_free_full (slist, g_object_unref);,
when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="183"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="2412">a #GSList
   of exception rules as #ICalRecurrence structures, or %NULL, when none exist.</doc>
          <type name="GLib.SList" c:type="GSList*">
            <type name="ICalGLib.Recurrence"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="2406">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_geo"
              c:identifier="e_cal_component_get_geo"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="2507">Gets the geographic position property of a calendar component object.
Free the returned non-NULL object with g_object_unref(), when
no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="192"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="2515">the geographic position as #ICalGeo,
   or %NULL, when none set.</doc>
          <type name="ICalGLib.Geo" c:type="ICalGeo*"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="2509">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_icalcomponent"
              c:identifier="e_cal_component_get_icalcomponent"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="589">Queries the #icalcomponent structure that a calendar component object is
wrapping.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="96"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="596">An #ICalComponent structure, or %NULL
   if the @comp has no #ICalComponent set to it.</doc>
          <type name="ICalGLib.Component" c:type="ICalComponent*"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="591">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_id"
              c:identifier="e_cal_component_get_id"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="787">Get the ID of the component as an #ECalComponentId. The return value should
be freed with e_cal_component_id_free(), when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="113"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="794">the id of the component</doc>
          <type name="ComponentId" c:type="ECalComponentId*"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="789">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_last_modified"
              c:identifier="e_cal_component_get_last_modified"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="2579">Queries the time at which a calendar component object was last modified in
the calendar store. Free the returned non-NULL pointer with g_object_unref(),
when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="196"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="2587">the last modified time, as an
#ICalTime, or %NULL, when none is set</doc>
          <type name="ICalGLib.Time" c:type="ICalTime*"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="2581">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_location"
              c:identifier="e_cal_component_get_location"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="3987">Queries the location property of a calendar component object.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="277"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="3993">the locatio, or %NULL, if none is set</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="3989">A calendar component object</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_organizer"
              c:identifier="e_cal_component_get_organizer"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="2624">Queries the organizer property of a calendar component object.
Free the returned structure with e_cal_component_organizer_free(),
when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="203"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="2632">an #ECalComponentOrganizer structure
   destribing the organizer, or %NULL, when none exists.</doc>
          <type name="ComponentOrganizer" c:type="ECalComponentOrganizer*"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="2626">A calendar component object</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_percent_complete"
              c:identifier="e_cal_component_get_percent_complete"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="2714">Queries the percent-complete property of a calendar component object.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="208"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="2720">the percent-complete property value, or -1 if not found</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="2716">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_priority"
              c:identifier="e_cal_component_get_priority"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="2784">Queries the priority property of a calendar component object.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="214"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="2790">the priority property value, or -1, if not found</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="2786">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_rdates"
              c:identifier="e_cal_component_get_rdates"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="2963">Queries the list of recurrence date properties in a calendar component
object. Free the returned #GSList with g_slist_free_full (slist, e_cal_component_period_free);,
when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="225"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="2971">the list
   of recurrence dates, as a #GSList of #ECalComponentPeriod structures.</doc>
          <type name="GLib.SList" c:type="GSList*">
            <type name="ComponentPeriod"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="2965">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_recurid"
              c:identifier="e_cal_component_get_recurid"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="2855">Queries the recurrence id property of a calendar component object.
Free the returned #ECalComponentRange with e_cal_component_range_free(),
whe no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="219"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="2863">the recurrence id property, as an #ECalComponentRange</doc>
          <type name="ComponentRange" c:type="ECalComponentRange*"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="2857">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_recurid_as_string"
              c:identifier="e_cal_component_get_recurid_as_string"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="2898">Gets the recurrence ID property as a string.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="220"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="2904">the recurrence ID as a string.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="2900">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_rrule_properties"
              c:identifier="e_cal_component_get_rrule_properties"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="3049">Queries a list of recurrence rule properties of a calendar component object.
Free the list with g_slist_free_full (slist, g_object_unref);, when
no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="231"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="3057">a list of recurrence
   rule properties</doc>
          <type name="GLib.SList" c:type="GSList*">
            <type name="ICalGLib.Property"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="3051">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_rrules"
              c:identifier="e_cal_component_get_rrules"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="3027">Queries the list of recurrence rule properties of a calendar component
object. Free the returned list with g_slist_free_full (slist, g_object_unref);,
when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="230"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="3035">a #GSList
   of recurrence rules as #ICalRecurrence structures, or %NULL, when none exist.</doc>
          <type name="GLib.SList" c:type="GSList*">
            <type name="ICalGLib.Recurrence"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="3029">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_sequence"
              c:identifier="e_cal_component_get_sequence"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="3343">Queries the sequence number of a calendar component object.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="242"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="3349">the sequence number, or -1 if not found</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="3345">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_status"
              c:identifier="e_cal_component_get_status"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="3410">Queries the status property of a calendar component object.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="247"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="3416">the status value; or %I_CAL_STATUS_NONE, if the component
  has no status property</doc>
          <type name="ICalGLib.PropertyStatus" c:type="ICalPropertyStatus"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="3412">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_summary"
              c:identifier="e_cal_component_get_summary"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="3482">Queries the summary of a calendar component object. It returns the first
found summary property of the component. To get a summary suitable for a specific
locale use e_cal_component_dup_summary_for_locale().

Free the returned pointer withe_cal_component_text_free(),
when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="252"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="3493">the summary, as an #ECalComponentText,
   or %NULL, when none is set</doc>
          <type name="ComponentText" c:type="ECalComponentText*"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="3484">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_transparency"
              c:identifier="e_cal_component_get_transparency"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="3716">Queries the time transparency of a calendar component object.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="264"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="3722">the time transparency, as an #ECalComponentTransparency;
   value #E_CAL_COMPONENT_TRANSP_NONE is returned when none is set</doc>
          <type name="ComponentTransparency"
                c:type="ECalComponentTransparency"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="3718">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_uid"
              c:identifier="e_cal_component_get_uid"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="809">Queries the unique identifier of a calendar component object.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="108"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="815">the UID string</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="811">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_url"
              c:identifier="e_cal_component_get_url"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="3818">Queries the uniform resource locator property of a calendar component object.
Free the returned URL with g_free(), when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="268"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="3825">the URL, or %NULL, when none is set</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="3820">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_vtype"
              c:identifier="e_cal_component_get_vtype"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="499">Queries the type of a calendar component object.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="94"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="505">The type of the component, as defined by RFC 2445.</doc>
          <type name="ComponentVType" c:type="ECalComponentVType"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="501">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="has_alarms"
              c:identifier="e_cal_component_has_alarms"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="4056">Checks whether the component has any alarms.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="288"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="4062">TRUE if the component has any alarms.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="4058">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="has_attachments"
              c:identifier="e_cal_component_has_attachments"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="928">Queries the component to see if it has attachments.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="285"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="934">TRUE if there are attachments, FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="930">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="has_attendees"
              c:identifier="e_cal_component_has_attendees"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="3969">Queries a calendar component object for the existence of attendees.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="275"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="3975">TRUE if there are attendees, FALSE if not.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="3971">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="has_exceptions"
              c:identifier="e_cal_component_has_exceptions"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="2490">Queries whether a calendar component object has any exception dates
or exception rules.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="190"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="2497">TRUE if the component has exceptions, FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="2492">A calendar component object</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="has_exdates"
              c:identifier="e_cal_component_has_exdates"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="2332">Queries whether a calendar component object has any exception dates defined
for it.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="181"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="2339">TRUE if the component has exception dates, FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="2334">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="has_exrules"
              c:identifier="e_cal_component_has_exrules"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="2470">Queries whether a calendar component object has any exception rules defined
for it.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="188"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="2477">TRUE if the component has exception rules, FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="2472">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="has_organizer"
              c:identifier="e_cal_component_has_organizer"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="2696">Check whether a calendar component object has an organizer or not.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="206"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="2702">TRUE if there is an organizer, FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="2698">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="has_rdates"
              c:identifier="e_cal_component_has_rdates"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="3007">Queries whether a calendar component object has any recurrence dates defined
for it.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="228"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="3014">TRUE if the component has recurrence dates, FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="3009">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="has_recurrences"
              c:identifier="e_cal_component_has_recurrences"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="3112">Queries whether a calendar component object has any recurrence dates or
recurrence rules.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="237"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="3119">TRUE if the component has recurrences, FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="3114">A calendar component object</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="has_rrules"
              c:identifier="e_cal_component_has_rrules"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="3092">Queries whether a calendar component object has any recurrence rules defined
for it.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="235"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="3099">TRUE if the component has recurrence rules, FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="3094">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="has_simple_recurrence"
              c:identifier="e_cal_component_has_simple_recurrence"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="3149">Checks whether the given calendar component object has simple recurrence
rules or more complicated ones.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="238"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="3156">TRUE if it has a simple recurrence rule, FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="3151">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_instance"
              c:identifier="e_cal_component_is_instance"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="3324">Checks whether a calendar component object is an instance of a recurring
event.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="240"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="3331">TRUE if it is an instance, FALSE if not.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="3326">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="remove_alarm"
              c:identifier="e_cal_component_remove_alarm"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="4185">Removes an alarm subcomponent from a calendar component.  If the alarm that
corresponds to the specified @auid had been fetched with
e_cal_component_get_alarm(), then those alarm structures will be invalid; you
should get rid of them with e_cal_component_alarm_free() before using this
function.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="291"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="4187">A calendar component.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
          <parameter name="auid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="4188">UID of the alarm to remove.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_all_alarms"
              c:identifier="e_cal_component_remove_all_alarms"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="4219">Remove all alarms from the calendar component</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="293"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="4221">A calendar component</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_attachments"
              c:identifier="e_cal_component_set_attachments"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="893">Sets the attachments of the calendar component object.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="283"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="895">A calendar component object</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
          <parameter name="attachments"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="896">a #GSList of an #ICalAttach,
   or %NULL to remove any existing</doc>
            <type name="GLib.SList" c:type="const GSList*">
              <type name="ICalGLib.Attach"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="set_attendees"
              c:identifier="e_cal_component_set_attendees"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="3933">Sets the attendees of a calendar component object</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="273"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="3935">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
          <parameter name="attendee_list"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="3936">Values for attendee
   properties, or %NULL to unset</doc>
            <type name="GLib.SList" c:type="const GSList*">
              <type name="ComponentAttendee"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="set_categories"
              c:identifier="e_cal_component_set_categories"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="1003">Sets the list of categories for a calendar component.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="116"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="1005">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
          <parameter name="categories" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="1006">Comma-separated list of categories.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_categories_list"
              c:identifier="e_cal_component_set_categories_list"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="1083">Sets the list of categories of a calendar component object.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="120"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="1085">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
          <parameter name="categ_list" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="1086">List of strings, one for each category.</doc>
            <type name="GLib.SList" c:type="const GSList*">
              <type name="utf8"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="set_classification"
              c:identifier="e_cal_component_set_classification"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="1159">Sets the classification property of a calendar component object.  To unset
the property, specify E_CAL_COMPONENT_CLASS_NONE for @classif.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="127"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="1161">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
          <parameter name="classif" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="1162">Classification to use.</doc>
            <type name="ComponentClassification"
                  c:type="ECalComponentClassification"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_comments"
              c:identifier="e_cal_component_set_comments"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="1307">Sets the comments of a calendar component object.  The comment property can
appear several times inside a calendar component, and so a list of
#ECalComponentText structures is used.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="132"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="1309">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
          <parameter name="text_list" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="1310">List of #ECalComponentText structures.</doc>
            <type name="GLib.SList" c:type="const GSList*">
              <type name="ComponentText"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="set_completed"
              c:identifier="e_cal_component_set_completed"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="1472">Sets the date at which a calendar component object was completed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="140"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="1474">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
          <parameter name="tt"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="1475">Value for the completion date.</doc>
            <type name="ICalGLib.Time" c:type="const ICalTime*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_contacts"
              c:identifier="e_cal_component_set_contacts"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="1378">Sets the contact of a calendar component object.  The contact property can
appear several times inside a calendar component, and so a list of
#ECalComponentText structures is used.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="144"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="1380">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
          <parameter name="text_list" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="1381">List of #ECalComponentText structures.</doc>
            <type name="GLib.SList" c:type="const GSList*">
              <type name="ComponentText"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="set_created"
              c:identifier="e_cal_component_set_created"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="1531">Sets the date in which a calendar component object is created in the calendar
store.  This should only be used inside a calendar store application, i.e.
not by calendar user agents.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="148"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="1533">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
          <parameter name="tt"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="1534">Value for the creation date.</doc>
            <type name="ICalGLib.Time" c:type="const ICalTime*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_descriptions"
              c:identifier="e_cal_component_set_descriptions"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="1579">Sets the description of a calendar component object.  Journal components may
have more than one description, and as such this function takes in a list of
#ECalComponentText structures.  All other types of components can have
at most one description.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="152"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="1581">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
          <parameter name="text_list" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="1582">List of #ECalComponentText structures.</doc>
            <type name="GLib.SList" c:type="const GSList*">
              <type name="ComponentText"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="set_dtend"
              c:identifier="e_cal_component_set_dtend"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="1842">Sets the date/time end property of a calendar component object.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="161"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="1844">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
          <parameter name="dt"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="1845">End date/time, or %NULL, to remove the property.</doc>
            <type name="ComponentDateTime"
                  c:type="const ECalComponentDateTime*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_dtstamp"
              c:identifier="e_cal_component_set_dtstamp"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="1910">Sets the date/timestamp of a calendar component object.  This should be
called whenever a calendar user agent makes a change to a component's
properties.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="165"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="1912">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
          <parameter name="tt" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="1913">Date/timestamp value.</doc>
            <type name="ICalGLib.Time" c:type="const ICalTime*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_dtstart"
              c:identifier="e_cal_component_set_dtstart"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="1962">Sets the date/time start property of a calendar component object.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="170"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="1964">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
          <parameter name="dt"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="1965">Start date/time, or %NULL, to remove the property.</doc>
            <type name="ComponentDateTime"
                  c:type="const ECalComponentDateTime*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_due"
              c:identifier="e_cal_component_set_due"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="2020">Sets the due date/time property of a calendar component object.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="175"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="2022">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
          <parameter name="dt"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="2023">End date/time, or %NULL, to remove the property.</doc>
            <type name="ComponentDateTime"
                  c:type="const ECalComponentDateTime*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_exdates"
              c:identifier="e_cal_component_set_exdates"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="2279">Sets the list of exception dates in a calendar component object.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="179"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="2281">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
          <parameter name="exdate_list"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="2282">List of #ECalComponentDateTime structures.</doc>
            <type name="GLib.SList" c:type="const GSList*">
              <type name="ComponentDateTime"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="set_exrules"
              c:identifier="e_cal_component_set_exrules"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="2448">Sets the list of exception rules in a calendar component object.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="186"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="2450">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
          <parameter name="recur_list"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="2451">a #GSList
   of #ICalRecurrence structures, or %NULL.</doc>
            <type name="GLib.SList" c:type="const GSList*">
              <type name="ICalGLib.Recurrence"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="set_geo"
              c:identifier="e_cal_component_set_geo"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="2540">Sets the geographic position property on a calendar component object.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="193"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="2542">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
          <parameter name="geo"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="2543">Value for the geographic position property, or %NULL to unset.</doc>
            <type name="ICalGLib.Geo" c:type="const ICalGeo*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_icalcomponent"
              c:identifier="e_cal_component_set_icalcomponent"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="538">Sets the contents of a calendar component object from an #ICalComponent.
If the @comp already had an #ICalComponent set into it, it will
be freed automatically.

Supported component types are VEVENT, VTODO, VJOURNAL, VFREEBUSY, and VTIMEZONE.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="98"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component.c"
               line="549">%TRUE on success, %FALSE if @icalcomp is an unsupported component type.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="540">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
          <parameter name="icalcomp"
                     transfer-ownership="full"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="541">An #ICalComponent.</doc>
            <type name="ICalGLib.Component" c:type="ICalComponent*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_last_modified"
              c:identifier="e_cal_component_set_last_modified"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="2601">Sets the time at which a calendar component object was last stored in the
calendar store.  This should not be called by plain calendar user agents.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="198"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="2603">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
          <parameter name="tt"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="2604">Value for the last time modified.</doc>
            <type name="ICalGLib.Time" c:type="const ICalTime*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_location"
              c:identifier="e_cal_component_set_location"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="4018">Sets the location property of a calendar component object.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="278"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="4020">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
          <parameter name="location"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="4021">Location value. Use %NULL or empty string, to unset the property.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_new_vtype"
              c:identifier="e_cal_component_set_new_vtype"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="431">Clears any existing component data from a calendar component object and
creates a new #ICalComponent of the specified type for it.  The only property
that will be set in the new component will be its unique identifier.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="91"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="433">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
          <parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="434">Type of calendar component to create.</doc>
            <type name="ComponentVType" c:type="ECalComponentVType"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_organizer"
              c:identifier="e_cal_component_set_organizer"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="2657">Sets the organizer of a calendar component object</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="204"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="2659">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
          <parameter name="organizer"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="2660">Value for the organizer property, as an #ECalComponentOrganizer</doc>
            <type name="ComponentOrganizer"
                  c:type="const ECalComponentOrganizer*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_percent_complete"
              c:identifier="e_cal_component_set_percent_complete"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="2744">Sets percent complete. The @percent can be between 0 and 100, inclusive.
A special value -1 can be used to remove the percent complete property.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="210"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="2746">an #ECalComponent</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
          <parameter name="percent" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="2747">a percent to set, or -1 to remove the property</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_priority"
              c:identifier="e_cal_component_set_priority"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="2814">Sets the priority property of a calendar component object.
The @priority can be between 0 and 9, inclusive.
A special value -1 can be used to remove the priority property.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="215"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="2816">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
          <parameter name="priority" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="2817">Value for the priority property.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_rdates"
              c:identifier="e_cal_component_set_rdates"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="2985">Sets the list of recurrence dates in a calendar component object.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="226"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="2987">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
          <parameter name="rdate_list"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="2988">List of
   #ECalComponentPeriod structures, or %NULL to set none</doc>
            <type name="GLib.SList" c:type="const GSList*">
              <type name="ComponentPeriod"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="set_recurid"
              c:identifier="e_cal_component_set_recurid"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="2914">Sets the recurrence id property of a calendar component object.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="222"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="2916">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
          <parameter name="recur_id"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="2917">Value for the recurrence id property, or %NULL, to remove the property.</doc>
            <type name="ComponentRange" c:type="const ECalComponentRange*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_rrules"
              c:identifier="e_cal_component_set_rrules"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="3071">Sets the list of recurrence rules in a calendar component object.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="233"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="3073">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
          <parameter name="recur_list"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="3074">List of #ICalRecurrence structures, or %NULL.</doc>
            <type name="GLib.SList" c:type="const GSList*">
              <type name="ICalGLib.Recurrence"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="set_sequence"
              c:identifier="e_cal_component_set_sequence"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="3373">Sets the sequence number of a calendar component object.
A special value -1 can be used to remove the sequence number property.

Normally this function should not be called, since the sequence number
is incremented automatically at the proper times.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="243"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="3375">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
          <parameter name="sequence" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="3376">a sequence number to set, or -1 to remove the property</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_status"
              c:identifier="e_cal_component_set_status"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="3442">Sets the status property of a calendar component object.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="248"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="3444">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
          <parameter name="status" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="3445">Status value, as an #ICalPropertyStatus. Use %I_CAL_STATUS_NONE, to unset the property</doc>
            <type name="ICalGLib.PropertyStatus" c:type="ICalPropertyStatus"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_summaries"
              c:identifier="e_cal_component_set_summaries"
              version="3.46">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="3667">Sets the summary of a calendar component object. The summaries can have each
different language, otherwise it's not allowed to have more than one summary property.

This does not update any alarm subcomponent description.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="256"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="3669">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
          <parameter name="text_list" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="3670">List of #ECalComponentText structures.</doc>
            <type name="GLib.SList" c:type="const GSList*">
              <type name="ComponentText"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="set_summary"
              c:identifier="e_cal_component_set_summary"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="3573">Sets the summary of a calendar component object.

This also updates any alarm subcomponent descriptions, if needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="253"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="3575">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
          <parameter name="summary" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="3576">Summary property and its parameters.</doc>
            <type name="ComponentText" c:type="const ECalComponentText*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_transparency"
              c:identifier="e_cal_component_set_transparency"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="3762">Sets the time transparency of a calendar component object.
Use %E_CAL_COMPONENT_TRANSP_NONE to unset the property.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="265"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="3764">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
          <parameter name="transp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="3765">Time transparency value.</doc>
            <type name="ComponentTransparency"
                  c:type="ECalComponentTransparency"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_uid"
              c:identifier="e_cal_component_set_uid"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="828">Sets the unique identifier string of a calendar component object.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="109"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="830">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
          <parameter name="uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="831">Unique identifier.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_url"
              c:identifier="e_cal_component_set_url"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="3849">Sets the uniform resource locator property of a calendar component object.
A %NULL or an empty string removes the property.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="269"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="3851">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </instance-parameter>
          <parameter name="url"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="3852">URL value.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="strip_errors"
              c:identifier="e_cal_component_strip_errors"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component.c"
             line="609">Strips all error messages from the calendar component. Those error messages are
added to the iCalendar string representation whenever an invalid is used for
one of its fields.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component.h"
                         line="101"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component.c"
                 line="611">A calendar component object.</doc>
            <type name="Component" c:type="ECalComponent*"/>
          </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="ComponentPrivate" c:type="ECalComponentPrivate*"/>
      </field>
    </class>
    <record name="ComponentAlarm"
            c:type="ECalComponentAlarm"
            glib:type-name="ECalComponentAlarm"
            glib:get-type="e_cal_component_alarm_get_type"
            c:symbol-prefix="component_alarm">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-component-alarm.h"
           line="47">Opaque structure, which represents alarm subcomponents.
Use the functions below to work with it.</doc>
      <source-position filename="src/calendar/libecal/e-cal-component-alarm.h"
                       line="53"/>
      <constructor name="new"
                   c:identifier="e_cal_component_alarm_new"
                   version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm.c"
             line="55">Creates a new empty #ECalComponentAlarm structure. Free it
with e_cal_component_alarm_free(), when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm.h"
                         line="57"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-alarm.c"
               line="61">a newly allocated #ECalComponentAlarm</doc>
          <type name="ComponentAlarm" c:type="ECalComponentAlarm*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_component"
                   c:identifier="e_cal_component_alarm_new_from_component"
                   version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm.c"
             line="78">Creates a new #ECalComponentAlarm, filled with values from @component,
which should be of kind %I_CAL_VALARM_COMPONENT. The function returns
%NULL when it is not of the expected kind. Free the structure
with e_cal_component_alarm_free(), when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm.h"
                         line="59"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-alarm.c"
               line="87">a newly allocated #ECalComponentAlarm</doc>
          <type name="ComponentAlarm" c:type="ECalComponentAlarm*"/>
        </return-value>
        <parameters>
          <parameter name="component" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm.c"
                 line="80">an #ICalComponent of kind %I_CAL_VALARM_COMPONENT</doc>
            <type name="ICalGLib.Component" c:type="const ICalComponent*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="copy"
              c:identifier="e_cal_component_alarm_copy"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm.c"
             line="108">Returns a newly allocated copy of @alarm, which should be freed with
e_cal_component_alarm_free(), when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm.h"
                         line="62"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-alarm.c"
               line="115">a newly allocated copy of @alarm</doc>
          <type name="ComponentAlarm" c:type="ECalComponentAlarm*"/>
        </return-value>
        <parameters>
          <instance-parameter name="alarm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm.c"
                 line="110">an #ECalComponentAlarm</doc>
            <type name="ComponentAlarm" c:type="const ECalComponentAlarm*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="fill_component"
              c:identifier="e_cal_component_alarm_fill_component"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm.c"
             line="407">Fills @component with data from @alarm. The @component should
be of %I_CAL_VALARM_COMPONENT kind - the function does nothing,
if it's not. In case the @alarm doesn't have set 'uid', a new
is assigned.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm.h"
                         line="69"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="alarm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm.c"
                 line="409">an #ECalComponentAlarm</doc>
            <type name="ComponentAlarm" c:type="ECalComponentAlarm*"/>
          </instance-parameter>
          <parameter name="component" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm.c"
                 line="410">an #ICalComponent of %I_CAL_VALARM_COMPONENT kind</doc>
            <type name="ICalGLib.Component" c:type="ICalComponent*"/>
          </parameter>
        </parameters>
      </method>
      <method name="free"
              c:identifier="e_cal_component_alarm_free"
              version="3.34"
              introspectable="0">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm.c"
             line="197">Free @alarm, previously created by e_cal_component_alarm_new(),
e_cal_component_alarm_new_from_component()
or e_cal_component_alarm_copy(). The function does nothing, if @alarm
is %NULL.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm.h"
                         line="63"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="alarm"
                              transfer-ownership="none"
                              nullable="1"
                              allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm.c"
                 line="199">an #ECalComponentAlarm to free</doc>
            <type name="ComponentAlarm" c:type="gpointer"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_acknowledged"
              c:identifier="e_cal_component_alarm_get_acknowledged"
              version="3.40">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm.c"
             line="1107">Get the last time the alarm had been acknowledged, that is, when its
reminder had been triggered.
The returned #ICalTime is owned by @alarm and should not be modified,
neither its content.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm.h"
                         line="136"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-alarm.c"
               line="1116">the @alarm acknowledged time,
   or %NULL, when none is set</doc>
          <type name="ICalGLib.Time" c:type="ICalTime*"/>
        </return-value>
        <parameters>
          <instance-parameter name="alarm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm.c"
                 line="1109">an #ECalComponentAlarm</doc>
            <type name="ComponentAlarm" c:type="const ECalComponentAlarm*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_action"
              c:identifier="e_cal_component_alarm_get_action"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm.c"
             line="618">Get the @alarm action, as an #ECalComponentAlarmAction.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm.h"
                         line="76"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-alarm.c"
               line="624">the @alarm action, or %E_CAL_COMPONENT_ALARM_NONE, when none is set</doc>
          <type name="ComponentAlarmAction" c:type="ECalComponentAlarmAction"/>
        </return-value>
        <parameters>
          <instance-parameter name="alarm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm.c"
                 line="620">an #ECalComponentAlarm</doc>
            <type name="ComponentAlarm" c:type="const ECalComponentAlarm*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_as_component"
              c:identifier="e_cal_component_alarm_get_as_component"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm.c"
             line="379">Creates a VALARM #ICalComponent filled with data from the @alarm.
In case the @alarm doesn't have set 'uid', a new is assigned.
Free the returned component with g_object_unref(), when no longer
needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm.h"
                         line="67"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-alarm.c"
               line="388">a newly created #ICalComponent
   of %I_CAL_VALARM_COMPONENT kind</doc>
          <type name="ICalGLib.Component" c:type="ICalComponent*"/>
        </return-value>
        <parameters>
          <instance-parameter name="alarm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm.c"
                 line="381">an #ECalComponentAlarm</doc>
            <type name="ComponentAlarm" c:type="ECalComponentAlarm*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_attachments"
              c:identifier="e_cal_component_alarm_get_attachments"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm.c"
             line="1012">Get the list of attachments, as #ICalAttach.
The returned #GSList is owned by @alarm and should not be modified,
neither its content.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm.h"
                         line="125"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-alarm.c"
               line="1020">the @alarm attachments,
   as a #GSList of an #ICalAttach, or %NULL, when none is set</doc>
          <type name="GLib.SList" c:type="GSList*">
            <type name="ICalGLib.Attach"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="alarm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm.c"
                 line="1014">an #ECalComponentAlarm</doc>
            <type name="ComponentAlarm" c:type="const ECalComponentAlarm*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_attendees"
              c:identifier="e_cal_component_alarm_get_attendees"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm.c"
             line="919">Get the list of attendees, as #ECalComponentAttendee.
The returned #GSList is owned by @alarm and should not be modified,
neither its content.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm.h"
                         line="115"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-alarm.c"
               line="927">the @alarm attendees,
   as a #GSList of an #ECalComponentAttendee, or %NULL when, none are set</doc>
          <type name="GLib.SList" c:type="GSList*">
            <type name="ComponentAttendee"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="alarm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm.c"
                 line="921">an #ECalComponentAlarm</doc>
            <type name="ComponentAlarm" c:type="const ECalComponentAlarm*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_description"
              c:identifier="e_cal_component_alarm_get_description"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm.c"
             line="716">Get the @alarm description, as an #ECalComponentText.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm.h"
                         line="89"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-alarm.c"
               line="722">the @alarm description, or %NULL, when none is set</doc>
          <type name="ComponentText" c:type="ECalComponentText*"/>
        </return-value>
        <parameters>
          <instance-parameter name="alarm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm.c"
                 line="718">an #ECalComponentAlarm</doc>
            <type name="ComponentAlarm" c:type="const ECalComponentAlarm*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_property_bag"
              c:identifier="e_cal_component_alarm_get_property_bag"
              version="3.34">
        <source-position filename="src/calendar/libecal/e-cal-component-alarm.h"
                         line="134"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-alarm.c"
               line="1093">an #ECalComponentPropertyBag with additional
   properties stored with an alarm component, other than those accessible
   with the other functions of the @alarm.</doc>
          <type name="ComponentPropertyBag"
                c:type="ECalComponentPropertyBag*"/>
        </return-value>
        <parameters>
          <instance-parameter name="alarm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm.c"
                 line="1091">an #ECalComponentAlarm</doc>
            <type name="ComponentAlarm" c:type="const ECalComponentAlarm*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_repeat"
              c:identifier="e_cal_component_alarm_get_repeat"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm.c"
             line="778">Get the @alarm repeat information, as an ECalComponentAlarmRepeat.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm.h"
                         line="98"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-alarm.c"
               line="784">the @alarm repeat information,
   or %NULL, when none is set</doc>
          <type name="ComponentAlarmRepeat"
                c:type="ECalComponentAlarmRepeat*"/>
        </return-value>
        <parameters>
          <instance-parameter name="alarm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm.c"
                 line="780">an #ECalComponentAlarm</doc>
            <type name="ComponentAlarm" c:type="const ECalComponentAlarm*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_summary"
              c:identifier="e_cal_component_alarm_get_summary"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm.c"
             line="654">Get the @alarm summary, as an #ECalComponentText.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm.h"
                         line="80"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-alarm.c"
               line="660">the @alarm summary, or %NULL, when none is set</doc>
          <type name="ComponentText" c:type="ECalComponentText*"/>
        </return-value>
        <parameters>
          <instance-parameter name="alarm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm.c"
                 line="656">an #ECalComponentAlarm</doc>
            <type name="ComponentAlarm" c:type="const ECalComponentAlarm*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_trigger"
              c:identifier="e_cal_component_alarm_get_trigger"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm.c"
             line="841">Get the @alarm trigger, as an #ECalComponentAlarmTrigger.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm.h"
                         line="105"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-alarm.c"
               line="847">the @alarm trigger, or %NULL when, none is set</doc>
          <type name="ComponentAlarmTrigger"
                c:type="ECalComponentAlarmTrigger*"/>
        </return-value>
        <parameters>
          <instance-parameter name="alarm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm.c"
                 line="843">an #ECalComponentAlarm</doc>
            <type name="ComponentAlarm" c:type="const ECalComponentAlarm*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_uid"
              c:identifier="e_cal_component_alarm_get_uid"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm.c"
             line="576">Get the @alarm UID.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm.h"
                         line="72"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-alarm.c"
               line="582">the @alarm UID, or %NULL, when none is set</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="alarm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm.c"
                 line="578">an #ECalComponentAlarm</doc>
            <type name="ComponentAlarm" c:type="const ECalComponentAlarm*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="has_attachments"
              c:identifier="e_cal_component_alarm_has_attachments"
              version="3.34">
        <source-position filename="src/calendar/libecal/e-cal-component-alarm.h"
                         line="123"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-alarm.c"
               line="1000">whether the @alarm has any attachments</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="alarm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm.c"
                 line="998">an #ECalComponentAlarm</doc>
            <type name="ComponentAlarm" c:type="const ECalComponentAlarm*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="has_attendees"
              c:identifier="e_cal_component_alarm_has_attendees"
              version="3.34">
        <source-position filename="src/calendar/libecal/e-cal-component-alarm.h"
                         line="113"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-alarm.c"
               line="907">whether the @alarm has any attendees</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="alarm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm.c"
                 line="905">an #ECalComponentAlarm</doc>
            <type name="ComponentAlarm" c:type="const ECalComponentAlarm*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_acknowledged"
              c:identifier="e_cal_component_alarm_set_acknowledged"
              version="3.40">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm.c"
             line="1129">Set the acknowledged time of the @alarm. Use %NULL to unset it.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm.h"
                         line="138"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="alarm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm.c"
                 line="1131">an #ECalComponentAlarm</doc>
            <type name="ComponentAlarm" c:type="ECalComponentAlarm*"/>
          </instance-parameter>
          <parameter name="when"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm.c"
                 line="1132">an #ICalTime when the @alarm
   had been acknowledged, or %NULL to unset</doc>
            <type name="ICalGLib.Time" c:type="const ICalTime*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_action"
              c:identifier="e_cal_component_alarm_set_action"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm.c"
             line="636">Set the @alarm action, as an #ECalComponentAlarmAction.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm.h"
                         line="77"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="alarm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm.c"
                 line="638">an #ECalComponentAlarm</doc>
            <type name="ComponentAlarm" c:type="ECalComponentAlarm*"/>
          </instance-parameter>
          <parameter name="action" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm.c"
                 line="639">an #ECalComponentAlarmAction</doc>
            <type name="ComponentAlarmAction"
                  c:type="ECalComponentAlarmAction"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_attachments"
              c:identifier="e_cal_component_alarm_set_attachments"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm.c"
             line="1033">Set the list of attachments, as a #GSList of an #ICalAttach.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm.h"
                         line="127"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="alarm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm.c"
                 line="1035">an #ECalComponentAlarm</doc>
            <type name="ComponentAlarm" c:type="ECalComponentAlarm*"/>
          </instance-parameter>
          <parameter name="attachments"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm.c"
                 line="1036">a #GSList
   of an #ICalAttach objects to set as attachments, or %NULL to unset</doc>
            <type name="GLib.SList" c:type="const GSList*">
              <type name="ICalGLib.Attach"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="set_attendees"
              c:identifier="e_cal_component_alarm_set_attendees"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm.c"
             line="940">Set the list of attendees, as a #GSList of an #ECalComponentAttendee.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm.h"
                         line="117"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="alarm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm.c"
                 line="942">an #ECalComponentAlarm</doc>
            <type name="ComponentAlarm" c:type="ECalComponentAlarm*"/>
          </instance-parameter>
          <parameter name="attendees"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm.c"
                 line="943">a #GSList
   of an #ECalComponentAttendee objects to set as attendees, or %NULL to unset</doc>
            <type name="GLib.SList" c:type="const GSList*">
              <type name="ComponentAttendee"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="set_description"
              c:identifier="e_cal_component_alarm_set_description"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm.c"
             line="734">Set the @alarm description, as an #ECalComponentText.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm.h"
                         line="91"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="alarm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm.c"
                 line="736">an #ECalComponentAlarm</doc>
            <type name="ComponentAlarm" c:type="ECalComponentAlarm*"/>
          </instance-parameter>
          <parameter name="description"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm.c"
                 line="737">a description to set, or %NULL to unset</doc>
            <type name="ComponentText" c:type="const ECalComponentText*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_from_component"
              c:identifier="e_cal_component_alarm_set_from_component"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm.c"
             line="227">Fill the @alarm structure with the information from
the @component, which should be of %I_CAL_VALARM_COMPONENT kind.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm.h"
                         line="64"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="alarm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm.c"
                 line="229">an #ECalComponentAlarm</doc>
            <type name="ComponentAlarm" c:type="ECalComponentAlarm*"/>
          </instance-parameter>
          <parameter name="component" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm.c"
                 line="230">an #ICalComponent</doc>
            <type name="ICalGLib.Component" c:type="const ICalComponent*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_repeat"
              c:identifier="e_cal_component_alarm_set_repeat"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm.c"
             line="797">Set the @alarm repeat information, as an #ECalComponentAlarmRepeat.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm.h"
                         line="99"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="alarm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm.c"
                 line="799">an #ECalComponentAlarm</doc>
            <type name="ComponentAlarm" c:type="ECalComponentAlarm*"/>
          </instance-parameter>
          <parameter name="repeat"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm.c"
                 line="800">a repeat information to set, or %NULL to unset</doc>
            <type name="ComponentAlarmRepeat"
                  c:type="const ECalComponentAlarmRepeat*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_summary"
              c:identifier="e_cal_component_alarm_set_summary"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm.c"
             line="672">Set the @alarm summary, as an #ECalComponentText.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm.h"
                         line="82"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="alarm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm.c"
                 line="674">an #ECalComponentAlarm</doc>
            <type name="ComponentAlarm" c:type="ECalComponentAlarm*"/>
          </instance-parameter>
          <parameter name="summary"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm.c"
                 line="675">a summary to set, or %NULL to unset</doc>
            <type name="ComponentText" c:type="const ECalComponentText*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_trigger"
              c:identifier="e_cal_component_alarm_set_trigger"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm.c"
             line="859">Set the @alarm trigger, as an #ECalComponentAlarmTrigger.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm.h"
                         line="107"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="alarm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm.c"
                 line="861">an #ECalComponentAlarm</doc>
            <type name="ComponentAlarm" c:type="ECalComponentAlarm*"/>
          </instance-parameter>
          <parameter name="trigger"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm.c"
                 line="862">a trigger to set, or %NULL to unset</doc>
            <type name="ComponentAlarmTrigger"
                  c:type="const ECalComponentAlarmTrigger*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_uid"
              c:identifier="e_cal_component_alarm_set_uid"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm.c"
             line="594">Set the @alarm UID, or generates a new UID, if @uid is %NULL or an empty string.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm.h"
                         line="73"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="alarm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm.c"
                 line="596">an #ECalComponentAlarm</doc>
            <type name="ComponentAlarm" c:type="ECalComponentAlarm*"/>
          </instance-parameter>
          <parameter name="uid"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm.c"
                 line="597">a UID to set, or %NULL or empty string to generate new</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="take_acknowledged"
              c:identifier="e_cal_component_alarm_take_acknowledged"
              version="3.40">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm.c"
             line="1149">Set the acknowledged time of the @alarm. Use %NULL to unset it.
The function assumes ownership of the @when.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm.h"
                         line="141"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="alarm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm.c"
                 line="1151">an #ECalComponentAlarm</doc>
            <type name="ComponentAlarm" c:type="ECalComponentAlarm*"/>
          </instance-parameter>
          <parameter name="when"
                     transfer-ownership="full"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm.c"
                 line="1152">an #ICalTime when the @alarm
   had been acknowledged, or %NULL to unset</doc>
            <type name="ICalGLib.Time" c:type="ICalTime*"/>
          </parameter>
        </parameters>
      </method>
      <method name="take_attachments"
              c:identifier="e_cal_component_alarm_take_attachments"
              version="3.34"
              introspectable="0">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm.c"
             line="1066">Sets the list of attachments, as a #GSList of an #ICalAttach and assumes
ownership of the @attachments and its content.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm.h"
                         line="130"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="alarm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm.c"
                 line="1068">an #ECalComponentAlarm</doc>
            <type name="ComponentAlarm" c:type="ECalComponentAlarm*"/>
          </instance-parameter>
          <parameter name="attachments"
                     transfer-ownership="full"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm.c"
                 line="1069">a #GSList
   of an #ICalAttach objects to set as attachments, or %NULL to unset</doc>
            <type name="GLib.SList" c:type="GSList*">
              <type name="ICalGLib.Attach"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="take_attendees"
              c:identifier="e_cal_component_alarm_take_attendees"
              version="3.34"
              introspectable="0">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm.c"
             line="973">Sets the list of attendees, as a #GSList of an #ECalComponentAttendee and assumes
ownership of the @attendees and its content.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm.h"
                         line="120"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="alarm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm.c"
                 line="975">an #ECalComponentAlarm</doc>
            <type name="ComponentAlarm" c:type="ECalComponentAlarm*"/>
          </instance-parameter>
          <parameter name="attendees"
                     transfer-ownership="full"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm.c"
                 line="976">a #GSList
   of an #ECalComponentAttendee objects to set as attendees, or %NULL to unset</doc>
            <type name="GLib.SList" c:type="GSList*">
              <type name="ComponentAttendee"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="take_description"
              c:identifier="e_cal_component_alarm_take_description"
              version="3.34"
              introspectable="0">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm.c"
             line="756">Set the @alarm description, as an #ECalComponentText, and assumes
ownership of the @description.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm.h"
                         line="94"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="alarm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm.c"
                 line="758">an #ECalComponentAlarm</doc>
            <type name="ComponentAlarm" c:type="ECalComponentAlarm*"/>
          </instance-parameter>
          <parameter name="description"
                     transfer-ownership="full"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm.c"
                 line="759">a description to set, or %NULL to unset</doc>
            <type name="ComponentText" c:type="ECalComponentText*"/>
          </parameter>
        </parameters>
      </method>
      <method name="take_repeat"
              c:identifier="e_cal_component_alarm_take_repeat"
              version="3.34"
              introspectable="0">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm.c"
             line="819">Set the @alarm repeat information, as an #ECalComponentAlarmRepeat and assumes
ownership of the @trigger.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm.h"
                         line="101"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="alarm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm.c"
                 line="821">an #ECalComponentAlarm</doc>
            <type name="ComponentAlarm" c:type="ECalComponentAlarm*"/>
          </instance-parameter>
          <parameter name="repeat"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm.c"
                 line="822">a repeat information to set, or %NULL to unset</doc>
            <type name="ComponentAlarmRepeat"
                  c:type="ECalComponentAlarmRepeat*"/>
          </parameter>
        </parameters>
      </method>
      <method name="take_summary"
              c:identifier="e_cal_component_alarm_take_summary"
              version="3.34"
              introspectable="0">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm.c"
             line="694">Set the @alarm summary, as an #ECalComponentText, and assumes
ownership of the @summary.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm.h"
                         line="85"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="alarm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm.c"
                 line="696">an #ECalComponentAlarm</doc>
            <type name="ComponentAlarm" c:type="ECalComponentAlarm*"/>
          </instance-parameter>
          <parameter name="summary"
                     transfer-ownership="full"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm.c"
                 line="697">a summary to set, or %NULL to unset</doc>
            <type name="ComponentText" c:type="ECalComponentText*"/>
          </parameter>
        </parameters>
      </method>
      <method name="take_trigger"
              c:identifier="e_cal_component_alarm_take_trigger"
              version="3.34"
              introspectable="0">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm.c"
             line="881">Set the @alarm trigger, as an #ECalComponentAlarmTrigger and assumes
ownership of the @trigger.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm.h"
                         line="110"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="alarm" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm.c"
                 line="883">an #ECalComponentAlarm</doc>
            <type name="ComponentAlarm" c:type="ECalComponentAlarm*"/>
          </instance-parameter>
          <parameter name="trigger"
                     transfer-ownership="full"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm.c"
                 line="884">a trigger to set, or %NULL to unset</doc>
            <type name="ComponentAlarmTrigger"
                  c:type="ECalComponentAlarmTrigger*"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <enumeration name="ComponentAlarmAction"
                 glib:type-name="ECalComponentAlarmAction"
                 glib:get-type="e_cal_component_alarm_action_get_type"
                 c:type="ECalComponentAlarmAction">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-enums.h"
           line="149">Alarm types</doc>
      <member name="none"
              value="0"
              c:identifier="E_CAL_COMPONENT_ALARM_NONE"
              glib:nick="none"
              glib:name="E_CAL_COMPONENT_ALARM_NONE">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-enums.h"
             line="151">None</doc>
      </member>
      <member name="audio"
              value="1"
              c:identifier="E_CAL_COMPONENT_ALARM_AUDIO"
              glib:nick="audio"
              glib:name="E_CAL_COMPONENT_ALARM_AUDIO">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-enums.h"
             line="152">Audio</doc>
      </member>
      <member name="display"
              value="2"
              c:identifier="E_CAL_COMPONENT_ALARM_DISPLAY"
              glib:nick="display"
              glib:name="E_CAL_COMPONENT_ALARM_DISPLAY">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-enums.h"
             line="153">Display message</doc>
      </member>
      <member name="email"
              value="3"
              c:identifier="E_CAL_COMPONENT_ALARM_EMAIL"
              glib:nick="email"
              glib:name="E_CAL_COMPONENT_ALARM_EMAIL">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-enums.h"
             line="154">Email</doc>
      </member>
      <member name="procedure"
              value="4"
              c:identifier="E_CAL_COMPONENT_ALARM_PROCEDURE"
              glib:nick="procedure"
              glib:name="E_CAL_COMPONENT_ALARM_PROCEDURE">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-enums.h"
             line="155">Procedure</doc>
      </member>
      <member name="unknown"
              value="5"
              c:identifier="E_CAL_COMPONENT_ALARM_UNKNOWN"
              glib:nick="unknown"
              glib:name="E_CAL_COMPONENT_ALARM_UNKNOWN">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-enums.h"
             line="156">Unknown</doc>
      </member>
    </enumeration>
    <record name="ComponentAlarmInstance"
            c:type="ECalComponentAlarmInstance"
            glib:type-name="ECalComponentAlarmInstance"
            glib:get-type="e_cal_component_alarm_instance_get_type"
            c:symbol-prefix="component_alarm_instance">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-component-alarm-instance.h"
           line="31">Opaque structure, which represents an alarm occurrence, i.e. a instance instance.
Use the functions below to work with it.</doc>
      <source-position filename="src/calendar/libecal/e-cal-component-alarm-instance.h"
                       line="37"/>
      <constructor name="new"
                   c:identifier="e_cal_component_alarm_instance_new"
                   version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm-instance.c"
             line="48">Creates a new #ECalComponentAlarmInstance structure, filled with the given values.
Free the instance with e_cal_component_alarm_instance_free(), when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm-instance.h"
                         line="42"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-alarm-instance.c"
               line="58">a newly allocated #ECalComponentAlarmInstance</doc>
          <type name="ComponentAlarmInstance"
                c:type="ECalComponentAlarmInstance*"/>
        </return-value>
        <parameters>
          <parameter name="uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-instance.c"
                 line="50">UID of the alarm</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="instance_time" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-instance.c"
                 line="51">instance time, i.e. "5 minutes before the appointment"</doc>
            <type name="glong" c:type="time_t"/>
          </parameter>
          <parameter name="occur_start" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-instance.c"
                 line="52">actual event occurrence start to which this instance corresponds</doc>
            <type name="glong" c:type="time_t"/>
          </parameter>
          <parameter name="occur_end" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-instance.c"
                 line="53">actual event occurrence end to which this instance corresponds</doc>
            <type name="glong" c:type="time_t"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="copy"
              c:identifier="e_cal_component_alarm_instance_copy"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm-instance.c"
             line="82">Returns a newly allocated copy of @instance, which should be freed with
e_cal_component_alarm_instance_free(), when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm-instance.h"
                         line="48"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-alarm-instance.c"
               line="89">a newly allocated copy of @instance</doc>
          <type name="ComponentAlarmInstance"
                c:type="ECalComponentAlarmInstance*"/>
        </return-value>
        <parameters>
          <instance-parameter name="instance" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-instance.c"
                 line="84">an #ECalComponentAlarmInstance</doc>
            <type name="ComponentAlarmInstance"
                  c:type="const ECalComponentAlarmInstance*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="free"
              c:identifier="e_cal_component_alarm_instance_free"
              version="3.34"
              introspectable="0">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm-instance.c"
             line="111">Free @instance, previously created by e_cal_component_alarm_instance_new()
or e_cal_component_alarm_instance_copy(). The function does nothing, if @instance
is %NULL.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm-instance.h"
                         line="50"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="instance"
                              transfer-ownership="none"
                              nullable="1"
                              allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-instance.c"
                 line="113">an #ECalComponentAlarmInstance to free</doc>
            <type name="ComponentAlarmInstance" c:type="gpointer"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_occur_end"
              c:identifier="e_cal_component_alarm_instance_get_occur_end"
              version="3.34">
        <source-position filename="src/calendar/libecal/e-cal-component-alarm-instance.h"
                         line="72"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-alarm-instance.c"
               line="287">actual event occurrence end to which this @instance corresponds</doc>
          <type name="glong" c:type="time_t"/>
        </return-value>
        <parameters>
          <instance-parameter name="instance" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-instance.c"
                 line="285">an #ECalComponentAlarmInstance</doc>
            <type name="ComponentAlarmInstance"
                  c:type="const ECalComponentAlarmInstance*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_occur_start"
              c:identifier="e_cal_component_alarm_instance_get_occur_start"
              version="3.34">
        <source-position filename="src/calendar/libecal/e-cal-component-alarm-instance.h"
                         line="67"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-alarm-instance.c"
               line="251">actual event occurrence start to which this @instance corresponds</doc>
          <type name="glong" c:type="time_t"/>
        </return-value>
        <parameters>
          <instance-parameter name="instance" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-instance.c"
                 line="249">an #ECalComponentAlarmInstance</doc>
            <type name="ComponentAlarmInstance"
                  c:type="const ECalComponentAlarmInstance*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_rid"
              c:identifier="e_cal_component_alarm_instance_get_rid"
              version="3.40">
        <source-position filename="src/calendar/libecal/e-cal-component-alarm-instance.h"
                         line="57"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-alarm-instance.c"
               line="175">the Recurrence ID of the component this @instance was generated for.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="instance" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-instance.c"
                 line="173">an #ECalComponentAlarmInstance</doc>
            <type name="ComponentAlarmInstance"
                  c:type="const ECalComponentAlarmInstance*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_time"
              c:identifier="e_cal_component_alarm_instance_get_time"
              version="3.34">
        <source-position filename="src/calendar/libecal/e-cal-component-alarm-instance.h"
                         line="62"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-alarm-instance.c"
               line="215">alarm instance time, i.e. "5 minutes before the appointment"</doc>
          <type name="glong" c:type="time_t"/>
        </return-value>
        <parameters>
          <instance-parameter name="instance" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-instance.c"
                 line="213">an #ECalComponentAlarmInstance</doc>
            <type name="ComponentAlarmInstance"
                  c:type="const ECalComponentAlarmInstance*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_uid"
              c:identifier="e_cal_component_alarm_instance_get_uid"
              version="3.34">
        <source-position filename="src/calendar/libecal/e-cal-component-alarm-instance.h"
                         line="52"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-alarm-instance.c"
               line="137">alarm UID, to which this @instance corresponds</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="instance" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-instance.c"
                 line="135">an #ECalComponentAlarmInstance</doc>
            <type name="ComponentAlarmInstance"
                  c:type="const ECalComponentAlarmInstance*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_occur_end"
              c:identifier="e_cal_component_alarm_instance_set_occur_end"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm-instance.c"
             line="299">Set the actual event occurrence end to which this @instance corresponds.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm-instance.h"
                         line="74"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="instance" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-instance.c"
                 line="301">an ECalComponentAlarmInstance</doc>
            <type name="ComponentAlarmInstance"
                  c:type="ECalComponentAlarmInstance*"/>
          </instance-parameter>
          <parameter name="occur_end" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-instance.c"
                 line="302">event occurence end to set</doc>
            <type name="glong" c:type="time_t"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_occur_start"
              c:identifier="e_cal_component_alarm_instance_set_occur_start"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm-instance.c"
             line="263">Set the actual event occurrence start to which this @instance corresponds.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm-instance.h"
                         line="69"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="instance" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-instance.c"
                 line="265">an ECalComponentAlarmInstance</doc>
            <type name="ComponentAlarmInstance"
                  c:type="ECalComponentAlarmInstance*"/>
          </instance-parameter>
          <parameter name="occur_start" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-instance.c"
                 line="266">event occurence start to set</doc>
            <type name="glong" c:type="time_t"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_rid"
              c:identifier="e_cal_component_alarm_instance_set_rid"
              version="3.40">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm-instance.c"
             line="187">Set the Recurrence ID of the component this @instance was generated for.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm-instance.h"
                         line="59"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="instance" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-instance.c"
                 line="189">an #ECalComponentAlarmInstance</doc>
            <type name="ComponentAlarmInstance"
                  c:type="ECalComponentAlarmInstance*"/>
          </instance-parameter>
          <parameter name="rid"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-instance.c"
                 line="190">recurrence UID to set, or %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_time"
              c:identifier="e_cal_component_alarm_instance_set_time"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm-instance.c"
             line="227">Set the instance time, i.e. "5 minutes before the appointment".</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm-instance.h"
                         line="64"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="instance" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-instance.c"
                 line="229">an ECalComponentAlarmInstance</doc>
            <type name="ComponentAlarmInstance"
                  c:type="ECalComponentAlarmInstance*"/>
          </instance-parameter>
          <parameter name="instance_time" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-instance.c"
                 line="230">instance time to set</doc>
            <type name="glong" c:type="time_t"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_uid"
              c:identifier="e_cal_component_alarm_instance_set_uid"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm-instance.c"
             line="149">Set the alarm UID.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm-instance.h"
                         line="54"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="instance" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-instance.c"
                 line="151">an #ECalComponentAlarmInstance</doc>
            <type name="ComponentAlarmInstance"
                  c:type="ECalComponentAlarmInstance*"/>
          </instance-parameter>
          <parameter name="uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-instance.c"
                 line="152">alarm UID to set</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <record name="ComponentAlarmRepeat"
            c:type="ECalComponentAlarmRepeat"
            glib:type-name="ECalComponentAlarmRepeat"
            glib:get-type="e_cal_component_alarm_repeat_get_type"
            c:symbol-prefix="component_alarm_repeat">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-component-alarm-repeat.h"
           line="31">A structure holding whether and how an alarm repeats.
Use the functions below to work with it.</doc>
      <source-position filename="src/calendar/libecal/e-cal-component-alarm-repeat.h"
                       line="37"/>
      <constructor name="new"
                   c:identifier="e_cal_component_alarm_repeat_new"
                   version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm-repeat.c"
             line="38">Creates a new #ECalComponentAlarmRepeat describing alarm repetitions.
The returned structure should be freed with e_cal_component_alarm_repeat_free(),
when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm-repeat.h"
                         line="42"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-alarm-repeat.c"
               line="47">a newly allocated #ECalComponentAlarmRepeat</doc>
          <type name="ComponentAlarmRepeat"
                c:type="ECalComponentAlarmRepeat*"/>
        </return-value>
        <parameters>
          <parameter name="repetitions" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-repeat.c"
                 line="40">number of extra repetitions, zero for none</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="interval" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-repeat.c"
                 line="41">interval between repetitions</doc>
            <type name="ICalGLib.Duration" c:type="const ICalDuration*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_seconds"
                   c:identifier="e_cal_component_alarm_repeat_new_seconds"
                   version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm-repeat.c"
             line="61">Creates a new #ECalComponentAlarmRepeat describing alarm repetitions.
The returned structure should be freed with e_cal_component_alarm_repeat_free(),
when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm-repeat.h"
                         line="45"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-alarm-repeat.c"
               line="70">a newly allocated #ECalComponentAlarmRepeat</doc>
          <type name="ComponentAlarmRepeat"
                c:type="ECalComponentAlarmRepeat*"/>
        </return-value>
        <parameters>
          <parameter name="repetitions" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-repeat.c"
                 line="63">number of extra repetitions, zero for none</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="interval_seconds" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-repeat.c"
                 line="64">interval between repetitions, in seconds</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="copy"
              c:identifier="e_cal_component_alarm_repeat_copy"
              version="3.34">
        <source-position filename="src/calendar/libecal/e-cal-component-alarm-repeat.h"
                         line="49"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-alarm-repeat.c"
               line="91">a newly allocated #ECalComponentAlarmRepeat, copy of @repeat.
   The returned structure should be freed with e_cal_component_alarm_repeat_free(),
   when no longer needed.</doc>
          <type name="ComponentAlarmRepeat"
                c:type="ECalComponentAlarmRepeat*"/>
        </return-value>
        <parameters>
          <instance-parameter name="repeat" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-repeat.c"
                 line="89">an #ECalComponentAlarmRepeat to copy</doc>
            <type name="ComponentAlarmRepeat"
                  c:type="const ECalComponentAlarmRepeat*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="free"
              c:identifier="e_cal_component_alarm_repeat_free"
              version="3.34"
              introspectable="0">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm-repeat.c"
             line="106">Free the @repeat, previously allocated by e_cal_component_alarm_repeat_new(),
e_cal_component_alarm_repeat_new_seconds() or e_cal_component_alarm_repeat_copy().</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm-repeat.h"
                         line="51"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="repeat"
                              transfer-ownership="none"
                              nullable="1"
                              allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-repeat.c"
                 line="108">an #ECalComponentAlarmRepeat to free</doc>
            <type name="ComponentAlarmRepeat" c:type="gpointer"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_interval"
              c:identifier="e_cal_component_alarm_repeat_get_interval"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm-repeat.c"
             line="162">Returns the interval between repetitions of the @repeat, as an #ICalDuration
object. This object is owned by @repeat and should not be freed. It's valid until
the @repeat is not freed or its interval changed with either e_cal_component_alarm_repeat_set_interval()
or e_cal_component_alarm_repeat_set_interval_seconds().</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm-repeat.h"
                         line="58"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-alarm-repeat.c"
               line="171">the interval between repetitions of the @repeat</doc>
          <type name="ICalGLib.Duration" c:type="ICalDuration*"/>
        </return-value>
        <parameters>
          <instance-parameter name="repeat" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-repeat.c"
                 line="164">an #ECalComponentAlarmRepeat</doc>
            <type name="ComponentAlarmRepeat"
                  c:type="const ECalComponentAlarmRepeat*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_interval_seconds"
              c:identifier="e_cal_component_alarm_repeat_get_interval_seconds"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm-repeat.c"
             line="205">Returns the interval between repetitions of the @repeat in seconds.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm-repeat.h"
                         line="63"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-alarm-repeat.c"
               line="211">the interval between repetitions of the @repeat</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="repeat" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-repeat.c"
                 line="207">an #ECalComponentAlarmRepeat</doc>
            <type name="ComponentAlarmRepeat"
                  c:type="const ECalComponentAlarmRepeat*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_repetitions"
              c:identifier="e_cal_component_alarm_repeat_get_repetitions"
              version="3.34">
        <source-position filename="src/calendar/libecal/e-cal-component-alarm-repeat.h"
                         line="53"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-alarm-repeat.c"
               line="130">the repetitions count of the @repeat</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="repeat" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-repeat.c"
                 line="128">an #ECalComponentAlarmRepeat</doc>
            <type name="ComponentAlarmRepeat"
                  c:type="const ECalComponentAlarmRepeat*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_interval"
              c:identifier="e_cal_component_alarm_repeat_set_interval"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm-repeat.c"
             line="183">Set the @interval between repetitions of the @repeat.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm-repeat.h"
                         line="60"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="repeat" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-repeat.c"
                 line="185">an #ECalComponentAlarmRepeat</doc>
            <type name="ComponentAlarmRepeat"
                  c:type="ECalComponentAlarmRepeat*"/>
          </instance-parameter>
          <parameter name="interval" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-repeat.c"
                 line="186">interval between repetitions, as an #ICalDuration</doc>
            <type name="ICalGLib.Duration" c:type="const ICalDuration*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_interval_seconds"
              c:identifier="e_cal_component_alarm_repeat_set_interval_seconds"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm-repeat.c"
             line="223">Set the @interval_seconds between repetitions of the @repeat.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm-repeat.h"
                         line="65"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="repeat" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-repeat.c"
                 line="225">an #ECalComponentAlarmRepeat</doc>
            <type name="ComponentAlarmRepeat"
                  c:type="ECalComponentAlarmRepeat*"/>
          </instance-parameter>
          <parameter name="interval_seconds" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-repeat.c"
                 line="226">interval between repetitions, in seconds</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_repetitions"
              c:identifier="e_cal_component_alarm_repeat_set_repetitions"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm-repeat.c"
             line="142">Set the @repetitions count of the @repeat.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm-repeat.h"
                         line="55"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="repeat" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-repeat.c"
                 line="144">an #ECalComponentAlarmRepeat</doc>
            <type name="ComponentAlarmRepeat"
                  c:type="ECalComponentAlarmRepeat*"/>
          </instance-parameter>
          <parameter name="repetitions" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-repeat.c"
                 line="145">number of repetitions, zero for none</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <record name="ComponentAlarmTrigger"
            c:type="ECalComponentAlarmTrigger"
            glib:type-name="ECalComponentAlarmTrigger"
            glib:get-type="e_cal_component_alarm_trigger_get_type"
            c:symbol-prefix="component_alarm_trigger">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-component-alarm-trigger.h"
           line="34">Opaque structure, which represents when an alarm is supposed to be triggered.
Use the functions below to work with it.</doc>
      <source-position filename="src/calendar/libecal/e-cal-component-alarm-trigger.h"
                       line="40"/>
      <constructor name="new_absolute"
                   c:identifier="e_cal_component_alarm_trigger_new_absolute"
                   version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm-trigger.c"
             line="76">Creates a new #ECalComponentAlarmTrigger structure, set with
the %E_CAL_COMPONENT_ALARM_TRIGGER_ABSOLUTE kind and the @absolute_time as
the time of the trigger. The @absolute_time should be date/time (not date) in UTC.

To create a relative trigger use e_cal_component_alarm_trigger_new_relative().
Free the trigger with e_cal_component_alarm_trigger_free(), when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm-trigger.h"
                         line="49"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-alarm-trigger.c"
               line="87">a newly allocated #ECalComponentAlarmTrigger</doc>
          <type name="ComponentAlarmTrigger"
                c:type="ECalComponentAlarmTrigger*"/>
        </return-value>
        <parameters>
          <parameter name="absolute_time" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-trigger.c"
                 line="78">the absolute time when to trigger the alarm, as an #ICalTime</doc>
            <type name="ICalGLib.Time" c:type="const ICalTime*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_from_property"
                   c:identifier="e_cal_component_alarm_trigger_new_from_property"
                   version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm-trigger.c"
             line="106">Creates a new #ECalComponentAlarmTrigger, filled with values from @property,
which should be of kind %I_CAL_TRIGGER_PROPERTY. The function returns
%NULL when it is not of the expected kind. Free the structure
with e_cal_component_alarm_trigger_free(), when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm-trigger.h"
                         line="52"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-alarm-trigger.c"
               line="115">a newly allocated #ECalComponentAlarmTrigger</doc>
          <type name="ComponentAlarmTrigger"
                c:type="ECalComponentAlarmTrigger*"/>
        </return-value>
        <parameters>
          <parameter name="property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-trigger.c"
                 line="108">an #ICalProperty of kind %I_CAL_TRIGGER_PROPERTY</doc>
            <type name="ICalGLib.Property" c:type="const ICalProperty*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_relative"
                   c:identifier="e_cal_component_alarm_trigger_new_relative"
                   version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm-trigger.c"
             line="45">Creates a new #ECalComponentAlarmTrigger structure, set with the given @kind
and @duration. The @kind can be any but the %E_CAL_COMPONENT_ALARM_TRIGGER_ABSOLUTE.
To create an absolute trigger use e_cal_component_alarm_trigger_new_absolute().
Free the trigger with e_cal_component_alarm_trigger_free(), when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm-trigger.h"
                         line="45"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-alarm-trigger.c"
               line="55">a newly allocated #ECalComponentAlarmTrigger</doc>
          <type name="ComponentAlarmTrigger"
                c:type="ECalComponentAlarmTrigger*"/>
        </return-value>
        <parameters>
          <parameter name="kind" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-trigger.c"
                 line="47">an #ECalComponentAlarmTriggerKind, any but the %E_CAL_COMPONENT_ALARM_TRIGGER_ABSOLUTE</doc>
            <type name="ComponentAlarmTriggerKind"
                  c:type="ECalComponentAlarmTriggerKind"/>
          </parameter>
          <parameter name="duration" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-trigger.c"
                 line="48">the duration relative to @kind, as an #ICalDuration</doc>
            <type name="ICalGLib.Duration" c:type="const ICalDuration*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="copy"
              c:identifier="e_cal_component_alarm_trigger_copy"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm-trigger.c"
             line="137">Returns a newly allocated copy of @trigger, which should be freed with
e_cal_component_alarm_trigger_free(), when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm-trigger.h"
                         line="55"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-alarm-trigger.c"
               line="144">a newly allocated copy of @trigger</doc>
          <type name="ComponentAlarmTrigger"
                c:type="ECalComponentAlarmTrigger*"/>
        </return-value>
        <parameters>
          <instance-parameter name="trigger" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-trigger.c"
                 line="139">an #ECalComponentAlarmTrigger</doc>
            <type name="ComponentAlarmTrigger"
                  c:type="const ECalComponentAlarmTrigger*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="fill_property"
              c:identifier="e_cal_component_alarm_trigger_fill_property"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm-trigger.c"
             line="321">Fill @property with information from @trigger. The @property
should be of kind %I_CAL_TRIGGER_PROPERTY.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm-trigger.h"
                         line="64"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="trigger" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-trigger.c"
                 line="323">an #ECalComponentAlarmTrigger</doc>
            <type name="ComponentAlarmTrigger"
                  c:type="const ECalComponentAlarmTrigger*"/>
          </instance-parameter>
          <parameter name="property"
                     direction="inout"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-trigger.c"
                 line="324">an #ICalProperty</doc>
            <type name="ICalGLib.Property" c:type="ICalProperty*"/>
          </parameter>
        </parameters>
      </method>
      <method name="free"
              c:identifier="e_cal_component_alarm_trigger_free"
              version="3.34"
              introspectable="0">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm-trigger.c"
             line="165">Free @trigger, previously created by e_cal_component_alarm_trigger_new_relative(),
e_cal_component_alarm_trigger_new_absolute(), e_cal_component_alarm_trigger_new_from_property()
or e_cal_component_alarm_trigger_copy(). The function does nothing, if @trigger
is %NULL.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm-trigger.h"
                         line="57"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="trigger"
                              transfer-ownership="none"
                              nullable="1"
                              allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-trigger.c"
                 line="167">an #ECalComponentAlarmTrigger to free</doc>
            <type name="ComponentAlarmTrigger" c:type="gpointer"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_absolute_time"
              c:identifier="e_cal_component_alarm_trigger_get_absolute_time"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm-trigger.c"
             line="548">Returns the @trigger absolute time for an absolute trigger, or %NULL, when
the @trigger is a relative trigger. The object is owned by @trigger and it's
valid until the @trigger is freed or its absolute time changed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm-trigger.h"
                         line="85"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-alarm-trigger.c"
               line="556">the @trigger absolute time, as an #ICalTime, or %NULL</doc>
          <type name="ICalGLib.Time" c:type="ICalTime*"/>
        </return-value>
        <parameters>
          <instance-parameter name="trigger" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-trigger.c"
                 line="550">an #ECalComponentAlarmTrigger</doc>
            <type name="ComponentAlarmTrigger"
                  c:type="const ECalComponentAlarmTrigger*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_as_property"
              c:identifier="e_cal_component_alarm_trigger_get_as_property"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm-trigger.c"
             line="293">Converts information stored in @trigger into an #ICalProperty
of %I_CAL_TRIGGER_PROPERTY kind. The caller is responsible to free
the returned object with g_object_unref(), when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm-trigger.h"
                         line="62"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-alarm-trigger.c"
               line="301">a newly created #ICalProperty, containing
   information from the @trigger.</doc>
          <type name="ICalGLib.Property" c:type="ICalProperty*"/>
        </return-value>
        <parameters>
          <instance-parameter name="trigger" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-trigger.c"
                 line="295">an #ECalComponentAlarmTrigger</doc>
            <type name="ComponentAlarmTrigger"
                  c:type="const ECalComponentAlarmTrigger*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_duration"
              c:identifier="e_cal_component_alarm_trigger_get_duration"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm-trigger.c"
             line="497">Returns the @trigger duration for a relative @trigger, or %NULL, when
the @trigger is an absolute trigger.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm-trigger.h"
                         line="80"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-alarm-trigger.c"
               line="504">the @trigger duration, as an #ICalDuration, or %NULL</doc>
          <type name="ICalGLib.Duration" c:type="ICalDuration*"/>
        </return-value>
        <parameters>
          <instance-parameter name="trigger" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-trigger.c"
                 line="499">an #ECalComponentAlarmTrigger</doc>
            <type name="ComponentAlarmTrigger"
                  c:type="const ECalComponentAlarmTrigger*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_kind"
              c:identifier="e_cal_component_alarm_trigger_get_kind"
              version="3.34">
        <source-position filename="src/calendar/libecal/e-cal-component-alarm-trigger.h"
                         line="75"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-alarm-trigger.c"
               line="459">the @trigger kind, one of #ECalComponentAlarmTriggerKind</doc>
          <type name="ComponentAlarmTriggerKind"
                c:type="ECalComponentAlarmTriggerKind"/>
        </return-value>
        <parameters>
          <instance-parameter name="trigger" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-trigger.c"
                 line="457">an #ECalComponentAlarmTrigger</doc>
            <type name="ComponentAlarmTrigger"
                  c:type="const ECalComponentAlarmTrigger*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_parameter_bag"
              c:identifier="e_cal_component_alarm_trigger_get_parameter_bag"
              version="3.34">
        <source-position filename="src/calendar/libecal/e-cal-component-alarm-trigger.h"
                         line="91"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-alarm-trigger.c"
               line="603">an #ECalComponentParameterBag with additional
   parameters stored with the trigger property, other than those accessible
   with the other functions of the @trigger.</doc>
          <type name="ComponentParameterBag"
                c:type="ECalComponentParameterBag*"/>
        </return-value>
        <parameters>
          <instance-parameter name="trigger" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-trigger.c"
                 line="601">an #ECalComponentAlarmTrigger</doc>
            <type name="ComponentAlarmTrigger"
                  c:type="const ECalComponentAlarmTrigger*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_absolute"
              c:identifier="e_cal_component_alarm_trigger_set_absolute"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm-trigger.c"
             line="428">Set the @trigegr with the %E_CAL_COMPONENT_ALARM_TRIGGER_ABSOLUTE kind and
the @absolute_time as the time of the trigger. The @absolute_time
should be date/time (not date) in UTC.

To set a relative trigger use e_cal_component_alarm_trigger_set_relative().</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm-trigger.h"
                         line="71"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="trigger" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-trigger.c"
                 line="430">an #ECalComponentAlarmTrigger</doc>
            <type name="ComponentAlarmTrigger"
                  c:type="ECalComponentAlarmTrigger*"/>
          </instance-parameter>
          <parameter name="absolute_time" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-trigger.c"
                 line="431">the absolute time when to trigger the alarm, as an #ICalTime</doc>
            <type name="ICalGLib.Time" c:type="const ICalTime*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_absolute_time"
              c:identifier="e_cal_component_alarm_trigger_set_absolute_time"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm-trigger.c"
             line="571">Sets the @trigger absolute time for an absolute trigger. The @absolute_time
should be date/time (not date) in UTC.

The function does nothing, when the @trigger is a relative trigger.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm-trigger.h"
                         line="87"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="trigger" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-trigger.c"
                 line="573">an #ECalComponentAlarmTrigger</doc>
            <type name="ComponentAlarmTrigger"
                  c:type="ECalComponentAlarmTrigger*"/>
          </instance-parameter>
          <parameter name="absolute_time" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-trigger.c"
                 line="574">absolute time for an absolute trigger, as an #ICalTime</doc>
            <type name="ICalGLib.Time" c:type="const ICalTime*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_duration"
              c:identifier="e_cal_component_alarm_trigger_set_duration"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm-trigger.c"
             line="519">Sets the @trigger duration for a relative trigger. The function does nothing, when
the @trigger is an absolute trigger. The object is owned by @trigger and it's
valid until the @trigger is freed or its relative duration changed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm-trigger.h"
                         line="82"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="trigger" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-trigger.c"
                 line="521">an #ECalComponentAlarmTrigger</doc>
            <type name="ComponentAlarmTrigger"
                  c:type="ECalComponentAlarmTrigger*"/>
          </instance-parameter>
          <parameter name="duration" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-trigger.c"
                 line="522">duration for a relative trigger, as an #ICalDuration</doc>
            <type name="ICalGLib.Duration" c:type="const ICalDuration*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_from_property"
              c:identifier="e_cal_component_alarm_trigger_set_from_property"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm-trigger.c"
             line="201">Fill the @trigger structure with the information from
the @property, which should be of %I_CAL_TRIGGER_PROPERTY kind.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm-trigger.h"
                         line="59"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="trigger" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-trigger.c"
                 line="203">an #ECalComponentAlarmTrigger</doc>
            <type name="ComponentAlarmTrigger"
                  c:type="ECalComponentAlarmTrigger*"/>
          </instance-parameter>
          <parameter name="property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-trigger.c"
                 line="204">an #ICalProperty</doc>
            <type name="ICalGLib.Property" c:type="const ICalProperty*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_kind"
              c:identifier="e_cal_component_alarm_trigger_set_kind"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm-trigger.c"
             line="471">Set the @trigger kind to @kind. This works only for other than
the %E_CAL_COMPONENT_ALARM_TRIGGER_ABSOLUTE. To change the kind
from absolute to relative, or vice versa, use either
e_cal_component_alarm_trigger_set_relative() or
e_cal_component_alarm_trigger_set_absolute().</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm-trigger.h"
                         line="77"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="trigger" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-trigger.c"
                 line="473">an #ECalComponentAlarmTrigger</doc>
            <type name="ComponentAlarmTrigger"
                  c:type="ECalComponentAlarmTrigger*"/>
          </instance-parameter>
          <parameter name="kind" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-trigger.c"
                 line="474">the kind to set, one of #ECalComponentAlarmTriggerKind</doc>
            <type name="ComponentAlarmTriggerKind"
                  c:type="ECalComponentAlarmTriggerKind"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_relative"
              c:identifier="e_cal_component_alarm_trigger_set_relative"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarm-trigger.c"
             line="399">Set the @trigegr with the given @kind and @duration. The @kind can be any but
the %E_CAL_COMPONENT_ALARM_TRIGGER_ABSOLUTE.
To set an absolute trigger use e_cal_component_alarm_trigger_set_absolute().</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarm-trigger.h"
                         line="67"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="trigger" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-trigger.c"
                 line="401">an #ECalComponentAlarmTrigger</doc>
            <type name="ComponentAlarmTrigger"
                  c:type="ECalComponentAlarmTrigger*"/>
          </instance-parameter>
          <parameter name="kind" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-trigger.c"
                 line="402">an #ECalComponentAlarmTriggerKind, any but the %E_CAL_COMPONENT_ALARM_TRIGGER_ABSOLUTE</doc>
            <type name="ComponentAlarmTriggerKind"
                  c:type="ECalComponentAlarmTriggerKind"/>
          </parameter>
          <parameter name="duration" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarm-trigger.c"
                 line="403">the duration relative to @kind, as an #ICalDuration</doc>
            <type name="ICalGLib.Duration" c:type="const ICalDuration*"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <enumeration name="ComponentAlarmTriggerKind"
                 glib:type-name="ECalComponentAlarmTriggerKind"
                 glib:get-type="e_cal_component_alarm_trigger_kind_get_type"
                 c:type="ECalComponentAlarmTriggerKind">
      <member name="none"
              value="0"
              c:identifier="E_CAL_COMPONENT_ALARM_TRIGGER_NONE"
              glib:nick="none"
              glib:name="E_CAL_COMPONENT_ALARM_TRIGGER_NONE">
      </member>
      <member name="relative_start"
              value="1"
              c:identifier="E_CAL_COMPONENT_ALARM_TRIGGER_RELATIVE_START"
              glib:nick="relative-start"
              glib:name="E_CAL_COMPONENT_ALARM_TRIGGER_RELATIVE_START">
      </member>
      <member name="relative_end"
              value="2"
              c:identifier="E_CAL_COMPONENT_ALARM_TRIGGER_RELATIVE_END"
              glib:nick="relative-end"
              glib:name="E_CAL_COMPONENT_ALARM_TRIGGER_RELATIVE_END">
      </member>
      <member name="absolute"
              value="3"
              c:identifier="E_CAL_COMPONENT_ALARM_TRIGGER_ABSOLUTE"
              glib:nick="absolute"
              glib:name="E_CAL_COMPONENT_ALARM_TRIGGER_ABSOLUTE">
      </member>
    </enumeration>
    <record name="ComponentAlarms"
            c:type="ECalComponentAlarms"
            glib:type-name="ECalComponentAlarms"
            glib:get-type="e_cal_component_alarms_get_type"
            c:symbol-prefix="component_alarms">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-component-alarms.h"
           line="34">Opaque structure, which represents alarm trigger instances for a particular component.
Use the functions below to work with it.</doc>
      <source-position filename="src/calendar/libecal/e-cal-component-alarms.h"
                       line="40"/>
      <constructor name="new"
                   c:identifier="e_cal_component_alarms_new"
                   version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarms.c"
             line="43">Creates a new #ECalComponentAlarms structure, associated with @comp.
Free the alarms with e_cal_component_alarms_free(), when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarms.h"
                         line="44"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-alarms.c"
               line="50">a newly allocated #ECalComponentAlarms</doc>
          <type name="ComponentAlarms" c:type="ECalComponentAlarms*"/>
        </return-value>
        <parameters>
          <parameter name="comp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarms.c"
                 line="45">the actual alarm component, as #ECalComponent</doc>
            <type name="Component" c:type="_ECalComponent*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="add_instance"
              c:identifier="e_cal_component_alarms_add_instance"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarms.c"
             line="195">Add a copy of @instance into the list of instances. It is added
in no particular order.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarms.h"
                         line="59"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="alarms" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarms.c"
                 line="197">an #ECalComponentAlarms</doc>
            <type name="ComponentAlarms" c:type="ECalComponentAlarms*"/>
          </instance-parameter>
          <parameter name="instance" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarms.c"
                 line="198">an #ECalComponentAlarmInstance</doc>
            <type name="ComponentAlarmInstance"
                  c:type="const ECalComponentAlarmInstance*"/>
          </parameter>
        </parameters>
      </method>
      <method name="copy"
              c:identifier="e_cal_component_alarms_copy"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarms.c"
             line="67">Returns a newly allocated copy of @alarms, which should be freed with
e_cal_component_alarms_free(), when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarms.h"
                         line="46"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-alarms.c"
               line="74">a newly allocated copy of @alarms</doc>
          <type name="ComponentAlarms" c:type="ECalComponentAlarms*"/>
        </return-value>
        <parameters>
          <instance-parameter name="alarms" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarms.c"
                 line="69">an #ECalComponentAlarms</doc>
            <type name="ComponentAlarms" c:type="const ECalComponentAlarms*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="free"
              c:identifier="e_cal_component_alarms_free"
              version="3.34"
              introspectable="0">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarms.c"
             line="91">Free @alarms, previously created by e_cal_component_alarms_new()
or e_cal_component_alarms_copy(). The function does nothing, if @alarms
is %NULL.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarms.h"
                         line="47"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="alarms"
                              transfer-ownership="none"
                              nullable="1"
                              allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarms.c"
                 line="93">an #ECalComponentAlarms to free</doc>
            <type name="ComponentAlarms" c:type="gpointer"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_component"
              c:identifier="e_cal_component_alarms_get_component"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarms.c"
             line="113">The returned component is valid until the @alarms is freed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarms.h"
                         line="49"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-alarms.c"
               line="119">an #ECalComponent associated with the @alarms structure</doc>
          <type name="Component" c:type="_ECalComponent*"/>
        </return-value>
        <parameters>
          <instance-parameter name="alarms" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarms.c"
                 line="115">an #ECalComponentAlarms</doc>
            <type name="ComponentAlarms" c:type="const ECalComponentAlarms*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_instances"
              c:identifier="e_cal_component_alarms_get_instances"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarms.c"
             line="131">The returned #GSList is owned by @alarms and should not be modified.
It's valid until the @alarms is freed or the list of instances is not
modified by other functions. The items are of type #ECalComponentAlarmInstance.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarms.h"
                         line="51"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-alarms.c"
               line="139">instances
   of the @alarms structure; can be %NULL, when none had been added yet</doc>
          <type name="GLib.SList" c:type="GSList*">
            <type name="ComponentAlarmInstance"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="alarms" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarms.c"
                 line="133">an #ECalComponentAlarms</doc>
            <type name="ComponentAlarms" c:type="const ECalComponentAlarms*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="remove_instance"
              c:identifier="e_cal_component_alarms_remove_instance"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarms.c"
             line="236">Remove the @instance from the list of instances. If found, the @instance
is also freed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarms.h"
                         line="65"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-alarms.c"
               line="244">whether the @instance had been found and freed</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="alarms" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarms.c"
                 line="238">an #ECalComponentAlarms</doc>
            <type name="ComponentAlarms" c:type="ECalComponentAlarms*"/>
          </instance-parameter>
          <parameter name="instance" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarms.c"
                 line="239">an #ECalComponentAlarmInstance</doc>
            <type name="ComponentAlarmInstance"
                  c:type="const ECalComponentAlarmInstance*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_instances"
              c:identifier="e_cal_component_alarms_set_instances"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarms.c"
             line="152">Modifies the list of instances to copy of the given @instances.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarms.h"
                         line="53"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="alarms" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarms.c"
                 line="154">an #ECalComponentAlarms</doc>
            <type name="ComponentAlarms" c:type="ECalComponentAlarms*"/>
          </instance-parameter>
          <parameter name="instances"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarms.c"
                 line="155">#ECalComponentAlarmInstance objects to set</doc>
            <type name="GLib.SList" c:type="const GSList*">
              <type name="ComponentAlarmInstance"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="take_instance"
              c:identifier="e_cal_component_alarms_take_instance"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarms.c"
             line="216">Add the @instance into the list of instances and assume ownership of it.
It is added in no particular order.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarms.h"
                         line="62"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="alarms" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarms.c"
                 line="218">an #ECalComponentAlarms</doc>
            <type name="ComponentAlarms" c:type="ECalComponentAlarms*"/>
          </instance-parameter>
          <parameter name="instance" transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarms.c"
                 line="219">an #ECalComponentAlarmInstance</doc>
            <type name="ComponentAlarmInstance"
                  c:type="ECalComponentAlarmInstance*"/>
          </parameter>
        </parameters>
      </method>
      <method name="take_instances"
              c:identifier="e_cal_component_alarms_take_instances"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-alarms.c"
             line="174">Replaces the list of instances with the given @instances and
assumes ownership of it. Neither the #GSList, nor its items, should
contain the same structures.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-alarms.h"
                         line="56"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="alarms" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarms.c"
                 line="176">an #ECalComponentAlarms</doc>
            <type name="ComponentAlarms" c:type="ECalComponentAlarms*"/>
          </instance-parameter>
          <parameter name="instances"
                     transfer-ownership="full"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-alarms.c"
                 line="177">#ECalComponentAlarmInstance objects to take</doc>
            <type name="GLib.SList" c:type="GSList*">
              <type name="ComponentAlarmInstance"/>
            </type>
          </parameter>
        </parameters>
      </method>
    </record>
    <record name="ComponentAttendee"
            c:type="ECalComponentAttendee"
            glib:type-name="ECalComponentAttendee"
            glib:get-type="e_cal_component_attendee_get_type"
            c:symbol-prefix="component_attendee">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-component-attendee.h"
           line="33">Describes an attendee. Use the functions below to work with it.</doc>
      <source-position filename="src/calendar/libecal/e-cal-component-attendee.h"
                       line="38"/>
      <constructor name="new"
                   c:identifier="e_cal_component_attendee_new"
                   version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-attendee.c"
             line="53">Creates a new empty #ECalComponentAttendee structure. Free it
with e_cal_component_attendee_free(), when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-attendee.h"
                         line="43"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-attendee.c"
               line="59">a newly allocated #ECalComponentAttendee</doc>
          <type name="ComponentAttendee" c:type="ECalComponentAttendee*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_property"
                   c:identifier="e_cal_component_attendee_new_from_property"
                   version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-attendee.c"
             line="131">Creates a new #ECalComponentAttendee, filled with values from @property,
which should be of kind %I_CAL_ATTENDEE_PROPERTY. The function returns
%NULL when it is not of the expected kind. Free the structure
with e_cal_component_attendee_free(), when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-attendee.h"
                         line="58"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-attendee.c"
               line="140">a newly allocated #ECalComponentAttendee</doc>
          <type name="ComponentAttendee" c:type="ECalComponentAttendee*"/>
        </return-value>
        <parameters>
          <parameter name="property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="133">an #ICalProperty of kind %I_CAL_ATTENDEE_PROPERTY</doc>
            <type name="ICalGLib.Property" c:type="const ICalProperty*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_full"
                   c:identifier="e_cal_component_attendee_new_full"
                   version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-attendee.c"
             line="77">Creates a new #ECalComponentAttendee structure, with all members filled
with given values from the parameters. The %NULL and empty strings are
treated as unset the value. Free the structure
with e_cal_component_attendee_free(), when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-attendee.h"
                         line="45"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-attendee.c"
               line="96">a newly allocated #ECalComponentAttendee</doc>
          <type name="ComponentAttendee" c:type="ECalComponentAttendee*"/>
        </return-value>
        <parameters>
          <parameter name="value"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="79">usually a "mailto:email" of the attendee</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="member"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="80">member parameter</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cutype" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="81">type of the attendee, an #ICalParameterCutype</doc>
            <type name="ICalGLib.ParameterCutype"
                  c:type="ICalParameterCutype"/>
          </parameter>
          <parameter name="role" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="82">role of the attendee, an #ICalParameterRole</doc>
            <type name="ICalGLib.ParameterRole" c:type="ICalParameterRole"/>
          </parameter>
          <parameter name="partstat" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="83">current status of the attendee, an #ICalParameterPartstat</doc>
            <type name="ICalGLib.ParameterPartstat"
                  c:type="ICalParameterPartstat"/>
          </parameter>
          <parameter name="rsvp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="84">whether requires RSVP</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="delegatedfrom"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="85">delegated from</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="delegatedto"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="86">delegated to</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="sentby"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="87">sent by</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cn"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="88">common name</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="language"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="89">language</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="copy"
              c:identifier="e_cal_component_attendee_copy"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-attendee.c"
             line="161">Returns a newly allocated copy of @attendee, which should be freed with
e_cal_component_attendee_free(), when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-attendee.h"
                         line="61"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-attendee.c"
               line="168">a newly allocated copy of @attendee</doc>
          <type name="ComponentAttendee" c:type="ECalComponentAttendee*"/>
        </return-value>
        <parameters>
          <instance-parameter name="attendee" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="163">an #ECalComponentAttendee</doc>
            <type name="ComponentAttendee"
                  c:type="const ECalComponentAttendee*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="fill_property"
              c:identifier="e_cal_component_attendee_fill_property"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-attendee.c"
             line="339">Fill @property with information from @attendee. The @property
should be of kind %I_CAL_ATTENDEE_PROPERTY.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-attendee.h"
                         line="68"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="attendee" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="341">an #ECalComponentAttendee</doc>
            <type name="ComponentAttendee"
                  c:type="const ECalComponentAttendee*"/>
          </instance-parameter>
          <parameter name="property"
                     direction="inout"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="342">an #ICalProperty</doc>
            <type name="ICalGLib.Property" c:type="ICalProperty*"/>
          </parameter>
        </parameters>
      </method>
      <method name="free"
              c:identifier="e_cal_component_attendee_free"
              version="3.34"
              introspectable="0">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-attendee.c"
             line="196">Free @attendee, previously created by e_cal_component_attendee_new(),
e_cal_component_attendee_new_full(), e_cal_component_attendee_new_from_property()
or e_cal_component_attendee_copy(). The function does nothing, if @attendee
is %NULL.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-attendee.h"
                         line="62"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="attendee"
                              transfer-ownership="none"
                              nullable="1"
                              allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="198">an #ECalComponentAttendee to free</doc>
            <type name="ComponentAttendee" c:type="gpointer"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_as_property"
              c:identifier="e_cal_component_attendee_get_as_property"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-attendee.c"
             line="311">Converts information stored in @attendee into an #ICalProperty
of %I_CAL_ATTENDEE_PROPERTY kind. The caller is responsible to free
the returned object with g_object_unref(), when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-attendee.h"
                         line="66"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-attendee.c"
               line="319">a newly created #ICalProperty, containing
   information from the @attendee.</doc>
          <type name="ICalGLib.Property" c:type="ICalProperty*"/>
        </return-value>
        <parameters>
          <instance-parameter name="attendee" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="313">an #ECalComponentAttendee</doc>
            <type name="ComponentAttendee"
                  c:type="const ECalComponentAttendee*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_cn"
              c:identifier="e_cal_component_attendee_get_cn"
              version="3.34">
        <source-position filename="src/calendar/libecal/e-cal-component-attendee.h"
                         line="119"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-attendee.c"
               line="754">the @attendee common name (cn) parameter</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="attendee" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="752">an #ECalComponentAttendee</doc>
            <type name="ComponentAttendee"
                  c:type="const ECalComponentAttendee*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_cutype"
              c:identifier="e_cal_component_attendee_get_cutype"
              version="3.34">
        <source-position filename="src/calendar/libecal/e-cal-component-attendee.h"
                         line="82"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-attendee.c"
               line="487">the @attendee type, as an #ICalParameterCutype</doc>
          <type name="ICalGLib.ParameterCutype" c:type="ICalParameterCutype"/>
        </return-value>
        <parameters>
          <instance-parameter name="attendee" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="485">an #ECalComponentAttendee</doc>
            <type name="ComponentAttendee"
                  c:type="const ECalComponentAttendee*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_delegatedfrom"
              c:identifier="e_cal_component_attendee_get_delegatedfrom"
              version="3.34">
        <source-position filename="src/calendar/libecal/e-cal-component-attendee.h"
                         line="104"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-attendee.c"
               line="631">the @attendee delegatedfrom parameter</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="attendee" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="629">an #ECalComponentAttendee</doc>
            <type name="ComponentAttendee"
                  c:type="const ECalComponentAttendee*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_delegatedto"
              c:identifier="e_cal_component_attendee_get_delegatedto"
              version="3.34">
        <source-position filename="src/calendar/libecal/e-cal-component-attendee.h"
                         line="109"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-attendee.c"
               line="672">the @attendee delegatedto parameter</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="attendee" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="670">an #ECalComponentAttendee</doc>
            <type name="ComponentAttendee"
                  c:type="const ECalComponentAttendee*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_language"
              c:identifier="e_cal_component_attendee_get_language"
              version="3.34">
        <source-position filename="src/calendar/libecal/e-cal-component-attendee.h"
                         line="122"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-attendee.c"
               line="795">the @attendee language parameter</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="attendee" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="793">an #ECalComponentAttendee</doc>
            <type name="ComponentAttendee"
                  c:type="const ECalComponentAttendee*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_member"
              c:identifier="e_cal_component_attendee_get_member"
              version="3.34">
        <source-position filename="src/calendar/libecal/e-cal-component-attendee.h"
                         line="76"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-attendee.c"
               line="446">the @attendee member property</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="attendee" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="444">an #ECalComponentAttendee</doc>
            <type name="ComponentAttendee"
                  c:type="const ECalComponentAttendee*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_parameter_bag"
              c:identifier="e_cal_component_attendee_get_parameter_bag"
              version="3.34">
        <source-position filename="src/calendar/libecal/e-cal-component-attendee.h"
                         line="128"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-attendee.c"
               line="836">an #ECalComponentParameterBag with additional
   parameters stored with the attendee property, other than those accessible
   with the other functions of the @attendee.</doc>
          <type name="ComponentParameterBag"
                c:type="ECalComponentParameterBag*"/>
        </return-value>
        <parameters>
          <instance-parameter name="attendee" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="834">an #ECalComponentAttendee</doc>
            <type name="ComponentAttendee"
                  c:type="const ECalComponentAttendee*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_partstat"
              c:identifier="e_cal_component_attendee_get_partstat"
              version="3.34">
        <source-position filename="src/calendar/libecal/e-cal-component-attendee.h"
                         line="94"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-attendee.c"
               line="559">the @attendee status, as an #ICalParameterPartstat</doc>
          <type name="ICalGLib.ParameterPartstat"
                c:type="ICalParameterPartstat"/>
        </return-value>
        <parameters>
          <instance-parameter name="attendee" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="557">an #ECalComponentAttendee</doc>
            <type name="ComponentAttendee"
                  c:type="const ECalComponentAttendee*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_role"
              c:identifier="e_cal_component_attendee_get_role"
              version="3.34">
        <source-position filename="src/calendar/libecal/e-cal-component-attendee.h"
                         line="88"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-attendee.c"
               line="523">the @attendee role, as an #ICalParameterRole</doc>
          <type name="ICalGLib.ParameterRole" c:type="ICalParameterRole"/>
        </return-value>
        <parameters>
          <instance-parameter name="attendee" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="521">an #ECalComponentAttendee</doc>
            <type name="ComponentAttendee"
                  c:type="const ECalComponentAttendee*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_rsvp"
              c:identifier="e_cal_component_attendee_get_rsvp"
              version="3.34">
        <source-position filename="src/calendar/libecal/e-cal-component-attendee.h"
                         line="99"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-attendee.c"
               line="595">whether the @attendee requires RSVP</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="attendee" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="593">an #ECalComponentAttendee</doc>
            <type name="ComponentAttendee"
                  c:type="const ECalComponentAttendee*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_sentby"
              c:identifier="e_cal_component_attendee_get_sentby"
              version="3.34">
        <source-position filename="src/calendar/libecal/e-cal-component-attendee.h"
                         line="114"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-attendee.c"
               line="713">the @attendee sentby parameter</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="attendee" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="711">an #ECalComponentAttendee</doc>
            <type name="ComponentAttendee"
                  c:type="const ECalComponentAttendee*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_value"
              c:identifier="e_cal_component_attendee_get_value"
              version="3.34">
        <source-position filename="src/calendar/libecal/e-cal-component-attendee.h"
                         line="71"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-attendee.c"
               line="405">the @attendee URI, usually of "mailto:email" form</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="attendee" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="403">an #ECalComponentAttendee</doc>
            <type name="ComponentAttendee"
                  c:type="const ECalComponentAttendee*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_cn"
              c:identifier="e_cal_component_attendee_set_cn"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-attendee.c"
             line="766">Set the @attendee common name (cn) parameter. The %NULL
and empty strings are treated as unset the value.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-attendee.h"
                         line="120"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="attendee" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="768">an #ECalComponentAttendee</doc>
            <type name="ComponentAttendee" c:type="ECalComponentAttendee*"/>
          </instance-parameter>
          <parameter name="cn"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="769">the value to set</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_cutype"
              c:identifier="e_cal_component_attendee_set_cutype"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-attendee.c"
             line="499">Set the @attendee type, as an #ICalParameterCutype.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-attendee.h"
                         line="84"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="attendee" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="501">an #ECalComponentAttendee</doc>
            <type name="ComponentAttendee" c:type="ECalComponentAttendee*"/>
          </instance-parameter>
          <parameter name="cutype" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="502">the value to set, as an #ICalParameterCutype</doc>
            <type name="ICalGLib.ParameterCutype"
                  c:type="ICalParameterCutype"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_delegatedfrom"
              c:identifier="e_cal_component_attendee_set_delegatedfrom"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-attendee.c"
             line="643">Set the @attendee delegatedfrom parameter. The %NULL
and empty strings are treated as unset the value.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-attendee.h"
                         line="106"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="attendee" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="645">an #ECalComponentAttendee</doc>
            <type name="ComponentAttendee" c:type="ECalComponentAttendee*"/>
          </instance-parameter>
          <parameter name="delegatedfrom"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="646">the value to set</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_delegatedto"
              c:identifier="e_cal_component_attendee_set_delegatedto"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-attendee.c"
             line="684">Set the @attendee delegatedto parameter. The %NULL
and empty strings are treated as unset the value.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-attendee.h"
                         line="111"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="attendee" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="686">an #ECalComponentAttendee</doc>
            <type name="ComponentAttendee" c:type="ECalComponentAttendee*"/>
          </instance-parameter>
          <parameter name="delegatedto"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="687">the value to set</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_from_property"
              c:identifier="e_cal_component_attendee_set_from_property"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-attendee.c"
             line="245">Fill the @attendee structure with the information from
the @property, which should be of %I_CAL_ATTENDEE_PROPERTY kind.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-attendee.h"
                         line="63"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="attendee" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="247">an #ECalComponentAttendee</doc>
            <type name="ComponentAttendee" c:type="ECalComponentAttendee*"/>
          </instance-parameter>
          <parameter name="property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="248">an #ICalProperty</doc>
            <type name="ICalGLib.Property" c:type="const ICalProperty*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_language"
              c:identifier="e_cal_component_attendee_set_language"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-attendee.c"
             line="807">Set the @attendee language parameter. The %NULL
and empty strings are treated as unset the value.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-attendee.h"
                         line="124"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="attendee" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="809">an #ECalComponentAttendee</doc>
            <type name="ComponentAttendee" c:type="ECalComponentAttendee*"/>
          </instance-parameter>
          <parameter name="language"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="810">the value to set</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_member"
              c:identifier="e_cal_component_attendee_set_member"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-attendee.c"
             line="458">Set the @attendee member parameter. The %NULL
and empty strings are treated as unset the value.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-attendee.h"
                         line="78"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="attendee" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="460">an #ECalComponentAttendee</doc>
            <type name="ComponentAttendee" c:type="ECalComponentAttendee*"/>
          </instance-parameter>
          <parameter name="member"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="461">the value to set</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_partstat"
              c:identifier="e_cal_component_attendee_set_partstat"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-attendee.c"
             line="571">Set the @attendee status, as an #ICalParameterPartstat.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-attendee.h"
                         line="96"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="attendee" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="573">an #ECalComponentAttendee</doc>
            <type name="ComponentAttendee" c:type="ECalComponentAttendee*"/>
          </instance-parameter>
          <parameter name="partstat" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="574">the value to set, as an #ICalParameterPartstat</doc>
            <type name="ICalGLib.ParameterPartstat"
                  c:type="ICalParameterPartstat"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_role"
              c:identifier="e_cal_component_attendee_set_role"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-attendee.c"
             line="535">Set the @attendee role, as an #ICalParameterRole.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-attendee.h"
                         line="90"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="attendee" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="537">an #ECalComponentAttendee</doc>
            <type name="ComponentAttendee" c:type="ECalComponentAttendee*"/>
          </instance-parameter>
          <parameter name="role" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="538">the value to set, as an #ICalParameterRole</doc>
            <type name="ICalGLib.ParameterRole" c:type="ICalParameterRole"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_rsvp"
              c:identifier="e_cal_component_attendee_set_rsvp"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-attendee.c"
             line="607">Set the @attendee RSVP.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-attendee.h"
                         line="101"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="attendee" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="609">an #ECalComponentAttendee</doc>
            <type name="ComponentAttendee" c:type="ECalComponentAttendee*"/>
          </instance-parameter>
          <parameter name="rsvp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="610">the value to set</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_sentby"
              c:identifier="e_cal_component_attendee_set_sentby"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-attendee.c"
             line="725">Set the @attendee sentby parameter. The %NULL
and empty strings are treated as unset the value.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-attendee.h"
                         line="116"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="attendee" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="727">an #ECalComponentAttendee</doc>
            <type name="ComponentAttendee" c:type="ECalComponentAttendee*"/>
          </instance-parameter>
          <parameter name="sentby"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="728">the value to set</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_value"
              c:identifier="e_cal_component_attendee_set_value"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-attendee.c"
             line="417">Set the @attendee URI, usually of "mailto:email" form. The %NULL
and empty strings are treated as unset the value.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-attendee.h"
                         line="73"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="attendee" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="419">an #ECalComponentAttendee</doc>
            <type name="ComponentAttendee" c:type="ECalComponentAttendee*"/>
          </instance-parameter>
          <parameter name="value"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-attendee.c"
                 line="420">the value to set</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <record name="ComponentClass"
            c:type="ECalComponentClass"
            glib:is-gtype-struct-for="Component">
      <source-position filename="src/calendar/libecal/e-cal-component.h"
                       line="79"/>
      <field name="parent_class" readable="0" private="1">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <enumeration name="ComponentClassification"
                 glib:type-name="ECalComponentClassification"
                 glib:get-type="e_cal_component_classification_get_type"
                 c:type="ECalComponentClassification">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-enums.h"
           line="89">CLASSIFICATION property</doc>
      <member name="none"
              value="0"
              c:identifier="E_CAL_COMPONENT_CLASS_NONE"
              glib:nick="none"
              glib:name="E_CAL_COMPONENT_CLASS_NONE">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-enums.h"
             line="91">None</doc>
      </member>
      <member name="public"
              value="1"
              c:identifier="E_CAL_COMPONENT_CLASS_PUBLIC"
              glib:nick="public"
              glib:name="E_CAL_COMPONENT_CLASS_PUBLIC">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-enums.h"
             line="92">Public</doc>
      </member>
      <member name="private"
              value="2"
              c:identifier="E_CAL_COMPONENT_CLASS_PRIVATE"
              glib:nick="private"
              glib:name="E_CAL_COMPONENT_CLASS_PRIVATE">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-enums.h"
             line="93">Private</doc>
      </member>
      <member name="confidential"
              value="3"
              c:identifier="E_CAL_COMPONENT_CLASS_CONFIDENTIAL"
              glib:nick="confidential"
              glib:name="E_CAL_COMPONENT_CLASS_CONFIDENTIAL">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-enums.h"
             line="94">Confidential</doc>
      </member>
      <member name="unknown"
              value="4"
              c:identifier="E_CAL_COMPONENT_CLASS_UNKNOWN"
              glib:nick="unknown"
              glib:name="E_CAL_COMPONENT_CLASS_UNKNOWN">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-enums.h"
             line="95">Unknown</doc>
      </member>
    </enumeration>
    <record name="ComponentDateTime"
            c:type="ECalComponentDateTime"
            glib:type-name="ECalComponentDateTime"
            glib:get-type="e_cal_component_datetime_get_type"
            c:symbol-prefix="component_datetime">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-component-datetime.h"
           line="31">An opaque structure containing an #ICalTime describing
the date/time value and also its TZID parameter. Use the functions
below to work with it.</doc>
      <source-position filename="src/calendar/libecal/e-cal-component-datetime.h"
                       line="38"/>
      <constructor name="new"
                   c:identifier="e_cal_component_datetime_new"
                   version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-datetime.c"
             line="41">Creates a new #ECalComponentDateTime instance, which holds
the @value and @tzid. The returned structure should be freed
with e_cal_component_datetime_free(), when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-datetime.h"
                         line="43"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-datetime.c"
               line="50">a new #ECalComponentDateTime</doc>
          <type name="ComponentDateTime" c:type="ECalComponentDateTime*"/>
        </return-value>
        <parameters>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-datetime.c"
                 line="43">an #ICalTime as a value</doc>
            <type name="ICalGLib.Time" c:type="const ICalTime*"/>
          </parameter>
          <parameter name="tzid"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-datetime.c"
                 line="44">timezone ID for the @value, or %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_take"
                   c:identifier="e_cal_component_datetime_new_take"
                   version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-datetime.c"
             line="68">Creates a new #ECalComponentDateTime instance, which holds
the @value and @tzid. It is similar to e_cal_component_datetime_new(),
except this function assumes ownership of the @value and @tzid.
The returned structure should be freed with e_cal_component_datetime_free(),
when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-datetime.h"
                         line="46"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-datetime.c"
               line="79">a new #ECalComponentDateTime</doc>
          <type name="ComponentDateTime" c:type="ECalComponentDateTime*"/>
        </return-value>
        <parameters>
          <parameter name="value" transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-datetime.c"
                 line="70">an #ICalTime as a value</doc>
            <type name="ICalGLib.Time" c:type="ICalTime*"/>
          </parameter>
          <parameter name="tzid"
                     transfer-ownership="full"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-datetime.c"
                 line="71">timezone ID for the @value, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="copy"
              c:identifier="e_cal_component_datetime_copy"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-datetime.c"
             line="98">Creates a new copy of @dt. The returned structure should be freed
with e_cal_component_datetime_free() when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-datetime.h"
                         line="50"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-datetime.c"
               line="105">a new #ECalComponentDateTime, copy of @dt</doc>
          <type name="ComponentDateTime" c:type="ECalComponentDateTime*"/>
        </return-value>
        <parameters>
          <instance-parameter name="dt" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-datetime.c"
                 line="100">an #ECalComponentDateTime</doc>
            <type name="ComponentDateTime"
                  c:type="const ECalComponentDateTime*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="free"
              c:identifier="e_cal_component_datetime_free"
              version="3.34"
              introspectable="0">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-datetime.c"
             line="119">Free @dt, previously created by e_cal_component_datetime_new(),
e_cal_component_datetime_new_take() or e_cal_component_datetime_copy().
The function does nothing, if @dt is %NULL.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-datetime.h"
                         line="51"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="dt"
                              transfer-ownership="none"
                              nullable="1"
                              allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-datetime.c"
                 line="121">an #ECalComponentDateTime to free</doc>
            <type name="ComponentDateTime" c:type="gpointer"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_tzid"
              c:identifier="e_cal_component_datetime_get_tzid"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-datetime.c"
             line="228">Returns the TZID stored with the @dt. The string is owned by @dt and
it's valid until the @dt is freed or its TZID overwritten. It never
returns an empty string, it returns either set TZID parameter value
or %NULL, when none is set.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-datetime.h"
                         line="63"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-datetime.c"
               line="237">a TZID of @dt, or %NULL</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="dt" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-datetime.c"
                 line="230">an #ECalComponentDateTime</doc>
            <type name="ComponentDateTime"
                  c:type="const ECalComponentDateTime*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_value"
              c:identifier="e_cal_component_datetime_get_value"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-datetime.c"
             line="164">Returns the value stored with the @dt. The object is owned by @dt and
it's valid until the @dt is freed or its value overwritten.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-datetime.h"
                         line="55"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-datetime.c"
               line="171">a value of @dt, as an #ICalTime</doc>
          <type name="ICalGLib.Time" c:type="ICalTime*"/>
        </return-value>
        <parameters>
          <instance-parameter name="dt" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-datetime.c"
                 line="166">an #ECalComponentDateTime</doc>
            <type name="ComponentDateTime"
                  c:type="const ECalComponentDateTime*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set"
              c:identifier="e_cal_component_datetime_set"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-datetime.c"
             line="141">Sets both @value and @tzid in one call. Use e_cal_component_datetime_set_value()
and e_cal_component_datetime_set_tzid() to set them separately.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-datetime.h"
                         line="52"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="dt" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-datetime.c"
                 line="143">an #ECalComponentDateTime</doc>
            <type name="ComponentDateTime" c:type="ECalComponentDateTime*"/>
          </instance-parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-datetime.c"
                 line="144">an #ICalTime as a value</doc>
            <type name="ICalGLib.Time" c:type="const ICalTime*"/>
          </parameter>
          <parameter name="tzid"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-datetime.c"
                 line="145">timezone ID for the @value, or %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_tzid"
              c:identifier="e_cal_component_datetime_set_tzid"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-datetime.c"
             line="249">Sets the @tzid of the @dt. Any previously set TZID is freed.
An empty string or a %NULL as @tzid is treated as none TZID.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-datetime.h"
                         line="65"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="dt" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-datetime.c"
                 line="251">an #ECalComponentDateTime</doc>
            <type name="ComponentDateTime" c:type="ECalComponentDateTime*"/>
          </instance-parameter>
          <parameter name="tzid"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-datetime.c"
                 line="252">the TZID to set, or %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_value"
              c:identifier="e_cal_component_datetime_set_value"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-datetime.c"
             line="183">Sets the @value of the @dt. Any previously set value is freed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-datetime.h"
                         line="57"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="dt" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-datetime.c"
                 line="185">an #ECalComponentDateTime</doc>
            <type name="ComponentDateTime" c:type="ECalComponentDateTime*"/>
          </instance-parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-datetime.c"
                 line="186">the value to set, as an #ICalTime</doc>
            <type name="ICalGLib.Time" c:type="const ICalTime*"/>
          </parameter>
        </parameters>
      </method>
      <method name="take_tzid"
              c:identifier="e_cal_component_datetime_take_tzid"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-datetime.c"
             line="274">Sets the @tzid of the @dt and assumes ownership of @tzid. Any previously
set TZID is freed. An empty string or a %NULL as @tzid is treated as none TZID.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-datetime.h"
                         line="68"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="dt" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-datetime.c"
                 line="276">an #ECalComponentDateTime</doc>
            <type name="ComponentDateTime" c:type="ECalComponentDateTime*"/>
          </instance-parameter>
          <parameter name="tzid"
                     transfer-ownership="full"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-datetime.c"
                 line="277">the TZID to take, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="take_value"
              c:identifier="e_cal_component_datetime_take_value"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-datetime.c"
             line="205">Sets the @value of the @dt and assumes ownership of the @value.
Any previously set value is freed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-datetime.h"
                         line="60"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="dt" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-datetime.c"
                 line="207">an #ECalComponentDateTime</doc>
            <type name="ComponentDateTime" c:type="ECalComponentDateTime*"/>
          </instance-parameter>
          <parameter name="value" transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-datetime.c"
                 line="208">the value to take, as an #ICalTime</doc>
            <type name="ICalGLib.Time" c:type="ICalTime*"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <record name="ComponentId"
            c:type="ECalComponentId"
            glib:type-name="ECalComponentId"
            glib:get-type="e_cal_component_id_get_type"
            c:symbol-prefix="component_id">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-component-id.h"
           line="30">An opaque structure containing UID of a component and
its recurrence ID (which can be %NULL). Use the functions
below to work with it.</doc>
      <source-position filename="src/calendar/libecal/e-cal-component-id.h"
                       line="37"/>
      <constructor name="new"
                   c:identifier="e_cal_component_id_new"
                   version="3.10">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-id.c"
             line="38">Creates a new #ECalComponentId from @uid and @rid, which should be
freed with e_cal_component_id_free().</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-id.h"
                         line="41"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-id.c"
               line="46">an #ECalComponentId</doc>
          <type name="ComponentId" c:type="ECalComponentId*"/>
        </return-value>
        <parameters>
          <parameter name="uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-id.c"
                 line="40">a unique ID string</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/libecal/e-cal-component-id.c"
                 line="41">an optional recurrence ID string</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_take"
                   c:identifier="e_cal_component_id_new_take"
                   version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-id.c"
             line="63">Creates a new #ECalComponentId from @uid and @rid, which should be
freed with e_cal_component_id_free(). The function assumes ownership
of @uid and @rid parameters.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-id.h"
                         line="44"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-id.c"
               line="72">an #ECalComponentId</doc>
          <type name="ComponentId" c:type="ECalComponentId*"/>
        </return-value>
        <parameters>
          <parameter name="uid" transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-id.c"
                 line="65">a unique ID string</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="rid"
                     transfer-ownership="full"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-id.c"
                 line="66">an optional recurrence ID string</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="copy"
              c:identifier="e_cal_component_id_copy"
              version="3.10">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-id.c"
             line="97">Returns a newly allocated copy of @id, which should be freed with
e_cal_component_id_free().</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-id.h"
                         line="47"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-id.c"
               line="104">a newly allocated copy of @id</doc>
          <type name="ComponentId" c:type="ECalComponentId*"/>
        </return-value>
        <parameters>
          <instance-parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-id.c"
                 line="99">an #ECalComponentId</doc>
            <type name="ComponentId" c:type="const ECalComponentId*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="equal"
              c:identifier="e_cal_component_id_equal"
              version="3.10">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-id.c"
             line="160">Compares two #ECalComponentId structs for equality.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-id.h"
                         line="50"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-id.c"
               line="167">%TRUE if @id1 and @id2 are equal</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="id1" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-id.c"
                 line="162">the first #ECalComponentId</doc>
            <type name="ComponentId" c:type="gconstpointer"/>
          </instance-parameter>
          <parameter name="id2" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-id.c"
                 line="163">the second #ECalComponentId</doc>
            <type name="ComponentId" c:type="gconstpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="free"
              c:identifier="e_cal_component_id_free"
              introspectable="0">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-id.c"
             line="116">Free the @id, previously created by e_cal_component_id_new(),
e_cal_component_id_new_take() or e_cal_component_id_copy().</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-id.h"
                         line="48"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="id"
                              transfer-ownership="full"
                              nullable="1"
                              allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-id.c"
                 line="118">an #ECalComponentId</doc>
            <type name="ComponentId" c:type="gpointer"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_rid"
              c:identifier="e_cal_component_id_get_rid"
              version="3.34">
        <source-position filename="src/calendar/libecal/e-cal-component-id.h"
                         line="55"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-id.c"
               line="236">The RECURRENCE-ID part of the @id.
   The returned string is owned by @id and it's valid until it's
   changed with e_cal_component_id_set_rid() or until the @id is freed.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-id.c"
                 line="234">an #ECalComponentId</doc>
            <type name="ComponentId" c:type="const ECalComponentId*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_uid"
              c:identifier="e_cal_component_id_get_uid"
              version="3.34">
        <source-position filename="src/calendar/libecal/e-cal-component-id.h"
                         line="52"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-id.c"
               line="196">The UID part of the @id. The returned
   string is owned by @id and it's valid until it's changed
   with e_cal_component_id_set_uid() or until the @id is freed.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-id.c"
                 line="194">an #ECalComponentId</doc>
            <type name="ComponentId" c:type="const ECalComponentId*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="hash"
              c:identifier="e_cal_component_id_hash"
              version="3.10">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-id.c"
             line="135">Generates a hash value for @id.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-id.h"
                         line="49"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-id.c"
               line="141">a hash value for @id</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-id.c"
                 line="137">an #ECalComponentId</doc>
            <type name="ComponentId" c:type="gconstpointer"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_rid"
              c:identifier="e_cal_component_id_set_rid"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-id.c"
             line="250">Sets the RECURRENCE-ID part of the @id. The @rid can be %NULL
or an empty string, where both are treated as %NULL, which
means the @id has not RECURRENCE-ID.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-id.h"
                         line="56"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-id.c"
                 line="252">an #ECalComponentId</doc>
            <type name="ComponentId" c:type="ECalComponentId*"/>
          </instance-parameter>
          <parameter name="rid"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-id.c"
                 line="253">the RECURRENCE-ID to set</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_uid"
              c:identifier="e_cal_component_id_set_uid"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-id.c"
             line="210">Sets the UID part of the @id.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-id.h"
                         line="53"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-id.c"
                 line="212">an #ECalComponentId</doc>
            <type name="ComponentId" c:type="ECalComponentId*"/>
          </instance-parameter>
          <parameter name="uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-id.c"
                 line="213">the UID to set</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <record name="ComponentOrganizer"
            c:type="ECalComponentOrganizer"
            glib:type-name="ECalComponentOrganizer"
            glib:get-type="e_cal_component_organizer_get_type"
            c:symbol-prefix="component_organizer">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-component-organizer.h"
           line="33">Describes an organizer. Use the functions below to work with it.</doc>
      <source-position filename="src/calendar/libecal/e-cal-component-organizer.h"
                       line="38"/>
      <constructor name="new"
                   c:identifier="e_cal_component_organizer_new"
                   version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-organizer.c"
             line="44">Creates a new empty #ECalComponentOrganizer structure. Free it
with e_cal_component_organizer_free(), when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-organizer.h"
                         line="43"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-organizer.c"
               line="50">a newly allocated #ECalComponentOrganizer</doc>
          <type name="ComponentOrganizer" c:type="ECalComponentOrganizer*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_property"
                   c:identifier="e_cal_component_organizer_new_from_property"
                   version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-organizer.c"
             line="98">Creates a new #ECalComponentOrganizer, filled with values from @property,
which should be of kind %I_CAL_ORGANIZER_PROPERTY. The function returns
%NULL when it is not of the expected kind. Free the structure
with e_cal_component_organizer_free(), when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-organizer.h"
                         line="51"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-organizer.c"
               line="107">a newly allocated #ECalComponentOrganizer</doc>
          <type name="ComponentOrganizer" c:type="ECalComponentOrganizer*"/>
        </return-value>
        <parameters>
          <parameter name="property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-organizer.c"
                 line="100">an #ICalProperty of kind %I_CAL_ORGANIZER_PROPERTY</doc>
            <type name="ICalGLib.Property" c:type="const ICalProperty*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_full"
                   c:identifier="e_cal_component_organizer_new_full"
                   version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-organizer.c"
             line="65">Creates a new #ECalComponentOrganizer structure, with all members filled
with given values from the parameters. The %NULL and empty strings are
treated as unset the value. Free the structure
with e_cal_component_organizer_free(), when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-organizer.h"
                         line="45"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-organizer.c"
               line="77">a newly allocated #ECalComponentOrganizer</doc>
          <type name="ComponentOrganizer" c:type="ECalComponentOrganizer*"/>
        </return-value>
        <parameters>
          <parameter name="value"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-organizer.c"
                 line="67">usually a "mailto:email" of the organizer</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="sentby"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-organizer.c"
                 line="68">sent by</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cn"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-organizer.c"
                 line="69">common name</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="language"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-organizer.c"
                 line="70">language</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="copy"
              c:identifier="e_cal_component_organizer_copy"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-organizer.c"
             line="128">Returns a newly allocated copy of @organizer, which should be freed with
e_cal_component_organizer_free(), when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-organizer.h"
                         line="54"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-organizer.c"
               line="135">a newly allocated copy of @organizer</doc>
          <type name="ComponentOrganizer" c:type="ECalComponentOrganizer*"/>
        </return-value>
        <parameters>
          <instance-parameter name="organizer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-organizer.c"
                 line="130">an #ECalComponentOrganizer</doc>
            <type name="ComponentOrganizer"
                  c:type="const ECalComponentOrganizer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="fill_property"
              c:identifier="e_cal_component_organizer_fill_property"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-organizer.c"
             line="261">Fill @property with information from @organizer. The @property
should be of kind %I_CAL_ORGANIZER_PROPERTY.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-organizer.h"
                         line="61"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="organizer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-organizer.c"
                 line="263">an #ECalComponentOrganizer</doc>
            <type name="ComponentOrganizer"
                  c:type="const ECalComponentOrganizer*"/>
          </instance-parameter>
          <parameter name="property"
                     direction="inout"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-organizer.c"
                 line="264">an #ICalProperty</doc>
            <type name="ICalGLib.Property" c:type="ICalProperty*"/>
          </parameter>
        </parameters>
      </method>
      <method name="free"
              c:identifier="e_cal_component_organizer_free"
              version="3.34"
              introspectable="0">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-organizer.c"
             line="156">Free @organizer, previously created by e_cal_component_organizer_new(),
e_cal_component_organizer_new_full(), e_cal_component_organizer_new_from_property()
or e_cal_component_organizer_copy(). The function does nothing, if @organizer
is %NULL.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-organizer.h"
                         line="55"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="organizer"
                              transfer-ownership="none"
                              nullable="1"
                              allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-organizer.c"
                 line="158">an #ECalComponentOrganizer to free</doc>
            <type name="ComponentOrganizer" c:type="gpointer"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_as_property"
              c:identifier="e_cal_component_organizer_get_as_property"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-organizer.c"
             line="233">Converts information stored in @organizer into an #ICalProperty
of %I_CAL_ORGANIZER_PROPERTY kind. The caller is responsible to free
the returned object with g_object_unref(), when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-organizer.h"
                         line="59"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-organizer.c"
               line="241">a newly created #ICalProperty, containing
   information from the @organizer.</doc>
          <type name="ICalGLib.Property" c:type="ICalProperty*"/>
        </return-value>
        <parameters>
          <instance-parameter name="organizer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-organizer.c"
                 line="235">an #ECalComponentOrganizer</doc>
            <type name="ComponentOrganizer"
                  c:type="const ECalComponentOrganizer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_cn"
              c:identifier="e_cal_component_organizer_get_cn"
              version="3.34">
        <source-position filename="src/calendar/libecal/e-cal-component-organizer.h"
                         line="74"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-organizer.c"
               line="392">the @organizer common name (cn) parameter</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="organizer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-organizer.c"
                 line="390">an #ECalComponentOrganizer</doc>
            <type name="ComponentOrganizer"
                  c:type="const ECalComponentOrganizer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_language"
              c:identifier="e_cal_component_organizer_get_language"
              version="3.34">
        <source-position filename="src/calendar/libecal/e-cal-component-organizer.h"
                         line="77"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-organizer.c"
               line="433">the @organizer language parameter</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="organizer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-organizer.c"
                 line="431">an #ECalComponentOrganizer</doc>
            <type name="ComponentOrganizer"
                  c:type="const ECalComponentOrganizer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_parameter_bag"
              c:identifier="e_cal_component_organizer_get_parameter_bag"
              version="3.34">
        <source-position filename="src/calendar/libecal/e-cal-component-organizer.h"
                         line="83"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-organizer.c"
               line="474">an #ECalComponentParameterBag with additional
   parameters stored with the organizer property, other than those accessible
   with the other functions of the @organizer.</doc>
          <type name="ComponentParameterBag"
                c:type="ECalComponentParameterBag*"/>
        </return-value>
        <parameters>
          <instance-parameter name="organizer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-organizer.c"
                 line="472">an #ECalComponentOrganizer</doc>
            <type name="ComponentOrganizer"
                  c:type="const ECalComponentOrganizer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_sentby"
              c:identifier="e_cal_component_organizer_get_sentby"
              version="3.34">
        <source-position filename="src/calendar/libecal/e-cal-component-organizer.h"
                         line="69"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-organizer.c"
               line="351">the @organizer sentby parameter</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="organizer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-organizer.c"
                 line="349">an #ECalComponentOrganizer</doc>
            <type name="ComponentOrganizer"
                  c:type="const ECalComponentOrganizer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_value"
              c:identifier="e_cal_component_organizer_get_value"
              version="3.34">
        <source-position filename="src/calendar/libecal/e-cal-component-organizer.h"
                         line="64"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-organizer.c"
               line="310">the @organizer URI, usually of "mailto:email" form</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="organizer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-organizer.c"
                 line="308">an #ECalComponentOrganizer</doc>
            <type name="ComponentOrganizer"
                  c:type="const ECalComponentOrganizer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_cn"
              c:identifier="e_cal_component_organizer_set_cn"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-organizer.c"
             line="404">Set the @organizer common name (cn) parameter. The %NULL
and empty strings are treated as unset the value.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-organizer.h"
                         line="75"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="organizer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-organizer.c"
                 line="406">an #ECalComponentOrganizer</doc>
            <type name="ComponentOrganizer" c:type="ECalComponentOrganizer*"/>
          </instance-parameter>
          <parameter name="cn"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-organizer.c"
                 line="407">the value to set</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_from_property"
              c:identifier="e_cal_component_organizer_set_from_property"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-organizer.c"
             line="195">Fill the @organizer structure with the information from
the @property, which should be of %I_CAL_ORGANIZER_PROPERTY kind.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-organizer.h"
                         line="56"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="organizer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-organizer.c"
                 line="197">an #ECalComponentOrganizer</doc>
            <type name="ComponentOrganizer" c:type="ECalComponentOrganizer*"/>
          </instance-parameter>
          <parameter name="property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-organizer.c"
                 line="198">an #ICalProperty</doc>
            <type name="ICalGLib.Property" c:type="const ICalProperty*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_language"
              c:identifier="e_cal_component_organizer_set_language"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-organizer.c"
             line="445">Set the @organizer language parameter. The %NULL
and empty strings are treated as unset the value.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-organizer.h"
                         line="79"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="organizer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-organizer.c"
                 line="447">an #ECalComponentOrganizer</doc>
            <type name="ComponentOrganizer" c:type="ECalComponentOrganizer*"/>
          </instance-parameter>
          <parameter name="language"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-organizer.c"
                 line="448">the value to set</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_sentby"
              c:identifier="e_cal_component_organizer_set_sentby"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-organizer.c"
             line="363">Set the @organizer sentby parameter. The %NULL
and empty strings are treated as unset the value.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-organizer.h"
                         line="71"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="organizer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-organizer.c"
                 line="365">an #ECalComponentOrganizer</doc>
            <type name="ComponentOrganizer" c:type="ECalComponentOrganizer*"/>
          </instance-parameter>
          <parameter name="sentby"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-organizer.c"
                 line="366">the value to set</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_value"
              c:identifier="e_cal_component_organizer_set_value"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-organizer.c"
             line="322">Set the @organizer URI, usually of "mailto:email" form. The %NULL
and empty strings are treated as unset the value.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-organizer.h"
                         line="66"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="organizer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-organizer.c"
                 line="324">an #ECalComponentOrganizer</doc>
            <type name="ComponentOrganizer" c:type="ECalComponentOrganizer*"/>
          </instance-parameter>
          <parameter name="value"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-organizer.c"
                 line="325">the value to set</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <record name="ComponentParameterBag"
            c:type="ECalComponentParameterBag"
            glib:type-name="ECalComponentParameterBag"
            glib:get-type="e_cal_component_parameter_bag_get_type"
            c:symbol-prefix="component_parameter_bag">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-component-parameter-bag.h"
           line="30">Opaque structure, which represents a bad (list) of #ICalParameter objects.
Use the functions below to work with it.</doc>
      <source-position filename="src/calendar/libecal/e-cal-component-parameter-bag.h"
                       line="36"/>
      <constructor name="new"
                   c:identifier="e_cal_component_parameter_bag_new"
                   version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-parameter-bag.c"
             line="36">Creates a new #ECalComponentParameterBag. Free the structure
with e_cal_component_parameter_bag_free(), when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-parameter-bag.h"
                         line="58"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-parameter-bag.c"
               line="42">a newly allocated #ECalComponentParameterBag</doc>
          <type name="ComponentParameterBag"
                c:type="ECalComponentParameterBag*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_property"
                   c:identifier="e_cal_component_parameter_bag_new_from_property"
                   version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-parameter-bag.c"
             line="57">Creates a new #ECalComponentParameterBag, filled with parameters
from the @property, for which the @func returned %TRUE. When
the @func is %NULL, all the parameters are included.

Free the structure with e_cal_component_parameter_bag_free(), when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-parameter-bag.h"
                         line="61"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-parameter-bag.c"
               line="69">a newly allocated #ECalComponentParameterBag</doc>
          <type name="ComponentParameterBag"
                c:type="ECalComponentParameterBag*"/>
        </return-value>
        <parameters>
          <parameter name="property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-parameter-bag.c"
                 line="59">an #ICalProperty containing the parameters to fill the bag with</doc>
            <type name="ICalGLib.Property" c:type="const ICalProperty*"/>
          </parameter>
          <parameter name="func"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="call"
                     closure="2">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-parameter-bag.c"
                 line="60">an optional %ECalComponentParameterBagFilterFunc callback</doc>
            <type name="ComponentParameterBagFilterFunc"
                  c:type="ECalComponentParameterBagFilterFunc"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     closure="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-parameter-bag.c"
                 line="61">user data for the @func</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="add"
              c:identifier="e_cal_component_parameter_bag_add"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-parameter-bag.c"
             line="230">Adds a copy of the @param into the @bag.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-parameter-bag.h"
                         line="81"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-parameter-bag.c"
                 line="232">an #ECalComponentParameterBag</doc>
            <type name="ComponentParameterBag"
                  c:type="ECalComponentParameterBag*"/>
          </instance-parameter>
          <parameter name="param" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-parameter-bag.c"
                 line="233">an #ICalParameter</doc>
            <type name="ICalGLib.Parameter" c:type="const ICalParameter*"/>
          </parameter>
        </parameters>
      </method>
      <method name="assign"
              c:identifier="e_cal_component_parameter_bag_assign"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-parameter-bag.c"
             line="198">Assigns content of the @src_bag into the @bag.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-parameter-bag.h"
                         line="78"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-parameter-bag.c"
                 line="200">a destination #ECalComponentParameterBag</doc>
            <type name="ComponentParameterBag"
                  c:type="ECalComponentParameterBag*"/>
          </instance-parameter>
          <parameter name="src_bag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-parameter-bag.c"
                 line="201">a source #ECalComponentParameterBag</doc>
            <type name="ComponentParameterBag"
                  c:type="const ECalComponentParameterBag*"/>
          </parameter>
        </parameters>
      </method>
      <method name="clear"
              c:identifier="e_cal_component_parameter_bag_clear"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-parameter-bag.c"
             line="409">Removes all parameters from the @bag, thus it doesn't contain any
parameter after this function returns.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-parameter-bag.h"
                         line="100"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-parameter-bag.c"
                 line="411">an #ECalComponentParameterBag</doc>
            <type name="ComponentParameterBag"
                  c:type="ECalComponentParameterBag*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="copy"
              c:identifier="e_cal_component_parameter_bag_copy"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-parameter-bag.c"
             line="87">Returns a newly allocated copy of @bag, which should be freed with
e_cal_component_parameter_bag_free(), when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-parameter-bag.h"
                         line="66"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-parameter-bag.c"
               line="94">a newly allocated copy of @bag</doc>
          <type name="ComponentParameterBag"
                c:type="ECalComponentParameterBag*"/>
        </return-value>
        <parameters>
          <instance-parameter name="bag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-parameter-bag.c"
                 line="89">an #ECalComponentParameterBag</doc>
            <type name="ComponentParameterBag"
                  c:type="const ECalComponentParameterBag*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="fill_property"
              c:identifier="e_cal_component_parameter_bag_fill_property"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-parameter-bag.c"
             line="170">Adds all the stored parameters in the @bag to the @property.
The function replaces any existing parameter with the new value,
if any such exists. Otherwise the parameter is added.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-parameter-bag.h"
                         line="75"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-parameter-bag.c"
                 line="172">an #ECalComponentParameterBag</doc>
            <type name="ComponentParameterBag"
                  c:type="const ECalComponentParameterBag*"/>
          </instance-parameter>
          <parameter name="property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-parameter-bag.c"
                 line="173">an #ICalProperty</doc>
            <type name="ICalGLib.Property" c:type="ICalProperty*"/>
          </parameter>
        </parameters>
      </method>
      <method name="free"
              c:identifier="e_cal_component_parameter_bag_free"
              version="3.34"
              introspectable="0">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-parameter-bag.c"
             line="112">Free @bag, previously created by e_cal_component_parameter_bag_new(),
e_cal_component_parameter_bag_new_from_component() or
e_cal_component_parameter_bag_copy(). The function does nothing, if @bag
is %NULL.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-parameter-bag.h"
                         line="68"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bag"
                              transfer-ownership="none"
                              nullable="1"
                              allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-parameter-bag.c"
                 line="114">an #ECalComponentParameterBag to free</doc>
            <type name="ComponentParameterBag" c:type="gpointer"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get"
              c:identifier="e_cal_component_parameter_bag_get"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-parameter-bag.c"
             line="286">Returns the #ICalParameter at the given @index. If the @index is
out of bounds (not lower than e_cal_component_parameter_bag_get_count()),
then %NULL is returned.

The returned parameter is owned by the @bag and should not be freed
by the caller.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-parameter-bag.h"
                         line="88"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-parameter-bag.c"
               line="298">the #ICalParameter at the given @index,
   or %NULL on error</doc>
          <type name="ICalGLib.Parameter" c:type="ICalParameter*"/>
        </return-value>
        <parameters>
          <instance-parameter name="bag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-parameter-bag.c"
                 line="288">an #ECalComponentParameterBag</doc>
            <type name="ComponentParameterBag"
                  c:type="const ECalComponentParameterBag*"/>
          </instance-parameter>
          <parameter name="index" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-parameter-bag.c"
                 line="289">an index of the parameter to get</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_count"
              c:identifier="e_cal_component_parameter_bag_get_count"
              version="3.34">
        <source-position filename="src/calendar/libecal/e-cal-component-parameter-bag.h"
                         line="86"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-parameter-bag.c"
               line="273">how many parameters are stored in the @bag</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="bag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-parameter-bag.c"
                 line="271">an #ECalComponentParameterBag</doc>
            <type name="ComponentParameterBag"
                  c:type="const ECalComponentParameterBag*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_first_by_kind"
              c:identifier="e_cal_component_parameter_bag_get_first_by_kind"
              version="3.34">
        <source-position filename="src/calendar/libecal/e-cal-component-parameter-bag.h"
                         line="90"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-parameter-bag.c"
               line="321">the index of the first parameter of the given @kind, or value
   out of bounds, if such parameter cannot be found</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="bag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-parameter-bag.c"
                 line="318">an #ECalComponentParameterBag</doc>
            <type name="ComponentParameterBag"
                  c:type="const ECalComponentParameterBag*"/>
          </instance-parameter>
          <parameter name="kind" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-parameter-bag.c"
                 line="319">an #ICalParameterKind to search for</doc>
            <type name="ICalGLib.ParameterKind" c:type="ICalParameterKind"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove"
              c:identifier="e_cal_component_parameter_bag_remove"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-parameter-bag.c"
             line="346">Removes the #ICalParameter at the given @index. If the @index is
out of bounds (not lower than e_cal_component_parameter_bag_get_count()),
then the function does nothing.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-parameter-bag.h"
                         line="93"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-parameter-bag.c"
                 line="348">an #ECalComponentParameterBag</doc>
            <type name="ComponentParameterBag"
                  c:type="ECalComponentParameterBag*"/>
          </instance-parameter>
          <parameter name="index" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-parameter-bag.c"
                 line="349">an index of the parameter to remove</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_by_kind"
              c:identifier="e_cal_component_parameter_bag_remove_by_kind"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-parameter-bag.c"
             line="368">Removes the first or all (depending on the @all) parameters of the given @kind.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-parameter-bag.h"
                         line="96"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-parameter-bag.c"
               line="376">how many parameters had been removed</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="bag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-parameter-bag.c"
                 line="370">an #ECalComponentParameterBag</doc>
            <type name="ComponentParameterBag"
                  c:type="ECalComponentParameterBag*"/>
          </instance-parameter>
          <parameter name="kind" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-parameter-bag.c"
                 line="371">an #ICalParameterKind to remove</doc>
            <type name="ICalGLib.ParameterKind" c:type="ICalParameterKind"/>
          </parameter>
          <parameter name="all" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-parameter-bag.c"
                 line="372">%TRUE to remove all parameters of the @kind, or %FALSE to only the first</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_from_property"
              c:identifier="e_cal_component_parameter_bag_set_from_property"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-parameter-bag.c"
             line="134">Fills the @bag with parameters from the @property, for which the @func
returned %TRUE. When the @func is %NULL, all the parameters are included.
The @bag content is cleared before any parameter is added.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-parameter-bag.h"
                         line="70"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-parameter-bag.c"
                 line="136">an #ECalComponentParameterBag</doc>
            <type name="ComponentParameterBag"
                  c:type="ECalComponentParameterBag*"/>
          </instance-parameter>
          <parameter name="property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-parameter-bag.c"
                 line="137">an #ICalProperty containing the parameters to fill the @bag with</doc>
            <type name="ICalGLib.Property" c:type="const ICalProperty*"/>
          </parameter>
          <parameter name="func"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="call"
                     closure="2">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-parameter-bag.c"
                 line="138">an optional %ECalComponentParameterBagFilterFunc callback</doc>
            <type name="ComponentParameterBagFilterFunc"
                  c:type="ECalComponentParameterBagFilterFunc"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     closure="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-parameter-bag.c"
                 line="139">user data for the @func</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="take"
              c:identifier="e_cal_component_parameter_bag_take"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-parameter-bag.c"
             line="250">Adds the @param into the @bag and assumes ownership of the @param.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-parameter-bag.h"
                         line="83"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-parameter-bag.c"
                 line="252">an #ECalComponentParameterBag</doc>
            <type name="ComponentParameterBag"
                  c:type="ECalComponentParameterBag*"/>
          </instance-parameter>
          <parameter name="param" transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-parameter-bag.c"
                 line="253">an #ICalParameter</doc>
            <type name="ICalGLib.Parameter" c:type="ICalParameter*"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <callback name="ComponentParameterBagFilterFunc"
              c:type="ECalComponentParameterBagFilterFunc"
              version="3.34">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-component-parameter-bag.h"
           line="38">A function used to filter which parameters should be added to the bag,
when filling it with e_cal_component_parameter_bag_new_from_property()
and e_cal_component_parameter_bag_set_from_property().</doc>
      <source-position filename="src/calendar/libecal/e-cal-component-parameter-bag.h"
                       line="51"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-parameter-bag.h"
             line="47">%TRUE, to add the parameter to the bag; %FALSE, to not add it to the bag</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="parameter" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-parameter-bag.h"
               line="40">an #ICalParameter</doc>
          <type name="ICalGLib.Parameter" c:type="ICalParameter*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-parameter-bag.h"
               line="41">user data for the callback</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <record name="ComponentPeriod"
            c:type="ECalComponentPeriod"
            glib:type-name="ECalComponentPeriod"
            glib:get-type="e_cal_component_period_get_type"
            c:symbol-prefix="component_period">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-component-period.h"
           line="32">Period of time, can have explicit start/end times or start/duration instead.
Use the functions below to work with it.</doc>
      <source-position filename="src/calendar/libecal/e-cal-component-period.h"
                       line="38"/>
      <constructor name="new_datetime"
                   c:identifier="e_cal_component_period_new_datetime"
                   version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-period.c"
             line="43">Creates a new #ECalComponentPeriod of kind %E_CAL_COMPONENT_PERIOD_DATETIME.
The returned structure should be freed with e_cal_component_period_free(),
when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-period.h"
                         line="42"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-period.c"
               line="52">a newly allocated #ECalComponentPeriod</doc>
          <type name="ComponentPeriod" c:type="ECalComponentPeriod*"/>
        </return-value>
        <parameters>
          <parameter name="start" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-period.c"
                 line="45">an #ICalTime, the start of the period</doc>
            <type name="ICalGLib.Time" c:type="const ICalTime*"/>
          </parameter>
          <parameter name="end"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-period.c"
                 line="46">an #ICalTime, the end of the period</doc>
            <type name="ICalGLib.Time" c:type="const ICalTime*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_duration"
                   c:identifier="e_cal_component_period_new_duration"
                   version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-period.c"
             line="72">Creates a new #ECalComponentPeriod of kind %E_CAL_COMPONENT_PERIOD_DURATION.
The returned structure should be freed with e_cal_component_period_free(),
when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-period.h"
                         line="46"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-period.c"
               line="81">a newly allocated #ECalComponentPeriod</doc>
          <type name="ComponentPeriod" c:type="ECalComponentPeriod*"/>
        </return-value>
        <parameters>
          <parameter name="start" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-period.c"
                 line="74">an #ICalTime, the start of the period</doc>
            <type name="ICalGLib.Time" c:type="const ICalTime*"/>
          </parameter>
          <parameter name="duration" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-period.c"
                 line="75">an #ICalDuration, the duration of the period</doc>
            <type name="ICalGLib.Duration" c:type="const ICalDuration*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="copy"
              c:identifier="e_cal_component_period_copy"
              version="3.34">
        <source-position filename="src/calendar/libecal/e-cal-component-period.h"
                         line="50"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-period.c"
               line="106">a newly allocated #ECalComponentPeriod, copy of @period.
   The returned structure should be freed with e_cal_component_period_free(),
   when no longer needed.</doc>
          <type name="ComponentPeriod" c:type="ECalComponentPeriod*"/>
        </return-value>
        <parameters>
          <instance-parameter name="period" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-period.c"
                 line="104">an #ECalComponentPeriod to copy</doc>
            <type name="ComponentPeriod" c:type="const ECalComponentPeriod*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="free"
              c:identifier="e_cal_component_period_free"
              version="3.34"
              introspectable="0">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-period.c"
             line="135">Free the @period, previously allocated by e_cal_component_period_new_datetime(),
e_cal_component_period_new_duration() or e_cal_component_period_copy().</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-period.h"
                         line="51"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="period"
                              transfer-ownership="none"
                              nullable="1"
                              allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-period.c"
                 line="137">an #ECalComponentPeriod to free</doc>
            <type name="ComponentPeriod" c:type="gpointer"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_duration"
              c:identifier="e_cal_component_period_get_duration"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-period.c"
             line="325">Returns the duration of the @period. This can be called only on @period
objects of kind %E_CAL_COMPONENT_PERIOD_DURATION.
The returned #ICalDuration object is owned by @period and should not
be freed. It's valid until the @period is freed or its duration changed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-period.h"
                         line="68"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-period.c"
               line="334">the duration of the period, as an #ICalDuration</doc>
          <type name="ICalGLib.Duration" c:type="ICalDuration*"/>
        </return-value>
        <parameters>
          <instance-parameter name="period" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-period.c"
                 line="327">an #ECalComponentPeriod</doc>
            <type name="ComponentPeriod" c:type="const ECalComponentPeriod*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_end"
              c:identifier="e_cal_component_period_get_end"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-period.c"
             line="276">Returns the end of the @period. This can be called only on @period
objects of kind %E_CAL_COMPONENT_PERIOD_DATETIME. The end time can
be a null-time, in which case the @period corresponds to a single
date/date-time value, not to a period.

The returned #ICalTime object is owned by @period and should not
be freed. It's valid until the @period is freed or its end time changed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-period.h"
                         line="65"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-period.c"
               line="288">the end of the period, as an #ICalTime</doc>
          <type name="ICalGLib.Time" c:type="ICalTime*"/>
        </return-value>
        <parameters>
          <instance-parameter name="period" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-period.c"
                 line="278">an #ECalComponentPeriod</doc>
            <type name="ComponentPeriod" c:type="const ECalComponentPeriod*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_kind"
              c:identifier="e_cal_component_period_get_kind"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-period.c"
             line="157">Returns kind of the @period, one of #ECalComponentPeriodKind. Depending
on it either e_cal_component_period_get_end()/e_cal_component_period_set_end()
or e_cal_component_period_get_duration()/e_cal_component_period_set_duration()
can be used. The kind of an existing @period canbe changed with
e_cal_component_period_set_datetime_full() and e_cal_component_period_set_duration_full().</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-period.h"
                         line="53"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-period.c"
               line="167">kind of the period, one of #ECalComponentPeriodKind</doc>
          <type name="ComponentPeriodKind" c:type="ECalComponentPeriodKind"/>
        </return-value>
        <parameters>
          <instance-parameter name="period" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-period.c"
                 line="159">an #ECalComponentPeriod</doc>
            <type name="ComponentPeriod" c:type="const ECalComponentPeriod*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_start"
              c:identifier="e_cal_component_period_get_start"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-period.c"
             line="234">Returns the start of the @period. The returned #ICalTime object
is owned by @period and should not be freed. It's valid until the @period
is freed or its start time changed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-period.h"
                         line="62"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-period.c"
               line="242">the start of the @period, as an #ICalTime</doc>
          <type name="ICalGLib.Time" c:type="ICalTime*"/>
        </return-value>
        <parameters>
          <instance-parameter name="period" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-period.c"
                 line="236">an #ECalComponentPeriod</doc>
            <type name="ComponentPeriod" c:type="const ECalComponentPeriod*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_datetime_full"
              c:identifier="e_cal_component_period_set_datetime_full"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-period.c"
             line="179">Set the kind of @period to be %E_CAL_COMPONENT_PERIOD_DATETIME
and fills the content with @start and @end.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-period.h"
                         line="54"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="period" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-period.c"
                 line="181">an #ECalComponentPeriod</doc>
            <type name="ComponentPeriod" c:type="ECalComponentPeriod*"/>
          </instance-parameter>
          <parameter name="start" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-period.c"
                 line="182">an #ICalTime, the start of the @period</doc>
            <type name="ICalGLib.Time" c:type="const ICalTime*"/>
          </parameter>
          <parameter name="end"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-period.c"
                 line="183">an #ICalTime, the end of the @period</doc>
            <type name="ICalGLib.Time" c:type="const ICalTime*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_duration"
              c:identifier="e_cal_component_period_set_duration"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-period.c"
             line="347">Set the duration of the @period. This can be called only on @period
objects of kind %E_CAL_COMPONENT_PERIOD_DURATION.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-period.h"
                         line="70"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="period" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-period.c"
                 line="349">an #ECalComponentPeriod</doc>
            <type name="ComponentPeriod" c:type="ECalComponentPeriod*"/>
          </instance-parameter>
          <parameter name="duration" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-period.c"
                 line="350">an #ICalDuration, the duration of the @period</doc>
            <type name="ICalGLib.Duration" c:type="const ICalDuration*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_duration_full"
              c:identifier="e_cal_component_period_set_duration_full"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-period.c"
             line="206">Set the kind of @period to be %E_CAL_COMPONENT_PERIOD_DURATION
and fills the content with @start and @duration.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-period.h"
                         line="58"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="period" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-period.c"
                 line="208">an #ECalComponentPeriod</doc>
            <type name="ComponentPeriod" c:type="ECalComponentPeriod*"/>
          </instance-parameter>
          <parameter name="start" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-period.c"
                 line="209">an #ICalTime, the start of the @period</doc>
            <type name="ICalGLib.Time" c:type="const ICalTime*"/>
          </parameter>
          <parameter name="duration" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-period.c"
                 line="210">an #ICalDuration, the duration of the @period</doc>
            <type name="ICalGLib.Duration" c:type="const ICalDuration*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_end"
              c:identifier="e_cal_component_period_set_end"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-period.c"
             line="301">Set the end of the @period. This can be called only on @period
objects of kind %E_CAL_COMPONENT_PERIOD_DATETIME.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-period.h"
                         line="66"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="period" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-period.c"
                 line="303">an #ECalComponentPeriod</doc>
            <type name="ComponentPeriod" c:type="ECalComponentPeriod*"/>
          </instance-parameter>
          <parameter name="end"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-period.c"
                 line="304">an #ICalTime, the end of the @period</doc>
            <type name="ICalGLib.Time" c:type="const ICalTime*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_start"
              c:identifier="e_cal_component_period_set_start"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-period.c"
             line="254">Set the @start of the @period. This can be called on any kind of the @period.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-period.h"
                         line="63"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="period" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-period.c"
                 line="256">an #ECalComponentPeriod</doc>
            <type name="ComponentPeriod" c:type="ECalComponentPeriod*"/>
          </instance-parameter>
          <parameter name="start" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-period.c"
                 line="257">an #ICalTime, the start of the @period</doc>
            <type name="ICalGLib.Time" c:type="const ICalTime*"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <enumeration name="ComponentPeriodKind"
                 glib:type-name="ECalComponentPeriodKind"
                 glib:get-type="e_cal_component_period_kind_get_type"
                 c:type="ECalComponentPeriodKind">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-enums.h"
           line="107">Way in which a period of time is specified</doc>
      <member name="datetime"
              value="0"
              c:identifier="E_CAL_COMPONENT_PERIOD_DATETIME"
              glib:nick="datetime"
              glib:name="E_CAL_COMPONENT_PERIOD_DATETIME">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-enums.h"
             line="109">Date and time</doc>
      </member>
      <member name="duration"
              value="1"
              c:identifier="E_CAL_COMPONENT_PERIOD_DURATION"
              glib:nick="duration"
              glib:name="E_CAL_COMPONENT_PERIOD_DURATION">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-enums.h"
             line="110">Duration</doc>
      </member>
    </enumeration>
    <record name="ComponentPrivate"
            c:type="ECalComponentPrivate"
            disguised="1">
      <source-position filename="src/calendar/libecal/e-cal-component.h"
                       line="68"/>
    </record>
    <record name="ComponentPropertyBag"
            c:type="ECalComponentPropertyBag"
            glib:type-name="ECalComponentPropertyBag"
            glib:get-type="e_cal_component_property_bag_get_type"
            c:symbol-prefix="component_property_bag">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-component-property-bag.h"
           line="30">Opaque structure, which represents a bad (list) of #ICalProperty objects.
Use the functions below to work with it.</doc>
      <source-position filename="src/calendar/libecal/e-cal-component-property-bag.h"
                       line="36"/>
      <constructor name="new"
                   c:identifier="e_cal_component_property_bag_new"
                   version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-property-bag.c"
             line="36">Creates a new #ECalComponentPropertyBag. Free the structure
with e_cal_component_property_bag_free(), when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-property-bag.h"
                         line="58"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-property-bag.c"
               line="42">a newly allocated #ECalComponentPropertyBag</doc>
          <type name="ComponentPropertyBag"
                c:type="ECalComponentPropertyBag*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_component"
                   c:identifier="e_cal_component_property_bag_new_from_component"
                   version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-property-bag.c"
             line="57">Creates a new #ECalComponentPropertyBag, filled with properties
from the @component, for which the @func returned %TRUE. When
the @func is %NULL, all the properties are included.

Free the structure with e_cal_component_property_bag_free(), when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-property-bag.h"
                         line="60"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-property-bag.c"
               line="69">a newly allocated #ECalComponentPropertyBag</doc>
          <type name="ComponentPropertyBag"
                c:type="ECalComponentPropertyBag*"/>
        </return-value>
        <parameters>
          <parameter name="component" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-property-bag.c"
                 line="59">an #ICalComponent containing the properties to fill the bag with</doc>
            <type name="ICalGLib.Component" c:type="const ICalComponent*"/>
          </parameter>
          <parameter name="func"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="call"
                     closure="2">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-property-bag.c"
                 line="60">an optional %ECalComponentPropertyBagFilterFunc callback</doc>
            <type name="ComponentPropertyBagFilterFunc"
                  c:type="ECalComponentPropertyBagFilterFunc"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     closure="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-property-bag.c"
                 line="61">user data for the @func</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="add"
              c:identifier="e_cal_component_property_bag_add"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-property-bag.c"
             line="230">Adds a copy of the @prop into the @bag.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-property-bag.h"
                         line="80"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-property-bag.c"
                 line="232">an #ECalComponentPropertyBag</doc>
            <type name="ComponentPropertyBag"
                  c:type="ECalComponentPropertyBag*"/>
          </instance-parameter>
          <parameter name="prop" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-property-bag.c"
                 line="233">an #ICalProperty</doc>
            <type name="ICalGLib.Property" c:type="const ICalProperty*"/>
          </parameter>
        </parameters>
      </method>
      <method name="assign"
              c:identifier="e_cal_component_property_bag_assign"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-property-bag.c"
             line="198">Assigns content of the @src_bag into the @bag.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-property-bag.h"
                         line="77"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-property-bag.c"
                 line="200">a destination #ECalComponentPropertyBag</doc>
            <type name="ComponentPropertyBag"
                  c:type="ECalComponentPropertyBag*"/>
          </instance-parameter>
          <parameter name="src_bag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-property-bag.c"
                 line="201">a source #ECalComponentPropertyBag</doc>
            <type name="ComponentPropertyBag"
                  c:type="const ECalComponentPropertyBag*"/>
          </parameter>
        </parameters>
      </method>
      <method name="clear"
              c:identifier="e_cal_component_property_bag_clear"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-property-bag.c"
             line="409">Removes all properties from the @bag, thus it doesn't contain any
property after this function returns.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-property-bag.h"
                         line="99"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-property-bag.c"
                 line="411">an #ECalComponentPropertyBag</doc>
            <type name="ComponentPropertyBag"
                  c:type="ECalComponentPropertyBag*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="copy"
              c:identifier="e_cal_component_property_bag_copy"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-property-bag.c"
             line="87">Returns a newly allocated copy of @bag, which should be freed with
e_cal_component_property_bag_free(), when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-property-bag.h"
                         line="65"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-property-bag.c"
               line="94">a newly allocated copy of @bag</doc>
          <type name="ComponentPropertyBag"
                c:type="ECalComponentPropertyBag*"/>
        </return-value>
        <parameters>
          <instance-parameter name="bag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-property-bag.c"
                 line="89">an #ECalComponentPropertyBag</doc>
            <type name="ComponentPropertyBag"
                  c:type="const ECalComponentPropertyBag*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="fill_component"
              c:identifier="e_cal_component_property_bag_fill_component"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-property-bag.c"
             line="170">Adds all the stored properties in the @bag to the @component.
The function doesn't verify whether the @component contains
the same property already.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-property-bag.h"
                         line="74"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-property-bag.c"
                 line="172">an #ECalComponentPropertyBag</doc>
            <type name="ComponentPropertyBag"
                  c:type="const ECalComponentPropertyBag*"/>
          </instance-parameter>
          <parameter name="component" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-property-bag.c"
                 line="173">an #ICalComponent</doc>
            <type name="ICalGLib.Component" c:type="ICalComponent*"/>
          </parameter>
        </parameters>
      </method>
      <method name="free"
              c:identifier="e_cal_component_property_bag_free"
              version="3.34"
              introspectable="0">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-property-bag.c"
             line="112">Free @bag, previously created by e_cal_component_property_bag_new(),
e_cal_component_property_bag_new_from_component() or
e_cal_component_property_bag_copy(). The function does nothing, if @bag
is %NULL.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-property-bag.h"
                         line="67"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bag"
                              transfer-ownership="none"
                              nullable="1"
                              allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-property-bag.c"
                 line="114">an #ECalComponentPropertyBag to free</doc>
            <type name="ComponentPropertyBag" c:type="gpointer"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get"
              c:identifier="e_cal_component_property_bag_get"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-property-bag.c"
             line="286">Returns the #ICalProperty at the given @index. If the @index is
out of bounds (not lower than e_cal_component_property_bag_get_count()),
then %NULL is returned.

The returned property is owned by the @bag and should not be freed
by the caller.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-property-bag.h"
                         line="87"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-property-bag.c"
               line="298">the #ICalProperty at the given @index,
   or %NULL on error</doc>
          <type name="ICalGLib.Property" c:type="ICalProperty*"/>
        </return-value>
        <parameters>
          <instance-parameter name="bag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-property-bag.c"
                 line="288">an #ECalComponentPropertyBag</doc>
            <type name="ComponentPropertyBag"
                  c:type="const ECalComponentPropertyBag*"/>
          </instance-parameter>
          <parameter name="index" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-property-bag.c"
                 line="289">an index of the property to get</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_count"
              c:identifier="e_cal_component_property_bag_get_count"
              version="3.34">
        <source-position filename="src/calendar/libecal/e-cal-component-property-bag.h"
                         line="85"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-property-bag.c"
               line="273">how many properties are stored in the @bag</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="bag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-property-bag.c"
                 line="271">an #ECalComponentPropertyBag</doc>
            <type name="ComponentPropertyBag"
                  c:type="const ECalComponentPropertyBag*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_first_by_kind"
              c:identifier="e_cal_component_property_bag_get_first_by_kind"
              version="3.34">
        <source-position filename="src/calendar/libecal/e-cal-component-property-bag.h"
                         line="89"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-property-bag.c"
               line="321">the index of the first property of the given @kind, or value
   out of bounds, if such property cannot be found</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="bag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-property-bag.c"
                 line="318">an #ECalComponentPropertyBag</doc>
            <type name="ComponentPropertyBag"
                  c:type="const ECalComponentPropertyBag*"/>
          </instance-parameter>
          <parameter name="kind" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-property-bag.c"
                 line="319">an #ICalPropertyKind to search for</doc>
            <type name="ICalGLib.PropertyKind" c:type="ICalPropertyKind"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove"
              c:identifier="e_cal_component_property_bag_remove"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-property-bag.c"
             line="346">Removes the #ICalProperty at the given @index. If the @index is
out of bounds (not lower than e_cal_component_property_bag_get_count()),
then the function does nothing.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-property-bag.h"
                         line="92"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-property-bag.c"
                 line="348">an #ECalComponentPropertyBag</doc>
            <type name="ComponentPropertyBag"
                  c:type="ECalComponentPropertyBag*"/>
          </instance-parameter>
          <parameter name="index" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-property-bag.c"
                 line="349">an index of the property to remove</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_by_kind"
              c:identifier="e_cal_component_property_bag_remove_by_kind"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-property-bag.c"
             line="368">Removes the first or all (depending on the @all) properties of the given @kind.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-property-bag.h"
                         line="95"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-property-bag.c"
               line="376">how many properties had been removed</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="bag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-property-bag.c"
                 line="370">an #ECalComponentPropertyBag</doc>
            <type name="ComponentPropertyBag"
                  c:type="ECalComponentPropertyBag*"/>
          </instance-parameter>
          <parameter name="kind" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-property-bag.c"
                 line="371">an #ICalPropertyKind to remove</doc>
            <type name="ICalGLib.PropertyKind" c:type="ICalPropertyKind"/>
          </parameter>
          <parameter name="all" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-property-bag.c"
                 line="372">%TRUE to remove all properties of the @kind, or %FALSE to only the first</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_from_component"
              c:identifier="e_cal_component_property_bag_set_from_component"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-property-bag.c"
             line="134">Fills the @bag with properties from the @component, for which the @func
returned %TRUE. When the @func is %NULL, all the properties are included.
The @bag content is cleared before any property is added.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-property-bag.h"
                         line="69"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-property-bag.c"
                 line="136">an #ECalComponentPropertyBag</doc>
            <type name="ComponentPropertyBag"
                  c:type="ECalComponentPropertyBag*"/>
          </instance-parameter>
          <parameter name="component" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-property-bag.c"
                 line="137">an #ICalComponent containing the properties to fill the @bag with</doc>
            <type name="ICalGLib.Component" c:type="const ICalComponent*"/>
          </parameter>
          <parameter name="func"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="call"
                     closure="2">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-property-bag.c"
                 line="138">an optional %ECalComponentPropertyBagFilterFunc callback</doc>
            <type name="ComponentPropertyBagFilterFunc"
                  c:type="ECalComponentPropertyBagFilterFunc"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     closure="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-property-bag.c"
                 line="139">user data for the @func</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="take"
              c:identifier="e_cal_component_property_bag_take"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-property-bag.c"
             line="250">Adds the @prop into the @bag and assumes ownership of the @prop.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-property-bag.h"
                         line="82"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-property-bag.c"
                 line="252">an #ECalComponentPropertyBag</doc>
            <type name="ComponentPropertyBag"
                  c:type="ECalComponentPropertyBag*"/>
          </instance-parameter>
          <parameter name="prop" transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-property-bag.c"
                 line="253">an #ICalProperty</doc>
            <type name="ICalGLib.Property" c:type="ICalProperty*"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <callback name="ComponentPropertyBagFilterFunc"
              c:type="ECalComponentPropertyBagFilterFunc"
              version="3.34">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-component-property-bag.h"
           line="38">A function used to filter which properties should be added to the bag,
when filling it with e_cal_component_property_bag_new_from_component()
and e_cal_component_property_bag_set_from_component().</doc>
      <source-position filename="src/calendar/libecal/e-cal-component-property-bag.h"
                       line="51"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-property-bag.h"
             line="47">%TRUE, to add the property to the bag; %FALSE, to not add it to the bag</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="property" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-property-bag.h"
               line="40">an #ICalProperty</doc>
          <type name="ICalGLib.Property" c:type="ICalProperty*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-property-bag.h"
               line="41">user data for the callback</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <record name="ComponentRange"
            c:type="ECalComponentRange"
            glib:type-name="ECalComponentRange"
            glib:get-type="e_cal_component_range_get_type"
            c:symbol-prefix="component_range">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-component-range.h"
           line="32">Describes a range. Use the functions below to work with it.</doc>
      <source-position filename="src/calendar/libecal/e-cal-component-range.h"
                       line="37"/>
      <constructor name="new"
                   c:identifier="e_cal_component_range_new"
                   version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-range.c"
             line="38">Creates a new #ECalComponentRange describing a range.
The returned structure should be freed with e_cal_component_range_free(),
when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-range.h"
                         line="41"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-range.c"
               line="47">a newly allocated #ECalComponentRange</doc>
          <type name="ComponentRange" c:type="ECalComponentRange*"/>
        </return-value>
        <parameters>
          <parameter name="kind" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-range.c"
                 line="40">an #ECalComponentRangeKind</doc>
            <type name="ComponentRangeKind" c:type="ECalComponentRangeKind"/>
          </parameter>
          <parameter name="datetime" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-range.c"
                 line="41">an #ECalComponentDateTime</doc>
            <type name="ComponentDateTime"
                  c:type="const ECalComponentDateTime*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_take"
                   c:identifier="e_cal_component_range_new_take"
                   version="3.34"
                   introspectable="0">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-range.c"
             line="65">Creates a new #ECalComponentRange describing a range, similar to
e_cal_component_range_new() except is assumes ownership of @datetime.
The returned structure should be freed with e_cal_component_range_free(),
when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-range.h"
                         line="44"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-range.c"
               line="75">a newly allocated #ECalComponentRange</doc>
          <type name="ComponentRange" c:type="ECalComponentRange*"/>
        </return-value>
        <parameters>
          <parameter name="kind" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-range.c"
                 line="67">an #ECalComponentRangeKind</doc>
            <type name="ComponentRangeKind" c:type="ECalComponentRangeKind"/>
          </parameter>
          <parameter name="datetime" transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-range.c"
                 line="68">an #ECalComponentDateTime</doc>
            <type name="ComponentDateTime" c:type="ECalComponentDateTime*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="copy"
              c:identifier="e_cal_component_range_copy"
              version="3.34">
        <source-position filename="src/calendar/libecal/e-cal-component-range.h"
                         line="47"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-range.c"
               line="98">a newly allocated #ECalComponentRange, copy of @range.
   The returned structure should be freed with e_cal_component_range_free(),
   when no longer needed.</doc>
          <type name="ComponentRange" c:type="ECalComponentRange*"/>
        </return-value>
        <parameters>
          <instance-parameter name="range" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-range.c"
                 line="96">an #ECalComponentRange to copy</doc>
            <type name="ComponentRange" c:type="const ECalComponentRange*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="free"
              c:identifier="e_cal_component_range_free"
              version="3.34"
              introspectable="0">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-range.c"
             line="114">Free the @range, previously allocated by e_cal_component_range_new(),
e_cal_component_range_new_take() or e_cal_component_range_copy().</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-range.h"
                         line="48"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="range"
                              transfer-ownership="none"
                              nullable="1"
                              allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-range.c"
                 line="116">an #ECalComponentRange to free</doc>
            <type name="ComponentRange" c:type="gpointer"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_datetime"
              c:identifier="e_cal_component_range_get_datetime"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-range.c"
             line="168">Returns the date/time of the @range. The returned #ECalComponentDateTime
is owned by @range and should not be freed. It's valid until the @range
is freed or its date/time changed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-range.h"
                         line="54"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-range.c"
               line="176">the date/time of the @range, as an #ECalComponentDateTime</doc>
          <type name="ComponentDateTime" c:type="ECalComponentDateTime*"/>
        </return-value>
        <parameters>
          <instance-parameter name="range" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-range.c"
                 line="170">an #ECalComponentRange</doc>
            <type name="ComponentRange" c:type="const ECalComponentRange*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_kind"
              c:identifier="e_cal_component_range_get_kind"
              version="3.34">
        <source-position filename="src/calendar/libecal/e-cal-component-range.h"
                         line="50"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-range.c"
               line="138">the #ECalComponentRangeKind of the @range</doc>
          <type name="ComponentRangeKind" c:type="ECalComponentRangeKind"/>
        </return-value>
        <parameters>
          <instance-parameter name="range" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-range.c"
                 line="136">an #ECalComponentRange</doc>
            <type name="ComponentRange" c:type="const ECalComponentRange*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_datetime"
              c:identifier="e_cal_component_range_set_datetime"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-range.c"
             line="188">Set the date/time part of the @range.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-range.h"
                         line="56"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="range" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-range.c"
                 line="190">an #ECalComponentRange</doc>
            <type name="ComponentRange" c:type="ECalComponentRange*"/>
          </instance-parameter>
          <parameter name="datetime" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-range.c"
                 line="191">an #ECalComponentDateTime</doc>
            <type name="ComponentDateTime"
                  c:type="const ECalComponentDateTime*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_kind"
              c:identifier="e_cal_component_range_set_kind"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-range.c"
             line="150">Set the @kind of the @range.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-range.h"
                         line="51"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="range" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-range.c"
                 line="152">an #ECalComponentRange</doc>
            <type name="ComponentRange" c:type="ECalComponentRange*"/>
          </instance-parameter>
          <parameter name="kind" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-range.c"
                 line="153">an #ECalComponentRangeKind</doc>
            <type name="ComponentRangeKind" c:type="ECalComponentRangeKind"/>
          </parameter>
        </parameters>
      </method>
      <method name="take_datetime"
              c:identifier="e_cal_component_range_take_datetime"
              version="3.34"
              introspectable="0">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-range.c"
             line="214">Set the date/time part of the @range, similar to e_cal_component_range_set_datetime(),
except it assumes ownership of the @datetime.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-range.h"
                         line="59"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="range" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-range.c"
                 line="216">an #ECalComponentRange</doc>
            <type name="ComponentRange" c:type="ECalComponentRange*"/>
          </instance-parameter>
          <parameter name="datetime" transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-range.c"
                 line="217">an #ECalComponentDateTime</doc>
            <type name="ComponentDateTime" c:type="ECalComponentDateTime*"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <enumeration name="ComponentRangeKind"
                 glib:type-name="ECalComponentRangeKind"
                 glib:get-type="e_cal_component_range_kind_get_type"
                 c:type="ECalComponentRangeKind">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-enums.h"
           line="119">The kind of range</doc>
      <member name="single"
              value="0"
              c:identifier="E_CAL_COMPONENT_RANGE_SINGLE"
              glib:nick="single"
              glib:name="E_CAL_COMPONENT_RANGE_SINGLE">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-enums.h"
             line="121">Single</doc>
      </member>
      <member name="thisprior"
              value="1"
              c:identifier="E_CAL_COMPONENT_RANGE_THISPRIOR"
              glib:nick="thisprior"
              glib:name="E_CAL_COMPONENT_RANGE_THISPRIOR">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-enums.h"
             line="122">This and prior</doc>
      </member>
      <member name="thisfuture"
              value="2"
              c:identifier="E_CAL_COMPONENT_RANGE_THISFUTURE"
              glib:nick="thisfuture"
              glib:name="E_CAL_COMPONENT_RANGE_THISFUTURE">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-enums.h"
             line="123">This and future</doc>
      </member>
    </enumeration>
    <record name="ComponentText"
            c:type="ECalComponentText"
            glib:type-name="ECalComponentText"
            glib:get-type="e_cal_component_text_get_type"
            c:symbol-prefix="component_text">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-component-text.h"
           line="31">Contains description string and an alternate representation URI
for text properties. Use the functions below to work with it.</doc>
      <source-position filename="src/calendar/libecal/e-cal-component-text.h"
                       line="37"/>
      <constructor name="new"
                   c:identifier="e_cal_component_text_new"
                   version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-text.c"
             line="39">Creates a new #ECalComponentText describing text properties.
The returned structure should be freed with e_cal_component_text_free(),
when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-text.h"
                         line="41"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-text.c"
               line="48">a newly allocated #ECalComponentText</doc>
          <type name="ComponentText" c:type="ECalComponentText*"/>
        </return-value>
        <parameters>
          <parameter name="value"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-text.c"
                 line="41">description text</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="altrep"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-text.c"
                 line="42">alternate representation URI</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_from_property"
                   c:identifier="e_cal_component_text_new_from_property"
                   version="3.46">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-text.c"
             line="65">Created a new #ECalComponentText filled with values from the @property.
The @property should hold a text value.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-text.h"
                         line="44"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-text.c"
               line="72">a newly allocated #ECalComponentText</doc>
          <type name="ComponentText" c:type="ECalComponentText*"/>
        </return-value>
        <parameters>
          <parameter name="property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-text.c"
                 line="67">an #ICalProperty</doc>
            <type name="ICalGLib.Property" c:type="const ICalProperty*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="copy"
              c:identifier="e_cal_component_text_copy"
              version="3.34">
        <source-position filename="src/calendar/libecal/e-cal-component-text.h"
                         line="47"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-text.c"
               line="94">a newly allocated #ECalComponentText, copy of @text.
   The returned structure should be freed with e_cal_component_text_free(),
   when no longer needed.</doc>
          <type name="ComponentText" c:type="ECalComponentText*"/>
        </return-value>
        <parameters>
          <instance-parameter name="text" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-text.c"
                 line="92">an #ECalComponentText to copy</doc>
            <type name="ComponentText" c:type="const ECalComponentText*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="fill_property"
              c:identifier="e_cal_component_text_fill_property"
              version="3.46">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-text.c"
             line="173">Fills the @property with the content of the @text.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-text.h"
                         line="52"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="text" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-text.c"
                 line="175">an #ECalComponentText</doc>
            <type name="ComponentText" c:type="const ECalComponentText*"/>
          </instance-parameter>
          <parameter name="property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-text.c"
                 line="176">an #ICalProperty</doc>
            <type name="ICalGLib.Property" c:type="ICalProperty*"/>
          </parameter>
        </parameters>
      </method>
      <method name="free"
              c:identifier="e_cal_component_text_free"
              version="3.34"
              introspectable="0">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-text.c"
             line="113">Free the @text, previously allocated by e_cal_component_text_new() or
e_cal_component_text_copy().</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-text.h"
                         line="48"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="text"
                              transfer-ownership="none"
                              nullable="1"
                              allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-text.c"
                 line="115">an #ECalComponentText to free</doc>
            <type name="ComponentText" c:type="gpointer"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_altrep"
              c:identifier="e_cal_component_text_get_altrep"
              version="3.34">
        <source-position filename="src/calendar/libecal/e-cal-component-text.h"
                         line="58"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-text.c"
               line="282">the alternate representation URI of the @text</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="text" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-text.c"
                 line="280">an #ECalComponentText</doc>
            <type name="ComponentText" c:type="const ECalComponentText*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_language"
              c:identifier="e_cal_component_text_get_language"
              version="3.46">
        <source-position filename="src/calendar/libecal/e-cal-component-text.h"
                         line="61"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-text.c"
               line="319">the language of the @text</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="text" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-text.c"
                 line="317">an #ECalComponentText</doc>
            <type name="ComponentText" c:type="const ECalComponentText*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_value"
              c:identifier="e_cal_component_text_get_value"
              version="3.34">
        <source-position filename="src/calendar/libecal/e-cal-component-text.h"
                         line="55"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-component-text.c"
               line="245">the description string of the @text</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="text" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-text.c"
                 line="243">an #ECalComponentText</doc>
            <type name="ComponentText" c:type="const ECalComponentText*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_altrep"
              c:identifier="e_cal_component_text_set_altrep"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-text.c"
             line="294">Set the @altrep as the alternate representation URI of the @text.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-text.h"
                         line="59"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="text" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-text.c"
                 line="296">an #ECalComponentText</doc>
            <type name="ComponentText" c:type="ECalComponentText*"/>
          </instance-parameter>
          <parameter name="altrep"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-text.c"
                 line="297">alternate representation URI to set</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_from_property"
              c:identifier="e_cal_component_text_set_from_property"
              version="3.46">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-text.c"
             line="135">Fill the @text structure with the information from the @property.
The @property should hold a text value.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-text.h"
                         line="49"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="text" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-text.c"
                 line="137">an #ECalComponentText</doc>
            <type name="ComponentText" c:type="ECalComponentText*"/>
          </instance-parameter>
          <parameter name="property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-text.c"
                 line="138">an #ICalProperty</doc>
            <type name="ICalGLib.Property" c:type="const ICalProperty*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_language"
              c:identifier="e_cal_component_text_set_language"
              version="3.46">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-text.c"
             line="331">Set the @language as the language of the @text. The language tag
is defined in RFC 5646. For example `en-US`, not `en_US`.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-text.h"
                         line="63"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="text" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-text.c"
                 line="333">an #ECalComponentText</doc>
            <type name="ComponentText" c:type="ECalComponentText*"/>
          </instance-parameter>
          <parameter name="language"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-text.c"
                 line="334">language of the @text</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_value"
              c:identifier="e_cal_component_text_set_value"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-component-text.c"
             line="257">Set the @value as the description string of the @text.</doc>
        <source-position filename="src/calendar/libecal/e-cal-component-text.h"
                         line="56"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="text" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-text.c"
                 line="259">an #ECalComponentText</doc>
            <type name="ComponentText" c:type="ECalComponentText*"/>
          </instance-parameter>
          <parameter name="value"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-cal-component-text.c"
                 line="260">description string to set</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <enumeration name="ComponentTransparency"
                 glib:type-name="ECalComponentTransparency"
                 glib:get-type="e_cal_component_transparency_get_type"
                 c:type="ECalComponentTransparency">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-enums.h"
           line="133">Time transparency</doc>
      <member name="none"
              value="0"
              c:identifier="E_CAL_COMPONENT_TRANSP_NONE"
              glib:nick="none"
              glib:name="E_CAL_COMPONENT_TRANSP_NONE">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-enums.h"
             line="135">None</doc>
      </member>
      <member name="transparent"
              value="1"
              c:identifier="E_CAL_COMPONENT_TRANSP_TRANSPARENT"
              glib:nick="transparent"
              glib:name="E_CAL_COMPONENT_TRANSP_TRANSPARENT">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-enums.h"
             line="136">Transparent</doc>
      </member>
      <member name="opaque"
              value="2"
              c:identifier="E_CAL_COMPONENT_TRANSP_OPAQUE"
              glib:nick="opaque"
              glib:name="E_CAL_COMPONENT_TRANSP_OPAQUE">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-enums.h"
             line="137">Opaque</doc>
      </member>
      <member name="unknown"
              value="3"
              c:identifier="E_CAL_COMPONENT_TRANSP_UNKNOWN"
              glib:nick="unknown"
              glib:name="E_CAL_COMPONENT_TRANSP_UNKNOWN">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-enums.h"
             line="138">Unknown</doc>
      </member>
    </enumeration>
    <enumeration name="ComponentVType"
                 glib:type-name="ECalComponentVType"
                 glib:get-type="e_cal_component_vtype_get_type"
                 c:type="ECalComponentVType">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-enums.h"
           line="67">Types of calendar components to be stored by a ECalComponent, as per RFC 2445.
We don't put the alarm component type here since we store alarms as separate
structures inside the other "real" components.</doc>
      <member name="no_type"
              value="0"
              c:identifier="E_CAL_COMPONENT_NO_TYPE"
              glib:nick="no-type"
              glib:name="E_CAL_COMPONENT_NO_TYPE">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-enums.h"
             line="69">Unknown or unsupported component type</doc>
      </member>
      <member name="event"
              value="1"
              c:identifier="E_CAL_COMPONENT_EVENT"
              glib:nick="event"
              glib:name="E_CAL_COMPONENT_EVENT">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-enums.h"
             line="70">vEvent type</doc>
      </member>
      <member name="todo"
              value="2"
              c:identifier="E_CAL_COMPONENT_TODO"
              glib:nick="todo"
              glib:name="E_CAL_COMPONENT_TODO">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-enums.h"
             line="71">vTodo type</doc>
      </member>
      <member name="journal"
              value="3"
              c:identifier="E_CAL_COMPONENT_JOURNAL"
              glib:nick="journal"
              glib:name="E_CAL_COMPONENT_JOURNAL">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-enums.h"
             line="72">vJournal type</doc>
      </member>
      <member name="freebusy"
              value="4"
              c:identifier="E_CAL_COMPONENT_FREEBUSY"
              glib:nick="freebusy"
              glib:name="E_CAL_COMPONENT_FREEBUSY">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-enums.h"
             line="73">vFreeBusy type</doc>
      </member>
      <member name="timezone"
              value="5"
              c:identifier="E_CAL_COMPONENT_TIMEZONE"
              glib:nick="timezone"
              glib:name="E_CAL_COMPONENT_TIMEZONE">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-enums.h"
             line="74">vTimezone type</doc>
      </member>
    </enumeration>
    <constant name="EVOLUTION_ALARM_UID_PROPERTY"
              value="X-EVOLUTION-ALARM-UID"
              c:type="E_CAL_EVOLUTION_ALARM_UID_PROPERTY"
              version="3.34">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-component-alarm.h"
           line="36">Extension property for alarm components so that we can reference them by UID.</doc>
      <source-position filename="src/calendar/libecal/e-cal-component-alarm.h"
                       line="43"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="EVOLUTION_ENDDATE_PARAMETER"
              value="X-EVOLUTION-ENDDATE"
              c:type="E_CAL_EVOLUTION_ENDDATE_PARAMETER"
              version="3.34">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-recur.h"
           line="39">The X parameter name being used to store the enddate in RRULE and EXRULE properties.</doc>
      <source-position filename="src/calendar/libecal/e-cal-recur.h"
                       line="46"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <function-macro name="IS_CAL_CLIENT"
                    c:identifier="E_IS_CAL_CLIENT"
                    introspectable="0">
      <source-position filename="src/calendar/libecal/e-cal-client.h"
                       line="42"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_CAL_CLIENT_CLASS"
                    c:identifier="E_IS_CAL_CLIENT_CLASS"
                    introspectable="0">
      <source-position filename="src/calendar/libecal/e-cal-client.h"
                       line="45"/>
      <parameters>
        <parameter name="cls">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_CAL_CLIENT_VIEW"
                    c:identifier="E_IS_CAL_CLIENT_VIEW"
                    introspectable="0">
      <source-position filename="src/calendar/libecal/e-cal-client-view.h"
                       line="37"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_CAL_CLIENT_VIEW_CLASS"
                    c:identifier="E_IS_CAL_CLIENT_VIEW_CLASS"
                    introspectable="0">
      <source-position filename="src/calendar/libecal/e-cal-client-view.h"
                       line="40"/>
      <parameters>
        <parameter name="cls">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_CAL_COMPONENT"
                    c:identifier="E_IS_CAL_COMPONENT"
                    introspectable="0">
      <source-position filename="src/calendar/libecal/e-cal-component.h"
                       line="53"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_CAL_COMPONENT_CLASS"
                    c:identifier="E_IS_CAL_COMPONENT_CLASS"
                    introspectable="0">
      <source-position filename="src/calendar/libecal/e-cal-component.h"
                       line="56"/>
      <parameters>
        <parameter name="cls">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_REMINDER_WATCHER"
                    c:identifier="E_IS_REMINDER_WATCHER"
                    introspectable="0">
      <source-position filename="src/calendar/libecal/e-reminder-watcher.h"
                       line="36"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_REMINDER_WATCHER_CLASS"
                    c:identifier="E_IS_REMINDER_WATCHER_CLASS"
                    introspectable="0">
      <source-position filename="src/calendar/libecal/e-reminder-watcher.h"
                       line="39"/>
      <parameters>
        <parameter name="cls">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_TIMEZONE_CACHE"
                    c:identifier="E_IS_TIMEZONE_CACHE"
                    introspectable="0">
      <source-position filename="src/calendar/libecal/e-timezone-cache.h"
                       line="33"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <constant name="LIBICAL_GLIB_UNSTABLE_API"
              value="1"
              c:type="LIBICAL_GLIB_UNSTABLE_API">
      <source-position filename="src/calendar/libecal/libecal.h" line="23"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <bitfield name="ObjModType"
              version="3.8"
              glib:type-name="ECalObjModType"
              glib:get-type="e_cal_obj_mod_type_get_type"
              c:type="ECalObjModType">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-enums.h"
           line="47">Indicates the type of modification made to a calendar</doc>
      <member name="this"
              value="1"
              c:identifier="E_CAL_OBJ_MOD_THIS"
              glib:nick="this"
              glib:name="E_CAL_OBJ_MOD_THIS">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-enums.h"
             line="49">Modify this component</doc>
      </member>
      <member name="this_and_prior"
              value="2"
              c:identifier="E_CAL_OBJ_MOD_THIS_AND_PRIOR"
              glib:nick="this-and-prior"
              glib:name="E_CAL_OBJ_MOD_THIS_AND_PRIOR">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-enums.h"
             line="50">Modify this component and all prior occurrances</doc>
      </member>
      <member name="this_and_future"
              value="4"
              c:identifier="E_CAL_OBJ_MOD_THIS_AND_FUTURE"
              glib:nick="this-and-future"
              glib:name="E_CAL_OBJ_MOD_THIS_AND_FUTURE">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-enums.h"
             line="51">Modify this component and all future occurrances</doc>
      </member>
      <member name="all"
              value="7"
              c:identifier="E_CAL_OBJ_MOD_ALL"
              glib:nick="all"
              glib:name="E_CAL_OBJ_MOD_ALL">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-enums.h"
             line="52">Modify all occurrances of this component</doc>
      </member>
      <member name="only_this"
              value="8"
              c:identifier="E_CAL_OBJ_MOD_ONLY_THIS"
              glib:nick="only-this"
              glib:name="E_CAL_OBJ_MOD_ONLY_THIS">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-enums.h"
             line="53">Modify only this component</doc>
      </member>
    </bitfield>
    <bitfield name="OperationFlags"
              version="3.34"
              glib:type-name="ECalOperationFlags"
              glib:get-type="e_cal_operation_flags_get_type"
              c:type="ECalOperationFlags">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-enums.h"
           line="205">Calendar operation flags, to specify behavior in certain situations. The conflict
resolution mode flags cannot be combined together, where the @E_CAL_OPERATION_FLAG_CONFLICT_KEEP_LOCAL
is the default behavior (and it is used when no other conflict resolution flag is set).
The flags can be ignored when the operation or the backend don't support it.</doc>
      <member name="none"
              value="0"
              c:identifier="E_CAL_OPERATION_FLAG_NONE"
              glib:nick="none"
              glib:name="E_CAL_OPERATION_FLAG_NONE">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-enums.h"
             line="207">no operation flags defined</doc>
      </member>
      <member name="conflict_fail"
              value="1"
              c:identifier="E_CAL_OPERATION_FLAG_CONFLICT_FAIL"
              glib:nick="conflict-fail"
              glib:name="E_CAL_OPERATION_FLAG_CONFLICT_FAIL">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-enums.h"
             line="208">conflict resolution mode, to fail and do not
   do any changes, when a conflict is detected</doc>
      </member>
      <member name="conflict_use_newer"
              value="2"
              c:identifier="E_CAL_OPERATION_FLAG_CONFLICT_USE_NEWER"
              glib:nick="conflict-use-newer"
              glib:name="E_CAL_OPERATION_FLAG_CONFLICT_USE_NEWER">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-enums.h"
             line="210">conflict resolution mode, to use newer
   of the local and the server side data, when a conflict is detected</doc>
      </member>
      <member name="conflict_keep_server"
              value="4"
              c:identifier="E_CAL_OPERATION_FLAG_CONFLICT_KEEP_SERVER"
              glib:nick="conflict-keep-server"
              glib:name="E_CAL_OPERATION_FLAG_CONFLICT_KEEP_SERVER">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-enums.h"
             line="212">conflict resolution mode, to use
   the server data (and local changed), when a conflict is detected</doc>
      </member>
      <member name="conflict_keep_local"
              value="0"
              c:identifier="E_CAL_OPERATION_FLAG_CONFLICT_KEEP_LOCAL"
              glib:nick="conflict-keep-local"
              glib:name="E_CAL_OPERATION_FLAG_CONFLICT_KEEP_LOCAL">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-enums.h"
             line="214">conflict resolution mode, to use
   local data (and always overwrite server data), when a conflict is detected</doc>
      </member>
      <member name="conflict_write_copy"
              value="8"
              c:identifier="E_CAL_OPERATION_FLAG_CONFLICT_WRITE_COPY"
              glib:nick="conflict-write-copy"
              glib:name="E_CAL_OPERATION_FLAG_CONFLICT_WRITE_COPY">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-enums.h"
             line="216">conflict resolution mode, to create
   a copy of the data, when a conflict is detected</doc>
      </member>
      <member name="disable_itip_message"
              value="16"
              c:identifier="E_CAL_OPERATION_FLAG_DISABLE_ITIP_MESSAGE"
              glib:nick="disable-itip-message"
              glib:name="E_CAL_OPERATION_FLAG_DISABLE_ITIP_MESSAGE">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-enums.h"
             line="218">request to disable send of an iTip
   message by the server; this works only for servers which support iTip handling</doc>
      </member>
    </bitfield>
    <function-macro name="REMINDER_WATCHER"
                    c:identifier="E_REMINDER_WATCHER"
                    introspectable="0">
      <source-position filename="src/calendar/libecal/e-reminder-watcher.h"
                       line="30"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="REMINDER_WATCHER_CLASS"
                    c:identifier="E_REMINDER_WATCHER_CLASS"
                    introspectable="0">
      <source-position filename="src/calendar/libecal/e-reminder-watcher.h"
                       line="33"/>
      <parameters>
        <parameter name="cls">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="REMINDER_WATCHER_GET_CLASS"
                    c:identifier="E_REMINDER_WATCHER_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/calendar/libecal/e-reminder-watcher.h"
                       line="42"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <bitfield name="RecurDescribeRecurrenceFlags"
              version="3.30"
              glib:type-name="ECalRecurDescribeRecurrenceFlags"
              glib:get-type="e_cal_recur_describe_recurrence_flags_get_type"
              c:type="ECalRecurDescribeRecurrenceFlags">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-enums.h"
           line="186">Influences behaviour of e_cal_recur_describe_recurrence().</doc>
      <member name="none"
              value="0"
              c:identifier="E_CAL_RECUR_DESCRIBE_RECURRENCE_FLAG_NONE"
              glib:nick="none"
              glib:name="E_CAL_RECUR_DESCRIBE_RECURRENCE_FLAG_NONE">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-enums.h"
             line="188">no extra flags, either returns %NULL or the recurrence description,
   something like "Every 2 weeks..."</doc>
      </member>
      <member name="prefixed"
              value="1"
              c:identifier="E_CAL_RECUR_DESCRIBE_RECURRENCE_FLAG_PREFIXED"
              glib:nick="prefixed"
              glib:name="E_CAL_RECUR_DESCRIBE_RECURRENCE_FLAG_PREFIXED">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-enums.h"
             line="190">either returns %NULL or the recurrence description prefixed
   with text like "The meeting recurs", forming something like "The meeting recurs every 2 weeks..."</doc>
      </member>
      <member name="fallback"
              value="2"
              c:identifier="E_CAL_RECUR_DESCRIBE_RECURRENCE_FLAG_FALLBACK"
              glib:nick="fallback"
              glib:name="E_CAL_RECUR_DESCRIBE_RECURRENCE_FLAG_FALLBACK">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-enums.h"
             line="192">returns %NULL only if the component doesn't recur,
   otherwise returns either the recurrence description or at least text like "The meeting recurs"</doc>
      </member>
    </bitfield>
    <callback name="RecurFormatDateTimeFunc"
              c:type="ECalRecurFormatDateTimeFunc"
              version="3.38">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-recur.h"
           line="117">Format the date/time value from @itt into @buffer, whose size cannot
exceed @buffer_size letters.</doc>
      <source-position filename="src/calendar/libecal/e-cal-recur.h"
                       line="128"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="itt" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-recur.h"
               line="119">an #ICalTime to format to string</doc>
          <type name="ICalGLib.Time" c:type="ICalTime*"/>
        </parameter>
        <parameter name="buffer" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-recur.h"
               line="120">a buffer to fill with the result</doc>
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="buffer_size" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-recur.h"
               line="121">the @buffer size, in bytes, not counting the NUL-terminator character</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </callback>
    <callback name="RecurInstanceCb"
              c:type="ECalRecurInstanceCb"
              version="3.34"
              throws="1">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-recur.h"
           line="69">Callback used by e_cal_recur_generate_instances_sync(), called
for each instance of a (recurring) component within given time range.</doc>
      <source-position filename="src/calendar/libecal/e-cal-recur.h"
                       line="85"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-recur.h"
             line="81">%TRUE, to continue recurrence generation, %FALSE to stop</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="icomp" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-recur.h"
               line="71">an #ICalComponent</doc>
          <type name="ICalGLib.Component" c:type="ICalComponent*"/>
        </parameter>
        <parameter name="instance_start" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-recur.h"
               line="72">start time of an instance</doc>
          <type name="ICalGLib.Time" c:type="ICalTime*"/>
        </parameter>
        <parameter name="instance_end" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-recur.h"
               line="73">end time of an instance</doc>
          <type name="ICalGLib.Time" c:type="ICalTime*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="3">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-recur.h"
               line="74">user data used for this callback in e_cal_recur_generate_instances_sync()</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/libecal/e-cal-recur.h"
               line="75">optional #GCancellable object, or %NULL</doc>
          <type name="Gio.Cancellable" c:type="GCancellable*"/>
        </parameter>
      </parameters>
    </callback>
    <callback name="RecurResolveTimezoneCb"
              c:type="ECalRecurResolveTimezoneCb"
              version="3.34"
              throws="1">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-recur.h"
           line="48">Resolve timezone by its ID provided as @tzid. The returned object,
if not %NULL, is owned by the callback implementation and should
not be freed.</doc>
      <source-position filename="src/calendar/libecal/e-cal-recur.h"
                       line="64"/>
      <return-value transfer-ownership="none" nullable="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-recur.h"
             line="59">an #ICalTimezone object for @tzid,
   or %NULL, on error or 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/libecal/e-cal-recur.h"
               line="50">timezone ID to resolve</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-recur.h"
               line="51">user data used for this callback</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/libecal/e-cal-recur.h"
               line="52">optional #GCancellable object, or %NULL</doc>
          <type name="Gio.Cancellable" c:type="GCancellable*"/>
        </parameter>
      </parameters>
    </callback>
    <record name="ReminderData"
            c:type="EReminderData"
            version="3.30"
            glib:type-name="EReminderData"
            glib:get-type="e_reminder_data_get_type"
            c:symbol-prefix="reminder_data">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-reminder-watcher.h"
           line="52">Contains data related to single reminder occurrence.</doc>
      <source-position filename="src/calendar/libecal/e-reminder-watcher.h"
                       line="62"/>
      <constructor name="new"
                   c:identifier="e_reminder_data_new"
                   version="3.30">
        <source-position filename="src/calendar/libecal/e-reminder-watcher.h"
                         line="65"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-reminder-watcher.c"
               line="499">a new #EReminderData prefilled with given values.
   Free the returned structure with e_reminder_data_free() when no longer needed.</doc>
          <type name="ReminderData" c:type="EReminderData*"/>
        </return-value>
        <parameters>
          <parameter name="source_uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="495">an #ESource UID, to which the @component belongs</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="component" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="496">an #ECalComponent</doc>
            <type name="Component" c:type="const ECalComponent*"/>
          </parameter>
          <parameter name="instance" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="497">an #ECalComponentAlarmInstance describing one reminder instance</doc>
            <type name="ComponentAlarmInstance"
                  c:type="const ECalComponentAlarmInstance*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="copy" c:identifier="e_reminder_data_copy" version="3.30">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-reminder-watcher.c"
             line="516">Copies given #EReminderData structure. When the @rd is %NULL, simply returns %NULL as well.</doc>
        <source-position filename="src/calendar/libecal/e-reminder-watcher.h"
                         line="68"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-reminder-watcher.c"
               line="522">copy of @rd. Free the returned
   structure with e_reminder_data_free() when no longer needed.</doc>
          <type name="ReminderData" c:type="EReminderData*"/>
        </return-value>
        <parameters>
          <instance-parameter name="rd"
                              transfer-ownership="none"
                              nullable="1"
                              allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="518">source #EReminderData, or %NULL</doc>
            <type name="ReminderData" c:type="const EReminderData*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="free" c:identifier="e_reminder_data_free" version="3.30">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-reminder-watcher.c"
             line="536">Frees previously allocated #EReminderData structure with e_reminder_data_new()
or e_reminder_data_copy(). The function does nothing when @rd is %NULL.</doc>
        <source-position filename="src/calendar/libecal/e-reminder-watcher.h"
                         line="69"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="rd"
                              transfer-ownership="none"
                              nullable="1"
                              allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="538">an #EReminderData, or %NULL</doc>
            <type name="ReminderData" c:type="gpointer"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_component"
              c:identifier="e_reminder_data_get_component"
              version="3.34">
        <source-position filename="src/calendar/libecal/e-reminder-watcher.h"
                         line="73"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-reminder-watcher.c"
               line="599">an #ECalComponent for @rd. It is owned by @rd,
   thus do not free it.</doc>
          <type name="Component" c:type="ECalComponent*"/>
        </return-value>
        <parameters>
          <instance-parameter name="rd" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="597">an #EReminderData</doc>
            <type name="ReminderData" c:type="const EReminderData*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_instance"
              c:identifier="e_reminder_data_get_instance"
              version="3.34">
        <source-position filename="src/calendar/libecal/e-reminder-watcher.h"
                         line="77"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-reminder-watcher.c"
               line="639">an #ECalComponentAlarmInstance for @rd.
   It is owned by @rd, thus do not free it.</doc>
          <type name="ComponentAlarmInstance"
                c:type="ECalComponentAlarmInstance*"/>
        </return-value>
        <parameters>
          <instance-parameter name="rd" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="637">an #EReminderData</doc>
            <type name="ReminderData" c:type="const EReminderData*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_source_uid"
              c:identifier="e_reminder_data_get_source_uid"
              version="3.34">
        <source-position filename="src/calendar/libecal/e-reminder-watcher.h"
                         line="70"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-reminder-watcher.c"
               line="562">an #ESource UID for @rd</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="rd" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="560">an #EReminderData</doc>
            <type name="ReminderData" c:type="const EReminderData*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_component"
              c:identifier="e_reminder_data_set_component"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-reminder-watcher.c"
             line="612">Set an #ECalComponent @component as associated with this @rd.
The @rd creates a copy of the @component.</doc>
        <source-position filename="src/calendar/libecal/e-reminder-watcher.h"
                         line="74"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="rd" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="614">an #EReminderData</doc>
            <type name="ReminderData" c:type="EReminderData*"/>
          </instance-parameter>
          <parameter name="component" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="615">an #ECalComponent</doc>
            <type name="Component" c:type="const ECalComponent*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_instance"
              c:identifier="e_reminder_data_set_instance"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-reminder-watcher.c"
             line="652">Set an #ECalComponentAlarmInstance @instance as associated with this @rd.
The @rd creates a copy of the @instance.</doc>
        <source-position filename="src/calendar/libecal/e-reminder-watcher.h"
                         line="78"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="rd" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="654">an #EReminderData</doc>
            <type name="ReminderData" c:type="EReminderData*"/>
          </instance-parameter>
          <parameter name="instance" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="655">an #ECalComponentAlarmInstance</doc>
            <type name="ComponentAlarmInstance"
                  c:type="const ECalComponentAlarmInstance*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_source_uid"
              c:identifier="e_reminder_data_set_source_uid"
              version="3.34">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-reminder-watcher.c"
             line="574">Set an #ESource UID for @rd.</doc>
        <source-position filename="src/calendar/libecal/e-reminder-watcher.h"
                         line="71"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="rd" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="576">an #EReminderData</doc>
            <type name="ReminderData" c:type="EReminderData*"/>
          </instance-parameter>
          <parameter name="source_uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="577">an #ESource UID</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <class name="ReminderWatcher"
           c:symbol-prefix="reminder_watcher"
           c:type="EReminderWatcher"
           version="3.30"
           parent="GObject.Object"
           glib:type-name="EReminderWatcher"
           glib:get-type="e_reminder_watcher_get_type"
           glib:type-struct="ReminderWatcherClass">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-reminder-watcher.h"
           line="100">Contains only private data that should be read and manipulated using the
functions below.</doc>
      <source-position filename="src/calendar/libecal/e-reminder-watcher.h"
                       line="150"/>
      <constructor name="new"
                   c:identifier="e_reminder_watcher_new"
                   version="3.30">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-reminder-watcher.c"
             line="2566">Creates a new #EReminderWatcher, which will use the @registry. It adds
its own reference to @registry. Free the created #EReminderWatcher
with g_object_unref() when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-reminder-watcher.h"
                         line="154"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-reminder-watcher.c"
               line="2574">a new instance of #EReminderWatcher</doc>
          <type name="ReminderWatcher" c:type="EReminderWatcher*"/>
        </return-value>
        <parameters>
          <parameter name="registry" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="2568">an #ESourceRegistry</doc>
            <type name="EDataServer.SourceRegistry" c:type="ESourceRegistry*"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="cal_client_connect">
        <source-position filename="src/calendar/libecal/e-reminder-watcher.h"
                         line="136"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="watcher" transfer-ownership="none">
            <type name="ReminderWatcher" c:type="EReminderWatcher*"/>
          </instance-parameter>
          <parameter name="source" transfer-ownership="none">
            <type name="EDataServer.Source" c:type="ESource*"/>
          </parameter>
          <parameter name="source_type" transfer-ownership="none">
            <type name="ClientSourceType" c:type="ECalClientSourceType"/>
          </parameter>
          <parameter name="wait_for_connected_seconds"
                     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="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="5">
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     closure="5">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="cal_client_connect_finish"
                      introspectable="0"
                      throws="1">
        <source-position filename="src/calendar/libecal/e-reminder-watcher.h"
                         line="143"/>
        <return-value>
          <type name="EDataServer.Client" c:type="EClient*"/>
        </return-value>
        <parameters>
          <instance-parameter name="watcher" transfer-ownership="none">
            <type name="ReminderWatcher" c:type="EReminderWatcher*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="cal_client_connect_sync"
                      introspectable="0"
                      throws="1">
        <source-position filename="src/calendar/libecal/e-reminder-watcher.h"
                         line="129"/>
        <return-value>
          <type name="EDataServer.Client" c:type="EClient*"/>
        </return-value>
        <parameters>
          <instance-parameter name="watcher" transfer-ownership="none">
            <type name="ReminderWatcher" c:type="EReminderWatcher*"/>
          </instance-parameter>
          <parameter name="source" transfer-ownership="none">
            <type name="EDataServer.Source" c:type="ESource*"/>
          </parameter>
          <parameter name="source_type" transfer-ownership="none">
            <type name="ClientSourceType" c:type="ECalClientSourceType"/>
          </parameter>
          <parameter name="wait_for_connected_seconds"
                     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="changed">
        <source-position filename="src/calendar/libecal/e-reminder-watcher.h"
                         line="128"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="watcher" transfer-ownership="none">
            <type name="ReminderWatcher" c:type="EReminderWatcher*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="format_time">
        <source-position filename="src/calendar/libecal/e-reminder-watcher.h"
                         line="120"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="watcher" transfer-ownership="none">
            <type name="ReminderWatcher" c:type="EReminderWatcher*"/>
          </instance-parameter>
          <parameter name="rd" transfer-ownership="none">
            <type name="ReminderData" c:type="const EReminderData*"/>
          </parameter>
          <parameter name="itt" transfer-ownership="none">
            <type name="ICalGLib.Time" c:type="ICalTime*"/>
          </parameter>
          <parameter name="inout_buffer" transfer-ownership="none">
            <type name="utf8" c:type="gchar**"/>
          </parameter>
          <parameter name="buffer_size" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="schedule_timer">
        <source-position filename="src/calendar/libecal/e-reminder-watcher.h"
                         line="118"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="watcher" transfer-ownership="none">
            <type name="ReminderWatcher" c:type="EReminderWatcher*"/>
          </instance-parameter>
          <parameter name="at_time" transfer-ownership="none">
            <type name="gint64" c:type="gint64"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="triggered" introspectable="0">
        <source-position filename="src/calendar/libecal/e-reminder-watcher.h"
                         line="125"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="watcher" transfer-ownership="none">
            <type name="ReminderWatcher" c:type="EReminderWatcher*"/>
          </instance-parameter>
          <parameter name="reminders" transfer-ownership="none">
            <type name="GLib.SList" c:type="const GSList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
          <parameter name="snoozed" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="describe_data"
              c:identifier="e_reminder_watcher_describe_data"
              version="3.30">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-reminder-watcher.c"
             line="2826">Returns a new string with a text description of the @rd. The text format
can be influenced with @flags.

Free the returned string with g_free(), when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-reminder-watcher.h"
                         line="165"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-reminder-watcher.c"
               line="2837">a new string with a text description of the @rd.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="watcher" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="2828">an #EReminderWatcher</doc>
            <type name="ReminderWatcher" c:type="EReminderWatcher*"/>
          </instance-parameter>
          <parameter name="rd" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="2829">an #EReminderData</doc>
            <type name="ReminderData" c:type="const EReminderData*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="2830">bit-or of #EReminderWatcherDescribeFlags</doc>
            <type name="guint32" c:type="guint32"/>
          </parameter>
        </parameters>
      </method>
      <method name="dismiss"
              c:identifier="e_reminder_watcher_dismiss"
              version="3.30">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-reminder-watcher.c"
             line="3350">Asynchronously dismiss single reminder in the past or snoozed reminders.

When the operation is finished, @callback will be called. You can
then call e_reminder_watcher_dismiss_finish() to get the result of
the operation.</doc>
        <source-position filename="src/calendar/libecal/e-reminder-watcher.h"
                         line="174"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="watcher" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="3352">an #EReminderWatcher</doc>
            <type name="ReminderWatcher" c:type="EReminderWatcher*"/>
          </instance-parameter>
          <parameter name="rd" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="3353">an #EReminderData to dismiss</doc>
            <type name="ReminderData" c:type="const EReminderData*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="3354">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/libecal/e-reminder-watcher.c"
                 line="3355">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/libecal/e-reminder-watcher.c"
                 line="3356">data to pass to the callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="dismiss_all"
              c:identifier="e_reminder_watcher_dismiss_all"
              version="3.30">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-reminder-watcher.c"
             line="3534">Asynchronously dismiss all past reminders.

When the operation is finished, @callback will be called. You can
then call e_reminder_watcher_dismiss_all_finish() to get the result
of the operation.</doc>
        <source-position filename="src/calendar/libecal/e-reminder-watcher.h"
                         line="186"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="watcher" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="3536">an #EReminderWatcher</doc>
            <type name="ReminderWatcher" c:type="EReminderWatcher*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="3537">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/libecal/e-reminder-watcher.c"
                 line="3538">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/libecal/e-reminder-watcher.c"
                 line="3539">data to pass to the callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="dismiss_all_finish"
              c:identifier="e_reminder_watcher_dismiss_all_finish"
              version="3.30"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-reminder-watcher.c"
             line="3567">Finishes the operation started with e_reminder_watcher_dismiss_all().</doc>
        <source-position filename="src/calendar/libecal/e-reminder-watcher.h"
                         line="190"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-reminder-watcher.c"
               line="3575">whether succeeded</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="watcher" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="3569">an #EReminderWatcher</doc>
            <type name="ReminderWatcher" c:type="EReminderWatcher*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="3570">a #GAsyncResult</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="dismiss_all_sync"
              c:identifier="e_reminder_watcher_dismiss_all_sync"
              version="3.30"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-reminder-watcher.c"
             line="3594">Synchronously dismiss all past reminders. The operation stops after
the first error is encountered, which can be before all the past
reminders are dismissed.</doc>
        <source-position filename="src/calendar/libecal/e-reminder-watcher.h"
                         line="193"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-reminder-watcher.c"
               line="3604">whether succeeded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="watcher" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="3596">an #EReminderWatcher</doc>
            <type name="ReminderWatcher" c:type="EReminderWatcher*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="3597">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="dismiss_finish"
              c:identifier="e_reminder_watcher_dismiss_finish"
              version="3.30"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-reminder-watcher.c"
             line="3387">Finishes the operation started with e_reminder_watcher_dismiss().</doc>
        <source-position filename="src/calendar/libecal/e-reminder-watcher.h"
                         line="179"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-reminder-watcher.c"
               line="3395">whether succeeded</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="watcher" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="3389">an #EReminderWatcher</doc>
            <type name="ReminderWatcher" c:type="EReminderWatcher*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="3390">a #GAsyncResult</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="dismiss_sync"
              c:identifier="e_reminder_watcher_dismiss_sync"
              version="3.30"
              throws="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-reminder-watcher.c"
             line="3458">Synchronously dismiss single reminder in the past or snoozed reminders.</doc>
        <source-position filename="src/calendar/libecal/e-reminder-watcher.h"
                         line="182"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-reminder-watcher.c"
               line="3467">whether succeeded</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="watcher" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="3460">an #EReminderWatcher</doc>
            <type name="ReminderWatcher" c:type="EReminderWatcher*"/>
          </instance-parameter>
          <parameter name="rd" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="3461">an #EReminderData to dismiss</doc>
            <type name="ReminderData" c:type="const EReminderData*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="3462">optional #GCancellable object, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="dup_default_zone"
              c:identifier="e_reminder_watcher_dup_default_zone"
              version="3.30">
        <source-position filename="src/calendar/libecal/e-reminder-watcher.h"
                         line="161"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-reminder-watcher.c"
               line="2667">A copy of the currently set default time zone.
   Free it with g_object_unref(), when no longer needed.</doc>
          <type name="ICalGLib.Timezone" c:type="ICalTimezone*"/>
        </return-value>
        <parameters>
          <instance-parameter name="watcher" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="2665">an #EReminderWatcher</doc>
            <type name="ReminderWatcher" c:type="EReminderWatcher*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="dup_past"
              c:identifier="e_reminder_watcher_dup_past"
              version="3.30">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-reminder-watcher.c"
             line="3203">Gathers a #GSList of all past reminders which had not been removed after
EReminderWatcher::triggered signal. Such reminders are remembered
across sessions, until they are dismissed by e_reminder_watcher_dismiss()
or its synchronous variant. These reminders can be also snoozed
with e_reminder_watcher_snooze(), which removes them from the past
reminders into the list of snoozed reminders, see e_reminder_watcher_dup_snoozed().

Free the returned #GSList with
g_slist_free_full (reminders, e_reminder_data_free);
when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-reminder-watcher.h"
                         line="169"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-reminder-watcher.c"
               line="3218">a newly
   allocated #GSList of the past reminders, or %NULL, when there are none</doc>
          <type name="GLib.SList" c:type="GSList*">
            <type name="ReminderData"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="watcher" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="3205">an #EReminderWatcher</doc>
            <type name="ReminderWatcher" c:type="EReminderWatcher*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="dup_snoozed"
              c:identifier="e_reminder_watcher_dup_snoozed"
              version="3.30">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-reminder-watcher.c"
             line="3231">Gathers a #GSList of currently snoozed reminder with e_reminder_watcher_snooze().
The snoozed reminders are remembered across sessions and they are re-triggered
when their snooze time elapses, which can move them back to the list of past reminders.

Free the returned #GSList with
g_slist_free_full (reminders, e_reminder_data_free);
when no longer needed.</doc>
        <source-position filename="src/calendar/libecal/e-reminder-watcher.h"
                         line="170"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-reminder-watcher.c"
               line="3243">a newly
   allocated #GSList of the snoozed reminders, or %NULL, when there are none</doc>
          <type name="GLib.SList" c:type="GSList*">
            <type name="ReminderData"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="watcher" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="3233">an #EReminderWatcher</doc>
            <type name="ReminderWatcher" c:type="EReminderWatcher*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_registry"
              c:identifier="e_reminder_watcher_get_registry"
              glib:get-property="registry">
        <source-position filename="src/calendar/libecal/e-reminder-watcher.h"
                         line="156"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-reminder-watcher.c"
               line="2592">an #ESourceRegistry with which the @watcher
   had been created</doc>
          <type name="EDataServer.SourceRegistry" c:type="ESourceRegistry*"/>
        </return-value>
        <parameters>
          <instance-parameter name="watcher" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="2590">an #EReminderWatcher</doc>
            <type name="ReminderWatcher" c:type="EReminderWatcher*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_timers_enabled"
              c:identifier="e_reminder_watcher_get_timers_enabled"
              glib:get-property="timers-enabled"
              version="3.30">
        <source-position filename="src/calendar/libecal/e-reminder-watcher.h"
                         line="162"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-reminder-watcher.c"
               line="2692">whether timers are enabled for the @watcher. See
   e_reminder_watcher_set_timers_enabled() for more information
   what it means.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="watcher" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="2690">an #EReminderWatcher</doc>
            <type name="ReminderWatcher" c:type="EReminderWatcher*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="ref_opened_client"
              c:identifier="e_reminder_watcher_ref_opened_client"
              version="3.30">
        <source-position filename="src/calendar/libecal/e-reminder-watcher.h"
                         line="157"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-reminder-watcher.c"
               line="2608">a referenced #ECalClient for the @source_uid,
   if any such is opened; %NULL otherwise.</doc>
          <type name="Client" c:type="ECalClient*"/>
        </return-value>
        <parameters>
          <instance-parameter name="watcher" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="2605">an #EReminderWatcher</doc>
            <type name="ReminderWatcher" c:type="EReminderWatcher*"/>
          </instance-parameter>
          <parameter name="source_uid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="2606">an #ESource UID of the calendar to return</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_default_zone"
              c:identifier="e_reminder_watcher_set_default_zone"
              glib:set-property="default-zone"
              version="3.30">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-reminder-watcher.c"
             line="2623">Sets the default zone for the @watcher. This is used when calculating
trigger times for floating component times. When the @zone is %NULL,
then sets a UTC time zone.</doc>
        <source-position filename="src/calendar/libecal/e-reminder-watcher.h"
                         line="159"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="watcher" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="2625">an #EReminderWatcher</doc>
            <type name="ReminderWatcher" c:type="EReminderWatcher*"/>
          </instance-parameter>
          <parameter name="zone"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="2626">an #ICalTimezone</doc>
            <type name="ICalGLib.Timezone" c:type="const ICalTimezone*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_timers_enabled"
              c:identifier="e_reminder_watcher_set_timers_enabled"
              glib:set-property="timers-enabled"
              version="3.30">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-reminder-watcher.c"
             line="2714">The @watcher can be used both for scheduling the timers for the reminders
and respond to them through the "triggered" signal, or only to listen for
changes on the past reminders. The default is to have timers enabled, thus
to response to scheduled reminders. Disabling the timers also means there
will be less resources needed by the @watcher.</doc>
        <source-position filename="src/calendar/libecal/e-reminder-watcher.h"
                         line="163"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="watcher" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="2716">an #EReminderWatcher</doc>
            <type name="ReminderWatcher" c:type="EReminderWatcher*"/>
          </instance-parameter>
          <parameter name="enabled" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="2717">a value to set</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="snooze"
              c:identifier="e_reminder_watcher_snooze"
              version="3.30">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-reminder-watcher.c"
             line="3264">Snoozes @rd until @until, which is an absolute time when the @rd
should be retriggered. This moves the @rd from the list of past
reminders into the list of snoozed reminders and invokes the "changed"
signal.

The @until can be a special value 0, to set the time as the event start,
if it's in the future. The function does nothing when the event time
is in the past.</doc>
        <source-position filename="src/calendar/libecal/e-reminder-watcher.h"
                         line="171"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="watcher" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="3266">an #EReminderWatcher</doc>
            <type name="ReminderWatcher" c:type="EReminderWatcher*"/>
          </instance-parameter>
          <parameter name="rd" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="3267">an #EReminderData identifying the reminder</doc>
            <type name="ReminderData" c:type="const EReminderData*"/>
          </parameter>
          <parameter name="until" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="3268">time_t as gint64, when the @rd should be retriggered</doc>
            <type name="gint64" c:type="gint64"/>
          </parameter>
        </parameters>
      </method>
      <method name="timer_elapsed"
              c:identifier="e_reminder_watcher_timer_elapsed"
              version="3.30">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-reminder-watcher.c"
             line="3034">Notifies the #watcher that the timer previously scheduled
with EReminderWatcherClass::schedule_timer elapsed. This can
be used by the descendants which override the default implementation
of EReminderWatcherClass::schedule_timer. There is always scheduled
only one timer and once it's elapsed it should be also removed,
the same when the EReminderWatcherClass::schedule_timer is called
and the previously scheduled timer was not elapsed yet, the previous
should be removed first, aka every call to EReminderWatcherClass::schedule_timer
replaces any previously scheduled timer.</doc>
        <source-position filename="src/calendar/libecal/e-reminder-watcher.h"
                         line="168"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="watcher" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="3036">an #EReminderWatcher</doc>
            <type name="ReminderWatcher" c:type="EReminderWatcher*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="default-zone"
                version="3.30"
                writable="1"
                transfer-ownership="none"
                setter="set_default_zone">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-reminder-watcher.c"
             line="2427">An #ICalTimezone to be used as the default time zone.</doc>
        <type name="ICalGLib.Timezone"/>
      </property>
      <property name="registry"
                version="3.30"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_registry">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-reminder-watcher.c"
             line="2408">The #ESourceRegistry which manages #ESource instances.</doc>
        <type name="EDataServer.SourceRegistry"/>
      </property>
      <property name="timers-enabled"
                version="3.30"
                writable="1"
                transfer-ownership="none"
                setter="set_timers_enabled"
                getter="get_timers_enabled">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-reminder-watcher.c"
             line="2446">Whether timers are enabled for the #EReminderWatcher. See
e_reminder_watcher_set_timers_enabled() for more information
what it means.

Default: %TRUE</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <field name="parent" readable="0" private="1">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="ReminderWatcherPrivate" c:type="EReminderWatcherPrivate*"/>
      </field>
      <glib:signal name="changed" when="last" version="3.30">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-reminder-watcher.c"
             line="2519">Signal is emitted when the list of past or snoozed reminders
changes. It's called also when GSettings key for past reminders
is notified as changed, because this list is not held in memory.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="format-time" action="1" version="3.30">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-reminder-watcher.c"
             line="2469">Formats time @itt to a string and writes it to @inout_buffer, which can hold
up to @buffer_size bytes. The first character of @inout_buffer is the nul-byte
when nothing wrote to it yet.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="rd" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="2472">an #EReminderData</doc>
            <type name="ReminderData"/>
          </parameter>
          <parameter name="itt" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="2473">an #ICalTime</doc>
            <type name="ICalGLib.Time"/>
          </parameter>
          <parameter name="inout_buffer"
                     direction="inout"
                     caller-allocates="0"
                     transfer-ownership="full"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="2474">a pointer to a buffer to fill with formatted @itt</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="buffer_size" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="2475">size of inout_buffer</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="triggered" when="last" version="3.30">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-reminder-watcher.c"
             line="2497">Signal is emitted when any reminder is either overdue or triggered.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="reminders" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="2500">a #GSList of #EReminderData</doc>
            <type name="GLib.SList" c:type="gpointer">
              <type name="ReminderData"/>
            </type>
          </parameter>
          <parameter name="snoozed" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-reminder-watcher.c"
                 line="2501">%TRUE, when the @reminders had been snoozed, %FALSE otherwise</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="ReminderWatcherClass"
            c:type="EReminderWatcherClass"
            glib:is-gtype-struct-for="ReminderWatcher">
      <source-position filename="src/calendar/libecal/e-reminder-watcher.h"
                       line="150"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="schedule_timer">
        <callback name="schedule_timer">
          <source-position filename="src/calendar/libecal/e-reminder-watcher.h"
                           line="118"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="watcher" transfer-ownership="none">
              <type name="ReminderWatcher" c:type="EReminderWatcher*"/>
            </parameter>
            <parameter name="at_time" transfer-ownership="none">
              <type name="gint64" c:type="gint64"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="format_time">
        <callback name="format_time">
          <source-position filename="src/calendar/libecal/e-reminder-watcher.h"
                           line="120"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="watcher" transfer-ownership="none">
              <type name="ReminderWatcher" c:type="EReminderWatcher*"/>
            </parameter>
            <parameter name="rd" transfer-ownership="none">
              <type name="ReminderData" c:type="const EReminderData*"/>
            </parameter>
            <parameter name="itt" transfer-ownership="none">
              <type name="ICalGLib.Time" c:type="ICalTime*"/>
            </parameter>
            <parameter name="inout_buffer" transfer-ownership="none">
              <type name="utf8" c:type="gchar**"/>
            </parameter>
            <parameter name="buffer_size" transfer-ownership="none">
              <type name="gint" c:type="gint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="triggered" introspectable="0">
        <callback name="triggered" introspectable="0">
          <source-position filename="src/calendar/libecal/e-reminder-watcher.h"
                           line="125"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="watcher" transfer-ownership="none">
              <type name="ReminderWatcher" c:type="EReminderWatcher*"/>
            </parameter>
            <parameter name="reminders" transfer-ownership="none">
              <type name="GLib.SList" c:type="const GSList*">
                <type name="gpointer" c:type="gpointer"/>
              </type>
            </parameter>
            <parameter name="snoozed" transfer-ownership="none">
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="changed">
        <callback name="changed">
          <source-position filename="src/calendar/libecal/e-reminder-watcher.h"
                           line="128"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="watcher" transfer-ownership="none">
              <type name="ReminderWatcher" c:type="EReminderWatcher*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="cal_client_connect_sync" introspectable="0">
        <callback name="cal_client_connect_sync" introspectable="0" throws="1">
          <source-position filename="src/calendar/libecal/e-reminder-watcher.h"
                           line="129"/>
          <return-value>
            <type name="EDataServer.Client" c:type="EClient*"/>
          </return-value>
          <parameters>
            <parameter name="watcher" transfer-ownership="none">
              <type name="ReminderWatcher" c:type="EReminderWatcher*"/>
            </parameter>
            <parameter name="source" transfer-ownership="none">
              <type name="EDataServer.Source" c:type="ESource*"/>
            </parameter>
            <parameter name="source_type" transfer-ownership="none">
              <type name="ClientSourceType" c:type="ECalClientSourceType"/>
            </parameter>
            <parameter name="wait_for_connected_seconds"
                       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="cal_client_connect">
        <callback name="cal_client_connect">
          <source-position filename="src/calendar/libecal/e-reminder-watcher.h"
                           line="136"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="watcher" transfer-ownership="none">
              <type name="ReminderWatcher" c:type="EReminderWatcher*"/>
            </parameter>
            <parameter name="source" transfer-ownership="none">
              <type name="EDataServer.Source" c:type="ESource*"/>
            </parameter>
            <parameter name="source_type" transfer-ownership="none">
              <type name="ClientSourceType" c:type="ECalClientSourceType"/>
            </parameter>
            <parameter name="wait_for_connected_seconds"
                       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="callback"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1"
                       scope="async"
                       closure="6">
              <type name="Gio.AsyncReadyCallback"
                    c:type="GAsyncReadyCallback"/>
            </parameter>
            <parameter name="user_data"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1"
                       closure="6">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="cal_client_connect_finish" introspectable="0">
        <callback name="cal_client_connect_finish"
                  introspectable="0"
                  throws="1">
          <source-position filename="src/calendar/libecal/e-reminder-watcher.h"
                           line="143"/>
          <return-value>
            <type name="EDataServer.Client" c:type="EClient*"/>
          </return-value>
          <parameters>
            <parameter name="watcher" transfer-ownership="none">
              <type name="ReminderWatcher" c:type="EReminderWatcher*"/>
            </parameter>
            <parameter name="result" transfer-ownership="none">
              <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="reserved">
        <array zero-terminated="0" fixed-size="7">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <bitfield name="ReminderWatcherDescribeFlags"
              version="3.30"
              c:type="EReminderWatcherDescribeFlags">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-reminder-watcher.h"
           line="85">Flags modifying behaviour of e_reminder_watcher_describe_data().</doc>
      <source-position filename="src/calendar/libecal/e-reminder-watcher.h"
                       line="98"/>
      <member name="none"
              value="0"
              c:identifier="E_REMINDER_WATCHER_DESCRIBE_FLAG_NONE">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-reminder-watcher.h"
             line="87">None flags</doc>
      </member>
      <member name="markup"
              value="2"
              c:identifier="E_REMINDER_WATCHER_DESCRIBE_FLAG_MARKUP">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-reminder-watcher.h"
             line="88">Returned description will contain
   also markup. Without it it'll be a plain text.</doc>
      </member>
    </bitfield>
    <record name="ReminderWatcherPrivate"
            c:type="EReminderWatcherPrivate"
            disguised="1">
      <source-position filename="src/calendar/libecal/e-reminder-watcher.h"
                       line="83"/>
    </record>
    <constant name="STATIC_CAPABILITY_ALARM_DESCRIPTION"
              value="alarm-description"
              c:type="E_CAL_STATIC_CAPABILITY_ALARM_DESCRIPTION"
              version="3.8">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.h"
           line="56">Flag indicating that the backend supports alarm description</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h" line="63"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="STATIC_CAPABILITY_ALL_DAY_EVENT_AS_TIME"
              value="all-day-event-as-time"
              c:type="E_CAL_STATIC_CAPABILITY_ALL_DAY_EVENT_AS_TIME"
              version="3.18">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.h"
           line="141">Let the client know that it should store All Day event times as time
with a time zone, rather than as a date.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="149"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="STATIC_CAPABILITY_BULK_ADDS"
              value="bulk-adds"
              c:type="E_CAL_STATIC_CAPABILITY_BULK_ADDS"
              version="3.6">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.h"
           line="74">Flag indicating that the backend supports bulk additions.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h" line="81"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="STATIC_CAPABILITY_BULK_MODIFIES"
              value="bulk-modifies"
              c:type="E_CAL_STATIC_CAPABILITY_BULK_MODIFIES"
              version="3.6">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.h"
           line="83">Flag indicating that the backend supports bulk modifications.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h" line="90"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="STATIC_CAPABILITY_BULK_REMOVES"
              value="bulk-removes"
              c:type="E_CAL_STATIC_CAPABILITY_BULK_REMOVES"
              version="3.6">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.h"
           line="92">Flag indicating that the backend supports bulk removals.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h" line="99"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="STATIC_CAPABILITY_COMPONENT_COLOR"
              value="component-color"
              c:type="E_CAL_STATIC_CAPABILITY_COMPONENT_COLOR"
              version="3.30">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.h"
           line="182">When the capability is set, the client supports storing color
for individual components.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="190"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="STATIC_CAPABILITY_CREATE_MESSAGES"
              value="create-messages"
              c:type="E_CAL_STATIC_CAPABILITY_CREATE_MESSAGES"
              version="2.26">
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="120"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="STATIC_CAPABILITY_DELEGATE_SUPPORTED"
              value="delegate-support"
              c:type="E_CAL_STATIC_CAPABILITY_DELEGATE_SUPPORTED">
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="129"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="STATIC_CAPABILITY_DELEGATE_TO_MANY"
              value="delegate-to-many"
              c:type="E_CAL_STATIC_CAPABILITY_DELEGATE_TO_MANY">
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="131"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="STATIC_CAPABILITY_HAS_UNACCEPTED_MEETING"
              value="has-unaccepted-meeting"
              c:type="E_CAL_STATIC_CAPABILITY_HAS_UNACCEPTED_MEETING">
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="132"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="STATIC_CAPABILITY_NO_ALARM_AFTER_START"
              value="no-alarm-after-start"
              c:type="E_CAL_STATIC_CAPABILITY_NO_ALARM_AFTER_START"
              version="3.8">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.h"
           line="65">Flag indicating that the backend does not support alarm after start the event</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h" line="72"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="STATIC_CAPABILITY_NO_ALARM_REPEAT"
              value="no-alarm-repeat"
              c:type="E_CAL_STATIC_CAPABILITY_NO_ALARM_REPEAT">
      <source-position filename="src/calendar/libecal/e-cal-util.h" line="37"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="STATIC_CAPABILITY_NO_AUDIO_ALARMS"
              value="no-audio-alarms"
              c:type="E_CAL_STATIC_CAPABILITY_NO_AUDIO_ALARMS">
      <source-position filename="src/calendar/libecal/e-cal-util.h" line="38"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="STATIC_CAPABILITY_NO_CONV_TO_ASSIGN_TASK"
              value="no-conv-to-assign-task"
              c:type="E_CAL_STATIC_CAPABILITY_NO_CONV_TO_ASSIGN_TASK">
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="123"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="STATIC_CAPABILITY_NO_CONV_TO_RECUR"
              value="no-conv-to-recur"
              c:type="E_CAL_STATIC_CAPABILITY_NO_CONV_TO_RECUR">
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="124"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="STATIC_CAPABILITY_NO_DISPLAY_ALARMS"
              value="no-display-alarms"
              c:type="E_CAL_STATIC_CAPABILITY_NO_DISPLAY_ALARMS">
      <source-position filename="src/calendar/libecal/e-cal-util.h" line="39"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="STATIC_CAPABILITY_NO_EMAIL_ALARMS"
              value="no-email-alarms"
              c:type="E_CAL_STATIC_CAPABILITY_NO_EMAIL_ALARMS">
      <source-position filename="src/calendar/libecal/e-cal-util.h" line="40"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="STATIC_CAPABILITY_NO_GEN_OPTIONS"
              value="no-general-options"
              c:type="E_CAL_STATIC_CAPABILITY_NO_GEN_OPTIONS">
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="125"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="STATIC_CAPABILITY_NO_MEMO_START_DATE"
              value="no-memo-start-date"
              c:type="E_CAL_STATIC_CAPABILITY_NO_MEMO_START_DATE">
      <source-position filename="src/calendar/libecal/e-cal-util.h" line="54"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="STATIC_CAPABILITY_NO_ORGANIZER"
              value="no-organizer"
              c:type="E_CAL_STATIC_CAPABILITY_NO_ORGANIZER">
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="130"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="STATIC_CAPABILITY_NO_PROCEDURE_ALARMS"
              value="no-procedure-alarms"
              c:type="E_CAL_STATIC_CAPABILITY_NO_PROCEDURE_ALARMS">
      <source-position filename="src/calendar/libecal/e-cal-util.h" line="41"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="STATIC_CAPABILITY_NO_TASK_ASSIGNMENT"
              value="no-task-assignment"
              c:type="E_CAL_STATIC_CAPABILITY_NO_TASK_ASSIGNMENT">
      <source-position filename="src/calendar/libecal/e-cal-util.h" line="42"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="STATIC_CAPABILITY_NO_THISANDFUTURE"
              value="no-thisandfuture"
              c:type="E_CAL_STATIC_CAPABILITY_NO_THISANDFUTURE">
      <source-position filename="src/calendar/libecal/e-cal-util.h" line="43"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="STATIC_CAPABILITY_NO_THISANDPRIOR"
              value="no-thisandprior"
              c:type="E_CAL_STATIC_CAPABILITY_NO_THISANDPRIOR">
      <source-position filename="src/calendar/libecal/e-cal-util.h" line="44"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="STATIC_CAPABILITY_NO_TRANSPARENCY"
              value="no-transparency"
              c:type="E_CAL_STATIC_CAPABILITY_NO_TRANSPARENCY">
      <source-position filename="src/calendar/libecal/e-cal-util.h" line="45"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="STATIC_CAPABILITY_ONE_ALARM_ONLY"
              value="one-alarm-only"
              c:type="E_CAL_STATIC_CAPABILITY_ONE_ALARM_ONLY">
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="110"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="STATIC_CAPABILITY_ORGANIZER_MUST_ACCEPT"
              value="organizer-must-accept"
              c:type="E_CAL_STATIC_CAPABILITY_ORGANIZER_MUST_ACCEPT">
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="128"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="STATIC_CAPABILITY_ORGANIZER_MUST_ATTEND"
              value="organizer-must-attend"
              c:type="E_CAL_STATIC_CAPABILITY_ORGANIZER_MUST_ATTEND">
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="111"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="STATIC_CAPABILITY_ORGANIZER_NOT_EMAIL_ADDRESS"
              value="organizer-not-email-address"
              c:type="E_CAL_STATIC_CAPABILITY_ORGANIZER_NOT_EMAIL_ADDRESS">
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="112"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="STATIC_CAPABILITY_RECURRENCES_NO_MASTER"
              value="recurrences-no-master-object"
              c:type="E_CAL_STATIC_CAPABILITY_RECURRENCES_NO_MASTER">
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="127"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="STATIC_CAPABILITY_REFRESH_SUPPORTED"
              value="refresh-supported"
              c:type="E_CAL_STATIC_CAPABILITY_REFRESH_SUPPORTED"
              version="2.30">
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="139"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="STATIC_CAPABILITY_REMOVE_ALARMS"
              value="remove-alarms"
              c:type="E_CAL_STATIC_CAPABILITY_REMOVE_ALARMS">
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="113"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="STATIC_CAPABILITY_REMOVE_ONLY_THIS"
              value="remove-only-this"
              c:type="E_CAL_STATIC_CAPABILITY_REMOVE_ONLY_THIS"
              version="3.2">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.h"
           line="101">FIXME: Document me.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="108"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="STATIC_CAPABILITY_REQ_SEND_OPTIONS"
              value="require-send-options"
              c:type="E_CAL_STATIC_CAPABILITY_REQ_SEND_OPTIONS">
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="126"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="STATIC_CAPABILITY_SAVE_SCHEDULES"
              value="save-schedules"
              c:type="E_CAL_STATIC_CAPABILITY_SAVE_SCHEDULES">
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="122"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="STATIC_CAPABILITY_SIMPLE_MEMO"
              value="simple-memo"
              c:type="E_CAL_STATIC_CAPABILITY_SIMPLE_MEMO"
              version="3.38">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.h"
           line="202">When the capability is set, the backend handles only simple memos,
which means it stores only memo description. The summary can be changed
by the backend, if needed.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="211"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="STATIC_CAPABILITY_SIMPLE_MEMO_WITH_SUMMARY"
              value="simple-memo-with-summary"
              c:type="E_CAL_STATIC_CAPABILITY_SIMPLE_MEMO_WITH_SUMMARY"
              version="3.42">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.h"
           line="213">Similar to the %E_CAL_STATIC_CAPABILITY_SIMPLE_MEMO, except the backend stores
the description and the summary separately.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="222"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="STATIC_CAPABILITY_TASK_CAN_RECUR"
              value="task-can-recur"
              c:type="E_CAL_STATIC_CAPABILITY_TASK_CAN_RECUR"
              version="3.30">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.h"
           line="162">When the capability is set, the client can store and provide recurring
tasks, otherwise it cannot.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="170"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="STATIC_CAPABILITY_TASK_DATE_ONLY"
              value="task-date-only"
              c:type="E_CAL_STATIC_CAPABILITY_TASK_DATE_ONLY"
              version="3.24">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.h"
           line="151">Let the client know that the Task Start date, Due date and Completed date
can be entered only as dates. When the capability is not set, then these
can be date and time.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="160"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="STATIC_CAPABILITY_TASK_ESTIMATED_DURATION"
              value="task-estimated-duration"
              c:type="E_CAL_STATIC_CAPABILITY_TASK_ESTIMATED_DURATION"
              version="3.44">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.h"
           line="224">Set, when the backend supports ESTIMATED-DURATION property for tasks.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="232"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="STATIC_CAPABILITY_TASK_HANDLE_RECUR"
              value="task-handle-recur"
              c:type="E_CAL_STATIC_CAPABILITY_TASK_HANDLE_RECUR"
              version="3.34">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.h"
           line="192">When the capability is set, the backend handles task recurrence
completion on its own. This does not imply E_CAL_STATIC_CAPABILITY_TASK_CAN_RECUR.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="200"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="STATIC_CAPABILITY_TASK_NO_ALARM"
              value="task-no-alarm"
              c:type="E_CAL_STATIC_CAPABILITY_TASK_NO_ALARM"
              version="3.30">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.h"
           line="172">When the capability is set, the client cannot store reminders
on tasks, otherwise it can.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="180"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <function-macro name="TIMEZONE_CACHE"
                    c:identifier="E_TIMEZONE_CACHE"
                    introspectable="0">
      <source-position filename="src/calendar/libecal/e-timezone-cache.h"
                       line="30"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="TIMEZONE_CACHE_GET_INTERFACE"
                    c:identifier="E_TIMEZONE_CACHE_GET_INTERFACE"
                    introspectable="0">
      <source-position filename="src/calendar/libecal/e-timezone-cache.h"
                       line="36"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <interface name="TimezoneCache"
               c:symbol-prefix="timezone_cache"
               c:type="ETimezoneCache"
               version="3.8"
               glib:type-name="ETimezoneCache"
               glib:get-type="e_timezone_cache_get_type"
               glib:type-struct="TimezoneCacheInterface">
      <source-position filename="src/calendar/libecal/e-timezone-cache.h"
                       line="79"/>
      <virtual-method name="timezone_added">
        <source-position filename="src/calendar/libecal/e-timezone-cache.h"
                         line="74"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="cache" transfer-ownership="none">
            <type name="TimezoneCache" c:type="ETimezoneCache*"/>
          </instance-parameter>
          <parameter name="zone" transfer-ownership="none">
            <type name="ICalGLib.Timezone" c:type="ICalTimezone*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="tzcache_add_timezone">
        <source-position filename="src/calendar/libecal/e-timezone-cache.h"
                         line="66"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="cache" transfer-ownership="none">
            <type name="TimezoneCache" c:type="ETimezoneCache*"/>
          </instance-parameter>
          <parameter name="zone" transfer-ownership="none">
            <type name="ICalGLib.Timezone" c:type="ICalTimezone*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="tzcache_get_timezone" introspectable="0">
        <source-position filename="src/calendar/libecal/e-timezone-cache.h"
                         line="68"/>
        <return-value>
          <type name="ICalGLib.Timezone" c:type="ICalTimezone*"/>
        </return-value>
        <parameters>
          <instance-parameter name="cache" transfer-ownership="none">
            <type name="TimezoneCache" c:type="ETimezoneCache*"/>
          </instance-parameter>
          <parameter name="tzid" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="tzcache_list_timezones" introspectable="0">
        <source-position filename="src/calendar/libecal/e-timezone-cache.h"
                         line="70"/>
        <return-value>
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="cache" transfer-ownership="none">
            <type name="TimezoneCache" c:type="ETimezoneCache*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="add_timezone"
              c:identifier="e_timezone_cache_add_timezone"
              version="3.8">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-timezone-cache.c"
             line="56">Adds a copy of @zone to @cache and emits an
#ETimezoneCache::timezone-added signal.  The @cache will use the TZID
string returned by i_cal_timezone_get_tzid() as the lookup key, which can
be passed to e_timezone_cache_get_timezone() to obtain @zone again.

If the @cache already has an #ICalTimezone with the same TZID string
as @zone, the @cache will remain unchanged to avoid invalidating any
#ICalTimezone pointers which may have already been returned through
e_timezone_cache_get_timezone().</doc>
        <source-position filename="src/calendar/libecal/e-timezone-cache.h"
                         line="82"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="cache" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-timezone-cache.c"
                 line="58">an #ETimezoneCache</doc>
            <type name="TimezoneCache" c:type="ETimezoneCache*"/>
          </instance-parameter>
          <parameter name="zone" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-timezone-cache.c"
                 line="59">an #ICalTimezone</doc>
            <type name="ICalGLib.Timezone" c:type="ICalTimezone*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_timezone"
              c:identifier="e_timezone_cache_get_timezone"
              version="3.8">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-timezone-cache.c"
             line="88">Obtains an #ICalTimezone by its TZID string.  If no match is found,
the function returns %NULL.  The returned #ICalTimezone is owned by
the @cache and should not be modified or freed.</doc>
        <source-position filename="src/calendar/libecal/e-timezone-cache.h"
                         line="84"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-timezone-cache.c"
               line="97">an #ICalTimezone, or %NULL</doc>
          <type name="ICalGLib.Timezone" c:type="ICalTimezone*"/>
        </return-value>
        <parameters>
          <instance-parameter name="cache" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-timezone-cache.c"
                 line="90">an #ETimezoneCache</doc>
            <type name="TimezoneCache" c:type="ETimezoneCache*"/>
          </instance-parameter>
          <parameter name="tzid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-timezone-cache.c"
                 line="91">the TZID of a timezone</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="list_timezones"
              c:identifier="e_timezone_cache_list_timezones"
              version="3.8">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-timezone-cache.c"
             line="116">Returns a list of #ICalTimezone instances that were explicitly added to
the @cache through e_timezone_cache_add_timezone().  In particular, any
built-in time zone data that e_timezone_cache_get_timezone() may use to
match a TZID string is excluded from the returned list.

Free the returned list with g_list_free().  The list elements are owned
by the @cache and should not be modified or freed.</doc>
        <source-position filename="src/calendar/libecal/e-timezone-cache.h"
                         line="86"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-timezone-cache.c"
               line="128">a #GList of
   #ICalTimezone instances</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="ICalGLib.Timezone"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="cache" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-timezone-cache.c"
                 line="118">an #ETimezoneCache</doc>
            <type name="TimezoneCache" c:type="ETimezoneCache*"/>
          </instance-parameter>
        </parameters>
      </method>
      <glib:signal name="timezone-added" when="first">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-timezone-cache.c"
             line="39">Emitted when a new #icaltimezone is added to @cache.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="zone" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/calendar/libecal/e-timezone-cache.c"
                 line="42">the newly-added #ICalTimezone</doc>
            <type name="ICalGLib.Timezone"/>
          </parameter>
        </parameters>
      </glib:signal>
    </interface>
    <record name="TimezoneCacheInterface"
            c:type="ETimezoneCacheInterface"
            glib:is-gtype-struct-for="TimezoneCache"
            version="3.8">
      <source-position filename="src/calendar/libecal/e-timezone-cache.h"
                       line="79"/>
      <field name="parent_interface" readable="0" private="1">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="tzcache_add_timezone">
        <callback name="tzcache_add_timezone">
          <source-position filename="src/calendar/libecal/e-timezone-cache.h"
                           line="66"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="cache" transfer-ownership="none">
              <type name="TimezoneCache" c:type="ETimezoneCache*"/>
            </parameter>
            <parameter name="zone" transfer-ownership="none">
              <type name="ICalGLib.Timezone" c:type="ICalTimezone*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="tzcache_get_timezone" introspectable="0">
        <callback name="tzcache_get_timezone" introspectable="0">
          <source-position filename="src/calendar/libecal/e-timezone-cache.h"
                           line="68"/>
          <return-value>
            <type name="ICalGLib.Timezone" c:type="ICalTimezone*"/>
          </return-value>
          <parameters>
            <parameter name="cache" transfer-ownership="none">
              <type name="TimezoneCache" c:type="ETimezoneCache*"/>
            </parameter>
            <parameter name="tzid" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="tzcache_list_timezones" introspectable="0">
        <callback name="tzcache_list_timezones" introspectable="0">
          <source-position filename="src/calendar/libecal/e-timezone-cache.h"
                           line="70"/>
          <return-value>
            <type name="GLib.List" c:type="GList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </return-value>
          <parameters>
            <parameter name="cache" transfer-ownership="none">
              <type name="TimezoneCache" c:type="ETimezoneCache*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="timezone_added">
        <callback name="timezone_added">
          <source-position filename="src/calendar/libecal/e-timezone-cache.h"
                           line="74"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="cache" transfer-ownership="none">
              <type name="TimezoneCache" c:type="ETimezoneCache*"/>
            </parameter>
            <parameter name="zone" transfer-ownership="none">
              <type name="ICalGLib.Timezone" c:type="ICalTimezone*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="reserved_signals">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <docsection name="e-cal-client">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-client.c"
           line="20">This class is the main user facing API for accessing and modifying
the calendar.</doc>
    </docsection>
    <docsection name="e-cal-client-view">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-client-view.c"
           line="23">This class provides functionality for watching for changes on a
given calendar opened with an #ECalClient. Use e_cal_client_get_view()
to create an #ECalClientView.</doc>
    </docsection>
    <docsection name="e-cal-component">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-component.c"
           line="20">This is the main user facing interface used for representing an event
or other component in a given calendar.</doc>
    </docsection>
    <docsection name="e-cal-component-alarm">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-component-alarm.c"
           line="21">Contains functions to work with the #ECalComponentAlarm structure.</doc>
    </docsection>
    <docsection name="e-cal-component-alarm-instance">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-component-alarm-instance.c"
           line="21">Contains functions to work with the #ECalComponentAlarmInstance structure.</doc>
    </docsection>
    <docsection name="e-cal-component-alarm-repeat">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-component-alarm-repeat.c"
           line="21">Contains functions to work with the #ECalComponentAlarmRepeat structure.</doc>
    </docsection>
    <docsection name="e-cal-component-alarm-trigger">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-component-alarm-trigger.c"
           line="21">Contains functions to work with the #ECalComponentAlarmTrigger structure.</doc>
    </docsection>
    <docsection name="e-cal-component-alarms">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-component-alarms.c"
           line="21">Contains functions to work with the #ECalComponentAlarms structure.</doc>
    </docsection>
    <docsection name="e-cal-component-attendee">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-component-attendee.c"
           line="21">Contains functions to work with the #ECalComponentAttendee structure.</doc>
    </docsection>
    <docsection name="e-cal-component-datetime">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-component-datetime.c"
           line="21">Contains functions to work with the #ECalComponentDateTime structure.</doc>
    </docsection>
    <docsection name="e-cal-component-id">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-component-id.c"
           line="21">Contains functions to work with the #ECalComponentId structure.</doc>
    </docsection>
    <docsection name="e-cal-component-organizer">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-component-organizer.c"
           line="21">Contains functions to work with the #ECalComponentOrganizer structure.</doc>
    </docsection>
    <docsection name="e-cal-component-parameter-bag">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-component-parameter-bag.c"
           line="20">Contains functions to work with the #ECalComponentParameterBag structure.</doc>
    </docsection>
    <docsection name="e-cal-component-period">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-component-period.c"
           line="21">Contains functions to work with the #ECalComponentPeriod structure.</doc>
    </docsection>
    <docsection name="e-cal-component-property-bag">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-component-property-bag.c"
           line="20">Contains functions to work with the #ECalComponentPropertyBag structure.</doc>
    </docsection>
    <docsection name="e-cal-component-range">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-component-range.c"
           line="21">Contains functions to work with the #ECalComponentRange structure.</doc>
    </docsection>
    <docsection name="e-cal-component-text">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-component-text.c"
           line="21">Contains functions to work with the #ECalComponentText structure.</doc>
    </docsection>
    <docsection name="e-reminder-watcher">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-reminder-watcher.c"
           line="18">The #EReminderWatcher watches reminders in configured calendars
and notifies the owner about them through signals. It also remembers
past and snoozed reminders. It doesn't provide any GUI, it's all
up to the owner to provide such functionality.

The API is thread safe and each signal is emitted from the thread of
the default main context of the process.</doc>
    </docsection>
    <docsection name="e-timezone-cache">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-timezone-cache.c"
           line="18">Several classes (both client-side and server-side) cache #ICalTimezone
instances internally, indexed by their TZID strings.  Classes which do
this should implement #ETimezoneCacheInterface to provide a consistent
API for accessing time zone data.</doc>
    </docsection>
    <function name="isodate_from_time_t" c:identifier="isodate_from_time_t">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-time-util.c"
           line="622">Creates an ISO 8601 UTC representation from a time value.</doc>
      <source-position filename="src/calendar/libecal/e-cal-time-util.h"
                       line="68"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-time-util.c"
             line="628">String with the ISO 8601 representation of the UTC time.</doc>
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="t" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-time-util.c"
               line="624">A time value.</doc>
          <type name="glong" c:type="time_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="match_tzid" c:identifier="e_cal_match_tzid" version="2.24">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-check-timezones.c"
           line="67">Matches @tzid against the system timezone definitions
and returns the matching TZID, or %NULL if none found</doc>
      <source-position filename="src/calendar/libecal/e-cal-check-timezones.h"
                       line="75"/>
      <return-value transfer-ownership="none" nullable="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-check-timezones.c"
             line="74">The matching TZID, or %NULL if none found or for UTC</doc>
        <type name="utf8" c:type="const gchar*"/>
      </return-value>
      <parameters>
        <parameter name="tzid" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-check-timezones.c"
               line="69">a timezone ID</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="recur_describe_recurrence"
              c:identifier="e_cal_recur_describe_recurrence"
              version="3.30">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-recur.c"
           line="5916">Describes some simple types of recurrences in a human-readable and localized way.
The @flags influence the output format and what to do when the @icalcomp
contains more complicated recurrence, some which the function cannot describe.

The @week_start_day is used for weekly recurrences, to start the list of selected
days at that day.

Uses e_time_format_date_and_time() to format the date/time value in the string.
Call e_cal_recur_describe_recurrence_ex() with a custom formatting function.

Free the returned string with g_free(), when no longer needed.</doc>
      <source-position filename="src/calendar/libecal/e-cal-recur.h"
                       line="136"/>
      <return-value transfer-ownership="full" nullable="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-recur.c"
             line="5934">a newly allocated string, which
   describes the recurrence of the @icalcomp, or #NULL, when the @icalcomp
   doesn't recur or the recurrence is too complicated to describe, also
   according to given @flags.</doc>
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="icalcomp" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-recur.c"
               line="5918">an #ICalComponent</doc>
          <type name="ICalGLib.Component" c:type="ICalComponent*"/>
        </parameter>
        <parameter name="week_start_day" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-recur.c"
               line="5919">a day when the week starts</doc>
          <type name="GLib.DateWeekday" c:type="GDateWeekday"/>
        </parameter>
        <parameter name="flags" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-recur.c"
               line="5920">bit-or of #ECalRecurDescribeRecurrenceFlags</doc>
          <type name="guint32" c:type="guint32"/>
        </parameter>
      </parameters>
    </function>
    <function name="recur_describe_recurrence_ex"
              c:identifier="e_cal_recur_describe_recurrence_ex"
              version="3.38">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-recur.c"
           line="4961">Describes some simple types of recurrences in a human-readable and localized way.
The @flags influence the output format and what to do when the @icalcomp
contains more complicated recurrence, some which the function cannot describe.

The @week_start_day is used for weekly recurrences, to start the list of selected
days at that day.

If @datetime_fmt_func is %NULL, the e_time_format_date_and_time() is used
to format data/time value.

Free the returned string with g_free(), when no longer needed.</doc>
      <source-position filename="src/calendar/libecal/e-cal-recur.h"
                       line="132"/>
      <return-value transfer-ownership="full" nullable="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-recur.c"
             line="4980">a newly allocated string, which
   describes the recurrence of the @icalcomp, or #NULL, when the @icalcomp
   doesn't recur or the recurrence is too complicated to describe, also
   according to given @flags.</doc>
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="icalcomp" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-recur.c"
               line="4963">an #ICalComponent</doc>
          <type name="ICalGLib.Component" c:type="ICalComponent*"/>
        </parameter>
        <parameter name="week_start_day" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-recur.c"
               line="4964">a day when the week starts</doc>
          <type name="GLib.DateWeekday" c:type="GDateWeekday"/>
        </parameter>
        <parameter name="flags" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-recur.c"
               line="4965">bit-or of #ECalRecurDescribeRecurrenceFlags</doc>
          <type name="guint32" c:type="guint32"/>
        </parameter>
        <parameter name="datetime_fmt_func"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="call">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-recur.c"
               line="4966">formatting function for date/time value</doc>
          <type name="RecurFormatDateTimeFunc"
                c:type="ECalRecurFormatDateTimeFunc"/>
        </parameter>
      </parameters>
    </function>
    <function name="recur_ensure_end_dates"
              c:identifier="e_cal_recur_ensure_end_dates"
              version="2.32"
              throws="1">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-recur.c"
           line="4660">This recalculates the end dates for recurrence &amp; exception rules which use
the COUNT property. If @refresh is %TRUE it will recalculate all enddates
for rules which use COUNT. If @refresh is %FALSE, it will only calculate
the enddate if it hasn't already been set. It returns %TRUE if the component
was changed, i.e. if the component should be saved at some point.
We store the enddate in the %E_CAL_EVOLUTION_ENDDATE_PARAMETER parameter of the RRULE
or EXRULE.</doc>
      <source-position filename="src/calendar/libecal/e-cal-recur.h"
                       line="108"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-recur.c"
             line="4677">%TRUE if the component was changed, %FALSE otherwise</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="comp" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-recur.c"
               line="4662">an #ECalComponent</doc>
          <type name="Component" c:type="ECalComponent*"/>
        </parameter>
        <parameter name="refresh" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-recur.c"
               line="4663">%TRUE to recalculate all end dates</doc>
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
        <parameter name="tz_cb"
                   transfer-ownership="none"
                   scope="call"
                   closure="3">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-recur.c"
               line="4664">function to call to resolve timezones</doc>
          <type name="RecurResolveTimezoneCb"
                c:type="ECalRecurResolveTimezoneCb"/>
        </parameter>
        <parameter name="tz_cb_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="3">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-recur.c"
               line="4665">user data to pass to @tz_cb</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/libecal/e-cal-recur.c"
               line="4666">optional #GCancellable object, or %NULL</doc>
          <type name="Gio.Cancellable" c:type="GCancellable*"/>
        </parameter>
      </parameters>
    </function>
    <function name="recur_generate_instances_sync"
              c:identifier="e_cal_recur_generate_instances_sync"
              version="3.20"
              throws="1">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-recur.c"
           line="359">Calls the given callback function for each occurrence of the event that
intersects the range between the given @start and @end times (the end time is
not included). Note that the occurrences may start before the given start
time.

If the callback routine returns FALSE the occurrence generation stops.

The start and end times are required valid times, start before end time.

The @get_tz_callback is used to resolve references to timezones. It is passed
a TZID and should return the ICalTimezone * corresponding to that TZID. We need to
do this as we access timezones in different ways on the client &amp; server.

The default_timezone argument is used for DTSTART or DTEND properties that
are DATE values or do not have a TZID (i.e. floating times).</doc>
      <source-position filename="src/calendar/libecal/e-cal-recur.h"
                       line="92"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-recur.c"
             line="388">%TRUE if successful (when all instances had been returned), %FALSE otherwise.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="icalcomp" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-recur.c"
               line="361">an #ICalComponent</doc>
          <type name="ICalGLib.Component" c:type="ICalComponent*"/>
        </parameter>
        <parameter name="interval_start" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-recur.c"
               line="362">an interval start, for which generate instances</doc>
          <type name="ICalGLib.Time" c:type="ICalTime*"/>
        </parameter>
        <parameter name="interval_end" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-recur.c"
               line="363">an interval end, for which generate instances</doc>
          <type name="ICalGLib.Time" c:type="ICalTime*"/>
        </parameter>
        <parameter name="callback"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="call"
                   closure="4">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-recur.c"
               line="364">a callback to be called for each instance</doc>
          <type name="RecurInstanceCb" c:type="ECalRecurInstanceCb"/>
        </parameter>
        <parameter name="callback_user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="3">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-recur.c"
               line="365">user data for @callback</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="get_tz_callback"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="call"
                   closure="6">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-recur.c"
               line="366">a callback to call when resolving timezone</doc>
          <type name="RecurResolveTimezoneCb"
                c:type="ECalRecurResolveTimezoneCb"/>
        </parameter>
        <parameter name="get_tz_callback_user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="5">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-recur.c"
               line="367">user data for @get_tz_callback</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="default_timezone" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-recur.c"
               line="368">a default #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/libecal/e-cal-recur.c"
               line="369">a #GCancellable; can be %NULL</doc>
          <type name="Gio.Cancellable" c:type="GCancellable*"/>
        </parameter>
      </parameters>
    </function>
    <function name="recur_get_localized_nth"
              c:identifier="e_cal_recur_get_localized_nth"
              version="3.28">
      <source-position filename="src/calendar/libecal/e-cal-recur.h"
                       line="115"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-recur.c"
             line="4929">Localized text for the nth position, counting from zero, which means
   for '0' it'll return "1st", for '1' it'll return "2nd" and so on, up to 30,
   when it'll return "31st".</doc>
        <type name="utf8" c:type="const gchar*"/>
      </return-value>
      <parameters>
        <parameter name="nth" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-recur.c"
               line="4927">the nth index, counting from zero</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="recur_obtain_enddate"
              c:identifier="e_cal_recur_obtain_enddate">
      <source-position filename="src/calendar/libecal/e-cal-recur.h"
                       line="103"/>
      <return-value transfer-ownership="none">
        <type name="glong" c:type="time_t"/>
      </return-value>
      <parameters>
        <parameter name="ir" transfer-ownership="none">
          <type name="ICalGLib.Recurrence" c:type="ICalRecurrence*"/>
        </parameter>
        <parameter name="prop" transfer-ownership="none">
          <type name="ICalGLib.Property" c:type="ICalProperty*"/>
        </parameter>
        <parameter name="zone" transfer-ownership="none">
          <type name="ICalGLib.Timezone" c:type="ICalTimezone*"/>
        </parameter>
        <parameter name="convert_end_date" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="system_timezone_get_location"
              c:identifier="e_cal_system_timezone_get_location"
              version="2.28">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-system-timezone.c"
           line="939">Fetches the system timezone location string.

Note: Since 3.4 the returned timezone location is either NULL or
an equivalent within known libical timezones.

The returned string should be freed with g_free().</doc>
      <source-position filename="src/calendar/libecal/e-cal-system-timezone.h"
                       line="28"/>
      <return-value transfer-ownership="full" nullable="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-system-timezone.c"
             line="949">system timezone location string, or
%NULL on an error.</doc>
        <type name="utf8" c:type="gchar*"/>
      </return-value>
    </function>
    <function name="time_add_day" c:identifier="time_add_day">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-time-util.c"
           line="55">Adds a day onto the time, using local time.
Note that if clocks go forward due to daylight savings time, there are
some non-existent local times, so the hour may be changed to make it a
valid time. This also means that it may not be wise to keep calling
time_add_day() to step through a certain period - if the hour gets changed
to make it valid time, any further calls to time_add_day() will also return
this hour, which may not be what you want.</doc>
      <source-position filename="src/calendar/libecal/e-cal-time-util.h"
                       line="80"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-time-util.c"
             line="68">a time_t value containing @time plus the days added.</doc>
        <type name="glong" c:type="time_t"/>
      </return-value>
      <parameters>
        <parameter name="time" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-time-util.c"
               line="57">A time_t value.</doc>
          <type name="glong" c:type="time_t"/>
        </parameter>
        <parameter name="days" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-time-util.c"
               line="58">Number of days to add.</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="time_add_day_with_zone"
              c:identifier="time_add_day_with_zone">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-time-util.c"
           line="148">Adds or subtracts a number of days to/from the given time_t value, using
the given timezone.
NOTE: this function is only here to make the transition to the timezone
functions easier. New code should use ICalTime values and
i_cal_time_adjust() to add or subtract days, hours, minutes &amp; seconds.</doc>
      <source-position filename="src/calendar/libecal/e-cal-time-util.h"
                       line="99"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-time-util.c"
             line="160">a time_t value containing @time plus the days added.</doc>
        <type name="glong" c:type="time_t"/>
      </return-value>
      <parameters>
        <parameter name="time" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-time-util.c"
               line="150">A time_t value.</doc>
          <type name="glong" c:type="time_t"/>
        </parameter>
        <parameter name="days" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-time-util.c"
               line="151">Number of days to add.</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="zone" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-time-util.c"
               line="152">Timezone to use.</doc>
          <type name="ICalGLib.Timezone" c:type="const ICalTimezone*"/>
        </parameter>
      </parameters>
    </function>
    <function name="time_add_month_with_zone"
              c:identifier="time_add_month_with_zone">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-time-util.c"
           line="206">Adds or subtracts a number of months to/from the given time_t value, using
the given timezone.

If the day would be off the end of the month (e.g. adding 1 month to
30th January, would lead to an invalid day, 30th February), it moves it
down to the last day in the month, e.g. 28th Feb (or 29th in a leap year.)

NOTE: this function is only here to make the transition to the timezone
functions easier. New code should use ICalTime values and
i_cal_time_adjust() to add or subtract days, hours, minutes &amp; seconds.</doc>
      <source-position filename="src/calendar/libecal/e-cal-time-util.h"
                       line="111"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-time-util.c"
             line="223">a time_t value containing @time plus the months added.</doc>
        <type name="glong" c:type="time_t"/>
      </return-value>
      <parameters>
        <parameter name="time" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-time-util.c"
               line="208">A time_t value.</doc>
          <type name="glong" c:type="time_t"/>
        </parameter>
        <parameter name="months" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-time-util.c"
               line="209">Number of months to add.</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="zone" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-time-util.c"
               line="210">Timezone to use.</doc>
          <type name="ICalGLib.Timezone" c:type="const ICalTimezone*"/>
        </parameter>
      </parameters>
    </function>
    <function name="time_add_week" c:identifier="time_add_week">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-time-util.c"
           line="83">Adds the given number of weeks to a time value.</doc>
      <source-position filename="src/calendar/libecal/e-cal-time-util.h"
                       line="82"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-time-util.c"
             line="90">a time_t value containing @time plus the weeks added.</doc>
        <type name="glong" c:type="time_t"/>
      </return-value>
      <parameters>
        <parameter name="time" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-time-util.c"
               line="85">A time_t value.</doc>
          <type name="glong" c:type="time_t"/>
        </parameter>
        <parameter name="weeks" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-time-util.c"
               line="86">Number of weeks to add.</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="time_add_week_with_zone"
              c:identifier="time_add_week_with_zone">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-time-util.c"
           line="184">Adds or subtracts a number of weeks to/from the given time_t value, using
the given timezone.
NOTE: this function is only here to make the transition to the timezone
functions easier. New code should use ICalTime values and
i_cal_time_adjust() to add or subtract days, hours, minutes &amp; seconds.</doc>
      <source-position filename="src/calendar/libecal/e-cal-time-util.h"
                       line="105"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-time-util.c"
             line="196">a time_t value containing @time plus the weeks added.</doc>
        <type name="glong" c:type="time_t"/>
      </return-value>
      <parameters>
        <parameter name="time" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-time-util.c"
               line="186">A time_t value.</doc>
          <type name="glong" c:type="time_t"/>
        </parameter>
        <parameter name="weeks" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-time-util.c"
               line="187">Number of weeks to add.</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="zone" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-time-util.c"
               line="188">Timezone to use.</doc>
          <type name="ICalGLib.Timezone" c:type="const ICalTimezone*"/>
        </parameter>
      </parameters>
    </function>
    <function name="time_day_begin" c:identifier="time_day_begin">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-time-util.c"
           line="99">Returns the start of the day, according to the local time.</doc>
      <source-position filename="src/calendar/libecal/e-cal-time-util.h"
                       line="86"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-time-util.c"
             line="105">the time corresponding to the beginning of the day.</doc>
        <type name="glong" c:type="time_t"/>
      </return-value>
      <parameters>
        <parameter name="t" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-time-util.c"
               line="101">A time_t value.</doc>
          <type name="glong" c:type="time_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="time_day_begin_with_zone"
              c:identifier="time_day_begin_with_zone">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-time-util.c"
           line="388">Returns the start of the day containing the given time_t, using the given
timezone.
NOTE: this function is only here to make the transition to the timezone
functions easier. New code should use ICalTime values and
i_cal_time_adjust() to add or subtract days, hours, minutes &amp; seconds.</doc>
      <source-position filename="src/calendar/libecal/e-cal-time-util.h"
                       line="137"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-time-util.c"
             line="399">the beginning of the day.</doc>
        <type name="glong" c:type="time_t"/>
      </return-value>
      <parameters>
        <parameter name="time" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-time-util.c"
               line="390">A time_t value.</doc>
          <type name="glong" c:type="time_t"/>
        </parameter>
        <parameter name="zone" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-time-util.c"
               line="391">Timezone to use.</doc>
          <type name="ICalGLib.Timezone" c:type="const ICalTimezone*"/>
        </parameter>
      </parameters>
    </function>
    <function name="time_day_end" c:identifier="time_day_end">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-time-util.c"
           line="119">Returns the end of the day, according to the local time.</doc>
      <source-position filename="src/calendar/libecal/e-cal-time-util.h"
                       line="87"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-time-util.c"
             line="125">the time corresponding to the end of the day.</doc>
        <type name="glong" c:type="time_t"/>
      </return-value>
      <parameters>
        <parameter name="t" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-time-util.c"
               line="121">A time_t value.</doc>
          <type name="glong" c:type="time_t"/>
        </parameter>
      </parameters>
    </function>
    <function name="time_day_end_with_zone"
              c:identifier="time_day_end_with_zone">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-time-util.c"
           line="426">Returns the end of the day containing the given time_t, using the given
timezone. (The end of the day is the start of the next day.)
NOTE: this function is only here to make the transition to the timezone
functions easier. New code should use ICalTime values and
i_cal_time_adjust() to add or subtract days, hours, minutes &amp; seconds.</doc>
      <source-position filename="src/calendar/libecal/e-cal-time-util.h"
                       line="142"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-time-util.c"
             line="437">the end of the day.</doc>
        <type name="glong" c:type="time_t"/>
      </return-value>
      <parameters>
        <parameter name="time" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-time-util.c"
               line="428">A time_t value.</doc>
          <type name="glong" c:type="time_t"/>
        </parameter>
        <parameter name="zone" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-time-util.c"
               line="429">Timezone to use.</doc>
          <type name="ICalGLib.Timezone" c:type="const ICalTimezone*"/>
        </parameter>
      </parameters>
    </function>
    <function name="time_day_of_week" c:identifier="time_day_of_week">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-time-util.c"
           line="553">Returns the day of the week for the specified date, 0 (Sun) to 6 (Sat).
For the days that were removed on the Gregorian reformation, it returns
Thursday. Year is the normal year, e.g. 2001. Month is 0 to 11.</doc>
      <source-position filename="src/calendar/libecal/e-cal-time-util.h"
                       line="54"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-time-util.c"
             line="563">the day of the week for the given date.</doc>
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="day" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-time-util.c"
               line="555">The day.</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="month" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-time-util.c"
               line="556">The month.</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="year" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-time-util.c"
               line="557">The year.</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="time_day_of_year" c:identifier="time_day_of_year">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-time-util.c"
           line="525">Returns the 1-based day number within the year of the specified date.
Year is the normal year, e.g. 2001. Month is 0 to 11.</doc>
      <source-position filename="src/calendar/libecal/e-cal-time-util.h"
                       line="47"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-time-util.c"
             line="534">the day of the year.</doc>
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="day" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-time-util.c"
               line="527">The day.</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="month" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-time-util.c"
               line="528">The month.</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="year" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-time-util.c"
               line="529">The year.</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="time_days_in_month" c:identifier="time_days_in_month">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-time-util.c"
           line="499">Returns the number of days in the month. Year is the normal year, e.g. 2001.
Month is 0 (Jan) to 11 (Dec).</doc>
      <source-position filename="src/calendar/libecal/e-cal-time-util.h"
                       line="42"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-time-util.c"
             line="507">number of days in the given month/year.</doc>
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="year" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-time-util.c"
               line="501">The year.</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="month" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-time-util.c"
               line="502">The month.</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="time_from_isodate" c:identifier="time_from_isodate">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-time-util.c"
           line="651">Converts an ISO 8601 UTC time string into a time_t value.</doc>
      <source-position filename="src/calendar/libecal/e-cal-time-util.h"
                       line="69"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-time-util.c"
             line="657">Time_t corresponding to the specified ISO string.
Note that we only allow UTC times at present.</doc>
        <type name="glong" c:type="time_t"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-time-util.c"
               line="653">Date/time value in ISO 8601 format.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="time_is_leap_year" c:identifier="time_is_leap_year">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-time-util.c"
           line="584">Returns whether the specified year is a leap year. Year is the normal year,
e.g. 2001.</doc>
      <source-position filename="src/calendar/libecal/e-cal-time-util.h"
                       line="60"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-time-util.c"
             line="591">TRUE if the year is leap, FALSE if not.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="year" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-time-util.c"
               line="586">The year.</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="time_leap_years_up_to"
              c:identifier="time_leap_years_up_to">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-time-util.c"
           line="602">Returns the number of leap years since year 1 up to (but not including) the
specified year. Year is the normal year, e.g. 2001.</doc>
      <source-position filename="src/calendar/libecal/e-cal-time-util.h"
                       line="64"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-time-util.c"
             line="609">number of leap years.</doc>
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="year" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-time-util.c"
               line="604">The year.</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="time_month_begin_with_zone"
              c:identifier="time_month_begin_with_zone">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-time-util.c"
           line="301">Returns the start of the month containing the given time_t, using the given
timezone.
NOTE: this function is only here to make the transition to the timezone
functions easier. New code should use ICalTime values and
i_cal_time_adjust() to add or subtract days, hours, minutes &amp; seconds.</doc>
      <source-position filename="src/calendar/libecal/e-cal-time-util.h"
                       line="123"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-time-util.c"
             line="312">the beginning of the month.</doc>
        <type name="glong" c:type="time_t"/>
      </return-value>
      <parameters>
        <parameter name="time" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-time-util.c"
               line="303">A time_t value.</doc>
          <type name="glong" c:type="time_t"/>
        </parameter>
        <parameter name="zone" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-time-util.c"
               line="304">Timezone to use.</doc>
          <type name="ICalGLib.Timezone" c:type="const ICalTimezone*"/>
        </parameter>
      </parameters>
    </function>
    <function name="time_to_gdate_with_zone"
              c:identifier="time_to_gdate_with_zone">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-time-util.c"
           line="466">Converts a time_t value to a #GDate structure using the specified timezone.
This is analogous to g_date_set_time() but takes the timezone into account.</doc>
      <source-position filename="src/calendar/libecal/e-cal-time-util.h"
                       line="145"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="date" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-time-util.c"
               line="468">Destination #GDate value.</doc>
          <type name="GLib.Date" c:type="GDate*"/>
        </parameter>
        <parameter name="time" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-time-util.c"
               line="469">A time value.</doc>
          <type name="glong" c:type="time_t"/>
        </parameter>
        <parameter name="zone"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-time-util.c"
               line="470">Desired timezone for destination @date, or %NULL if
   the UTC timezone is desired.</doc>
          <type name="ICalGLib.Timezone" c:type="const ICalTimezone*"/>
        </parameter>
      </parameters>
    </function>
    <function name="time_week_begin_with_zone"
              c:identifier="time_week_begin_with_zone">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-time-util.c"
           line="338">Returns the start of the week containing the given time_t, using the given
timezone. week_start_day should use the same values as mktime(),
i.e. 0 (Sun) to 6 (Sat).
NOTE: this function is only here to make the transition to the timezone
functions easier. New code should use ICalTime values and
i_cal_time_adjust() to add or subtract days, hours, minutes &amp; seconds.</doc>
      <source-position filename="src/calendar/libecal/e-cal-time-util.h"
                       line="130"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-time-util.c"
             line="351">the beginning of the week.</doc>
        <type name="glong" c:type="time_t"/>
      </return-value>
      <parameters>
        <parameter name="time" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-time-util.c"
               line="340">A time_t value.</doc>
          <type name="glong" c:type="time_t"/>
        </parameter>
        <parameter name="week_start_day" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-time-util.c"
               line="341">Day to use as the starting of the week.</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="zone" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-time-util.c"
               line="342">Timezone to use.</doc>
          <type name="ICalGLib.Timezone" c:type="const ICalTimezone*"/>
        </parameter>
      </parameters>
    </function>
    <function name="time_year_begin_with_zone"
              c:identifier="time_year_begin_with_zone">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-time-util.c"
           line="263">Returns the start of the year containing the given time_t, using the given
timezone.
NOTE: this function is only here to make the transition to the timezone
functions easier. New code should use ICalTime values and
i_cal_time_adjust() to add or subtract days, hours, minutes &amp; seconds.</doc>
      <source-position filename="src/calendar/libecal/e-cal-time-util.h"
                       line="117"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-time-util.c"
             line="274">the beginning of the year.</doc>
        <type name="glong" c:type="time_t"/>
      </return-value>
      <parameters>
        <parameter name="time" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-time-util.c"
               line="265">A time_t value.</doc>
          <type name="glong" c:type="time_t"/>
        </parameter>
        <parameter name="zone" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-time-util.c"
               line="266">Timezone to use.</doc>
          <type name="ICalGLib.Timezone" c:type="const ICalTimezone*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_add_timezones_from_component"
              c:identifier="e_cal_util_add_timezones_from_component">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.c"
           line="991">Adds VTIMEZONE components to a VCALENDAR for all tzid's
in the given @icalcomp.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="267"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="vcal_comp" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="993">A VCALENDAR component.</doc>
          <type name="ICalGLib.Component" c:type="ICalComponent*"/>
        </parameter>
        <parameter name="icalcomp" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="994">An iCalendar component, of any type.</doc>
          <type name="ICalGLib.Component" c:type="ICalComponent*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_clamp_vtimezone"
              c:identifier="e_cal_util_clamp_vtimezone"
              version="3.40">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.c"
           line="3085">Modifies the @vtimezone to include only subcomponents influencing
the passed-in time interval between @from and @to.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="375"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="vtimezone"
                   direction="inout"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="3087">a VTIMEZONE component to modify</doc>
          <type name="ICalGLib.Component" c:type="ICalComponent*"/>
        </parameter>
        <parameter name="from" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="3088">an #ICalTime for the minimum time</doc>
          <type name="ICalGLib.Time" c:type="const ICalTime*"/>
        </parameter>
        <parameter name="to"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="3089">until which time to clamp, or %NULL for infinity</doc>
          <type name="ICalGLib.Time" c:type="const ICalTime*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_clamp_vtimezone_by_component"
              c:identifier="e_cal_util_clamp_vtimezone_by_component"
              version="3.40">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.c"
           line="3118">Similar to e_cal_util_clamp_vtimezone(), only reads the clamp
times from the @component.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="378"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="vtimezone"
                   direction="inout"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="3120">a VTIMEZONE component to modify</doc>
          <type name="ICalGLib.Component" c:type="ICalComponent*"/>
        </parameter>
        <parameter name="component" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="3121">an #ICalComponent to read the times from</doc>
          <type name="ICalGLib.Component" c:type="ICalComponent*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_component_dup_x_property"
              c:identifier="e_cal_util_component_dup_x_property"
              version="3.34">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.c"
           line="2262">Searches for an X property named @x_name within X properties
of @icalcomp and returns its value as a newly allocated string.
Free it with g_free(), when no longer needed.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="337"/>
      <return-value transfer-ownership="full" nullable="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-util.c"
             line="2271">Newly allocated value of the first @x_name
   X property in @icalcomp, or %NULL, if not found.</doc>
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="icalcomp" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="2264">an #ICalComponent</doc>
          <type name="ICalGLib.Component" c:type="ICalComponent*"/>
        </parameter>
        <parameter name="x_name" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="2265">name of the X property</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_component_find_property_for_locale"
              c:identifier="e_cal_util_component_find_property_for_locale"
              version="3.46">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.c"
           line="3213">Searches properties of kind @prop_kind in the @icalcomp and returns
one, which is usable for the @locale. When @locale is %NULL,
the current locale is assumed. If no such property for the locale
exists either the one with no language parameter or the first
found is returned.

Free the returned non-NULL #ICalProperty with g_object_unref(),
when no longer needed.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="381"/>
      <return-value transfer-ownership="full" nullable="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-util.c"
             line="3228">a property of kind @prop_kind for the @locale,
   %NULL if no such property is set on the @comp.</doc>
        <type name="ICalGLib.Property" c:type="ICalProperty*"/>
      </return-value>
      <parameters>
        <parameter name="icalcomp" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="3215">an #ICalComponent</doc>
          <type name="ICalGLib.Component" c:type="ICalComponent*"/>
        </parameter>
        <parameter name="prop_kind" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="3216">an #ICalPropertyKind to traverse</doc>
          <type name="ICalGLib.PropertyKind" c:type="ICalPropertyKind"/>
        </parameter>
        <parameter name="locale"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="3217">a locale identifier, or %NULL</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_component_find_x_property"
              c:identifier="e_cal_util_component_find_x_property"
              version="3.34">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.c"
           line="2227">Searches for an X property named @x_name within X properties
of @icalcomp and returns it. Free the non-NULL object
with g_object_unref(), when no longer needed.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="334"/>
      <return-value transfer-ownership="full" nullable="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-util.c"
             line="2236">the first X ICalProperty named
   @x_name, or %NULL, when none found.</doc>
        <type name="ICalGLib.Property" c:type="ICalProperty*"/>
      </return-value>
      <parameters>
        <parameter name="icalcomp" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="2229">an #ICalComponent</doc>
          <type name="ICalGLib.Component" c:type="ICalComponent*"/>
        </parameter>
        <parameter name="x_name" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="2230">name of the X property</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_component_get_recurid_as_string"
              c:identifier="e_cal_util_component_get_recurid_as_string"
              version="3.34">
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="288"/>
      <return-value transfer-ownership="full" nullable="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-util.c"
             line="1149">a RECURRENCEID property as string,
   or %NULL, when the @icalcomp is not an instance. Free the returned
   string with g_free(), when no longer needed.</doc>
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="icalcomp" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="1147">an #ICalComponent</doc>
          <type name="ICalGLib.Component" c:type="ICalComponent*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_component_has_alarms"
              c:identifier="e_cal_util_component_has_alarms">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.c"
           line="1088">Checks whether an #ICalComponent has any alarm.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="279"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-util.c"
             line="1094">TRUE if it has alarms, FALSE otherwise.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="icalcomp" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="1090">An #ICalComponent.</doc>
          <type name="ICalGLib.Component" c:type="ICalComponent*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_component_has_attendee"
              c:identifier="e_cal_util_component_has_attendee">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.c"
           line="1129">Checks if an #ICalComponent has any attendees.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="286"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-util.c"
             line="1135">TRUE if there are attendees, FALSE if not.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="icalcomp" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="1131">An #ICalComponent.</doc>
          <type name="ICalGLib.Component" c:type="ICalComponent*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_component_has_organizer"
              c:identifier="e_cal_util_component_has_organizer">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.c"
           line="1113">Checks whether an #ICalComponent has an organizer.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="280"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-util.c"
             line="1119">TRUE if there is an organizer, FALSE if not.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="icalcomp" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="1115">An #ICalComponent.</doc>
          <type name="ICalGLib.Component" c:type="ICalComponent*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_component_has_property"
              c:identifier="e_cal_util_component_has_property"
              version="3.34">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.c"
           line="1042">Returns, whether the @icalcomp has a property of @prop_kind. To check
for a specific X property use e_cal_util_component_has_x_property().</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="274"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-util.c"
             line="1050">whether the @icalcomp has a property of @prop_kind</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="icalcomp" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="1044">an #ICalComponent</doc>
          <type name="ICalGLib.Component" c:type="ICalComponent*"/>
        </parameter>
        <parameter name="prop_kind" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="1045">a property kind to look for, as an %ICalPropertyKind</doc>
          <type name="ICalGLib.PropertyKind" c:type="ICalPropertyKind"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_component_has_rdates"
              c:identifier="e_cal_util_component_has_rdates">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.c"
           line="1200">Checks if an #ICalComponent has recurrence dates.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="284"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-util.c"
             line="1206">TRUE if there are recurrence dates, FALSE if not.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="icalcomp" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="1202">An #ICalComponent.</doc>
          <type name="ICalGLib.Component" c:type="ICalComponent*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_component_has_recurrences"
              c:identifier="e_cal_util_component_has_recurrences">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.c"
           line="1183">Checks if an #ICalComponent has recurrence dates or rules.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="282"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-util.c"
             line="1189">TRUE if there are recurrence dates/rules, FALSE if not.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="icalcomp" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="1185">An #ICalComponent.</doc>
          <type name="ICalGLib.Component" c:type="ICalComponent*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_component_has_rrules"
              c:identifier="e_cal_util_component_has_rrules">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.c"
           line="1216">Checks if an #ICalComponent has recurrence rules.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="285"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-util.c"
             line="1222">TRUE if there are recurrence rules, FALSE if not.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="icalcomp" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="1218">An #ICalComponent.</doc>
          <type name="ICalGLib.Component" c:type="ICalComponent*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_component_has_x_property"
              c:identifier="e_cal_util_component_has_x_property"
              version="3.34">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.c"
           line="2195">Returns, whether the @icalcomp contains X property named @x_name. To check
for standard property use e_cal_util_component_has_property().</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="331"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-util.c"
             line="2203">whether the @icalcomp contains X property named @x_name</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="icalcomp" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="2197">an #ICalComponent</doc>
          <type name="ICalGLib.Component" c:type="ICalComponent*"/>
        </parameter>
        <parameter name="x_name" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="2198">name of the X property</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_component_is_instance"
              c:identifier="e_cal_util_component_is_instance">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.c"
           line="1072">Checks whether an #ICalComponent is an instance of a recurring appointment.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="277"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-util.c"
             line="1078">TRUE if it is an instance, FALSE if not.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="icalcomp" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="1074">An #ICalComponent.</doc>
          <type name="ICalGLib.Component" c:type="ICalComponent*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_component_remove_property_by_kind"
              c:identifier="e_cal_util_component_remove_property_by_kind"
              version="3.30">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.c"
           line="2367">Removes all or only the first property of kind @kind in @icalcomp.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="347"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-util.c"
             line="2375">How many properties had been removed.</doc>
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="icalcomp" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="2369">an #ICalComponent</doc>
          <type name="ICalGLib.Component" c:type="ICalComponent*"/>
        </parameter>
        <parameter name="kind" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="2370">the kind of the property to remove</doc>
          <type name="ICalGLib.PropertyKind" c:type="ICalPropertyKind"/>
        </parameter>
        <parameter name="all" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="2371">%TRUE to remove all, or %FALSE to remove only the first property of the @kind</doc>
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_component_remove_x_property"
              c:identifier="e_cal_util_component_remove_x_property"
              version="3.34">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.c"
           line="2337">Removes the first X property named @x_name in @icalcomp.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="344"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-util.c"
             line="2344">%TRUE, when any such had been found and removed, %FALSE otherwise.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="icalcomp" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="2339">an #ICalComponent</doc>
          <type name="ICalGLib.Component" c:type="ICalComponent*"/>
        </parameter>
        <parameter name="x_name" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="2340">name of the X property</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_component_set_x_property"
              c:identifier="e_cal_util_component_set_x_property"
              version="3.34">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.c"
           line="2298">Sets a value of the first X property named @x_name in @icalcomp,
if any such already exists, or adds a new property with this name
and value. As a special case, if @value is %NULL, then removes
the first X property named @x_name from @icalcomp instead.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="340"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="icalcomp" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="2300">an #ICalComponent</doc>
          <type name="ICalGLib.Component" c:type="ICalComponent*"/>
        </parameter>
        <parameter name="x_name" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="2301">name of the X property</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="value"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="2302">a value to set, or %NULL</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_conflict_resolution_to_operation_flags"
              c:identifier="e_cal_util_conflict_resolution_to_operation_flags"
              version="3.34">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.c"
           line="2835">Encodes the #EConflictResolution into the bit-or of #ECalOperationFlags.
The returned value can be bit-or-ed with other #ECalOperationFlags values.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="365"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-util.c"
             line="2842">a bit-or of #ECalOperationFlags, corresponding to the @conflict_resolution</doc>
        <type name="guint32" c:type="guint32"/>
      </return-value>
      <parameters>
        <parameter name="conflict_resolution" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="2837">an #EConflictResolution</doc>
          <type name="EDataServer.ConflictResolution"
                c:type="EConflictResolution"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_construct_instance"
              c:identifier="e_cal_util_construct_instance">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.c"
           line="1250">This checks that @rid indicates a valid recurrence of @icalcomp, and
if so, generates a copy of @icalcomp containing a RECURRENCE-ID of @rid.

Free the returned non-NULL component with g_object_unref(), when
no longer needed.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="290"/>
      <return-value transfer-ownership="full" nullable="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-util.c"
             line="1261">the instance as a new #ICalComponent, or %NULL.</doc>
        <type name="ICalGLib.Component" c:type="ICalComponent*"/>
      </return-value>
      <parameters>
        <parameter name="icalcomp" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="1252">A recurring #ICalComponent</doc>
          <type name="ICalGLib.Component" c:type="ICalComponent*"/>
        </parameter>
        <parameter name="rid" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="1253">The RECURRENCE-ID to construct a component for</doc>
          <type name="ICalGLib.Time" c:type="const ICalTime*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_copy_timezone"
              c:identifier="e_cal_util_copy_timezone"
              version="3.34">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.c"
           line="99">Copies the @zone together with its inner component and
returns it as a new #ICalTimezone object. Free it with
g_object_unref(), when no longer needed.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="238"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-util.c"
             line="107">a copy of the @zone</doc>
        <type name="ICalGLib.Timezone" c:type="ICalTimezone*"/>
      </return-value>
      <parameters>
        <parameter name="zone" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="101">an ICalTimezone</doc>
          <type name="ICalGLib.Timezone" c:type="const ICalTimezone*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_generate_alarms_for_comp"
              c:identifier="e_cal_util_generate_alarms_for_comp">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.c"
           line="688">Generates alarm instances for a calendar component. Returns the instances
structure, or %NULL if no alarm instances occurred in the specified time
range. Free the returned structure with e_cal_component_alarms_free(),
when no longer needed.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="244"/>
      <return-value transfer-ownership="full" nullable="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-util.c"
             line="705">a list of all the alarms found
   for the given component in the given time range.</doc>
        <type name="ComponentAlarms" c:type="ECalComponentAlarms*"/>
      </return-value>
      <parameters>
        <parameter name="comp" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="690">The #ECalComponent to generate alarms from</doc>
          <type name="Component" c:type="ECalComponent*"/>
        </parameter>
        <parameter name="start" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="691">Start time</doc>
          <type name="glong" c:type="time_t"/>
        </parameter>
        <parameter name="end" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="692">End time</doc>
          <type name="glong" c:type="time_t"/>
        </parameter>
        <parameter name="omit" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="693">Alarm types to omit</doc>
          <type name="ComponentAlarmAction"
                c:type="ECalComponentAlarmAction*"/>
        </parameter>
        <parameter name="resolve_tzid"
                   transfer-ownership="none"
                   scope="call"
                   closure="5">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="694">Callback for resolving
timezones</doc>
          <type name="RecurResolveTimezoneCb"
                c:type="ECalRecurResolveTimezoneCb"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="696">Data to be passed to the resolve_tzid callback</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="default_timezone" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="697">The timezone used to resolve DATE and floating DATE-TIME
values.</doc>
          <type name="ICalGLib.Timezone" c:type="ICalTimezone*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_generate_alarms_for_list"
              c:identifier="e_cal_util_generate_alarms_for_list">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.c"
           line="765">Iterates through all the components in the @comps list and generates alarm
instances for them; putting them in the @comp_alarms list. Free the @comp_alarms
with g_slist_free_full (comp_alarms, e_cal_component_alarms_free);, when
no longer neeed.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="252"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-util.c"
             line="784">the number of elements it added to the list</doc>
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="comps" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="767">List of #ECalComponent&lt;!-- --&gt;s</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Component"/>
          </type>
        </parameter>
        <parameter name="start" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="768">Start time</doc>
          <type name="glong" c:type="time_t"/>
        </parameter>
        <parameter name="end" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="769">End time</doc>
          <type name="glong" c:type="time_t"/>
        </parameter>
        <parameter name="omit" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="770">Alarm types to omit</doc>
          <type name="ComponentAlarmAction"
                c:type="ECalComponentAlarmAction*"/>
        </parameter>
        <parameter name="comp_alarms"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="771">List
to be returned</doc>
          <type name="GLib.SList" c:type="GSList**">
            <type name="ComponentAlarms"/>
          </type>
        </parameter>
        <parameter name="resolve_tzid"
                   transfer-ownership="none"
                   scope="call"
                   closure="6">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="773">Callback for resolving
timezones</doc>
          <type name="RecurResolveTimezoneCb"
                c:type="ECalRecurResolveTimezoneCb"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="775">Data to be passed to the resolve_tzid callback</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="default_timezone" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="776">The timezone used to resolve DATE and floating DATE-TIME
values.</doc>
          <type name="ICalGLib.Timezone" c:type="ICalTimezone*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_get_component_occur_times"
              c:identifier="e_cal_util_get_component_occur_times"
              version="2.32">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.c"
           line="2014">Find out when the component starts and stops, being careful about
recurrences.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="322"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="comp" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="2016">an #ECalComponent</doc>
          <type name="Component" c:type="ECalComponent*"/>
        </parameter>
        <parameter name="out_start"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="2017">Location to store the start time</doc>
          <type name="glong" c:type="time_t*"/>
        </parameter>
        <parameter name="out_end"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="2018">Location to store the end time</doc>
          <type name="glong" c:type="time_t*"/>
        </parameter>
        <parameter name="tz_cb"
                   transfer-ownership="none"
                   scope="call"
                   closure="4">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="2019">The #ECalRecurResolveTimezoneCb to call</doc>
          <type name="RecurResolveTimezoneCb"
                c:type="ECalRecurResolveTimezoneCb"/>
        </parameter>
        <parameter name="tz_cb_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="2020">User data to be passed to the @tz_cb callback</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="default_timezone" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="2021">The default timezone</doc>
          <type name="ICalGLib.Timezone" c:type="const ICalTimezone*"/>
        </parameter>
        <parameter name="kind" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="2022">the type of component, indicated with an #ICalComponentKind</doc>
          <type name="ICalGLib.ComponentKind" c:type="ICalComponentKind"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_get_system_timezone"
              c:identifier="e_cal_util_get_system_timezone"
              version="2.28">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.c"
           line="1959">Fetches system timezone ICalTimezone object.

The returned pointer is part of the built-in timezones and should not be freed.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="321"/>
      <return-value transfer-ownership="none" nullable="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-util.c"
             line="1966">The ICalTimezone object of the system timezone, or %NULL on an error.</doc>
        <type name="ICalGLib.Timezone" c:type="ICalTimezone*"/>
      </return-value>
    </function>
    <function name="util_get_system_timezone_location"
              c:identifier="e_cal_util_get_system_timezone_location"
              version="2.28">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.c"
           line="1943">Fetches system timezone localtion string.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="320"/>
      <return-value transfer-ownership="full" nullable="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-util.c"
             line="1948">system timezone location string, %NULL
on an error.</doc>
        <type name="utf8" c:type="gchar*"/>
      </return-value>
    </function>
    <function name="util_icaltime_to_tm"
              c:identifier="e_cal_util_icaltime_to_tm"
              version="2.22">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-time-util.c"
           line="716">Converts an #ICalTime into a GLibc's struct tm.</doc>
      <source-position filename="src/calendar/libecal/e-cal-time-util.h"
                       line="153"/>
      <return-value transfer-ownership="none" nullable="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-time-util.c"
             line="722">The converted time as a struct tm. All fields will be
   set properly except for tm.tm_yday.</doc>
        <type name="gpointer" c:type="tm"/>
      </return-value>
      <parameters>
        <parameter name="itt" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-time-util.c"
               line="718">An #ICalTime</doc>
          <type name="ICalGLib.Time" c:type="const ICalTime*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_icaltime_to_tm_with_zone"
              c:identifier="e_cal_util_icaltime_to_tm_with_zone"
              version="2.22">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-time-util.c"
           line="752">Converts a time value from one timezone to another, and returns a struct tm
representation of the time.</doc>
      <source-position filename="src/calendar/libecal/e-cal-time-util.h"
                       line="155"/>
      <return-value transfer-ownership="none" nullable="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-time-util.c"
             line="761">The converted time as a struct tm. All fields will be
   set properly except for tm.tm_yday.</doc>
        <type name="gpointer" c:type="tm"/>
      </return-value>
      <parameters>
        <parameter name="itt" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-time-util.c"
               line="754">A time value.</doc>
          <type name="ICalGLib.Time" c:type="const ICalTime*"/>
        </parameter>
        <parameter name="from_zone" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-time-util.c"
               line="755">Source timezone.</doc>
          <type name="ICalGLib.Timezone" c:type="const ICalTimezone*"/>
        </parameter>
        <parameter name="to_zone" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-time-util.c"
               line="756">Destination timezone.</doc>
          <type name="ICalGLib.Timezone" c:type="const ICalTimezone*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_init_recur_task_sync"
              c:identifier="e_cal_util_init_recur_task_sync"
              version="3.30"
              throws="1">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.c"
           line="2540">Initializes properties of a recurring @vtodo, like normalizing
the Due date and eventually the Start date. The function does
nothing when the @vtodo is not recurring.

The function doesn't change LAST-MODIFIED neither the SEQUENCE
property, it's up to the caller to do it.

Note the @cal_client, @cancellable and @error is used only
for timezone resolution. The function doesn't store the @vtodo
to the @cal_client, it only updates the @vtodo component.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="352"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-util.c"
             line="2558">Whether succeeded.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="vtodo" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="2542">a VTODO component</doc>
          <type name="ICalGLib.Component" c:type="ICalComponent*"/>
        </parameter>
        <parameter name="cal_client" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="2543">an #ECalClient to which the @vtodo belongs</doc>
          <type name="Client" c:type="_ECalClient*"/>
        </parameter>
        <parameter name="cancellable"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="2544">optional #GCancellable object, or %NULL</doc>
          <type name="Gio.Cancellable" c:type="GCancellable*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_inline_local_attachments_sync"
              c:identifier="e_cal_util_inline_local_attachments_sync"
              version="3.40"
              throws="1">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.c"
           line="2885">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.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="367"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-util.c"
             line="2895">Whether succeeded.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="component" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="2887">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/libecal/e-cal-util.c"
               line="2888">optional #GCancellable object, or %NULL</doc>
          <type name="Gio.Cancellable" c:type="GCancellable*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_is_first_instance"
              c:identifier="e_cal_util_is_first_instance"
              version="3.16">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.c"
           line="1893">Returns whether the given @rid is the first instance of
the recurrence defined in the @comp.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="315"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-util.c"
             line="1903">Whether the @rid identifies the first instance of @comp.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="comp" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="1895">an #ECalComponent instance</doc>
          <type name="Component" c:type="ECalComponent*"/>
        </parameter>
        <parameter name="rid" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="1896">a recurrence ID</doc>
          <type name="ICalGLib.Time" c:type="const ICalTime*"/>
        </parameter>
        <parameter name="tz_cb"
                   transfer-ownership="none"
                   scope="call"
                   closure="3">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="1897">The #ECalRecurResolveTimezoneCb to call</doc>
          <type name="RecurResolveTimezoneCb"
                c:type="ECalRecurResolveTimezoneCb"/>
        </parameter>
        <parameter name="tz_cb_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="1898">User data to be passed to the @tz_cb callback</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_mark_task_complete_sync"
              c:identifier="e_cal_util_mark_task_complete_sync"
              version="3.30"
              throws="1">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.c"
           line="2604">Marks the @vtodo as complete with eventual update of other
properties. This is useful also for recurring tasks, for which
it moves the @vtodo into the next occurrence according to
the recurrence rule.

When the @vtodo is marked as completed, then the existing COMPLETED
date-time is preserved if exists, otherwise it's set either to @completed_time,
or to the current time, when the @completed_time is (time_t) -1.

The function doesn't change LAST-MODIFIED neither the SEQUENCE
property, it's up to the caller to do it.

Note the @cal_client, @cancellable and @error is used only
for timezone resolution. The function doesn't store the @vtodo
to the @cal_client, it only updates the @vtodo component.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="356"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-util.c"
             line="2628">Whether succeeded.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="vtodo" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="2606">a VTODO component</doc>
          <type name="ICalGLib.Component" c:type="ICalComponent*"/>
        </parameter>
        <parameter name="completed_time" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="2607">completed time to set, or (time_t) -1 to use current time</doc>
          <type name="glong" c:type="time_t"/>
        </parameter>
        <parameter name="cal_client" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="2608">an #ECalClient to which the @vtodo belongs</doc>
          <type name="Client" c:type="_ECalClient*"/>
        </parameter>
        <parameter name="cancellable"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="2609">optional #GCancellable object, or %NULL</doc>
          <type name="Gio.Cancellable" c:type="GCancellable*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_new_component"
              c:identifier="e_cal_util_new_component">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.c"
           line="72">Creates a new #ICalComponent of the specified kind. Free it
with g_object_unref(), when no longer needed.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="237"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-util.c"
             line="79">the newly created component.</doc>
        <type name="ICalGLib.Component" c:type="ICalComponent*"/>
      </return-value>
      <parameters>
        <parameter name="kind" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="74">Kind of the component to create, as #ICalComponentKind.</doc>
          <type name="ICalGLib.ComponentKind" c:type="ICalComponentKind"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_new_top_level"
              c:identifier="e_cal_util_new_top_level">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.c"
           line="39">Creates a new VCALENDAR component. Free it with g_object_unref(),
when no longer needed.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="236"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-util.c"
             line="45">the newly created top level component.</doc>
        <type name="ICalGLib.Component" c:type="ICalComponent*"/>
      </return-value>
    </function>
    <function name="util_normalize_rrule_until_value"
              c:identifier="e_cal_util_normalize_rrule_until_value"
              version="3.38">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.c"
           line="1316">Makes sure the @ttuntil value matches the value type with
the DTSTART value, as required by RFC 5545 section 3.3.10.
Uses @tz_cb with @tz_cb_data to resolve time zones when needed.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="300"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="icalcomp" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="1318">An #ICalComponent</doc>
          <type name="ICalGLib.Component" c:type="ICalComponent*"/>
        </parameter>
        <parameter name="ttuntil" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="1319">An UNTIL value to validate</doc>
          <type name="ICalGLib.Time" c:type="ICalTime*"/>
        </parameter>
        <parameter name="tz_cb"
                   transfer-ownership="none"
                   scope="call"
                   closure="3">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="1320">The #ECalRecurResolveTimezoneCb to call</doc>
          <type name="RecurResolveTimezoneCb"
                c:type="ECalRecurResolveTimezoneCb"/>
        </parameter>
        <parameter name="tz_cb_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="1321">User data to be passed to the @tz_cb callback</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_operation_flags_to_conflict_resolution"
              c:identifier="e_cal_util_operation_flags_to_conflict_resolution"
              version="3.34">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.c"
           line="2809">Decodes the #EConflictResolution from the bit-or of #ECalOperationFlags.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="363"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-util.c"
             line="2815">an #EConflictResolution as stored in the @flags</doc>
        <type name="EDataServer.ConflictResolution"
              c:type="EConflictResolution"/>
      </return-value>
      <parameters>
        <parameter name="flags" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="2811">bit-or of #ECalOperationFlags</doc>
          <type name="guint32" c:type="guint32"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_parse_ics_file"
              c:identifier="e_cal_util_parse_ics_file">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.c"
           line="276">Parses the given file, and, if it contains a valid iCalendar object,
parse it and return a new #ICalComponent.

Free the returned non-NULL component with g_object_unref(), when no longer needed.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="241"/>
      <return-value transfer-ownership="full" nullable="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-util.c"
             line="285">a newly created #ICalComponent, or %NULL,
   if the file doesn't contain a valid iCalendar object.</doc>
        <type name="ICalGLib.Component" c:type="ICalComponent*"/>
      </return-value>
      <parameters>
        <parameter name="filename" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="278">Name of the file to be parsed.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_parse_ics_string"
              c:identifier="e_cal_util_parse_ics_string">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.c"
           line="163">Parses an iCalendar string and returns a new #ICalComponent representing
that string. Note that this function deals with multiple VCALENDAR's in the
string, something that Mozilla used to do and which libical does not
support.

Free the returned non-NULL component with g_object_unref(), when no longer needed.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="240"/>
      <return-value transfer-ownership="full" nullable="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-util.c"
             line="174">a newly created #ICalComponent, or %NULL,
   if the string isn't a valid iCalendar string.</doc>
        <type name="ICalGLib.Component" c:type="ICalComponent*"/>
      </return-value>
      <parameters>
        <parameter name="string" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="165">iCalendar string to be parsed.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_priority_from_string"
              c:identifier="e_cal_util_priority_from_string">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.c"
           line="848">Converts a translated priority string to an iCalendar priority value.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="263"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-util.c"
             line="854">the priority (0-9) or -1 if the priority string is not valid.</doc>
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="string" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="850">A string representing the PRIORITY value.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_priority_to_string"
              c:identifier="e_cal_util_priority_to_string">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.c"
           line="819">Converts an iCalendar PRIORITY value to a translated string. Any unknown
priority value (i.e. not 0-9) will be returned as "" (undefined).</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="262"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-util.c"
             line="826">a string representing the PRIORITY value. This value is a
constant, so it should never be freed.</doc>
        <type name="utf8" c:type="const gchar*"/>
      </return-value>
      <parameters>
        <parameter name="priority" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="821">Priority value.</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_property_has_parameter"
              c:identifier="e_cal_util_property_has_parameter"
              version="3.34">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.c"
           line="1013">Returns, whether the @prop has a parameter of @param_kind.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="271"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-util.c"
             line="1020">whether the @prop has a parameter of @prop_kind</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="prop" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="1015">an #ICalProperty</doc>
          <type name="ICalGLib.Property" c:type="ICalProperty*"/>
        </parameter>
        <parameter name="param_kind" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="1016">a parameter kind to look for, as an %ICalParameterKind</doc>
          <type name="ICalGLib.ParameterKind" c:type="ICalParameterKind"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_remove_instances"
              c:identifier="e_cal_util_remove_instances"
              deprecated="1"
              deprecated-version="3.38">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.c"
           line="1607">Removes one or more instances from @icalcomp according to @rid and @mod.</doc>
      <doc-deprecated xml:space="preserve">Use e_cal_util_remove_instances_ex() instead, with provided
   timezone resolve function.</doc-deprecated>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="293"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="icalcomp" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="1609">A (recurring) #ICalComponent</doc>
          <type name="ICalGLib.Component" c:type="ICalComponent*"/>
        </parameter>
        <parameter name="rid" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="1610">The base RECURRENCE-ID to remove</doc>
          <type name="ICalGLib.Time" c:type="const ICalTime*"/>
        </parameter>
        <parameter name="mod" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="1611">How to interpret @rid</doc>
          <type name="ObjModType" c:type="ECalObjModType"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_remove_instances_ex"
              c:identifier="e_cal_util_remove_instances_ex"
              version="3.38">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.c"
           line="1630">Removes one or more instances from @icalcomp according to @rid and @mod.
Uses @tz_cb with @tz_cb_data to resolve time zones when needed.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="305"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="icalcomp" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="1632">A (recurring) #ICalComponent</doc>
          <type name="ICalGLib.Component" c:type="ICalComponent*"/>
        </parameter>
        <parameter name="rid" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="1633">The base RECURRENCE-ID to remove</doc>
          <type name="ICalGLib.Time" c:type="const ICalTime*"/>
        </parameter>
        <parameter name="mod" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="1634">How to interpret @rid</doc>
          <type name="ObjModType" c:type="ECalObjModType"/>
        </parameter>
        <parameter name="tz_cb"
                   transfer-ownership="none"
                   scope="call"
                   closure="4">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="1635">The #ECalRecurResolveTimezoneCb to call</doc>
          <type name="RecurResolveTimezoneCb"
                c:type="ECalRecurResolveTimezoneCb"/>
        </parameter>
        <parameter name="tz_cb_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="1636">User data to be passed to the @tz_cb callback</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_seconds_to_string"
              c:identifier="e_cal_util_seconds_to_string"
              version="3.30">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.c"
           line="876">Converts time, in seconds, into a string representation readable by humans
and localized into the current locale. This can be used to convert event
duration to string or similar use cases.

Free the returned string with g_free(), when no longer needed.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="265"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-util.c"
             line="886">a newly allocated string with localized description
   of the given time in seconds.</doc>
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="seconds" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="878">actual time, in seconds</doc>
          <type name="gint64" c:type="gint64"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_set_alarm_acknowledged"
              c:identifier="e_cal_util_set_alarm_acknowledged"
              version="3.40">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.c"
           line="2980">Sets the ACKNOWLEDGED property on the @component's alarm with UID @auid
to the time @when (in UTC), or to the current time, when the @when is 0.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="371"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-util.c"
             line="2989">Whether succeeded.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="component" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="2982">an #ECalComponent</doc>
          <type name="Component" c:type="ECalComponent*"/>
        </parameter>
        <parameter name="auid" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="2983">an alarm UID to modify</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="when" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="2984">a time, in UTC, when to set the acknowledged property, or 0 for the current time</doc>
          <type name="gint64" c:type="gint64"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_split_at_instance"
              c:identifier="e_cal_util_split_at_instance"
              version="3.16"
              deprecated="1"
              deprecated-version="3.38">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.c"
           line="1657">Splits a recurring @icalcomp into two at time @rid. The returned #ICalComponent
is modified @icalcomp which contains recurrences beginning at @rid, inclusive.
The instance identified by @rid should exist. The @master_dtstart can be
a null time, then it is read from the @icalcomp.

Use e_cal_util_remove_instances_ex() with E_CAL_OBJ_MOD_THIS_AND_FUTURE mode
on the @icalcomp to remove the overlapping interval from it, if needed.

Free the returned non-NULL component with g_object_unref(), when
done with it.</doc>
      <doc-deprecated xml:space="preserve">Use e_cal_util_split_at_instance_ex() instead, with provided
   timezone resolve function.</doc-deprecated>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="296"/>
      <return-value transfer-ownership="full" nullable="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-util.c"
             line="1674">the split @icalcomp, or %NULL.</doc>
        <type name="ICalGLib.Component" c:type="ICalComponent*"/>
      </return-value>
      <parameters>
        <parameter name="icalcomp" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="1659">A (recurring) #ICalComponent</doc>
          <type name="ICalGLib.Component" c:type="ICalComponent*"/>
        </parameter>
        <parameter name="rid" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="1660">The base RECURRENCE-ID to remove</doc>
          <type name="ICalGLib.Time" c:type="const ICalTime*"/>
        </parameter>
        <parameter name="master_dtstart"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="1661">The DTSTART of the master object</doc>
          <type name="ICalGLib.Time" c:type="const ICalTime*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_split_at_instance_ex"
              c:identifier="e_cal_util_split_at_instance_ex"
              version="3.38">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-util.c"
           line="1689">Splits a recurring @icalcomp into two at time @rid. The returned #ICalComponent
is modified @icalcomp which contains recurrences beginning at @rid, inclusive.
The instance identified by @rid should exist. The @master_dtstart can be
a null time, then it is read from the @icalcomp.

Uses @tz_cb with @tz_cb_data to resolve time zones when needed.

Use e_cal_util_remove_instances_ex() with E_CAL_OBJ_MOD_THIS_AND_FUTURE mode
on the @icalcomp to remove the overlapping interval from it, if needed.

Free the returned non-NULL component with g_object_unref(), when
done with it.</doc>
      <source-position filename="src/calendar/libecal/e-cal-util.h"
                       line="310"/>
      <return-value transfer-ownership="full" nullable="1">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-util.c"
             line="1710">the split @icalcomp, or %NULL.</doc>
        <type name="ICalGLib.Component" c:type="ICalComponent*"/>
      </return-value>
      <parameters>
        <parameter name="icalcomp" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="1691">A (recurring) #ICalComponent</doc>
          <type name="ICalGLib.Component" c:type="ICalComponent*"/>
        </parameter>
        <parameter name="rid" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="1692">The base RECURRENCE-ID to remove</doc>
          <type name="ICalGLib.Time" c:type="const ICalTime*"/>
        </parameter>
        <parameter name="master_dtstart"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="1693">The DTSTART of the master object</doc>
          <type name="ICalGLib.Time" c:type="const ICalTime*"/>
        </parameter>
        <parameter name="tz_cb"
                   transfer-ownership="none"
                   scope="call"
                   closure="4">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="1694">The #ECalRecurResolveTimezoneCb to call</doc>
          <type name="RecurResolveTimezoneCb"
                c:type="ECalRecurResolveTimezoneCb"/>
        </parameter>
        <parameter name="tz_cb_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-util.c"
               line="1695">User data to be passed to the @tz_cb callback</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_tm_to_icaltime"
              c:identifier="e_cal_util_tm_to_icaltime"
              version="2.22">
      <doc xml:space="preserve"
           filename="src/calendar/libecal/e-cal-time-util.c"
           line="788">Converts a struct tm into an #ICalTime. Free the returned object
with g_object_unref(), when no longer needed.</doc>
      <source-position filename="src/calendar/libecal/e-cal-time-util.h"
                       line="159"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="src/calendar/libecal/e-cal-time-util.c"
             line="796">The converted time as an #ICalTime.</doc>
        <type name="ICalGLib.Time" c:type="ICalTime*"/>
      </return-value>
      <parameters>
        <parameter name="tm"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-time-util.c"
               line="790">A struct tm.</doc>
          <type name="gpointer" c:type="tm*"/>
        </parameter>
        <parameter name="is_date" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/calendar/libecal/e-cal-time-util.c"
               line="791">Whether the given time is a date only or not.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
  </namespace>
</repository>
