### Struct

# ECal ComponentPeriod

#### Description [src]

    struct ECalComponentPeriod {
      /* No available fields */
    }

Period of time, can have explicit start/end times or start/duration instead. Use the functions below to work with it.

#### Constructors

###### e_cal_component_period_new_datetime

Creates a new `ECalComponentPeriod` of kind `E_CAL_COMPONENT_PERIOD_DATETIME`. The returned structure should be freed with e_cal_component_period_free(), when no longer needed.

since: 3.34

###### e_cal_component_period_new_duration

Creates a new `ECalComponentPeriod` of kind `E_CAL_COMPONENT_PERIOD_DURATION`. The returned structure should be freed with e_cal_component_period_free(), when no longer needed.

since: 3.34

#### Instance methods

###### e_cal_component_period_copy

No description available.

since: 3.34

###### e_cal_component_period_free

Free the `period`, previously allocated by e_cal_component_period_new_datetime(), `e_cal_component_period_new_duration()` or e_cal_component_period_copy().

since: 3.34

###### e_cal_component_period_get_duration

Returns the duration of the `period`. This can be called only on `period` objects of kind `E_CAL_COMPONENT_PERIOD_DURATION`. The returned `ICalDuration` object is owned by `period` and should not be freed. It’s valid until the `period` is freed or its duration changed.

since: 3.34

###### e_cal_component_period_get_end

Returns the end of the `period`. This can be called only on `period` objects of kind `E_CAL_COMPONENT_PERIOD_DATETIME`. The end time can be a null-time, in which case the `period` corresponds to a single date/date-time value, not to a period.

since: 3.34

###### e_cal_component_period_get_kind

Returns kind of the `period`, one of `ECalComponentPeriodKind`. Depending on it either e_cal_component_period_get_end()/e_cal_component_period_set_end() or e_cal_component_period_get_duration()/e_cal_component_period_set_duration() can be used. The kind of an existing `period` canbe changed with `e_cal_component_period_set_datetime_full()` and e_cal_component_period_set_duration_full().

since: 3.34

###### e_cal_component_period_get_start

Returns the start of the `period`. The returned `ICalTime` object is owned by `period` and should not be freed. It’s valid until the `period` is freed or its start time changed.

since: 3.34

###### e_cal_component_period_set_datetime_full

Set the kind of `period` to be `E_CAL_COMPONENT_PERIOD_DATETIME` and fills the content with `start` and `end`.

since: 3.34

###### e_cal_component_period_set_duration

Set the duration of the `period`. This can be called only on `period` objects of kind `E_CAL_COMPONENT_PERIOD_DURATION`.

since: 3.34

###### e_cal_component_period_set_duration_full

Set the kind of `period` to be `E_CAL_COMPONENT_PERIOD_DURATION` and fills the content with `start` and `duration`.

since: 3.34

###### e_cal_component_period_set_end

Set the end of the `period`. This can be called only on `period` objects of kind `E_CAL_COMPONENT_PERIOD_DATETIME`.

since: 3.34

###### e_cal_component_period_set_start

Set the `start` of the `period`. This can be called on any kind of the `period`.

since: 3.34