Camel.Folder
Description: Reference for Camel.Folder

### Class

# CamelFolder

#### Description [src]

    abstract class Camel.Folder : GObject.Object
    {
      CamelFolderPrivate* priv
    }

Abstract interface for a mail message store.

`CamelFolder` is the object used to abstract a mail folder that stores messages. Folders are obtained from `CamelStore` instances and provide the primary interface for working with mail:

- Retrieving information about messages in the folder (via `CamelFolderSummary` and `CamelMessageInfo`).
- Searching for messages with camel_folder_search_sync().
- Retrieving message content with camel_folder_get_message().
- Copying, moving, and appending messages.
- Modifying message flags and user-defined tags.
- Expunging deleted messages.

The abstraction maps closely to IMAP folders, Berkeley mbox, and Maildir: messages are ordered by arrival time, identified by a persistent UID string, and deleted by first flagging them then expunging the folder.

`CamelFolder` itself handles the client-facing interface. Implementations use `CamelFolderSummary` to manage the message list and cached metadata, and may use `CamelFolderSearch` to drive the search interface.

#### Hierarchy

#### Ancestors

- GObject

#### Descendants

- CamelOfflineFolder
- CamelVeeFolder

#### Instance methods

###### camel_folder_append_message

Appends `message` to `folder` asynchronously. Only the flag and tag data from `info` are used. If `info` is `NULL`, no flags or tags will be set.

since: 3.0

###### camel_folder_append_message_finish

Finishes the operation started with camel_folder_append_message_finish().

since: 3.0

###### camel_folder_append_message_sync

Appends `message` to `folder`. Only the flag and tag data from `info` are used. If `info` is `NULL`, no flags or tags will be set.

since: 3.0

###### camel_folder_changed

Emits the `CamelFolder::changed` signal from an idle source on the main loop. The idle source’s priority is #G_PRIORITY_LOW.

since: 2.32

###### camel_folder_cmp_uids

Compares two uids. The return value meaning is the same as in any other compare function.

since: 2.28

###### camel_folder_delete

Marks `folder` as deleted and performs any required cleanup.

###### camel_folder_dup_description

Thread-safe variation of camel_folder_get_description(). Use this function when accessing `folder` from multiple threads.

since: 3.8

###### camel_folder_dup_display_name

Thread-safe variation of camel_folder_get_display_name(). Use this function when accessing `folder` from multiple threads.

since: 3.8

###### camel_folder_dup_full_name

Thread-safe variation of camel_folder_get_full_name(). Use this function when accessing `folder` from multiple threads.

since: 3.8

###### camel_folder_dup_headers_sync

Reads headers of a message with the `uid` and returns it in the `out_headers`. Free the headers with camel_name_value_array_free(), when no longer needed.

since: 3.58

###### camel_folder_dup_uids

Duplicates a list of UIDs available in the `folder`. Free the array with g_ptr_array_unref(), when no longer needed.

since: 3.58

###### camel_folder_dup_uncached_uids

Returns the known-uncached uids from a list of uids. It may return uids which are locally cached but should never filter out a uid which is not locally cached.

since: 3.58

###### camel_folder_expunge

Asynchronously deletes messages which have been marked as “DELETED”.

since: 3.0

###### camel_folder_expunge_finish

Finishes the operation started with camel_folder_expunge().

since: 3.0

###### camel_folder_expunge_sync

Deletes messages which have been marked as “DELETED”.

since: 3.0

###### camel_folder_freeze

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 camel_folder_thaw(), the suppressed signals will be emitted.

###### camel_folder_get_description

Returns a description of the folder suitable for displaying to the user.

since: 2.32

###### camel_folder_get_display_name

Returns the display name for the folder. The fully qualified name can be obtained with camel_folder_get_full_name().

since: 3.2

###### camel_folder_get_filename

No description available.

since: 2.26

###### camel_folder_get_flags

No description available.

since: 3.24

###### camel_folder_get_folder_summary

Get the `CamelFolderSummary` if the backend actually supports it. The `camel_folder_has_summary_capability()` conveniently checks its availability.

since: 3.24

###### camel_folder_get_frozen_count

No description available.

since: 2.32

###### camel_folder_get_full_display_name

Similar to the camel_folder_get_full_name(), only returning full path to the `folder` suitable for the display to a user.

since: 3.46

###### camel_folder_get_full_name

Returns the fully qualified name of the folder.

###### camel_folder_get_mark_seen

No description available.

since: 3.32

###### camel_folder_get_mark_seen_timeout

No description available.

since: 3.32

###### camel_folder_get_message

Asynchronously gets the message corresponding to `message_uid` from `folder`.

since: 3.0

###### camel_folder_get_message_cached

Gets the message corresponding to `message_uid` from the `folder` cache, if available locally. This should not do any network I/O, only check if message is already downloaded and return it quickly, not being blocked by the folder’s lock. Returning NULL is not considered as an error, it just means that the message is still to-be-downloaded.

since: 3.24

###### camel_folder_get_message_count

No description available.

###### camel_folder_get_message_finish

Finishes the operation started with camel_folder_get_message().

since: 3.0

###### camel_folder_get_message_flags

No description available.

###### camel_folder_get_message_info

Retrieve the `CamelMessageInfo` for the specified `uid`.

###### camel_folder_get_message_sync

Gets the message corresponding to `message_uid` from `folder`.

since: 3.0

###### camel_folder_get_parent_store

No description available.

###### camel_folder_get_permanent_flags

No description available.

###### camel_folder_get_quota_info

Asynchronously gets a list of known quotas for `folder`.

since: 3.2

###### camel_folder_get_quota_info_finish

Finishes the operation started with camel_folder_get_quota_info(). Free the returned `CamelFolderQuotaInfo` struct with camel_folder_quota_info_free().

since: 3.2

###### camel_folder_get_quota_info_sync

Gets a list of known quotas for `folder`. Free the returned `CamelFolderQuotaInfo` struct with camel_folder_quota_info_free().

since: 3.2

###### camel_folder_get_state_filename

Get the current state filename.

since: 3.58

###### camel_folder_has_summary_capability

Get whether or not the folder has a summary.

###### camel_folder_is_frozen

No description available.

###### camel_folder_load_state

Loads properties with #CAMEL_FOLDER_PARAM_PERMANENT from a state file previously set by camel_folder_take_state_filename(). The function does nothing when no state file is set.

since: 3.58

###### camel_folder_lock

Locks `folder`. Unlock it with camel_folder_unlock().

since: 2.32

###### camel_folder_prepare_content_refresh

Lets the `folder` know that it should refresh its content the next time from fresh. This is useful for remote accounts, to fully re-check the folder content against the server.

since: 3.22

###### camel_folder_purge_message_cache

Delete the local cache of all messages between these uids.

since: 3.4

###### camel_folder_purge_message_cache_finish

Finishes the operation started with camel_folder_purge_message_cache().

since: 3.4

###### camel_folder_purge_message_cache_sync

Delete the local cache of all messages between these uids.

since: 3.4

###### camel_folder_refresh_info

Asynchronously synchronizes a folder’s summary with its backing store.

since: 3.2

###### camel_folder_refresh_info_finish

Finishes the operation started with camel_folder_refresh_info().

since: 3.2

###### camel_folder_refresh_info_sync

Synchronizes a folder’s summary with its backing store.

since: 3.0

###### camel_folder_rename

Marks `folder` as renamed.

###### camel_folder_save_state

Saves properties with #CAMEL_FOLDER_PARAM_PERMANENT into a state file previously set by camel_folder_take_state_filename(). The function does nothing when no state file is set.

since: 3.58

###### camel_folder_search_body_sync

Search the folder for messages with body containing `words`. The list of satisfying message UIDs is returned in the `out_uids`. The result list can be empty, meaning no such message exists.

since: 3.58

###### camel_folder_search_header_sync

Search the folder for messages with header `header_name`, which either contains the `words` or, when the `words` is empty or `NULL`, the header exists in the message. The list of satisfying message UIDs is returned in the `out_uids`. The result list can be empty, meaning no such message exists.

since: 3.58

###### camel_folder_search_sync

Searches the folder for messages matching the given search expression.

since: 3.58

###### camel_folder_set_description

Sets a description of the folder suitable for displaying to the user.

since: 2.32

###### camel_folder_set_display_name

Sets the display name for the folder.

since: 3.2

###### camel_folder_set_flags

Sets folder flags (bit-or of `CamelFolderFlags`) for the `folder`.

since: 3.24

###### camel_folder_set_full_name

Sets the fully qualified name of the folder.

since: 2.32

###### camel_folder_set_lock_async

Sets whether folder locking (camel_folder_lock() and camel_folder_unlock()) should be used. When set to `FALSE`, the two functions do nothing and simply return.

since: 2.30

###### camel_folder_set_mark_seen

Sets whether the messages in this `folder` should be marked as seen automatically. An inconsistent state means to use global option.

since: 3.32

###### camel_folder_set_mark_seen_timeout

Sets the `timeout` in milliseconds for marking messages as seen in this `folder`. Whether the timeout is used depends on camel_folder_get_mark_seen().

since: 3.32

###### camel_folder_set_message_flags

Sets those flags specified by `mask` to the values specified by `set` on the indicated message. (This may or may not persist after the folder or store is closed. See camel_folder_get_permanent_flags()).

###### camel_folder_sort_uids

Sorts the array of UIDs.

since: 2.24

###### camel_folder_synchronize

Synchronizes any changes that have been made to `folder` to its backing store asynchronously, optionally expunging deleted messages as well.

since: 3.0

###### camel_folder_synchronize_finish

Finishes the operation started with camel_folder_synchronize().

since: 3.0

###### camel_folder_synchronize_message

Asynchronously ensure that a message identified by `message_uid` has been synchronized in `folder` so that calling `camel_folder_get_message()` on it later will work in offline mode.

since: 3.0

###### camel_folder_synchronize_message_finish

Finishes the operation started with camel_folder_synchronize_message().

since: 3.0

###### camel_folder_synchronize_message_sync

Ensure that a message identified by `message_uid` has been synchronized in `folder` so that calling `camel_folder_get_message()` on it later will work in offline mode.

since: 3.0

###### camel_folder_synchronize_sync

Synchronizes any changes that have been made to `folder` to its backing store, optionally expunging deleted messages as well.

since: 3.0

###### camel_folder_take_folder_summary

Sets a `CamelFolderSummary` of the folder. It consumes the `summary`.

since: 3.24

###### camel_folder_take_state_filename

Set the current state filename.

since: 3.58

###### camel_folder_thaw

Thaws the folder and emits any pending folder_changed signals.

###### camel_folder_transfer_messages_to

Asynchronously copies or moves messages from one folder to another. If the `source` or `destination` folders have the same parent store, this may be more efficient than using camel_folder_append_message().

since: 3.0

###### camel_folder_transfer_messages_to_finish

Finishes the operation started with camel_folder_transfer_messages_to().

since: 3.0

###### camel_folder_transfer_messages_to_sync

Copies or moves messages from one folder to another. If the `source` and `destination` folders have the same parent_store, this may be more efficient than using camel_folder_append_message_sync().

since: 3.0

###### camel_folder_unlock

Unlocks `folder`, previously locked with camel_folder_lock().

since: 2.32

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

#### Properties

###### Camel.Folder:description

The folder’s description.

###### Camel.Folder:display-name

The folder’s display name.

###### Camel.Folder:full-name

The folder’s fully qualified name.

###### Camel.Folder:mark-seen

A `CamelThreeState` persistent option of the folder, which can override global option to mark messages as seen after certain interval.

since: 3.32

###### Camel.Folder:mark-seen-timeout

Timeout in milliseconds for marking messages as seen.

since: 3.32

###### Camel.Folder:parent-store

The `CamelStore` to which the folder belongs.

#### Signals

###### Camel.Folder::changed

No description available.

###### Camel.Folder::deleted

No description available.

###### Camel.Folder::renamed

No description available.

##### Signals inherited from GObject (1)

###### GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

#### Class structure

    struct CamelFolderClass {
      GObjectClass parent_class;
      gint (* get_message_count) (
        CamelFolder* folder
      );
      guint32 (* get_permanent_flags) (
        CamelFolder* folder
      );
      guint32 (* get_message_flags) (
        CamelFolder* folder,
        const gchar* uid
      );
      gboolean (* set_message_flags) (
        CamelFolder* folder,
        const gchar* uid,
        guint32 mask,
        guint32 set
      );
      GPtrArray* (* dup_uids) (
        CamelFolder* folder
      );
      gint (* cmp_uids) (
        CamelFolder* folder,
        const gchar* uid1,
        const gchar* uid2
      );
      void (* sort_uids) (
        CamelFolder* folder,
        GPtrArray* uids
      );
      gboolean (* has_search_capability) (
        CamelFolder* folder
      );
      CamelMessageInfo* (* get_message_info) (
        CamelFolder* folder,
        const gchar* uid
      );
      void (* delete_) (
        CamelFolder* folder
      );
      void (* rename) (
        CamelFolder* folder,
        const gchar* new_name
      );
      void (* freeze) (
        CamelFolder* folder
      );
      void (* thaw) (
        CamelFolder* folder
      );
      gboolean (* is_frozen) (
        CamelFolder* folder
      );
      GPtrArray* (* dup_uncached_uids) (
        CamelFolder* folder,
        GPtrArray* uids,
        GError** error
      );
      gchar* (* get_filename) (
        CamelFolder* folder,
        const gchar* uid,
        GError** error
      );
      CamelMimeMessage* (* get_message_cached) (
        CamelFolder* folder,
        const gchar* message_uid,
        GCancellable* cancellable
      );
      gboolean (* append_message_sync) (
        CamelFolder* folder,
        CamelMimeMessage* message,
        CamelMessageInfo* info,
        gchar** appended_uid,
        GCancellable* cancellable,
        GError** error
      );
      gboolean (* expunge_sync) (
        CamelFolder* folder,
        GCancellable* cancellable,
        GError** error
      );
      CamelMimeMessage* (* get_message_sync) (
        CamelFolder* folder,
        const gchar* message_uid,
        GCancellable* cancellable,
        GError** error
      );
      CamelFolderQuotaInfo* (* get_quota_info_sync) (
        CamelFolder* folder,
        GCancellable* cancellable,
        GError** error
      );
      gboolean (* purge_message_cache_sync) (
        CamelFolder* folder,
        gchar* start_uid,
        gchar* end_uid,
        GCancellable* cancellable,
        GError** error
      );
      gboolean (* refresh_info_sync) (
        CamelFolder* folder,
        GCancellable* cancellable,
        GError** error
      );
      gboolean (* synchronize_sync) (
        CamelFolder* folder,
        gboolean expunge,
        GCancellable* cancellable,
        GError** error
      );
      gboolean (* synchronize_message_sync) (
        CamelFolder* folder,
        const gchar* message_uid,
        GCancellable* cancellable,
        GError** error
      );
      gboolean (* transfer_messages_to_sync) (
        CamelFolder* source,
        GPtrArray* message_uids,
        CamelFolder* destination,
        gboolean delete_originals,
        GPtrArray** transferred_uids,
        GCancellable* cancellable,
        GError** error
      );
      void (* prepare_content_refresh) (
        CamelFolder* folder
      );
      const gchar* (* get_full_display_name) (
        CamelFolder* folder
      );
      gboolean (* dup_headers_sync) (
        CamelFolder* folder,
        const gchar* uid,
        CamelNameValueArray** out_headers,
        GCancellable* cancellable,
        GError** error
      );
      gboolean (* search_sync) (
        CamelFolder* folder,
        const gchar* expression,
        GPtrArray** out_uids,
        GCancellable* cancellable,
        GError** error
      );
      gboolean (* search_header_sync) (
        CamelFolder* folder,
        const gchar* header_name,
        GPtrArray* words,
        GPtrArray** out_uids,
        GCancellable* cancellable,
        GError** error
      );
      gboolean (* search_body_sync) (
        CamelFolder* folder,
        GPtrArray* words,
        GPtrArray** out_uids,
        GCancellable* cancellable,
        GError** error
      );
      gpointer reserved_methods;
      void (* changed) (
        CamelFolder* folder,
        CamelFolderChangeInfo* changes
      );
      void (* deleted) (
        CamelFolder* folder
      );
      void (* renamed) (
        CamelFolder* folder,
        const gchar* old_name
      );
      gpointer reserved_signals;

    }

No description available.

###### Class members

`parent_class: GObjectClass`

  No description available.

`get_message_count: gint (* get_message_count) ( CamelFolder* folder )`

  No description available.

`get_permanent_flags: guint32 (* get_permanent_flags) ( CamelFolder* folder )`

  No description available.

`get_message_flags: guint32 (* get_message_flags) ( CamelFolder* folder, const gchar* uid )`

  No description available.

`set_message_flags: gboolean (* set_message_flags) ( CamelFolder* folder, const gchar* uid, guint32 mask, guint32 set )`

  No description available.

`dup_uids: GPtrArray* (* dup_uids) ( CamelFolder* folder )`

  No description available.

`cmp_uids: gint (* cmp_uids) ( CamelFolder* folder, const gchar* uid1, const gchar* uid2 )`

  No description available.

`sort_uids: void (* sort_uids) ( CamelFolder* folder, GPtrArray* uids )`

  No description available.

`has_search_capability: gboolean (* has_search_capability) ( CamelFolder* folder )`

  No description available.

`get_message_info: CamelMessageInfo* (* get_message_info) ( CamelFolder* folder, const gchar* uid )`

  No description available.

`delete_: void (* delete_) ( CamelFolder* folder )`

  No description available.

`rename: void (* rename) ( CamelFolder* folder, const gchar* new_name )`

  No description available.

`freeze: void (* freeze) ( CamelFolder* folder )`

  No description available.

`thaw: void (* thaw) ( CamelFolder* folder )`

  No description available.

`is_frozen: gboolean (* is_frozen) ( CamelFolder* folder )`

  No description available.

`dup_uncached_uids: GPtrArray* (* dup_uncached_uids) ( CamelFolder* folder, GPtrArray* uids, GError** error )`

  No description available.

`get_filename: gchar* (* get_filename) ( CamelFolder* folder, const gchar* uid, GError** error )`

  No description available.

`get_message_cached: CamelMimeMessage* (* get_message_cached) ( CamelFolder* folder, const gchar* message_uid, GCancellable* cancellable )`

  No description available.

`append_message_sync: gboolean (* append_message_sync) ( CamelFolder* folder, CamelMimeMessage* message, CamelMessageInfo* info, gchar** appended_uid, GCancellable* cancellable, GError** error )`

  No description available.

`expunge_sync: gboolean (* expunge_sync) ( CamelFolder* folder, GCancellable* cancellable, GError** error )`

  No description available.

`get_message_sync: CamelMimeMessage* (* get_message_sync) ( CamelFolder* folder, const gchar* message_uid, GCancellable* cancellable, GError** error )`

  No description available.

`get_quota_info_sync: CamelFolderQuotaInfo* (* get_quota_info_sync) ( CamelFolder* folder, GCancellable* cancellable, GError** error )`

  No description available.

`purge_message_cache_sync: gboolean (* purge_message_cache_sync) ( CamelFolder* folder, gchar* start_uid, gchar* end_uid, GCancellable* cancellable, GError** error )`

  No description available.

`refresh_info_sync: gboolean (* refresh_info_sync) ( CamelFolder* folder, GCancellable* cancellable, GError** error )`

  No description available.

`synchronize_sync: gboolean (* synchronize_sync) ( CamelFolder* folder, gboolean expunge, GCancellable* cancellable, GError** error )`

  No description available.

`synchronize_message_sync: gboolean (* synchronize_message_sync) ( CamelFolder* folder, const gchar* message_uid, GCancellable* cancellable, GError** error )`

  No description available.

`transfer_messages_to_sync: gboolean (* transfer_messages_to_sync) ( CamelFolder* source, GPtrArray* message_uids, CamelFolder* destination, gboolean delete_originals, GPtrArray** transferred_uids, GCancellable* cancellable, GError** error )`

  No description available.

`prepare_content_refresh: void (* prepare_content_refresh) ( CamelFolder* folder )`

  No description available.

`get_full_display_name: const gchar* (* get_full_display_name) ( CamelFolder* folder )`

  No description available.

`dup_headers_sync: gboolean (* dup_headers_sync) ( CamelFolder* folder, const gchar* uid, CamelNameValueArray** out_headers, GCancellable* cancellable, GError** error )`

  No description available.

`search_sync: gboolean (* search_sync) ( CamelFolder* folder, const gchar* expression, GPtrArray** out_uids, GCancellable* cancellable, GError** error )`

  No description available.

`search_header_sync: gboolean (* search_header_sync) ( CamelFolder* folder, const gchar* header_name, GPtrArray* words, GPtrArray** out_uids, GCancellable* cancellable, GError** error )`

  No description available.

`search_body_sync: gboolean (* search_body_sync) ( CamelFolder* folder, GPtrArray* words, GPtrArray** out_uids, GCancellable* cancellable, GError** error )`

  No description available.

`reserved_methods: gpointer`

  No description available.

`changed: void (* changed) ( CamelFolder* folder, CamelFolderChangeInfo* changes )`

  No description available.

`deleted: void (* deleted) ( CamelFolder* folder )`

  No description available.

`renamed: void (* renamed) ( CamelFolder* folder, const gchar* old_name )`

  No description available.

`reserved_signals: gpointer`

  No description available.

#### Virtual methods

###### Camel.FolderClass.append_message_sync

Appends `message` to `folder`. Only the flag and tag data from `info` are used. If `info` is `NULL`, no flags or tags will be set.

since: 3.0

###### Camel.FolderClass.changed

Emits the `CamelFolder::changed` signal from an idle source on the main loop. The idle source’s priority is #G_PRIORITY_LOW.

since: 2.32

###### Camel.FolderClass.cmp_uids

Compares two uids. The return value meaning is the same as in any other compare function.

since: 2.28

###### Camel.FolderClass.delete_

No description available.

###### Camel.FolderClass.deleted

No description available.

###### Camel.FolderClass.dup_headers_sync

Reads headers of a message with the `uid` and returns it in the `out_headers`. Free the headers with camel_name_value_array_free(), when no longer needed.

since: 3.58

###### Camel.FolderClass.dup_uids

Duplicates a list of UIDs available in the `folder`. Free the array with g_ptr_array_unref(), when no longer needed.

since: 3.58

###### Camel.FolderClass.dup_uncached_uids

Returns the known-uncached uids from a list of uids. It may return uids which are locally cached but should never filter out a uid which is not locally cached.

since: 3.58

###### Camel.FolderClass.expunge_sync

Deletes messages which have been marked as “DELETED”.

since: 3.0

###### Camel.FolderClass.freeze

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 camel_folder_thaw(), the suppressed signals will be emitted.

###### Camel.FolderClass.get_filename

No description available.

since: 2.26

###### Camel.FolderClass.get_full_display_name

Similar to the camel_folder_get_full_name(), only returning full path to the `folder` suitable for the display to a user.

since: 3.46

###### Camel.FolderClass.get_message_cached

Gets the message corresponding to `message_uid` from the `folder` cache, if available locally. This should not do any network I/O, only check if message is already downloaded and return it quickly, not being blocked by the folder’s lock. Returning NULL is not considered as an error, it just means that the message is still to-be-downloaded.

since: 3.24

###### Camel.FolderClass.get_message_count

No description available.

###### Camel.FolderClass.get_message_flags

No description available.

###### Camel.FolderClass.get_message_info

Retrieve the `CamelMessageInfo` for the specified `uid`.

###### Camel.FolderClass.get_message_sync

Gets the message corresponding to `message_uid` from `folder`.

since: 3.0

###### Camel.FolderClass.get_permanent_flags

No description available.

###### Camel.FolderClass.get_quota_info_sync

Gets a list of known quotas for `folder`. Free the returned `CamelFolderQuotaInfo` struct with camel_folder_quota_info_free().

since: 3.2

###### Camel.FolderClass.has_search_capability

No description available.

###### Camel.FolderClass.is_frozen

No description available.

###### Camel.FolderClass.prepare_content_refresh

Lets the `folder` know that it should refresh its content the next time from fresh. This is useful for remote accounts, to fully re-check the folder content against the server.

since: 3.22

###### Camel.FolderClass.purge_message_cache_sync

Delete the local cache of all messages between these uids.

since: 3.4

###### Camel.FolderClass.refresh_info_sync

Synchronizes a folder’s summary with its backing store.

since: 3.0

###### Camel.FolderClass.rename

Marks `folder` as renamed.

###### Camel.FolderClass.renamed

No description available.

###### Camel.FolderClass.search_body_sync

Search the folder for messages with body containing `words`. The list of satisfying message UIDs is returned in the `out_uids`. The result list can be empty, meaning no such message exists.

since: 3.58

###### Camel.FolderClass.search_header_sync

Search the folder for messages with header `header_name`, which either contains the `words` or, when the `words` is empty or `NULL`, the header exists in the message. The list of satisfying message UIDs is returned in the `out_uids`. The result list can be empty, meaning no such message exists.

since: 3.58

###### Camel.FolderClass.search_sync

Searches the folder for messages matching the given search expression.

since: 3.58

###### Camel.FolderClass.set_message_flags

Sets those flags specified by `mask` to the values specified by `set` on the indicated message. (This may or may not persist after the folder or store is closed. See camel_folder_get_permanent_flags()).

###### Camel.FolderClass.sort_uids

Sorts the array of UIDs.

since: 2.24

###### Camel.FolderClass.synchronize_message_sync

Ensure that a message identified by `message_uid` has been synchronized in `folder` so that calling `camel_folder_get_message()` on it later will work in offline mode.

since: 3.0

###### Camel.FolderClass.synchronize_sync

Synchronizes any changes that have been made to `folder` to its backing store, optionally expunging deleted messages as well.

since: 3.0

###### Camel.FolderClass.thaw

Thaws the folder and emits any pending folder_changed signals.

###### Camel.FolderClass.transfer_messages_to_sync

Copies or moves messages from one folder to another. If the `source` and `destination` folders have the same parent_store, this may be more efficient than using camel_folder_append_message_sync().

since: 3.0

#### Class methods

###### camel_folder_class_map_legacy_property

Add the legacy property binding to allow opening legacy binary file states.

since: 3.58