## camel

camel

## Functions

gint | camel_init ()
void | camel_shutdown ()
GBinding * | camel_binding_bind_property ()
GBinding * | camel_binding_bind_property_full ()
GBinding * | camel_binding_bind_property_with_closures ()
GPtrArray * | camel_util_get_directory_variants ()

## Types and Values

extern gint | camel_application_is_exiting

## Description

## Functions

### camel_init ()

    gint
    camel_init (const gchar *certdb_dir,
                gboolean nss_init);

### camel_shutdown ()

    void
    camel_shutdown (void);

Since: 2.24

### camel_binding_bind_property ()

    GBinding *
    camel_binding_bind_property (gpointer source,
                                 const gchar *source_property,
                                 gpointer target,
                                 const gchar *target_property,
                                 GBindingFlags flags);

Thread safe variant of `g_object_bind_property()`. See its documentation for more information on arguments and return value.

#### Parameters

source | the source GObject. | [type GObject.Object]
source_property | the property on `source` to bind |
target | the target GObject. | [type GObject.Object]
target_property | the property on `target` to bind |
flags | flags to pass to GBinding |

#### Returns

.

[transfer none]

Since: 3.16

### camel_binding_bind_property_full ()

    GBinding *
    camel_binding_bind_property_full (gpointer source,
                                      const gchar *source_property,
                                      gpointer target,
                                      const gchar *target_property,
                                      GBindingFlags flags,
                                      GBindingTransformFunc transform_to,
                                      GBindingTransformFunc transform_from,
                                      gpointer user_data,
                                      GDestroyNotify notify);

Thread safe variant of `g_object_bind_property_full()`. See its documentation for more information on arguments and return value.

#### Parameters

source | the source GObject. | [type GObject.Object]
source_property | the property on `source` to bind |
target | the target GObject. | [type GObject.Object]
target_property | the property on `target` to bind |
flags | flags to pass to GBinding |
transform_to | the transformation function from the `source` to the `target` , or `NULL` to use the default. | [scope notified][nullable]
transform_from | the transformation function from the `target` to the `source` , or `NULL` to use the default. | [scope notified][nullable]
user_data | custom data to be passed to the transformation functions, or `NULL`. | [nullable]
notify | function to be called when disposing the binding, to free the resources used by the transformation functions |

#### Returns

the GBinding instance representing the binding between the two GObject instances. The binding is released whenever the GBinding reference count reaches zero.

[transfer none]

Since: 3.16

### camel_binding_bind_property_with_closures ()

    GBinding *
    camel_binding_bind_property_with_closures
                                   (gpointer source,
                                    const gchar *source_property,
                                    gpointer target,
                                    const gchar *target_property,
                                    GBindingFlags flags,
                                    GClosure *transform_to,
                                    GClosure *transform_from);

Thread safe variant of `g_object_bind_property_with_closures()`. See its documentation for more information on arguments and return value.

[rename-to camel_binding_bind_property_full]

#### Parameters

source | the source GObject. | [type GObject.Object]
source_property | the property on `source` to bind |
target | the target GObject. | [type GObject.Object]
target_property | the property on `target` to bind |
flags | flags to pass to GBinding |
transform_to | a GClosure wrapping the transformation function from the `source` to the `target` , or `NULL` to use the default |
transform_from | a GClosure wrapping the transformation function from the `target` to the `source` , or `NULL` to use the default |

#### Returns

the GBinding instance representing the binding between the two GObject instances. The binding is released whenever the GBinding reference count reaches zero.

[transfer none]

Since: 3.16

### camel_util_get_directory_variants ()

    GPtrArray *
    camel_util_get_directory_variants (const gchar *main_path,
                                       const gchar *replace_prefix,
                                       gboolean with_modules_dir);

The `main_path` is a directory, which will be always used. It should have as its prefix the `replace_prefix` , otherwise the function returns only the `main_path` in the paths array.

When there's exported an environment variable EDS_EXTRA_PREFIXES, it is used as a list of alternative prefixes where to look for the `main_path` (rest after the `replace_prefix` ).

When the `with_modules_dir` is `TRUE`, there's also added `g_get_user_data_dir()` + "evolution/modules/", aka ~/.local/share/evolution/modules/, into the resulting array.

#### Parameters

main_path | the main path to work with |
replace_prefix | path prefix to replace |
with_modules_dir | whether to add also the modules directory |

#### Returns

a `GPtrArray` with paths to use, including the `main_path` . Free it with `g_ptr_array_unref()`, when no longer needed.

[element-type utf8][transfer container]

Since: 3.40

## Types and Values

### camel_application_is_exiting

    extern gint camel_application_is_exiting;