<!-- ##### SECTION Title ##### -->
ECal

<!-- ##### SECTION Short_Description ##### -->
Permits access to a calendar or list of tasks.

<!-- ##### SECTION Long_Description ##### -->
<para>
Represents an entire calendar or task list, not individual items within them.2
</para>

<!-- ##### SECTION See_Also ##### -->
<para>
#e-cal-listener, #e-cal-view
</para>

<!-- ##### SECTION Stability_Level ##### -->


<!-- ##### SECTION Image ##### -->


<!-- ##### STRUCT ECal ##### -->
<para>

</para>


<!-- ##### SIGNAL ECal::backend-died ##### -->
<para>

</para>

@ecal: the object which received the signal.

<!-- ##### SIGNAL ECal::backend-error ##### -->
<para>

</para>

@ecal: the object which received the signal.
@arg1: 

<!-- ##### SIGNAL ECal::cal-opened ##### -->
<para>

</para>

@ecal: the object which received the signal.
@arg1: 

<!-- ##### SIGNAL ECal::cal-opened-ex ##### -->
<para>

</para>

@ecal: the object which received the signal.
@arg1: 

<!-- ##### SIGNAL ECal::cal-set-mode ##### -->
<para>

</para>

@ecal: the object which received the signal.
@arg1: 
@arg2: 

<!-- ##### ENUM ECalSourceType ##### -->
<para>

</para>

@E_CAL_SOURCE_TYPE_EVENT: 
@E_CAL_SOURCE_TYPE_TODO: 
@E_CAL_SOURCE_TYPE_JOURNAL: 
@E_CAL_SOURCE_TYPE_LAST: 

<!-- ##### ENUM ECalSetModeStatus ##### -->
<para>

</para>

@E_CAL_SET_MODE_SUCCESS: 
@E_CAL_SET_MODE_ERROR: 
@E_CAL_SET_MODE_NOT_SUPPORTED: 

<!-- ##### ENUM ECalLoadState ##### -->
<para>

</para>

@E_CAL_LOAD_NOT_LOADED: 
@E_CAL_LOAD_AUTHENTICATING: 
@E_CAL_LOAD_LOADING: 
@E_CAL_LOAD_LOADED: 

<!-- ##### ENUM EDataCalMode ##### -->
<para>

</para>

@Local: 
@Remote: 
@AnyMode: 

<!-- ##### USER_FUNCTION ECalAuthFunc ##### -->
<para>

</para>

@ecal: 
@prompt: 
@key: 
@user_data: 
@Returns: 


<!-- ##### FUNCTION e_cal_new ##### -->
<para>

</para>

@source: 
@type: 
@Returns: 


<!-- ##### FUNCTION e_cal_new_from_uri ##### -->
<para>

</para>

@uri: 
@type: 
@Returns: 


<!-- ##### FUNCTION e_cal_new_system_calendar ##### -->
<para>

</para>

@void: 
@Returns: 


<!-- ##### FUNCTION e_cal_new_system_tasks ##### -->
<para>

</para>

@void: 
@Returns: 


<!-- ##### FUNCTION e_cal_new_system_memos ##### -->
<para>

</para>

@void: 
@Returns: 


<!-- ##### FUNCTION e_cal_set_auth_func ##### -->
<para>

</para>

@ecal: 
@func: 
@data: 


<!-- ##### FUNCTION e_cal_open ##### -->
<para>

</para>

@ecal: 
@only_if_exists: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_cal_open_async ##### -->
<para>

</para>

@ecal: 
@only_if_exists: 


<!-- ##### FUNCTION e_cal_refresh ##### -->
<para>

</para>

@ecal: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_cal_remove ##### -->
<para>

</para>

@ecal: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_cal_uri_list ##### -->
<para>

</para>

@ecal: 
@mode: 
@Returns: 


<!-- ##### FUNCTION e_cal_get_source_type ##### -->
<para>

</para>

@ecal: 
@Returns: 


<!-- ##### FUNCTION e_cal_get_load_state ##### -->
<para>

</para>

@ecal: 
@Returns: 


<!-- ##### FUNCTION e_cal_get_source ##### -->
<para>

</para>

@ecal: 
@Returns: 


<!-- ##### FUNCTION e_cal_get_uri ##### -->
<para>

</para>

@ecal: 
@Returns: 


<!-- ##### FUNCTION e_cal_is_read_only ##### -->
<para>

</para>

@ecal: 
@read_only: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_cal_get_cal_address ##### -->
<para>

</para>

@ecal: 
@cal_address: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_cal_get_alarm_email_address ##### -->
<para>

</para>

@ecal: 
@alarm_address: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_cal_get_ldap_attribute ##### -->
<para>

</para>

@ecal: 
@ldap_attribute: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_cal_get_one_alarm_only ##### -->
<para>

</para>

@ecal: 
@Returns: 


<!-- ##### FUNCTION e_cal_get_organizer_must_attend ##### -->
<para>

</para>

@ecal: 
@Returns: 


<!-- ##### FUNCTION e_cal_get_save_schedules ##### -->
<para>

</para>

@ecal: 
@Returns: 


<!-- ##### FUNCTION e_cal_get_static_capability ##### -->
<para>

</para>

@ecal: 
@cap: 
@Returns: 


<!-- ##### FUNCTION e_cal_get_organizer_must_accept ##### -->
<para>

</para>

@ecal: 
@Returns: 


<!-- ##### FUNCTION e_cal_get_refresh_supported ##### -->
<para>

</para>

@ecal: 
@Returns: 


<!-- ##### FUNCTION e_cal_set_mode ##### -->
<para>

</para>

@ecal: 
@mode: 
@Returns: 


<!-- ##### FUNCTION e_cal_get_default_object ##### -->
<para>

</para>

@ecal: 
@icalcomp: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_cal_get_object ##### -->
<para>

</para>

@ecal: 
@uid: 
@rid: 
@icalcomp: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_cal_get_objects_for_uid ##### -->
<para>

</para>

@ecal: 
@uid: 
@objects: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_cal_get_changes ##### -->
<para>

</para>

@ecal: 
@change_id: 
@changes: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_cal_free_change_list ##### -->
<para>

</para>

@list: 


<!-- ##### FUNCTION e_cal_get_object_list ##### -->
<para>

</para>

@ecal: 
@query: 
@objects: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_cal_get_object_list_as_comp ##### -->
<para>

</para>

@ecal: 
@query: 
@objects: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_cal_free_object_list ##### -->
<para>

</para>

@objects: 


<!-- ##### FUNCTION e_cal_get_free_busy ##### -->
<para>

</para>

@ecal: 
@users: 
@start: 
@end: 
@freebusy: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_cal_generate_instances ##### -->
<para>

</para>

@ecal: 
@start: 
@end: 
@cb: 
@cb_data: 


<!-- ##### FUNCTION e_cal_generate_instances_for_object ##### -->
<para>

</para>

@ecal: 
@icalcomp: 
@start: 
@end: 
@cb: 
@cb_data: 


<!-- ##### FUNCTION e_cal_get_alarms_in_range ##### -->
<para>

</para>

@ecal: 
@start: 
@end: 
@Returns: 


<!-- ##### FUNCTION e_cal_free_alarms ##### -->
<para>

</para>

@comp_alarms: 


<!-- ##### FUNCTION e_cal_get_alarms_for_object ##### -->
<para>

</para>

@ecal: 
@id: 
@start: 
@end: 
@alarms: 
@Returns: 


<!-- ##### FUNCTION e_cal_create_object ##### -->
<para>

</para>

@ecal: 
@icalcomp: 
@uid: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_cal_modify_object ##### -->
<para>

</para>

@ecal: 
@icalcomp: 
@mod: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_cal_remove_object ##### -->
<para>

</para>

@ecal: 
@uid: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_cal_remove_object_with_mod ##### -->
<para>

</para>

@ecal: 
@uid: 
@rid: 
@mod: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_cal_discard_alarm ##### -->
<para>

</para>

@ecal: 
@comp: 
@auid: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_cal_receive_objects ##### -->
<para>

</para>

@ecal: 
@icalcomp: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_cal_send_objects ##### -->
<para>

</para>

@ecal: 
@icalcomp: 
@users: 
@modified_icalcomp: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_cal_get_timezone ##### -->
<para>

</para>

@ecal: 
@tzid: 
@zone: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_cal_add_timezone ##### -->
<para>

</para>

@ecal: 
@izone: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_cal_set_default_timezone ##### -->
<para>

</para>

@ecal: 
@zone: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_cal_get_query ##### -->
<para>

</para>

@ecal: 
@sexp: 
@query: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_cal_resolve_tzid_cb ##### -->
<para>

</para>

@tzid: 
@data: 
@Returns: 


<!-- ##### FUNCTION e_cal_get_component_as_string ##### -->
<para>

</para>

@ecal: 
@icalcomp: 
@Returns: 


<!-- ##### FUNCTION e_cal_get_error_message ##### -->
<para>

</para>

@status: 
@Returns: 


<!-- ##### FUNCTION e_cal_open_default ##### -->
<para>

</para>

@ecal: 
@type: 
@func: 
@data: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_cal_set_default ##### -->
<para>

</para>

@ecal: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_cal_set_default_source ##### -->
<para>

</para>

@source: 
@type: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_cal_get_sources ##### -->
<para>

</para>

@sources: 
@type: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_cal_get_local_attachment_store ##### -->
<para>

</para>

@ecal: 
@Returns: 


<!-- ##### FUNCTION e_cal_get_recurrences_no_master ##### -->
<para>

</para>

@ecal: 
@Returns: 


<!-- ##### FUNCTION e_cal_get_attachments_for_comp ##### -->
<para>

</para>

@ecal: 
@uid: 
@rid: 
@list: 
@error: 
@Returns: 


