<!--
  Copyright (C) 2015 William Yu <williamyu@gnome.org>
  
  This library is free software: you can redistribute it and/or modify it
  under the terms of version 2.1. of the GNU Lesser General Public License
  as published by the Free Software Foundation.
  
  This library is distributed in the hope that it will be useful, but
  WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
  or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
  for more details.
  
  You should have received a copy of the GNU Lesser General Public License
  along with this library. If not, see <http://www.gnu.org/licenses/>.
-->
<structure namespace="ICal" name="Langbind">
    <method name="i_cal_langbind_new_array" corresponds="icallangbind_new_array" since="1.0">
        <parameter type="gint" name="size" comment="The size of the array to be created."/>
        <returns type="gint *" annotation="transfer full" comment="The newly created array"/>
        <comment xml:space="preserve">Create a new array with specified size.</comment>
    </method>
    <method name="i_cal_langbind_free_array" corresponds="icallangbind_free_array" since="1.0">
        <parameter type="gint *" name="array" annotation="in, transfer full" comment="The array to be freed"/>
        <comment xml:space="preserve">Free an array</comment>
    </method>
    <method name="i_cal_langbind_access_array" corresponds="icallangbind_access_array" since="1.0">
        <parameter type="gint *" name="array" comment="The array to be accessed"/>
        <parameter type="gint" name="index" comment="The index of element in the array to be accessed"/>
        <returns type="gint" comment="The element"/>
        <comment xml:space="preserve">Array accesser</comment>
    </method>
    <method name="i_cal_langbind_get_first_parameter" corresponds="icallangbind_get_first_parameter" since="1.0">
        <parameter type="ICalProperty *" name="prop" comment="The #ICalProperty to be queried"/>
        <returns type="ICalParameter *" annotation="allow-none, transfer full" translator_argus="(GObject *)prop" comment="The next #ICalParameter in the #ICalProperty"/>
        <comment xml:space="preserve">Get the first #ICalParameter in the #ICalProperty</comment>
    </method>
    <method name="i_cal_langbind_get_next_parameter" corresponds="icallangbind_get_next_parameter" since="1.0">
        <parameter type="ICalProperty *" name="prop" comment="The #ICalProperty to be queried"/>
        <returns type="ICalParameter *" annotation="allow-none, transfer full" translator_argus="(GObject *)prop" comment="The next #ICalParameter in the #ICalProperty"/>
        <comment xml:space="preserve">Get the next #ICalParameter in the#ICalProperty</comment>
    </method>
    <method name="i_cal_langbind_get_first_property" corresponds="icallangbind_get_first_property" since="1.0">
        <parameter type="ICalComponent *" name="c" comment="The #ICalComponent to be queried."/>
        <parameter type="const gchar *" name="prop" comment="The property name."/>
        <returns type="ICalProperty *" annotation="allow-none, transfer full" translator_argus="(GObject *)c" comment="The first #ICalProperty with the name @prop"/>
        <comment xml:space="preserve">Get the first property with the target name.</comment>
    </method>
    <method name="i_cal_langbind_get_next_property" corresponds="icallangbind_get_next_property" since="1.0">
        <parameter type="ICalComponent *" name="c" comment="The #ICalComponent to be queried."/>
        <parameter type="const gchar *" name="prop" comment="The property name."/>
        <returns type="ICalProperty *" annotation="allow-none, transfer full" translator_argus="(GObject *)c" comment="The next #ICalProperty with the name @prop"/>
        <comment xml:space="preserve">Get the next property with the target name.</comment>
    </method>
    <method name="i_cal_langbind_get_first_component" corresponds="icallangbind_get_first_component" since="1.0">
        <parameter type="ICalComponent *" name="c" comment="The #ICalComponent to be queried."/>
        <parameter type="const gchar *" name="comp" comment="The component name."/>
        <returns type="ICalComponent *" annotation="allow-none, transfer full" translator_argus="(GObject *)c" comment="The first #ICalComponent with the name @comp"/>
        <comment xml:space="preserve">Get the first component with the target name.</comment>
    </method>
    <method name="i_cal_langbind_get_next_component" corresponds="icallangbind_get_next_component" since="1.0">
        <parameter type="ICalComponent *" name="c" comment="The #ICalComponent to be queried."/>
        <parameter type="const gchar *" name="comp" comment="The property name."/>
        <returns type="ICalComponent *" annotation="allow-none, transfer full" translator_argus="(GObject *)c" comment="The next #ICalComponent with the name @comp"/>
        <comment xml:space="preserve">Get the next component with the target name.</comment>
    </method>
    <method name="i_cal_langbind_property_eval_string_r" corresponds="icallangbind_property_eval_string_r" since="1.0">
        <parameter type="ICalProperty *" name="prop" comment="The #ICalComponent to be translated."/>
        <parameter type="gchar *" name="sep" comment="The seperator."/>
        <returns type="gchar *" annotation="transfer full" comment="The sring representation of @prop"/>
        <comment xml:space="preserve">Translate the #ICalProperty into the string representation.</comment>
    </method>
    <method name="i_cal_langbind_string_to_open_flag" corresponds="icallangbind_string_to_open_flag" since="1.0">
        <parameter type="const gchar *" name="str" comment="The string representation of the file open mode"/>
        <returns type="gint" comment="The enum representation of the file open mode"/>
        <comment xml:space="preserve">Translate a string into the enum for the file open mode</comment>
    </method>
    <method name="i_cal_langbind_quote_as_ical_r" corresponds="icallangbind_quote_as_ical_r" since="1.0">
        <parameter type="const gchar *" name="str" comment="The string to be translated."/>
        <returns type="gchar *" annotation="transfer full" comment="The "/>
        <comment xml:space="preserve">Encode a character string in ical format, esacpe certain characters, etc.</comment>
    </method>
</structure>
