## e-cal-component-id e-cal-component-id — An ECalComponentId structure |

## Functions

ECalComponentId * | e_cal_component_id_new ()
ECalComponentId * | e_cal_component_id_new_take ()
ECalComponentId * | e_cal_component_id_copy ()
void | e_cal_component_id_free ()
guint | e_cal_component_id_hash ()
gboolean | e_cal_component_id_equal ()
const gchar * | e_cal_component_id_get_uid ()
void | e_cal_component_id_set_uid ()
const gchar * | e_cal_component_id_get_rid ()
void | e_cal_component_id_set_rid ()

## Types and Values

| ECalComponentId

## Object Hierarchy

        GBoxed
        ╰── ECalComponentId

## Includes

    #include <libecal/libecal.h>

## Description

Contains functions to work with the ECalComponentId structure.

## Functions

### e_cal_component_id_new ()

    ECalComponentId *
    e_cal_component_id_new (const gchar *uid,
                            const gchar *rid);

Creates a new ECalComponentId from `uid` and `rid` , which should be freed with `e_cal_component_id_free()`.

#### Parameters

uid | a unique ID string |
rid | an optional recurrence ID string. | [nullable]

#### Returns

an ECalComponentId.

[transfer full]

Since: 3.10

### e_cal_component_id_new_take ()

    ECalComponentId *
    e_cal_component_id_new_take (gchar *uid,
                                 gchar *rid);

Creates a new ECalComponentId from `uid` and `rid` , which should be freed with `e_cal_component_id_free()`. The function assumes ownership of `uid` and `rid` parameters.

#### Parameters

uid | a unique ID string. | [transfer full]
rid | an optional recurrence ID string. | [transfer full][nullable]

#### Returns

an ECalComponentId.

[transfer full]

Since: 3.34

### e_cal_component_id_copy ()

    ECalComponentId *
    e_cal_component_id_copy (const ECalComponentId *id);

Returns a newly allocated copy of `id` , which should be freed with `e_cal_component_id_free()`.

#### Parameters

id | an ECalComponentId. | [not nullable]

#### Returns

a newly allocated copy of `id` .

[transfer full]

Since: 3.10

### e_cal_component_id_free ()

    void
    e_cal_component_id_free (gpointer id);

Free the `id` , previously created by `e_cal_component_id_new()`, `e_cal_component_id_new_take()` or `e_cal_component_id_copy()`.

[skip]

#### Parameters

id | an ECalComponentId. | [type ECalComponentId][transfer full][nullable]

### e_cal_component_id_hash ()

    guint
    e_cal_component_id_hash (gconstpointer id);

Generates a hash value for `id` .

#### Parameters

id | an ECalComponentId. | [type ECalComponentId]

#### Returns

a hash value for `id`

Since: 3.10

### e_cal_component_id_equal ()

    gboolean
    e_cal_component_id_equal (gconstpointer id1,
                              gconstpointer id2);

Compares two ECalComponentId structs for equality.

#### Parameters

id1 | the first ECalComponentId. | [type ECalComponentId]
id2 | the second ECalComponentId. | [type ECalComponentId]

#### Returns

`TRUE` if `id1` and `id2` are equal

Since: 3.10

### e_cal_component_id_get_uid ()

    const gchar *
    e_cal_component_id_get_uid (const ECalComponentId *id);

#### Parameters

id | an ECalComponentId |

#### Returns

The UID part of the `id` . The returned string is owned by `id` and it's valid until it's changed with `e_cal_component_id_set_uid()` or until the `id` is freed.

[transfer none]

Since: 3.34

### e_cal_component_id_set_uid ()

    void
    e_cal_component_id_set_uid (ECalComponentId *id,
                                const gchar *uid);

Sets the UID part of the `id` .

#### Parameters

id | an ECalComponentId |
uid | the UID to set. | [not nullable]

Since: 3.34

### e_cal_component_id_get_rid ()

    const gchar *
    e_cal_component_id_get_rid (const ECalComponentId *id);

#### Parameters

id | an ECalComponentId |

#### Returns

The RECURRENCE-ID part of the `id` . The returned string is owned by `id` and it's valid until it's changed with `e_cal_component_id_set_rid()` or until the `id` is freed.

[transfer none][nullable]

Since: 3.34

### e_cal_component_id_set_rid ()

    void
    e_cal_component_id_set_rid (ECalComponentId *id,
                                const gchar *rid);

Sets the RECURRENCE-ID part of the `id` . The `rid` can be `NULL` or an empty string, where both are treated as `NULL`, which means the `id` has not RECURRENCE-ID.

#### Parameters

id | an ECalComponentId |
rid | the RECURRENCE-ID to set. | [nullable]

Since: 3.34

## Types and Values

### ECalComponentId

    typedef struct _ECalComponentId ECalComponentId;

An opaque structure containing UID of a component and its recurrence ID (which can be `NULL`). Use the functions below to work with it.