## CamelVeeStore

CamelVeeStore

## Functions

CamelVeeStore * | camel_vee_store_new ()
CamelVeeDataCache * | camel_vee_store_get_vee_data_cache ()
struct _CamelVeeFolder * | camel_vee_store_get_unmatched_folder ()
gboolean | camel_vee_store_get_unmatched_enabled ()
void | camel_vee_store_set_unmatched_enabled ()
void | camel_vee_store_note_subfolder_used ()
void | camel_vee_store_note_subfolder_unused ()
void | camel_vee_store_note_vuid_used ()
void | camel_vee_store_note_vuid_unused ()
void | camel_vee_store_rebuild_unmatched_folder ()

## Properties

gboolean | unmatched-enabled | Read / Write

## Object Hierarchy

        GObject
        ╰── CamelObject
            ╰── CamelService
                ╰── CamelStore
                    ╰── CamelVeeStore

## Description

## Functions

### camel_vee_store_new ()

    CamelVeeStore *
    camel_vee_store_new (void);

Create a new CamelVeeStore object.

#### Returns

new CamelVeeStore object.

[transfer full]

### camel_vee_store_get_vee_data_cache ()

    CamelVeeDataCache *
    camel_vee_store_get_vee_data_cache (CamelVeeStore *vstore);

#### Parameters

vstore | a CamelVeeStore |

#### Returns

the associated CamelVeeDataCache.

[type CamelVeeFolder][transfer none]

Since: 3.6

### camel_vee_store_get_unmatched_folder ()

    struct _CamelVeeFolder *
    camel_vee_store_get_unmatched_folder (CamelVeeStore *vstore);

#### Parameters

vstore | a CamelVeeStore |

#### Returns

the Unmatched folder instance, or `NULL`, when it's disabled.

[transfer none][nullable]

Since: 3.6

### camel_vee_store_get_unmatched_enabled ()

    gboolean
    camel_vee_store_get_unmatched_enabled (CamelVeeStore *vstore);

#### Parameters

vstore | a CamelVeeStore |

#### Returns

whether Unmatched folder processing is enabled

Since: 3.6

### camel_vee_store_set_unmatched_enabled ()

    void
    camel_vee_store_set_unmatched_enabled (CamelVeeStore *vstore,
                                           gboolean is_enabled);

Sets whether the Unmatched folder processing is enabled.

#### Parameters

vstore | a CamelVeeStore |
is_enabled | value to set |

Since: 3.6

### camel_vee_store_note_subfolder_used ()

    void
    camel_vee_store_note_subfolder_used (CamelVeeStore *vstore,
                                         CamelFolder *subfolder,
                                         struct _CamelVeeFolder *used_by);

Notes that the `subfolder` is used by `used_by` folder, which is used to determine what folders will be included in the Unmatched folders.

#### Parameters

vstore | a CamelVeeStore |
subfolder | a CamelFolder |
used_by | a CamelVeeFolder. | [type CamelVeeFolder]

Since: 3.6

### camel_vee_store_note_subfolder_unused ()

    void
    camel_vee_store_note_subfolder_unused (CamelVeeStore *vstore,
                                           CamelFolder *subfolder,
                                           struct _CamelVeeFolder *unused_by);

This is a counter part of `camel_vee_store_note_subfolder_used()`. Once the `subfolder` is claimed to be not used by all folders its message infos are removed from the Unmatched folder.

#### Parameters

vstore | a CamelVeeStore |
subfolder | a CamelFolder |
unused_by | a CamelVeeFolder. | [type CamelVeeFolder]

Since: 3.6

### camel_vee_store_note_vuid_used ()

    void
    camel_vee_store_note_vuid_used (CamelVeeStore *vstore,
                                    CamelVeeMessageInfoData *mi_data,
                                    struct _CamelVeeFolder *used_by);

Notes the `mi_data` is used by the `used_by` virtual folder, which removes it from the Unmatched folder, if not used anywhere else.

#### Parameters

vstore | a CamelVeeStore |
mi_data | a CamelVeeMessageInfoData |
used_by | a CamelVeeFolder. | [type CamelVeeFolder]

Since: 3.6

### camel_vee_store_note_vuid_unused ()

    void
    camel_vee_store_note_vuid_unused (CamelVeeStore *vstore,
                                      CamelVeeMessageInfoData *mi_data,
                                      struct _CamelVeeFolder *unused_by);

A counter part of `camel_vee_store_note_vuid_used()`. Once the `unused_by` claims the `mi_data` is not used by it anymore, and neither any other virtual folder is using it, then the Unmatched folder will have it added.

#### Parameters

vstore | a CamelVeeStore |
mi_data | a CamelVeeMessageInfoData |
unused_by | a CamelVeeFolder. | [type CamelVeeFolder]

Since: 3.6

### camel_vee_store_rebuild_unmatched_folder ()

    void
    camel_vee_store_rebuild_unmatched_folder
                                   (CamelVeeStore *vstore,
                                    GCancellable *cancellable,
                                    GError **error);

Let's the `vstore` know to rebuild the Unmatched folder. This is done as a separate job, when the `cancellable` is `NULL`, otherwise it's run synchronously.

#### Parameters

vstore | a CamelVeeStore |
cancellable | optional GCancellable object, or `NULL` |
error | return location for a GError, or `NULL` |

Since: 3.6

## Property Details

### The `“unmatched-enabled”` property

      “unmatched-enabled”        gboolean

Enable _Unmatched folder.

Owner: CamelVeeStore

Flags: Read / Write

Default value: TRUE