## e-cal-component-alarm-trigger e-cal-component-alarm-trigger — An ECalComponentAlarmTrigger structure |

## Functions

ECalComponentAlarmTrigger * | e_cal_component_alarm_trigger_new_relative ()
ECalComponentAlarmTrigger * | e_cal_component_alarm_trigger_new_absolute ()
ECalComponentAlarmTrigger * | e_cal_component_alarm_trigger_new_from_property ()
ECalComponentAlarmTrigger * | e_cal_component_alarm_trigger_copy ()
void | e_cal_component_alarm_trigger_free ()
void | e_cal_component_alarm_trigger_set_from_property ()
ICalProperty * | e_cal_component_alarm_trigger_get_as_property ()
void | e_cal_component_alarm_trigger_fill_property ()
void | e_cal_component_alarm_trigger_set_relative ()
void | e_cal_component_alarm_trigger_set_absolute ()
ECalComponentAlarmTriggerKind | e_cal_component_alarm_trigger_get_kind ()
void | e_cal_component_alarm_trigger_set_kind ()
ICalDuration * | e_cal_component_alarm_trigger_get_duration ()
void | e_cal_component_alarm_trigger_set_duration ()
ICalTime * | e_cal_component_alarm_trigger_get_absolute_time ()
void | e_cal_component_alarm_trigger_set_absolute_time ()
ECalComponentParameterBag * | e_cal_component_alarm_trigger_get_parameter_bag ()

## Types and Values

| ECalComponentAlarmTrigger

## Object Hierarchy

        GBoxed
        ╰── ECalComponentAlarmTrigger

## Includes

    #include <libecal/libecal.h>

## Description

Contains functions to work with the ECalComponentAlarmTrigger structure.

## Functions

### e_cal_component_alarm_trigger_new_relative ()

    ECalComponentAlarmTrigger *
    e_cal_component_alarm_trigger_new_relative
                                   (ECalComponentAlarmTriggerKind kind,
                                    const ICalDuration *duration);

Creates a new ECalComponentAlarmTrigger structure, set with the given `kind` and `duration` . The `kind` can be any but the `E_CAL_COMPONENT_ALARM_TRIGGER_ABSOLUTE`. To create an absolute trigger use `e_cal_component_alarm_trigger_new_absolute()`. Free the trigger with `e_cal_component_alarm_trigger_free()`, when no longer needed.

#### Parameters

kind | an ECalComponentAlarmTriggerKind, any but the `E_CAL_COMPONENT_ALARM_TRIGGER_ABSOLUTE` |
duration | the duration relative to `kind` , as an ICalDuration. | [not nullable]

#### Returns

a newly allocated ECalComponentAlarmTrigger.

[transfer full]

Since: 3.34

### e_cal_component_alarm_trigger_new_absolute ()

    ECalComponentAlarmTrigger *
    e_cal_component_alarm_trigger_new_absolute
                                   (const ICalTime *absolute_time);

Creates a new ECalComponentAlarmTrigger structure, set with the `E_CAL_COMPONENT_ALARM_TRIGGER_ABSOLUTE` kind and the `absolute_time` as the time of the trigger. The `absolute_time` should be date/time (not date) in UTC.

To create a relative trigger use `e_cal_component_alarm_trigger_new_relative()`. Free the trigger with `e_cal_component_alarm_trigger_free()`, when no longer needed.

#### Parameters

absolute_time | the absolute time when to trigger the alarm, as an ICalTime. | [not nullable]

#### Returns

a newly allocated ECalComponentAlarmTrigger.

[transfer full]

Since: 3.34

### e_cal_component_alarm_trigger_new_from_property ()

    ECalComponentAlarmTrigger *
    e_cal_component_alarm_trigger_new_from_property
                                   (const ICalProperty *property);

Creates a new ECalComponentAlarmTrigger, filled with values from `property` , which should be of kind `I_CAL_TRIGGER_PROPERTY`. The function returns `NULL` when it is not of the expected kind. Free the structure with `e_cal_component_alarm_trigger_free()`, when no longer needed.

#### Parameters

property | an ICalProperty of kind `I_CAL_TRIGGER_PROPERTY` |

#### Returns

a newly allocated ECalComponentAlarmTrigger.

[transfer full][nullable]

Since: 3.34

### e_cal_component_alarm_trigger_copy ()

    ECalComponentAlarmTrigger *
    e_cal_component_alarm_trigger_copy (const ECalComponentAlarmTrigger *trigger);

Returns a newly allocated copy of `trigger` , which should be freed with `e_cal_component_alarm_trigger_free()`, when no longer needed.

#### Parameters

trigger | an ECalComponentAlarmTrigger. | [not nullable]

#### Returns

a newly allocated copy of `trigger` .

[transfer full]

Since: 3.34

### e_cal_component_alarm_trigger_free ()

    void
    e_cal_component_alarm_trigger_free (gpointer trigger);

Free `trigger` , previously created by `e_cal_component_alarm_trigger_new_relative()`, `e_cal_component_alarm_trigger_new_absolute()`, `e_cal_component_alarm_trigger_new_from_property()` or `e_cal_component_alarm_trigger_copy()`. The function does nothing, if `trigger` is `NULL`.

[skip]

#### Parameters

trigger | an ECalComponentAlarmTrigger to free. | [type ECalComponentAlarmTrigger][nullable]

Since: 3.34

### e_cal_component_alarm_trigger_set_from_property ()

    void
    e_cal_component_alarm_trigger_set_from_property
                                   (ECalComponentAlarmTrigger *trigger,
                                    const ICalProperty *property);

Fill the `trigger` structure with the information from the `property` , which should be of `I_CAL_TRIGGER_PROPERTY` kind.

#### Parameters

trigger | an ECalComponentAlarmTrigger |
property | an ICalProperty |

Since: 3.34

### e_cal_component_alarm_trigger_get_as_property ()

    ICalProperty *
    e_cal_component_alarm_trigger_get_as_property
                                   (const ECalComponentAlarmTrigger *trigger);

Converts information stored in `trigger` into an ICalProperty of `I_CAL_TRIGGER_PROPERTY` kind. The caller is responsible to free the returned object with `g_object_unref()`, when no longer needed.

#### Parameters

trigger | an ECalComponentAlarmTrigger |

#### Returns

a newly created ICalProperty, containing information from the `trigger` .

[transfer full]

Since: 3.34

### e_cal_component_alarm_trigger_fill_property ()

    void
    e_cal_component_alarm_trigger_fill_property
                                   (const ECalComponentAlarmTrigger *trigger,
                                    ICalProperty *property);

Fill `property` with information from `trigger` . The `property` should be of kind `I_CAL_TRIGGER_PROPERTY`.

#### Parameters

trigger | an ECalComponentAlarmTrigger |
property | an ICalProperty. | [inout][not nullable]

Since: 3.34

### e_cal_component_alarm_trigger_set_relative ()

    void
    e_cal_component_alarm_trigger_set_relative
                                   (ECalComponentAlarmTrigger *trigger,
                                    ECalComponentAlarmTriggerKind kind,
                                    const ICalDuration *duration);

Set the `trigegr` with the given `kind` and `duration` . The `kind` can be any but the `E_CAL_COMPONENT_ALARM_TRIGGER_ABSOLUTE`. To set an absolute trigger use `e_cal_component_alarm_trigger_set_absolute()`.

#### Parameters

trigger | an ECalComponentAlarmTrigger |
kind | an ECalComponentAlarmTriggerKind, any but the `E_CAL_COMPONENT_ALARM_TRIGGER_ABSOLUTE` |
duration | the duration relative to `kind` , as an ICalDuration. | [not nullable]

Since: 3.34

### e_cal_component_alarm_trigger_set_absolute ()

    void
    e_cal_component_alarm_trigger_set_absolute
                                   (ECalComponentAlarmTrigger *trigger,
                                    const ICalTime *absolute_time);

Set the `trigegr` with the `E_CAL_COMPONENT_ALARM_TRIGGER_ABSOLUTE` kind and the `absolute_time` as the time of the trigger. The `absolute_time` should be date/time (not date) in UTC.

To set a relative trigger use `e_cal_component_alarm_trigger_set_relative()`.

#### Parameters

trigger | an ECalComponentAlarmTrigger |
absolute_time | the absolute time when to trigger the alarm, as an ICalTime. | [not nullable]

Since: 3.34

### e_cal_component_alarm_trigger_get_kind ()

    ECalComponentAlarmTriggerKind
    e_cal_component_alarm_trigger_get_kind
                                   (const ECalComponentAlarmTrigger *trigger);

#### Parameters

trigger | an ECalComponentAlarmTrigger |

#### Returns

the `trigger` kind, one of ECalComponentAlarmTriggerKind

Since: 3.34

### e_cal_component_alarm_trigger_set_kind ()

    void
    e_cal_component_alarm_trigger_set_kind
                                   (ECalComponentAlarmTrigger *trigger,
                                    ECalComponentAlarmTriggerKind kind);

Set the `trigger` kind to `kind` . This works only for other than the `E_CAL_COMPONENT_ALARM_TRIGGER_ABSOLUTE`. To change the kind from absolute to relative, or vice versa, use either `e_cal_component_alarm_trigger_set_relative()` or `e_cal_component_alarm_trigger_set_absolute()`.

#### Parameters

trigger | an ECalComponentAlarmTrigger |
kind | the kind to set, one of ECalComponentAlarmTriggerKind |

Since: 3.34

### e_cal_component_alarm_trigger_get_duration ()

    ICalDuration *
    e_cal_component_alarm_trigger_get_duration
                                   (const ECalComponentAlarmTrigger *trigger);

Returns the `trigger` duration for a relative `trigger` , or `NULL`, when the `trigger` is an absolute trigger.

#### Parameters

trigger | an ECalComponentAlarmTrigger |

#### Returns

the `trigger` duration, as an ICalDuration, or `NULL`.

[transfer none][nullable]

Since: 3.34

### e_cal_component_alarm_trigger_set_duration ()

    void
    e_cal_component_alarm_trigger_set_duration
                                   (ECalComponentAlarmTrigger *trigger,
                                    const ICalDuration *duration);

Sets the `trigger` duration for a relative trigger. The function does nothing, when the `trigger` is an absolute trigger. The object is owned by `trigger` and it's valid until the `trigger` is freed or its relative duration changed.

#### Parameters

trigger | an ECalComponentAlarmTrigger |
duration | duration for a relative trigger, as an ICalDuration |

Since: 3.34

### e_cal_component_alarm_trigger_get_absolute_time ()

    ICalTime *
    e_cal_component_alarm_trigger_get_absolute_time
                                   (const ECalComponentAlarmTrigger *trigger);

Returns the `trigger` absolute time for an absolute trigger, or `NULL`, when the `trigger` is a relative trigger. The object is owned by `trigger` and it's valid until the `trigger` is freed or its absolute time changed.

#### Parameters

trigger | an ECalComponentAlarmTrigger |

#### Returns

the `trigger` absolute time, as an ICalTime, or `NULL`.

[transfer none][nullable]

Since: 3.34

### e_cal_component_alarm_trigger_set_absolute_time ()

    void
    e_cal_component_alarm_trigger_set_absolute_time
                                   (ECalComponentAlarmTrigger *trigger,
                                    const ICalTime *absolute_time);

Sets the `trigger` absolute time for an absolute trigger. The `absolute_time` should be date/time (not date) in UTC.

The function does nothing, when the `trigger` is a relative trigger.

#### Parameters

trigger | an ECalComponentAlarmTrigger |
absolute_time | absolute time for an absolute trigger, as an ICalTime |

Since: 3.34

### e_cal_component_alarm_trigger_get_parameter_bag ()

    ECalComponentParameterBag *
    e_cal_component_alarm_trigger_get_parameter_bag
                                   (const ECalComponentAlarmTrigger *trigger);

#### Parameters

trigger | an ECalComponentAlarmTrigger |

#### Returns

an ECalComponentParameterBag with additional parameters stored with the trigger property, other than those accessible with the other functions of the `trigger` .

[transfer none]

Since: 3.34

## Types and Values

### ECalComponentAlarmTrigger

    typedef struct _ECalComponentAlarmTrigger ECalComponentAlarmTrigger;

Opaque structure, which represents when an alarm is supposed to be triggered. Use the functions below to work with it.