<refentry id="camel-CamelFolder">
<refmeta>
<refentrytitle role="top_of_page" id="camel-CamelFolder.top_of_page">CamelFolder</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>CAMEL Library</refmiscinfo>
</refmeta>

<refnamediv>
<refname>CamelFolder</refname>
<refpurpose></refpurpose>
</refnamediv>

<refsynopsisdiv id="camel-CamelFolder.synopsis" role="synopsis">
<title role="synopsis.title">Synopsis</title>

<synopsis>
struct              <link linkend="CamelFolder">CamelFolder</link>;
                    <link linkend="CamelFolderChangeInfo">CamelFolderChangeInfo</link>;
                    <link linkend="CamelFolderQuotaInfo">CamelFolderQuotaInfo</link>;
#define             <link linkend="CAMEL-FOLDER-HAS-SUMMARY-CAPABILITY--CAPS">CAMEL_FOLDER_HAS_SUMMARY_CAPABILITY</link>
#define             <link linkend="CAMEL-FOLDER-HAS-SEARCH-CAPABILITY--CAPS">CAMEL_FOLDER_HAS_SEARCH_CAPABILITY</link>
#define             <link linkend="CAMEL-FOLDER-FILTER-RECENT--CAPS">CAMEL_FOLDER_FILTER_RECENT</link>
#define             <link linkend="CAMEL-FOLDER-HAS-BEEN-DELETED--CAPS">CAMEL_FOLDER_HAS_BEEN_DELETED</link>
#define             <link linkend="CAMEL-FOLDER-IS-TRASH--CAPS">CAMEL_FOLDER_IS_TRASH</link>
#define             <link linkend="CAMEL-FOLDER-IS-JUNK--CAPS">CAMEL_FOLDER_IS_JUNK</link>
#define             <link linkend="CAMEL-FOLDER-FILTER-JUNK--CAPS">CAMEL_FOLDER_FILTER_JUNK</link>
<link linkend="void">void</link>                <link linkend="camel-folder-construct">camel_folder_construct</link>              (<link linkend="CamelFolder">CamelFolder</link> *folder,
                                                         <link linkend="CamelStore">CamelStore</link> *parent_store,
                                                         const <link linkend="char">char</link> *full_name,
                                                         const <link linkend="char">char</link> *name);
<link linkend="void">void</link>                <link linkend="camel-folder-refresh-info">camel_folder_refresh_info</link>           (<link linkend="CamelFolder">CamelFolder</link> *folder,
                                                         <link linkend="CamelException">CamelException</link> *ex);
<link linkend="void">void</link>                <link linkend="camel-folder-sync">camel_folder_sync</link>                   (<link linkend="CamelFolder">CamelFolder</link> *folder,
                                                         <link linkend="gboolean">gboolean</link> expunge,
                                                         <link linkend="CamelException">CamelException</link> *ex);
<link linkend="CamelStore">CamelStore</link> *        <link linkend="camel-folder-get-parent-store">camel_folder_get_parent_store</link>       (<link linkend="CamelFolder">CamelFolder</link> *folder);
<link linkend="void">void</link>                <link linkend="camel-folder-expunge">camel_folder_expunge</link>                (<link linkend="CamelFolder">CamelFolder</link> *folder,
                                                         <link linkend="CamelException">CamelException</link> *ex);
const <link linkend="char">char</link> *        <link linkend="camel-folder-get-name">camel_folder_get_name</link>               (<link linkend="CamelFolder">CamelFolder</link> *folder);
const <link linkend="char">char</link> *        <link linkend="camel-folder-get-full-name">camel_folder_get_full_name</link>          (<link linkend="CamelFolder">CamelFolder</link> *folder);
<link linkend="guint32">guint32</link>             <link linkend="camel-folder-get-permanent-flags">camel_folder_get_permanent_flags</link>    (<link linkend="CamelFolder">CamelFolder</link> *folder);
<link linkend="guint32">guint32</link>             <link linkend="camel-folder-get-message-flags">camel_folder_get_message_flags</link>      (<link linkend="CamelFolder">CamelFolder</link> *folder,
                                                         const <link linkend="char">char</link> *uid);
<link linkend="gboolean">gboolean</link>            <link linkend="camel-folder-set-message-flags">camel_folder_set_message_flags</link>      (<link linkend="CamelFolder">CamelFolder</link> *folder,
                                                         const <link linkend="char">char</link> *uid,
                                                         <link linkend="guint32">guint32</link> flags,
                                                         <link linkend="guint32">guint32</link> set);
<link linkend="gboolean">gboolean</link>            <link linkend="camel-folder-get-message-user-flag">camel_folder_get_message_user_flag</link>  (<link linkend="CamelFolder">CamelFolder</link> *folder,
                                                         const <link linkend="char">char</link> *uid,
                                                         const <link linkend="char">char</link> *name);
<link linkend="void">void</link>                <link linkend="camel-folder-set-message-user-flag">camel_folder_set_message_user_flag</link>  (<link linkend="CamelFolder">CamelFolder</link> *folder,
                                                         const <link linkend="char">char</link> *uid,
                                                         const <link linkend="char">char</link> *name,
                                                         <link linkend="gboolean">gboolean</link> value);
const <link linkend="char">char</link> *        <link linkend="camel-folder-get-message-user-tag">camel_folder_get_message_user_tag</link>   (<link linkend="CamelFolder">CamelFolder</link> *folder,
                                                         const <link linkend="char">char</link> *uid,
                                                         const <link linkend="char">char</link> *name);
<link linkend="void">void</link>                <link linkend="camel-folder-set-message-user-tag">camel_folder_set_message_user_tag</link>   (<link linkend="CamelFolder">CamelFolder</link> *folder,
                                                         const <link linkend="char">char</link> *uid,
                                                         const <link linkend="char">char</link> *name,
                                                         const <link linkend="char">char</link> *value);
<link linkend="void">void</link>                <link linkend="camel-folder-append-message">camel_folder_append_message</link>         (<link linkend="CamelFolder">CamelFolder</link> *folder,
                                                         <link linkend="CamelMimeMessage">CamelMimeMessage</link> *message,
                                                         const <link linkend="CamelMessageInfo">CamelMessageInfo</link> *info,
                                                         <link linkend="char">char</link> **appended_uid,
                                                         <link linkend="CamelException">CamelException</link> *ex);
<link linkend="gboolean">gboolean</link>            <link linkend="camel-folder-has-summary-capability">camel_folder_has_summary_capability</link> (<link linkend="CamelFolder">CamelFolder</link> *folder);
<link linkend="int">int</link>                 <link linkend="camel-folder-get-message-count">camel_folder_get_message_count</link>      (<link linkend="CamelFolder">CamelFolder</link> *folder);
<link linkend="int">int</link>                 <link linkend="camel-folder-get-unread-message-count">camel_folder_get_unread_message_count</link>
                                                        (<link linkend="CamelFolder">CamelFolder</link> *folder);
<link linkend="int">int</link>                 <link linkend="camel-folder-get-deleted-message-count">camel_folder_get_deleted_message_count</link>
                                                        (<link linkend="CamelFolder">CamelFolder</link> *folder);
<link linkend="GPtrArray">GPtrArray</link> *         <link linkend="camel-folder-get-summary">camel_folder_get_summary</link>            (<link linkend="CamelFolder">CamelFolder</link> *folder);
<link linkend="void">void</link>                <link linkend="camel-folder-free-summary">camel_folder_free_summary</link>           (<link linkend="CamelFolder">CamelFolder</link> *folder,
                                                         <link linkend="GPtrArray">GPtrArray</link> *array);
<link linkend="CamelMimeMessage">CamelMimeMessage</link> *  <link linkend="camel-folder-get-message">camel_folder_get_message</link>            (<link linkend="CamelFolder">CamelFolder</link> *folder,
                                                         const <link linkend="char">char</link> *uid,
                                                         <link linkend="CamelException">CamelException</link> *ex);
#define             <link linkend="camel-folder-delete-message">camel_folder_delete_message</link>         (folder, uid)
<link linkend="GPtrArray">GPtrArray</link> *         <link linkend="camel-folder-get-uids">camel_folder_get_uids</link>               (<link linkend="CamelFolder">CamelFolder</link> *folder);
<link linkend="void">void</link>                <link linkend="camel-folder-free-uids">camel_folder_free_uids</link>              (<link linkend="CamelFolder">CamelFolder</link> *folder,
                                                         <link linkend="GPtrArray">GPtrArray</link> *array);
<link linkend="void">void</link>                <link linkend="camel-folder-sort-uids">camel_folder_sort_uids</link>              (<link linkend="CamelFolder">CamelFolder</link> *folder,
                                                         <link linkend="GPtrArray">GPtrArray</link> *uids);
<link linkend="gboolean">gboolean</link>            <link linkend="camel-folder-has-search-capability">camel_folder_has_search_capability</link>  (<link linkend="CamelFolder">CamelFolder</link> *folder);
<link linkend="GPtrArray">GPtrArray</link> *         <link linkend="camel-folder-search-by-expression">camel_folder_search_by_expression</link>   (<link linkend="CamelFolder">CamelFolder</link> *folder,
                                                         const <link linkend="char">char</link> *expr,
                                                         <link linkend="CamelException">CamelException</link> *ex);
<link linkend="GPtrArray">GPtrArray</link> *         <link linkend="camel-folder-search-by-uids">camel_folder_search_by_uids</link>         (<link linkend="CamelFolder">CamelFolder</link> *folder,
                                                         const <link linkend="char">char</link> *expr,
                                                         <link linkend="GPtrArray">GPtrArray</link> *uids,
                                                         <link linkend="CamelException">CamelException</link> *ex);
<link linkend="void">void</link>                <link linkend="camel-folder-search-free">camel_folder_search_free</link>            (<link linkend="CamelFolder">CamelFolder</link> *folder,
                                                         <link linkend="GPtrArray">GPtrArray</link> *result);
<link linkend="CamelMessageInfo">CamelMessageInfo</link> *  <link linkend="camel-folder-get-message-info">camel_folder_get_message_info</link>       (<link linkend="CamelFolder">CamelFolder</link> *folder,
                                                         const <link linkend="char">char</link> *uid);
<link linkend="void">void</link>                <link linkend="camel-folder-free-message-info">camel_folder_free_message_info</link>      (<link linkend="CamelFolder">CamelFolder</link> *folder,
                                                         <link linkend="CamelMessageInfo">CamelMessageInfo</link> *info);
<link linkend="void">void</link>                <link linkend="camel-folder-ref-message-info">camel_folder_ref_message_info</link>       (<link linkend="CamelFolder">CamelFolder</link> *folder,
                                                         <link linkend="CamelMessageInfo">CamelMessageInfo</link> *info);
<link linkend="void">void</link>                <link linkend="camel-folder-transfer-messages-to">camel_folder_transfer_messages_to</link>   (<link linkend="CamelFolder">CamelFolder</link> *source,
                                                         <link linkend="GPtrArray">GPtrArray</link> *uids,
                                                         <link linkend="CamelFolder">CamelFolder</link> *dest,
                                                         <link linkend="GPtrArray">GPtrArray</link> **transferred_uids,
                                                         <link linkend="gboolean">gboolean</link> delete_originals,
                                                         <link linkend="CamelException">CamelException</link> *ex);
<link linkend="void">void</link>                <link linkend="camel-folder-delete">camel_folder_delete</link>                 (<link linkend="CamelFolder">CamelFolder</link> *folder);
<link linkend="void">void</link>                <link linkend="camel-folder-rename">camel_folder_rename</link>                 (<link linkend="CamelFolder">CamelFolder</link> *folder,
                                                         const <link linkend="char">char</link> *new);
<link linkend="void">void</link>                <link linkend="camel-folder-freeze">camel_folder_freeze</link>                 (<link linkend="CamelFolder">CamelFolder</link> *folder);
<link linkend="void">void</link>                <link linkend="camel-folder-thaw">camel_folder_thaw</link>                   (<link linkend="CamelFolder">CamelFolder</link> *folder);
<link linkend="gboolean">gboolean</link>            <link linkend="camel-folder-is-frozen">camel_folder_is_frozen</link>              (<link linkend="CamelFolder">CamelFolder</link> *folder);
<link linkend="CamelFolderQuotaInfo">CamelFolderQuotaInfo</link> * <link linkend="camel-folder-get-quota-info">camel_folder_get_quota_info</link>      (<link linkend="CamelFolder">CamelFolder</link> *folder);
<link linkend="CamelFolderQuotaInfo">CamelFolderQuotaInfo</link> * <link linkend="camel-folder-quota-info-new">camel_folder_quota_info_new</link>      (const <link linkend="char">char</link> *name,
                                                         <link linkend="guint64">guint64</link> used,
                                                         <link linkend="guint64">guint64</link> total);
<link linkend="CamelFolderQuotaInfo">CamelFolderQuotaInfo</link> * <link linkend="camel-folder-quota-info-clone">camel_folder_quota_info_clone</link>    (const <link linkend="CamelFolderQuotaInfo">CamelFolderQuotaInfo</link> *info);
<link linkend="void">void</link>                <link linkend="camel-folder-quota-info-free">camel_folder_quota_info_free</link>        (<link linkend="CamelFolderQuotaInfo">CamelFolderQuotaInfo</link> *info);
<link linkend="void">void</link>                <link linkend="camel-folder-free-nop">camel_folder_free_nop</link>               (<link linkend="CamelFolder">CamelFolder</link> *folder,
                                                         <link linkend="GPtrArray">GPtrArray</link> *array);
<link linkend="void">void</link>                <link linkend="camel-folder-free-shallow">camel_folder_free_shallow</link>           (<link linkend="CamelFolder">CamelFolder</link> *folder,
                                                         <link linkend="GPtrArray">GPtrArray</link> *array);
<link linkend="void">void</link>                <link linkend="camel-folder-free-deep">camel_folder_free_deep</link>              (<link linkend="CamelFolder">CamelFolder</link> *folder,
                                                         <link linkend="GPtrArray">GPtrArray</link> *array);
<link linkend="CamelFolderChangeInfo">CamelFolderChangeInfo</link> * <link linkend="camel-folder-change-info-new">camel_folder_change_info_new</link>    (void);
<link linkend="void">void</link>                <link linkend="camel-folder-change-info-clear">camel_folder_change_info_clear</link>      (<link linkend="CamelFolderChangeInfo">CamelFolderChangeInfo</link> *info);
<link linkend="void">void</link>                <link linkend="camel-folder-change-info-free">camel_folder_change_info_free</link>       (<link linkend="CamelFolderChangeInfo">CamelFolderChangeInfo</link> *info);
<link linkend="gboolean">gboolean</link>            <link linkend="camel-folder-change-info-changed">camel_folder_change_info_changed</link>    (<link linkend="CamelFolderChangeInfo">CamelFolderChangeInfo</link> *info);
<link linkend="void">void</link>                <link linkend="camel-folder-change-info-add-source">camel_folder_change_info_add_source</link> (<link linkend="CamelFolderChangeInfo">CamelFolderChangeInfo</link> *info,
                                                         const <link linkend="char">char</link> *uid);
<link linkend="void">void</link>                <link linkend="camel-folder-change-info-add-source-list">camel_folder_change_info_add_source_list</link>
                                                        (<link linkend="CamelFolderChangeInfo">CamelFolderChangeInfo</link> *info,
                                                         const <link linkend="GPtrArray">GPtrArray</link> *list);
<link linkend="void">void</link>                <link linkend="camel-folder-change-info-add-update">camel_folder_change_info_add_update</link> (<link linkend="CamelFolderChangeInfo">CamelFolderChangeInfo</link> *info,
                                                         const <link linkend="char">char</link> *uid);
<link linkend="void">void</link>                <link linkend="camel-folder-change-info-add-update-list">camel_folder_change_info_add_update_list</link>
                                                        (<link linkend="CamelFolderChangeInfo">CamelFolderChangeInfo</link> *info,
                                                         const <link linkend="GPtrArray">GPtrArray</link> *list);
<link linkend="void">void</link>                <link linkend="camel-folder-change-info-build-diff">camel_folder_change_info_build_diff</link> (<link linkend="CamelFolderChangeInfo">CamelFolderChangeInfo</link> *info);
<link linkend="void">void</link>                <link linkend="camel-folder-change-info-cat">camel_folder_change_info_cat</link>        (<link linkend="CamelFolderChangeInfo">CamelFolderChangeInfo</link> *info,
                                                         <link linkend="CamelFolderChangeInfo">CamelFolderChangeInfo</link> *src);
<link linkend="void">void</link>                <link linkend="camel-folder-change-info-add-uid">camel_folder_change_info_add_uid</link>    (<link linkend="CamelFolderChangeInfo">CamelFolderChangeInfo</link> *info,
                                                         const <link linkend="char">char</link> *uid);
<link linkend="void">void</link>                <link linkend="camel-folder-change-info-remove-uid">camel_folder_change_info_remove_uid</link> (<link linkend="CamelFolderChangeInfo">CamelFolderChangeInfo</link> *info,
                                                         const <link linkend="char">char</link> *uid);
<link linkend="void">void</link>                <link linkend="camel-folder-change-info-change-uid">camel_folder_change_info_change_uid</link> (<link linkend="CamelFolderChangeInfo">CamelFolderChangeInfo</link> *info,
                                                         const <link linkend="char">char</link> *uid);
<link linkend="void">void</link>                <link linkend="camel-folder-change-info-recent-uid">camel_folder_change_info_recent_uid</link> (<link linkend="CamelFolderChangeInfo">CamelFolderChangeInfo</link> *info,
                                                         const <link linkend="char">char</link> *uid);
</synopsis>
</refsynopsisdiv>









<refsect1 id="camel-CamelFolder.description" role="desc">
<title role="desc.title">Description</title>
<para>
</para>
</refsect1>

<refsect1 id="camel-CamelFolder.details" role="details">
<title role="details.title">Details</title>
<refsect2 id="CamelFolder" role="struct">
<title>struct CamelFolder</title>
<indexterm zone="CamelFolder"><primary sortas="CamelFolder">CamelFolder</primary></indexterm><programlisting>struct CamelFolder {
	CamelObject parent_object;

	struct _CamelFolderPrivate *priv;

	/* get these via the :get() method, they might not be set otherwise */
	char *name;
	char *full_name;
	char *description;

	CamelStore *parent_store;
	CamelFolderSummary *summary;

	guint32 folder_flags;
	guint32 permanent_flags;

	/* Future ABI expansion */
	gpointer later[4];
};
</programlisting>
<para>
</para></refsect2>
<refsect2 id="CamelFolderChangeInfo" role="struct">
<title>CamelFolderChangeInfo</title>
<indexterm zone="CamelFolderChangeInfo"><primary sortas="CamelFolderChangeInfo">CamelFolderChangeInfo</primary></indexterm><programlisting>typedef struct {
	GPtrArray *uid_added;
	GPtrArray *uid_removed;
	GPtrArray *uid_changed;
	GPtrArray *uid_recent;

	struct _CamelFolderChangeInfoPrivate *priv;
} CamelFolderChangeInfo;
</programlisting>
<para>
</para></refsect2>
<refsect2 id="CamelFolderQuotaInfo" role="struct">
<title>CamelFolderQuotaInfo</title>
<indexterm zone="CamelFolderQuotaInfo"><primary sortas="CamelFolderQuotaInfo">CamelFolderQuotaInfo</primary></indexterm><programlisting>typedef struct {
	char *name;
	guint64 used;
	guint64 total;

	struct _CamelFolderQuotaInfo *next;
} CamelFolderQuotaInfo;
</programlisting>
<para>
</para></refsect2>
<refsect2 id="CAMEL-FOLDER-HAS-SUMMARY-CAPABILITY--CAPS" role="macro">
<title>CAMEL_FOLDER_HAS_SUMMARY_CAPABILITY</title>
<indexterm zone="CAMEL-FOLDER-HAS-SUMMARY-CAPABILITY--CAPS"><primary sortas="CAMEL_FOLDER_HAS_SUMMARY_CAPABILITY">CAMEL_FOLDER_HAS_SUMMARY_CAPABILITY</primary></indexterm><programlisting>#define CAMEL_FOLDER_HAS_SUMMARY_CAPABILITY (1&lt;&lt;0)
</programlisting>
<para>
</para></refsect2>
<refsect2 id="CAMEL-FOLDER-HAS-SEARCH-CAPABILITY--CAPS" role="macro">
<title>CAMEL_FOLDER_HAS_SEARCH_CAPABILITY</title>
<indexterm zone="CAMEL-FOLDER-HAS-SEARCH-CAPABILITY--CAPS"><primary sortas="CAMEL_FOLDER_HAS_SEARCH_CAPABILITY">CAMEL_FOLDER_HAS_SEARCH_CAPABILITY</primary></indexterm><programlisting>#define CAMEL_FOLDER_HAS_SEARCH_CAPABILITY  (1&lt;&lt;1)
</programlisting>
<para>
</para></refsect2>
<refsect2 id="CAMEL-FOLDER-FILTER-RECENT--CAPS" role="macro">
<title>CAMEL_FOLDER_FILTER_RECENT</title>
<indexterm zone="CAMEL-FOLDER-FILTER-RECENT--CAPS"><primary sortas="CAMEL_FOLDER_FILTER_RECENT">CAMEL_FOLDER_FILTER_RECENT</primary></indexterm><programlisting>#define CAMEL_FOLDER_FILTER_RECENT          (1&lt;&lt;2)
</programlisting>
<para>
</para></refsect2>
<refsect2 id="CAMEL-FOLDER-HAS-BEEN-DELETED--CAPS" role="macro">
<title>CAMEL_FOLDER_HAS_BEEN_DELETED</title>
<indexterm zone="CAMEL-FOLDER-HAS-BEEN-DELETED--CAPS"><primary sortas="CAMEL_FOLDER_HAS_BEEN_DELETED">CAMEL_FOLDER_HAS_BEEN_DELETED</primary></indexterm><programlisting>#define CAMEL_FOLDER_HAS_BEEN_DELETED       (1&lt;&lt;3)
</programlisting>
<para>
</para></refsect2>
<refsect2 id="CAMEL-FOLDER-IS-TRASH--CAPS" role="macro">
<title>CAMEL_FOLDER_IS_TRASH</title>
<indexterm zone="CAMEL-FOLDER-IS-TRASH--CAPS"><primary sortas="CAMEL_FOLDER_IS_TRASH">CAMEL_FOLDER_IS_TRASH</primary></indexterm><programlisting>#define CAMEL_FOLDER_IS_TRASH               (1&lt;&lt;4)
</programlisting>
<para>
</para></refsect2>
<refsect2 id="CAMEL-FOLDER-IS-JUNK--CAPS" role="macro">
<title>CAMEL_FOLDER_IS_JUNK</title>
<indexterm zone="CAMEL-FOLDER-IS-JUNK--CAPS"><primary sortas="CAMEL_FOLDER_IS_JUNK">CAMEL_FOLDER_IS_JUNK</primary></indexterm><programlisting>#define CAMEL_FOLDER_IS_JUNK                (1&lt;&lt;5)
</programlisting>
<para>
</para></refsect2>
<refsect2 id="CAMEL-FOLDER-FILTER-JUNK--CAPS" role="macro">
<title>CAMEL_FOLDER_FILTER_JUNK</title>
<indexterm zone="CAMEL-FOLDER-FILTER-JUNK--CAPS"><primary sortas="CAMEL_FOLDER_FILTER_JUNK">CAMEL_FOLDER_FILTER_JUNK</primary></indexterm><programlisting>#define CAMEL_FOLDER_FILTER_JUNK	    (1&lt;&lt;6)
</programlisting>
<para>
</para></refsect2>
<refsect2 id="camel-folder-construct" role="function">
<title>camel_folder_construct ()</title>
<indexterm zone="camel-folder-construct"><primary sortas="camel_folder_construct">camel_folder_construct</primary></indexterm><programlisting><link linkend="void">void</link>                camel_folder_construct              (<link linkend="CamelFolder">CamelFolder</link> *folder,
                                                         <link linkend="CamelStore">CamelStore</link> *parent_store,
                                                         const <link linkend="char">char</link> *full_name,
                                                         const <link linkend="char">char</link> *name);</programlisting>
<para>
Initalizes the folder by setting the parent store and name.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>folder</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolder"><type>CamelFolder</type></link> object to construct
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>parent_store</parameter>&#160;:</term>
<listitem><simpara> parent <link linkend="CamelStore"><type>CamelStore</type></link> object of the folder
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>full_name</parameter>&#160;:</term>
<listitem><simpara> full name of the folder
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>name</parameter>&#160;:</term>
<listitem><simpara> short name of the folder
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-refresh-info" role="function">
<title>camel_folder_refresh_info ()</title>
<indexterm zone="camel-folder-refresh-info"><primary sortas="camel_folder_refresh_info">camel_folder_refresh_info</primary></indexterm><programlisting><link linkend="void">void</link>                camel_folder_refresh_info           (<link linkend="CamelFolder">CamelFolder</link> *folder,
                                                         <link linkend="CamelException">CamelException</link> *ex);</programlisting>
<para>
Updates a folder's summary to be in sync with its backing store.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>folder</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolder"><type>CamelFolder</type></link> object
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>ex</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelException"><type>CamelException</type></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-sync" role="function">
<title>camel_folder_sync ()</title>
<indexterm zone="camel-folder-sync"><primary sortas="camel_folder_sync">camel_folder_sync</primary></indexterm><programlisting><link linkend="void">void</link>                camel_folder_sync                   (<link linkend="CamelFolder">CamelFolder</link> *folder,
                                                         <link linkend="gboolean">gboolean</link> expunge,
                                                         <link linkend="CamelException">CamelException</link> *ex);</programlisting>
<para>
Sync changes made to a folder to its backing store, possibly
expunging deleted messages as well.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>folder</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolder"><type>CamelFolder</type></link> object
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>expunge</parameter>&#160;:</term>
<listitem><simpara> whether or not to expunge deleted messages
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>ex</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelException"><type>CamelException</type></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-get-parent-store" role="function">
<title>camel_folder_get_parent_store ()</title>
<indexterm zone="camel-folder-get-parent-store"><primary sortas="camel_folder_get_parent_store">camel_folder_get_parent_store</primary></indexterm><programlisting><link linkend="CamelStore">CamelStore</link> *        camel_folder_get_parent_store       (<link linkend="CamelFolder">CamelFolder</link> *folder);</programlisting>
<para>
</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>folder</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolder"><type>CamelFolder</type></link> object
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the parent <link linkend="CamelStore"><type>CamelStore</type></link> of the folder
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-expunge" role="function">
<title>camel_folder_expunge ()</title>
<indexterm zone="camel-folder-expunge"><primary sortas="camel_folder_expunge">camel_folder_expunge</primary></indexterm><programlisting><link linkend="void">void</link>                camel_folder_expunge                (<link linkend="CamelFolder">CamelFolder</link> *folder,
                                                         <link linkend="CamelException">CamelException</link> *ex);</programlisting>
<para>
Delete messages which have been marked as "DELETED"</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>folder</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolder"><type>CamelFolder</type></link> object
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>ex</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelException"><type>CamelException</type></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-get-name" role="function">
<title>camel_folder_get_name ()</title>
<indexterm zone="camel-folder-get-name"><primary sortas="camel_folder_get_name">camel_folder_get_name</primary></indexterm><programlisting>const <link linkend="char">char</link> *        camel_folder_get_name               (<link linkend="CamelFolder">CamelFolder</link> *folder);</programlisting>
<para>
Get the (short) name of the folder. The fully qualified name
can be obtained with the <link linkend="camel-folder-get-full-name"><type>camel_folder_get_full_name</type></link> method.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>folder</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolder"><type>CamelFolder</type></link> object
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the short name of the folder
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-get-full-name" role="function">
<title>camel_folder_get_full_name ()</title>
<indexterm zone="camel-folder-get-full-name"><primary sortas="camel_folder_get_full_name">camel_folder_get_full_name</primary></indexterm><programlisting>const <link linkend="char">char</link> *        camel_folder_get_full_name          (<link linkend="CamelFolder">CamelFolder</link> *folder);</programlisting>
<para>
Get the full name of the folder.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>folder</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolder"><type>CamelFolder</type></link> object
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the full name of the folder
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-get-permanent-flags" role="function">
<title>camel_folder_get_permanent_flags ()</title>
<indexterm zone="camel-folder-get-permanent-flags"><primary sortas="camel_folder_get_permanent_flags">camel_folder_get_permanent_flags</primary></indexterm><programlisting><link linkend="guint32">guint32</link>             camel_folder_get_permanent_flags    (<link linkend="CamelFolder">CamelFolder</link> *folder);</programlisting>
<para>
</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>folder</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolder"><type>CamelFolder</type></link> object
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the set of <link linkend="CamelMessageFlags"><type>CamelMessageFlags</type></link> that can be permanently
stored on a message between sessions. If it includes
<link linkend="CAMEL-FLAG-USER--CAPS"><type>CAMEL_FLAG_USER</type></link>, then user-defined flags will be remembered.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-get-message-flags" role="function" condition="deprecated:Use #camel_folder_get_message_info instead.">
<title>camel_folder_get_message_flags ()</title>
<indexterm zone="camel-folder-get-message-flags" role="deprecated"><primary sortas="camel_folder_get_message_flags">camel_folder_get_message_flags</primary></indexterm><programlisting><link linkend="guint32">guint32</link>             camel_folder_get_message_flags      (<link linkend="CamelFolder">CamelFolder</link> *folder,
                                                         const <link linkend="char">char</link> *uid);</programlisting>
<warning><para><literal>camel_folder_get_message_flags</literal> is deprecated and should not be used in newly-written code. Use <link linkend="camel-folder-get-message-info"><type>camel_folder_get_message_info</type></link> instead.</para></warning>
<para>
</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>folder</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolder"><type>CamelFolder</type></link> object
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>uid</parameter>&#160;:</term>
<listitem><simpara> the UID of a message in <parameter>folder</parameter>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the <link linkend="CamelMessageFlags"><type>CamelMessageFlags</type></link> that are set on the indicated
message.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-set-message-flags" role="function" condition="deprecated">
<title>camel_folder_set_message_flags ()</title>
<indexterm zone="camel-folder-set-message-flags" role="deprecated"><primary sortas="camel_folder_set_message_flags">camel_folder_set_message_flags</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            camel_folder_set_message_flags      (<link linkend="CamelFolder">CamelFolder</link> *folder,
                                                         const <link linkend="char">char</link> *uid,
                                                         <link linkend="guint32">guint32</link> flags,
                                                         <link linkend="guint32">guint32</link> set);</programlisting>
<warning><para><literal>camel_folder_set_message_flags</literal> is deprecated and should not be used in newly-written code. Use <link linkend="camel-message-info-set-flags"><type>camel_message_info_set_flags</type></link> on the message info directly
(when it works)</para></warning>
<para>
Sets those flags specified by <parameter>flags</parameter> to the values specified by <parameter>set</parameter>
on the indicated message. (This may or may not persist after the
folder or store is closed. See <link linkend="camel-folder-get-permanent-flags"><type>camel_folder_get_permanent_flags</type></link>)
</para>
<para>
E.g. to set the deleted flag and clear the draft flag, use
<link linkend="camel-folder-set-message-flags"><type>camel_folder_set_message_flags</type></link>(folder, uid, CAMEL_MESSAGE_DELETED|CAMEL_MESSAGE_DRAFT, CAMEL_MESSAGE_DELETED);</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>folder</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolder"><type>CamelFolder</type></link> object
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>uid</parameter>&#160;:</term>
<listitem><simpara> the UID of a message in <parameter>folder</parameter>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>flags</parameter>&#160;:</term>
<listitem><simpara> a set of <link linkend="CamelMessageFlag"><type>CamelMessageFlag</type></link> values to set
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>set</parameter>&#160;:</term>
<listitem><simpara> the mask of values in <parameter>flags</parameter> to use.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if the flags were changed or <link linkend="FALSE--CAPS"><literal>FALSE</literal></link> otherwise
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-get-message-user-flag" role="function" condition="deprecated">
<title>camel_folder_get_message_user_flag ()</title>
<indexterm zone="camel-folder-get-message-user-flag" role="deprecated"><primary sortas="camel_folder_get_message_user_flag">camel_folder_get_message_user_flag</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            camel_folder_get_message_user_flag  (<link linkend="CamelFolder">CamelFolder</link> *folder,
                                                         const <link linkend="char">char</link> *uid,
                                                         const <link linkend="char">char</link> *name);</programlisting>
<warning><para><literal>camel_folder_get_message_user_flag</literal> is deprecated and should not be used in newly-written code. Use <link linkend="camel-message-info-get-user-flag"><type>camel_message_info_get_user_flag</type></link> on the message
info directly</para></warning>
<para>
</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>folder</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolder"><type>CamelFolder</type></link> object
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>uid</parameter>&#160;:</term>
<listitem><simpara> the UID of a message in <parameter>folder</parameter>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>name</parameter>&#160;:</term>
<listitem><simpara> the name of a user flag
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if the given user flag is set on the message or
<link linkend="FALSE--CAPS"><literal>FALSE</literal></link> otherwise
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-set-message-user-flag" role="function" condition="deprecated">
<title>camel_folder_set_message_user_flag ()</title>
<indexterm zone="camel-folder-set-message-user-flag" role="deprecated"><primary sortas="camel_folder_set_message_user_flag">camel_folder_set_message_user_flag</primary></indexterm><programlisting><link linkend="void">void</link>                camel_folder_set_message_user_flag  (<link linkend="CamelFolder">CamelFolder</link> *folder,
                                                         const <link linkend="char">char</link> *uid,
                                                         const <link linkend="char">char</link> *name,
                                                         <link linkend="gboolean">gboolean</link> value);</programlisting>
<warning><para><literal>camel_folder_set_message_user_flag</literal> is deprecated and should not be used in newly-written code. Use <link linkend="camel-message-info-set-user-flag"><type>camel_message_info_set_user_flag</type></link> on the
<link linkend="CamelMessageInfo"><type>CamelMessageInfo</type></link> directly (when it works)
</para>
<para>
Sets the user flag specified by <parameter>name</parameter> to the value specified by <parameter>value</parameter>
on the indicated message. (This may or may not persist after the
folder or store is closed. See <link linkend="camel-folder-get-permanent-flags"><type>camel_folder_get_permanent_flags</type></link>)</para></warning>
<para>
</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>folder</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolder"><type>CamelFolder</type></link> object
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>uid</parameter>&#160;:</term>
<listitem><simpara> the UID of a message in <parameter>folder</parameter>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>name</parameter>&#160;:</term>
<listitem><simpara> the name of the user flag to set
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>value</parameter>&#160;:</term>
<listitem><simpara> the value to set it to
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-get-message-user-tag" role="function" condition="deprecated">
<title>camel_folder_get_message_user_tag ()</title>
<indexterm zone="camel-folder-get-message-user-tag" role="deprecated"><primary sortas="camel_folder_get_message_user_tag">camel_folder_get_message_user_tag</primary></indexterm><programlisting>const <link linkend="char">char</link> *        camel_folder_get_message_user_tag   (<link linkend="CamelFolder">CamelFolder</link> *folder,
                                                         const <link linkend="char">char</link> *uid,
                                                         const <link linkend="char">char</link> *name);</programlisting>
<warning><para><literal>camel_folder_get_message_user_tag</literal> is deprecated and should not be used in newly-written code. Use <link linkend="camel-message-info-get-user-tag"><type>camel_message_info_get_user_tag</type></link> on the
<link linkend="CamelMessageInfo"><type>CamelMessageInfo</type></link> directly.</para></warning>
<para>
</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>folder</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolder"><type>CamelFolder</type></link> object
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>uid</parameter>&#160;:</term>
<listitem><simpara> the UID of a message in <parameter>folder</parameter>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>name</parameter>&#160;:</term>
<listitem><simpara> the name of a user tag
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the value of the user tag
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-set-message-user-tag" role="function" condition="deprecated">
<title>camel_folder_set_message_user_tag ()</title>
<indexterm zone="camel-folder-set-message-user-tag" role="deprecated"><primary sortas="camel_folder_set_message_user_tag">camel_folder_set_message_user_tag</primary></indexterm><programlisting><link linkend="void">void</link>                camel_folder_set_message_user_tag   (<link linkend="CamelFolder">CamelFolder</link> *folder,
                                                         const <link linkend="char">char</link> *uid,
                                                         const <link linkend="char">char</link> *name,
                                                         const <link linkend="char">char</link> *value);</programlisting>
<warning><para><literal>camel_folder_set_message_user_tag</literal> is deprecated and should not be used in newly-written code. Use <link linkend="camel-message-info-set-user-tag"><type>camel_message_info_set_user_tag</type></link> on the
<link linkend="CamelMessageInfo"><type>CamelMessageInfo</type></link> directly (when it works).
</para>
<para>
Sets the user tag specified by <parameter>name</parameter> to the value specified by <parameter>value</parameter>
on the indicated message. (This may or may not persist after the
folder or store is closed. See <link linkend="camel-folder-get-permanent-flags"><type>camel_folder_get_permanent_flags</type></link>)</para></warning>
<para>
</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>folder</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolder"><type>CamelFolder</type></link> object
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>uid</parameter>&#160;:</term>
<listitem><simpara> the UID of a message in <parameter>folder</parameter>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>name</parameter>&#160;:</term>
<listitem><simpara> the name of the user tag to set
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>value</parameter>&#160;:</term>
<listitem><simpara> the value to set it to
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-append-message" role="function">
<title>camel_folder_append_message ()</title>
<indexterm zone="camel-folder-append-message"><primary sortas="camel_folder_append_message">camel_folder_append_message</primary></indexterm><programlisting><link linkend="void">void</link>                camel_folder_append_message         (<link linkend="CamelFolder">CamelFolder</link> *folder,
                                                         <link linkend="CamelMimeMessage">CamelMimeMessage</link> *message,
                                                         const <link linkend="CamelMessageInfo">CamelMessageInfo</link> *info,
                                                         <link linkend="char">char</link> **appended_uid,
                                                         <link linkend="CamelException">CamelException</link> *ex);</programlisting>
<para>
Append <parameter>message</parameter> to <parameter>folder</parameter>. Only the flag and tag data from <parameter>info</parameter>
are used. If <parameter>info</parameter> is <link linkend="NULL--CAPS"><literal>NULL</literal></link>, no flags or tags will be set.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>folder</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolder"><type>CamelFolder</type></link> object
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>message</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelMimeMessage"><type>CamelMimeMessage</type></link> object
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>info</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelMessageInfo"><type>CamelMessageInfo</type></link> with additional flags/etc to set on
new message, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>appended_uid</parameter>&#160;:</term>
<listitem><simpara> if non-<link linkend="NULL--CAPS"><literal>NULL</literal></link>, the UID of the appended message will
be returned here, if it is known.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>ex</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelException"><type>CamelException</type></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-has-summary-capability" role="function">
<title>camel_folder_has_summary_capability ()</title>
<indexterm zone="camel-folder-has-summary-capability"><primary sortas="camel_folder_has_summary_capability">camel_folder_has_summary_capability</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            camel_folder_has_summary_capability (<link linkend="CamelFolder">CamelFolder</link> *folder);</programlisting>
<para>
Get whether or not the folder has a summary.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>folder</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolder"><type>CamelFolder</type></link> object
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if a summary is available or <link linkend="FALSE--CAPS"><literal>FALSE</literal></link> otherwise
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-get-message-count" role="function">
<title>camel_folder_get_message_count ()</title>
<indexterm zone="camel-folder-get-message-count"><primary sortas="camel_folder_get_message_count">camel_folder_get_message_count</primary></indexterm><programlisting><link linkend="int">int</link>                 camel_folder_get_message_count      (<link linkend="CamelFolder">CamelFolder</link> *folder);</programlisting>
<para>
</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>folder</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolder"><type>CamelFolder</type></link> object
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the number of messages in the folder, or <link linkend="1--CAPS"><literal>-1</literal></link> if unknown
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-get-unread-message-count" role="function" condition="deprecated:use #camel_object_get instead.">
<title>camel_folder_get_unread_message_count ()</title>
<indexterm zone="camel-folder-get-unread-message-count" role="deprecated"><primary sortas="camel_folder_get_unread_message_count">camel_folder_get_unread_message_count</primary></indexterm><programlisting><link linkend="int">int</link>                 camel_folder_get_unread_message_count
                                                        (<link linkend="CamelFolder">CamelFolder</link> *folder);</programlisting>
<warning><para><literal>camel_folder_get_unread_message_count</literal> is deprecated and should not be used in newly-written code. use <link linkend="camel-object-get"><type>camel_object_get</type></link> instead.</para></warning>
<para>
</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>folder</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolder"><type>CamelFolder</type></link> object
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the number of unread messages in the folder, or <link linkend="1--CAPS"><literal>-1</literal></link> if
unknown
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-get-deleted-message-count" role="function">
<title>camel_folder_get_deleted_message_count ()</title>
<indexterm zone="camel-folder-get-deleted-message-count"><primary sortas="camel_folder_get_deleted_message_count">camel_folder_get_deleted_message_count</primary></indexterm><programlisting><link linkend="int">int</link>                 camel_folder_get_deleted_message_count
                                                        (<link linkend="CamelFolder">CamelFolder</link> *folder);</programlisting>
<para>
</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>folder</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolder"><type>CamelFolder</type></link> object
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the number of deleted messages in the folder, or <link linkend="1--CAPS"><literal>-1</literal></link> if
unknown
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-get-summary" role="function">
<title>camel_folder_get_summary ()</title>
<indexterm zone="camel-folder-get-summary"><primary sortas="camel_folder_get_summary">camel_folder_get_summary</primary></indexterm><programlisting><link linkend="GPtrArray">GPtrArray</link> *         camel_folder_get_summary            (<link linkend="CamelFolder">CamelFolder</link> *folder);</programlisting>
<para>
This returns the summary information for the folder. This array
should not be modified, and must be freed with
<link linkend="camel-folder-free-summary"><type>camel_folder_free_summary</type></link>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>folder</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolder"><type>CamelFolder</type></link> object
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> an array of <link linkend="CamelMessageInfo"><type>CamelMessageInfo</type></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-free-summary" role="function">
<title>camel_folder_free_summary ()</title>
<indexterm zone="camel-folder-free-summary"><primary sortas="camel_folder_free_summary">camel_folder_free_summary</primary></indexterm><programlisting><link linkend="void">void</link>                camel_folder_free_summary           (<link linkend="CamelFolder">CamelFolder</link> *folder,
                                                         <link linkend="GPtrArray">GPtrArray</link> *array);</programlisting>
<para>
Frees the summary array returned by <link linkend="camel-folder-get-summary"><type>camel_folder_get_summary</type></link>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>folder</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolder"><type>CamelFolder</type></link> object
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>array</parameter>&#160;:</term>
<listitem><simpara> the summary array to free
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-get-message" role="function">
<title>camel_folder_get_message ()</title>
<indexterm zone="camel-folder-get-message"><primary sortas="camel_folder_get_message">camel_folder_get_message</primary></indexterm><programlisting><link linkend="CamelMimeMessage">CamelMimeMessage</link> *  camel_folder_get_message            (<link linkend="CamelFolder">CamelFolder</link> *folder,
                                                         const <link linkend="char">char</link> *uid,
                                                         <link linkend="CamelException">CamelException</link> *ex);</programlisting>
<para>
Get a message from its UID in the folder.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>folder</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolder"><type>CamelFolder</type></link> object
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>uid</parameter>&#160;:</term>
<listitem><simpara> the UID
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>ex</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelException"><type>CamelException</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> a <link linkend="CamelMimeMessage"><type>CamelMimeMessage</type></link> corresponding to <parameter>uid</parameter>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-delete-message" role="macro">
<title>camel_folder_delete_message()</title>
<indexterm zone="camel-folder-delete-message"><primary sortas="camel_folder_delete_message">camel_folder_delete_message</primary></indexterm><programlisting>#define             camel_folder_delete_message(folder, uid)</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>folder</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>uid</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-get-uids" role="function">
<title>camel_folder_get_uids ()</title>
<indexterm zone="camel-folder-get-uids"><primary sortas="camel_folder_get_uids">camel_folder_get_uids</primary></indexterm><programlisting><link linkend="GPtrArray">GPtrArray</link> *         camel_folder_get_uids               (<link linkend="CamelFolder">CamelFolder</link> *folder);</programlisting>
<para>
Get the list of UIDs available in a folder. This routine is useful
for finding what messages are available when the folder does not
support summaries. The returned array should not be modified, and
must be freed by passing it to <link linkend="camel-folder-free-uids"><type>camel_folder_free_uids</type></link>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>folder</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolder"><type>CamelFolder</type></link> object
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> a GPtrArray of UIDs corresponding to the messages available
in the folder
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-free-uids" role="function">
<title>camel_folder_free_uids ()</title>
<indexterm zone="camel-folder-free-uids"><primary sortas="camel_folder_free_uids">camel_folder_free_uids</primary></indexterm><programlisting><link linkend="void">void</link>                camel_folder_free_uids              (<link linkend="CamelFolder">CamelFolder</link> *folder,
                                                         <link linkend="GPtrArray">GPtrArray</link> *array);</programlisting>
<para>
Frees the array of UIDs returned by <link linkend="camel-folder-get-uids"><type>camel_folder_get_uids</type></link>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>folder</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolder"><type>CamelFolder</type></link> object
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>array</parameter>&#160;:</term>
<listitem><simpara> the array of uids to free
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-sort-uids" role="function">
<title>camel_folder_sort_uids ()</title>
<indexterm zone="camel-folder-sort-uids"><primary sortas="camel_folder_sort_uids">camel_folder_sort_uids</primary></indexterm><programlisting><link linkend="void">void</link>                camel_folder_sort_uids              (<link linkend="CamelFolder">CamelFolder</link> *folder,
                                                         <link linkend="GPtrArray">GPtrArray</link> *uids);</programlisting>
<para>
Sorts the array of UIDs.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>folder</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolder"><type>CamelFolder</type></link> object
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>uids</parameter>&#160;:</term>
<listitem><simpara> array of uids
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-has-search-capability" role="function">
<title>camel_folder_has_search_capability ()</title>
<indexterm zone="camel-folder-has-search-capability"><primary sortas="camel_folder_has_search_capability">camel_folder_has_search_capability</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            camel_folder_has_search_capability  (<link linkend="CamelFolder">CamelFolder</link> *folder);</programlisting>
<para>
Checks if a folder supports searching.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>folder</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolder"><type>CamelFolder</type></link> object
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if the folder supports searching or <link linkend="FALSE--CAPS"><literal>FALSE</literal></link> otherwise
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-search-by-expression" role="function">
<title>camel_folder_search_by_expression ()</title>
<indexterm zone="camel-folder-search-by-expression"><primary sortas="camel_folder_search_by_expression">camel_folder_search_by_expression</primary></indexterm><programlisting><link linkend="GPtrArray">GPtrArray</link> *         camel_folder_search_by_expression   (<link linkend="CamelFolder">CamelFolder</link> *folder,
                                                         const <link linkend="char">char</link> *expr,
                                                         <link linkend="CamelException">CamelException</link> *ex);</programlisting>
<para>
Searches the folder for messages matching the given search expression.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>folder</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolder"><type>CamelFolder</type></link> object
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>expr</parameter>&#160;:</term>
<listitem><simpara> a search expression
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>ex</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelException"><type>CamelException</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> a <link linkend="GPtrArray"><type>GPtrArray</type></link> of uids of matching messages. The caller must
free the list and each of the elements when it is done.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-search-by-uids" role="function">
<title>camel_folder_search_by_uids ()</title>
<indexterm zone="camel-folder-search-by-uids"><primary sortas="camel_folder_search_by_uids">camel_folder_search_by_uids</primary></indexterm><programlisting><link linkend="GPtrArray">GPtrArray</link> *         camel_folder_search_by_uids         (<link linkend="CamelFolder">CamelFolder</link> *folder,
                                                         const <link linkend="char">char</link> *expr,
                                                         <link linkend="GPtrArray">GPtrArray</link> *uids,
                                                         <link linkend="CamelException">CamelException</link> *ex);</programlisting>
<para>
Search a subset of uid's for an expression match.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>folder</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolder"><type>CamelFolder</type></link> object
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>expr</parameter>&#160;:</term>
<listitem><simpara> search expression
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>uids</parameter>&#160;:</term>
<listitem><simpara> array of uid's to match against.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>ex</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelException"><type>CamelException</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> a <link linkend="GPtrArray"><type>GPtrArray</type></link> of uids of matching messages. The caller must
free the list and each of the elements when it is done.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-search-free" role="function">
<title>camel_folder_search_free ()</title>
<indexterm zone="camel-folder-search-free"><primary sortas="camel_folder_search_free">camel_folder_search_free</primary></indexterm><programlisting><link linkend="void">void</link>                camel_folder_search_free            (<link linkend="CamelFolder">CamelFolder</link> *folder,
                                                         <link linkend="GPtrArray">GPtrArray</link> *result);</programlisting>
<para>
Free the result of a search as gotten by <link linkend="camel-folder-search"><type>camel_folder_search</type></link> or
<link linkend="camel-folder-search-by-uids"><type>camel_folder_search_by_uids</type></link>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>folder</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolder"><type>CamelFolder</type></link> object
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>result</parameter>&#160;:</term>
<listitem><simpara> search results to free
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-get-message-info" role="function">
<title>camel_folder_get_message_info ()</title>
<indexterm zone="camel-folder-get-message-info"><primary sortas="camel_folder_get_message_info">camel_folder_get_message_info</primary></indexterm><programlisting><link linkend="CamelMessageInfo">CamelMessageInfo</link> *  camel_folder_get_message_info       (<link linkend="CamelFolder">CamelFolder</link> *folder,
                                                         const <link linkend="char">char</link> *uid);</programlisting>
<para>
Retrieve the <link linkend="CamelMessageInfo"><type>CamelMessageInfo</type></link> for the specified <parameter>uid</parameter>.  This return
must be freed using <link linkend="camel-folder-free-message-info"><type>camel_folder_free_message_info</type></link>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>folder</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolder"><type>CamelFolder</type></link> object
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>uid</parameter>&#160;:</term>
<listitem><simpara> the uid of a message
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the summary information for the indicated message, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
if the uid does not exist
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-free-message-info" role="function">
<title>camel_folder_free_message_info ()</title>
<indexterm zone="camel-folder-free-message-info"><primary sortas="camel_folder_free_message_info">camel_folder_free_message_info</primary></indexterm><programlisting><link linkend="void">void</link>                camel_folder_free_message_info      (<link linkend="CamelFolder">CamelFolder</link> *folder,
                                                         <link linkend="CamelMessageInfo">CamelMessageInfo</link> *info);</programlisting>
<para>
Free (unref) a <link linkend="CamelMessageInfo"><type>CamelMessageInfo</type></link>, previously obtained with
<link linkend="camel-folder-get-message-info"><type>camel_folder_get_message_info</type></link>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>folder</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolder"><type>CamelFolder</type></link> object
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>info</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelMessageInfo"><type>CamelMessageInfo</type></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-ref-message-info" role="function" condition="deprecated">
<title>camel_folder_ref_message_info ()</title>
<indexterm zone="camel-folder-ref-message-info" role="deprecated"><primary sortas="camel_folder_ref_message_info">camel_folder_ref_message_info</primary></indexterm><programlisting><link linkend="void">void</link>                camel_folder_ref_message_info       (<link linkend="CamelFolder">CamelFolder</link> *folder,
                                                         <link linkend="CamelMessageInfo">CamelMessageInfo</link> *info);</programlisting>
<warning><para><literal>camel_folder_ref_message_info</literal> is deprecated and should not be used in newly-written code. Use <link linkend="camel-message-info-ref"><type>camel_message_info_ref</type></link> directly.
</para>
<para>
Ref a <link linkend="CamelMessageInfo"><type>CamelMessageInfo</type></link>, previously obtained with
<link linkend="camel-folder-get-message-info"><type>camel_folder_get_message_info</type></link>.</para></warning>
<para>
</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>folder</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolder"><type>CamelFolder</type></link> object
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>info</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelMessageInfo"><type>CamelMessageInfo</type></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-transfer-messages-to" role="function">
<title>camel_folder_transfer_messages_to ()</title>
<indexterm zone="camel-folder-transfer-messages-to"><primary sortas="camel_folder_transfer_messages_to">camel_folder_transfer_messages_to</primary></indexterm><programlisting><link linkend="void">void</link>                camel_folder_transfer_messages_to   (<link linkend="CamelFolder">CamelFolder</link> *source,
                                                         <link linkend="GPtrArray">GPtrArray</link> *uids,
                                                         <link linkend="CamelFolder">CamelFolder</link> *dest,
                                                         <link linkend="GPtrArray">GPtrArray</link> **transferred_uids,
                                                         <link linkend="gboolean">gboolean</link> delete_originals,
                                                         <link linkend="CamelException">CamelException</link> *ex);</programlisting>
<para>
This copies or moves messages from one folder to another. If the
<parameter>source</parameter> and <parameter>dest</parameter> folders have the same parent_store, this may be
more efficient than using <link linkend="camel-folder-append-message"><type>camel_folder_append_message</type></link>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>source</parameter>&#160;:</term>
<listitem><simpara> the source <link linkend="CamelFolder"><type>CamelFolder</type></link> object
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>uids</parameter>&#160;:</term>
<listitem><simpara> message UIDs in <parameter>source</parameter>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>dest</parameter>&#160;:</term>
<listitem><simpara> the destination <link linkend="CamelFolder"><type>CamelFolder</type></link> object
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>transferred_uids</parameter>&#160;:</term>
<listitem><simpara> if non-<link linkend="NULL--CAPS"><literal>NULL</literal></link>, the UIDs of the resulting messages
in <parameter>dest</parameter> will be stored here, if known.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>delete_originals</parameter>&#160;:</term>
<listitem><simpara> whether or not to delete the original messages
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>ex</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelException"><type>CamelException</type></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-delete" role="function">
<title>camel_folder_delete ()</title>
<indexterm zone="camel-folder-delete"><primary sortas="camel_folder_delete">camel_folder_delete</primary></indexterm><programlisting><link linkend="void">void</link>                camel_folder_delete                 (<link linkend="CamelFolder">CamelFolder</link> *folder);</programlisting>
<para>
Marks a folder object as deleted and performs any required cleanup.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>folder</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolder"><type>CamelFolder</type></link> object
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-rename" role="function">
<title>camel_folder_rename ()</title>
<indexterm zone="camel-folder-rename"><primary sortas="camel_folder_rename">camel_folder_rename</primary></indexterm><programlisting><link linkend="void">void</link>                camel_folder_rename                 (<link linkend="CamelFolder">CamelFolder</link> *folder,
                                                         const <link linkend="char">char</link> *new);</programlisting>
<para>
Mark an active folder object as renamed.
</para>
<para>
NOTE: This is an internal function used by camel stores, no locking
is performed on the folder.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>folder</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolder"><type>CamelFolder</type></link> object
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>new</parameter>&#160;:</term>
<listitem><simpara> new name for the folder
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-freeze" role="function">
<title>camel_folder_freeze ()</title>
<indexterm zone="camel-folder-freeze"><primary sortas="camel_folder_freeze">camel_folder_freeze</primary></indexterm><programlisting><link linkend="void">void</link>                camel_folder_freeze                 (<link linkend="CamelFolder">CamelFolder</link> *folder);</programlisting>
<para>
Freezes the folder so that a series of operation can be performed
without "folder_changed" signals being emitted.  When the folder is
later thawed with <link linkend="camel-folder-thaw"><type>camel_folder_thaw</type></link>, the suppressed signals will
be emitted.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>folder</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolder"><type>CamelFolder</type></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-thaw" role="function">
<title>camel_folder_thaw ()</title>
<indexterm zone="camel-folder-thaw"><primary sortas="camel_folder_thaw">camel_folder_thaw</primary></indexterm><programlisting><link linkend="void">void</link>                camel_folder_thaw                   (<link linkend="CamelFolder">CamelFolder</link> *folder);</programlisting>
<para>
Thaws the folder and emits any pending folder_changed
signals.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>folder</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolder"><type>CamelFolder</type></link> object
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-is-frozen" role="function">
<title>camel_folder_is_frozen ()</title>
<indexterm zone="camel-folder-is-frozen"><primary sortas="camel_folder_is_frozen">camel_folder_is_frozen</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            camel_folder_is_frozen              (<link linkend="CamelFolder">CamelFolder</link> *folder);</programlisting>
<para>
</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>folder</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolder"><type>CamelFolder</type></link> object
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> whether or not the folder is frozen
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-get-quota-info" role="function">
<title>camel_folder_get_quota_info ()</title>
<indexterm zone="camel-folder-get-quota-info"><primary sortas="camel_folder_get_quota_info">camel_folder_get_quota_info</primary></indexterm><programlisting><link linkend="CamelFolderQuotaInfo">CamelFolderQuotaInfo</link> * camel_folder_get_quota_info      (<link linkend="CamelFolder">CamelFolder</link> *folder);</programlisting>
<para>
</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>folder</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolder"><type>CamelFolder</type></link> object
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> list of known quota(s) for the folder.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-quota-info-new" role="function">
<title>camel_folder_quota_info_new ()</title>
<indexterm zone="camel-folder-quota-info-new"><primary sortas="camel_folder_quota_info_new">camel_folder_quota_info_new</primary></indexterm><programlisting><link linkend="CamelFolderQuotaInfo">CamelFolderQuotaInfo</link> * camel_folder_quota_info_new      (const <link linkend="char">char</link> *name,
                                                         <link linkend="guint64">guint64</link> used,
                                                         <link linkend="guint64">guint64</link> total);</programlisting>
<para>
</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>name</parameter>&#160;:</term>
<listitem><simpara> Name of the quota.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>used</parameter>&#160;:</term>
<listitem><simpara> Current usage of the quota.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>total</parameter>&#160;:</term>
<listitem><simpara> Total available size of the quota.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> newly allocated <link linkend="CamelFolderQuotaInfo"><type>CamelFolderQuotaInfo</type></link> structure with
initialized values based on the parameters, with next member set to NULL.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-quota-info-clone" role="function">
<title>camel_folder_quota_info_clone ()</title>
<indexterm zone="camel-folder-quota-info-clone"><primary sortas="camel_folder_quota_info_clone">camel_folder_quota_info_clone</primary></indexterm><programlisting><link linkend="CamelFolderQuotaInfo">CamelFolderQuotaInfo</link> * camel_folder_quota_info_clone    (const <link linkend="CamelFolderQuotaInfo">CamelFolderQuotaInfo</link> *info);</programlisting>
<para>
Makes a copy of the given info and all next-s.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>info</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolderQuotaInfo"><type>CamelFolderQuotaInfo</type></link> object to clone.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-quota-info-free" role="function">
<title>camel_folder_quota_info_free ()</title>
<indexterm zone="camel-folder-quota-info-free"><primary sortas="camel_folder_quota_info_free">camel_folder_quota_info_free</primary></indexterm><programlisting><link linkend="void">void</link>                camel_folder_quota_info_free        (<link linkend="CamelFolderQuotaInfo">CamelFolderQuotaInfo</link> *info);</programlisting>
<para>
Frees this and all next objects.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>info</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolderQuotaInfo"><type>CamelFolderQuotaInfo</type></link> object to free.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-free-nop" role="function">
<title>camel_folder_free_nop ()</title>
<indexterm zone="camel-folder-free-nop"><primary sortas="camel_folder_free_nop">camel_folder_free_nop</primary></indexterm><programlisting><link linkend="void">void</link>                camel_folder_free_nop               (<link linkend="CamelFolder">CamelFolder</link> *folder,
                                                         <link linkend="GPtrArray">GPtrArray</link> *array);</programlisting>
<para>
"Frees" the provided array by doing nothing. Used by <link linkend="CamelFolder"><type>CamelFolder</type></link>
subclasses as an implementation for free_uids, or free_summary when
the returned array is "static" information and should not be freed.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>folder</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolder"><type>CamelFolder</type></link> object
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>array</parameter>&#160;:</term>
<listitem><simpara> an array of uids or <link linkend="CamelMessageInfo"><type>CamelMessageInfo</type></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-free-shallow" role="function">
<title>camel_folder_free_shallow ()</title>
<indexterm zone="camel-folder-free-shallow"><primary sortas="camel_folder_free_shallow">camel_folder_free_shallow</primary></indexterm><programlisting><link linkend="void">void</link>                camel_folder_free_shallow           (<link linkend="CamelFolder">CamelFolder</link> *folder,
                                                         <link linkend="GPtrArray">GPtrArray</link> *array);</programlisting>
<para>
Frees the provided array but not its contents. Used by <link linkend="CamelFolder"><type>CamelFolder</type></link>
subclasses as an implementation for free_uids or free_summary when
the returned array needs to be freed but its contents come from
"static" information.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>folder</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolder"><type>CamelFolder</type></link> object
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>array</parameter>&#160;:</term>
<listitem><simpara> an array of uids or <link linkend="CamelMessageInfo"><type>CamelMessageInfo</type></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-free-deep" role="function">
<title>camel_folder_free_deep ()</title>
<indexterm zone="camel-folder-free-deep"><primary sortas="camel_folder_free_deep">camel_folder_free_deep</primary></indexterm><programlisting><link linkend="void">void</link>                camel_folder_free_deep              (<link linkend="CamelFolder">CamelFolder</link> *folder,
                                                         <link linkend="GPtrArray">GPtrArray</link> *array);</programlisting>
<para>
Frees the provided array and its contents. Used by <link linkend="CamelFolder"><type>CamelFolder</type></link>
subclasses as an implementation for free_uids when the provided
information was created explicitly by the corresponding get_ call.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>folder</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolder"><type>CamelFolder</type></link> object
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>array</parameter>&#160;:</term>
<listitem><simpara> an array of uids
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-change-info-new" role="function">
<title>camel_folder_change_info_new ()</title>
<indexterm zone="camel-folder-change-info-new"><primary sortas="camel_folder_change_info_new">camel_folder_change_info_new</primary></indexterm><programlisting><link linkend="CamelFolderChangeInfo">CamelFolderChangeInfo</link> * camel_folder_change_info_new    (void);</programlisting>
<para>
Create a new folder change info structure.
</para>
<para>
Change info structures are not MT-SAFE and must be
locked for exclusive access externally.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> a new <link linkend="CamelFolderChangeInfo"><type>CamelFolderChangeInfo</type></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-change-info-clear" role="function">
<title>camel_folder_change_info_clear ()</title>
<indexterm zone="camel-folder-change-info-clear"><primary sortas="camel_folder_change_info_clear">camel_folder_change_info_clear</primary></indexterm><programlisting><link linkend="void">void</link>                camel_folder_change_info_clear      (<link linkend="CamelFolderChangeInfo">CamelFolderChangeInfo</link> *info);</programlisting>
<para>
Empty out the change info; called after changes have been
processed.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>info</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolderChangeInfo"><type>CamelFolderChangeInfo</type></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-change-info-free" role="function">
<title>camel_folder_change_info_free ()</title>
<indexterm zone="camel-folder-change-info-free"><primary sortas="camel_folder_change_info_free">camel_folder_change_info_free</primary></indexterm><programlisting><link linkend="void">void</link>                camel_folder_change_info_free       (<link linkend="CamelFolderChangeInfo">CamelFolderChangeInfo</link> *info);</programlisting>
<para>
Free memory associated with the folder change info lists.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>info</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolderChangeInfo"><type>CamelFolderChangeInfo</type></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-change-info-changed" role="function">
<title>camel_folder_change_info_changed ()</title>
<indexterm zone="camel-folder-change-info-changed"><primary sortas="camel_folder_change_info_changed">camel_folder_change_info_changed</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            camel_folder_change_info_changed    (<link linkend="CamelFolderChangeInfo">CamelFolderChangeInfo</link> *info);</programlisting>
<para>
Gets whether or not there have been any changes.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>info</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolderChangeInfo"><type>CamelFolderChangeInfo</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if the changeset contains any changes or <link linkend="FALSE--CAPS"><literal>FALSE</literal></link>
otherwise
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-change-info-add-source" role="function">
<title>camel_folder_change_info_add_source ()</title>
<indexterm zone="camel-folder-change-info-add-source"><primary sortas="camel_folder_change_info_add_source">camel_folder_change_info_add_source</primary></indexterm><programlisting><link linkend="void">void</link>                camel_folder_change_info_add_source (<link linkend="CamelFolderChangeInfo">CamelFolderChangeInfo</link> *info,
                                                         const <link linkend="char">char</link> *uid);</programlisting>
<para>
Add a source uid for generating a changeset.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>info</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolderChangeInfo"><type>CamelFolderChangeInfo</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>uid</parameter>&#160;:</term>
<listitem><simpara> a uid
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-change-info-add-source-list" role="function">
<title>camel_folder_change_info_add_source_list ()</title>
<indexterm zone="camel-folder-change-info-add-source-list"><primary sortas="camel_folder_change_info_add_source_list">camel_folder_change_info_add_source_list</primary></indexterm><programlisting><link linkend="void">void</link>                camel_folder_change_info_add_source_list
                                                        (<link linkend="CamelFolderChangeInfo">CamelFolderChangeInfo</link> *info,
                                                         const <link linkend="GPtrArray">GPtrArray</link> *list);</programlisting>
<para>
Add a list of source uid's for generating a changeset.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>info</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolderChangeInfo"><type>CamelFolderChangeInfo</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>list</parameter>&#160;:</term>
<listitem><simpara> a list of uids
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-change-info-add-update" role="function">
<title>camel_folder_change_info_add_update ()</title>
<indexterm zone="camel-folder-change-info-add-update"><primary sortas="camel_folder_change_info_add_update">camel_folder_change_info_add_update</primary></indexterm><programlisting><link linkend="void">void</link>                camel_folder_change_info_add_update (<link linkend="CamelFolderChangeInfo">CamelFolderChangeInfo</link> *info,
                                                         const <link linkend="char">char</link> *uid);</programlisting>
<para>
Add a uid from the updated list, used to generate a changeset diff.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>info</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolderChangeInfo"><type>CamelFolderChangeInfo</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>uid</parameter>&#160;:</term>
<listitem><simpara> a uid
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-change-info-add-update-list" role="function">
<title>camel_folder_change_info_add_update_list ()</title>
<indexterm zone="camel-folder-change-info-add-update-list"><primary sortas="camel_folder_change_info_add_update_list">camel_folder_change_info_add_update_list</primary></indexterm><programlisting><link linkend="void">void</link>                camel_folder_change_info_add_update_list
                                                        (<link linkend="CamelFolderChangeInfo">CamelFolderChangeInfo</link> *info,
                                                         const <link linkend="GPtrArray">GPtrArray</link> *list);</programlisting>
<para>
Add a list of uid's from the updated list.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>info</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolderChangeInfo"><type>CamelFolderChangeInfo</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>list</parameter>&#160;:</term>
<listitem><simpara> a list of uids
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-change-info-build-diff" role="function">
<title>camel_folder_change_info_build_diff ()</title>
<indexterm zone="camel-folder-change-info-build-diff"><primary sortas="camel_folder_change_info_build_diff">camel_folder_change_info_build_diff</primary></indexterm><programlisting><link linkend="void">void</link>                camel_folder_change_info_build_diff (<link linkend="CamelFolderChangeInfo">CamelFolderChangeInfo</link> *info);</programlisting>
<para>
Compare the source uid set to the updated uid set and generate the
differences into the added and removed lists.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>info</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolderChangeInfo"><type>CamelFolderChangeInfo</type></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-change-info-cat" role="function">
<title>camel_folder_change_info_cat ()</title>
<indexterm zone="camel-folder-change-info-cat"><primary sortas="camel_folder_change_info_cat">camel_folder_change_info_cat</primary></indexterm><programlisting><link linkend="void">void</link>                camel_folder_change_info_cat        (<link linkend="CamelFolderChangeInfo">CamelFolderChangeInfo</link> *info,
                                                         <link linkend="CamelFolderChangeInfo">CamelFolderChangeInfo</link> *src);</programlisting>
<para>
Concatenate one change info onto antoher.  Can be used to copy them
too.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>info</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolderChangeInfo"><type>CamelFolderChangeInfo</type></link> to append to
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>src</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolderChangeInfo"><type>CamelFolderChangeInfo</type></link> to append from
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-change-info-add-uid" role="function">
<title>camel_folder_change_info_add_uid ()</title>
<indexterm zone="camel-folder-change-info-add-uid"><primary sortas="camel_folder_change_info_add_uid">camel_folder_change_info_add_uid</primary></indexterm><programlisting><link linkend="void">void</link>                camel_folder_change_info_add_uid    (<link linkend="CamelFolderChangeInfo">CamelFolderChangeInfo</link> *info,
                                                         const <link linkend="char">char</link> *uid);</programlisting>
<para>
Add a new uid to the changeinfo.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>info</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolderChangeInfo"><type>CamelFolderChangeInfo</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>uid</parameter>&#160;:</term>
<listitem><simpara> a uid
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-change-info-remove-uid" role="function">
<title>camel_folder_change_info_remove_uid ()</title>
<indexterm zone="camel-folder-change-info-remove-uid"><primary sortas="camel_folder_change_info_remove_uid">camel_folder_change_info_remove_uid</primary></indexterm><programlisting><link linkend="void">void</link>                camel_folder_change_info_remove_uid (<link linkend="CamelFolderChangeInfo">CamelFolderChangeInfo</link> *info,
                                                         const <link linkend="char">char</link> *uid);</programlisting>
<para>
Add a uid to the removed uid list.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>info</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolderChangeInfo"><type>CamelFolderChangeInfo</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>uid</parameter>&#160;:</term>
<listitem><simpara> a uid
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-change-info-change-uid" role="function">
<title>camel_folder_change_info_change_uid ()</title>
<indexterm zone="camel-folder-change-info-change-uid"><primary sortas="camel_folder_change_info_change_uid">camel_folder_change_info_change_uid</primary></indexterm><programlisting><link linkend="void">void</link>                camel_folder_change_info_change_uid (<link linkend="CamelFolderChangeInfo">CamelFolderChangeInfo</link> *info,
                                                         const <link linkend="char">char</link> *uid);</programlisting>
<para>
Add a uid to the changed uid list.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>info</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolderChangeInfo"><type>CamelFolderChangeInfo</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>uid</parameter>&#160;:</term>
<listitem><simpara> a uid
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-folder-change-info-recent-uid" role="function">
<title>camel_folder_change_info_recent_uid ()</title>
<indexterm zone="camel-folder-change-info-recent-uid"><primary sortas="camel_folder_change_info_recent_uid">camel_folder_change_info_recent_uid</primary></indexterm><programlisting><link linkend="void">void</link>                camel_folder_change_info_recent_uid (<link linkend="CamelFolderChangeInfo">CamelFolderChangeInfo</link> *info,
                                                         const <link linkend="char">char</link> *uid);</programlisting>
<para>
Add a recent uid to the changedinfo.
This will also add the uid to the uid_filter array for potential
filtering</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>info</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="CamelFolderChangeInfo"><type>CamelFolderChangeInfo</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>uid</parameter>&#160;:</term>
<listitem><simpara> a uid
</simpara></listitem></varlistentry>
</variablelist></refsect2>

</refsect1>




</refentry>
