## EDataCal EDataCal — Implementation of the calendar CORBA client interface. |

## Synopsis

    EDataCal *          e_data_cal_construct                (EDataCal *cal,
                                                             ECalBackend *backend,
                                                             GNOME_Evolution_Calendar_CalListener listener);
    EDataCal *          e_data_cal_new                      (ECalBackend *backend,
                                                             GNOME_Evolution_Calendar_CalListener listener);
    ECalBackend *       e_data_cal_get_backend              (EDataCal *cal);
    GNOME_Evolution_Calendar_CalListener  e_data_cal_get_listener
                                                            (EDataCal *cal);
    void                e_data_cal_notify_read_only         (EDataCal *cal,
                                                             GNOME_Evolution_Calendar_CallStatus status,
                                                             gboolean read_only);
    void                e_data_cal_notify_cal_address       (EDataCal *cal,
                                                             GNOME_Evolution_Calendar_CallStatus status,
                                                             const gchar *address);
    void                e_data_cal_notify_alarm_email_address
                                                            (EDataCal *cal,
                                                             GNOME_Evolution_Calendar_CallStatus status,
                                                             const gchar *address);
    void                e_data_cal_notify_ldap_attribute    (EDataCal *cal,
                                                             GNOME_Evolution_Calendar_CallStatus status,
                                                             const gchar *attribute);
    void                e_data_cal_notify_static_capabilities
                                                            (EDataCal *cal,
                                                             GNOME_Evolution_Calendar_CallStatus status,
                                                             const gchar *capabilities);
    void                e_data_cal_notify_open              (EDataCal *cal,
                                                             GNOME_Evolution_Calendar_CallStatus status);
    void                e_data_cal_notify_remove            (EDataCal *cal,
                                                             GNOME_Evolution_Calendar_CallStatus status);
    void                e_data_cal_notify_object_created    (EDataCal *cal,
                                                             GNOME_Evolution_Calendar_CallStatus status,
                                                             const gchar *uid,
                                                             const gchar *object);
    void                e_data_cal_notify_object_modified   (EDataCal *cal,
                                                             GNOME_Evolution_Calendar_CallStatus status,
                                                             const gchar *old_object,
                                                             const gchar *object);
    void                e_data_cal_notify_object_removed    (EDataCal *cal,
                                                             GNOME_Evolution_Calendar_CallStatus status,
                                                             const ECalComponentId *id,
                                                             const gchar *old_object,
                                                             const gchar *object);
    void                e_data_cal_notify_alarm_discarded   (EDataCal *cal,
                                                             GNOME_Evolution_Calendar_CallStatus status);
    void                e_data_cal_notify_objects_received  (EDataCal *cal,
                                                             GNOME_Evolution_Calendar_CallStatus status);
    void                e_data_cal_notify_objects_sent      (EDataCal *cal,
                                                             GNOME_Evolution_Calendar_CallStatus status,
                                                             GList *users,
                                                             const gchar *calobj);
    void                e_data_cal_notify_default_object    (EDataCal *cal,
                                                             GNOME_Evolution_Calendar_CallStatus status,
                                                             const gchar *object);
    void                e_data_cal_notify_object            (EDataCal *cal,
                                                             GNOME_Evolution_Calendar_CallStatus status,
                                                             const gchar *object);
    void                e_data_cal_notify_object_list       (EDataCal *cal,
                                                             GNOME_Evolution_Calendar_CallStatus status,
                                                             GList *objects);
    void                e_data_cal_notify_query             (EDataCal *cal,
                                                             GNOME_Evolution_Calendar_CallStatus status,
                                                             EDataCalView *query);
    void                e_data_cal_notify_timezone_requested
                                                            (EDataCal *cal,
                                                             GNOME_Evolution_Calendar_CallStatus status,
                                                             const gchar *object);
    void                e_data_cal_notify_timezone_added    (EDataCal *cal,
                                                             GNOME_Evolution_Calendar_CallStatus status,
                                                             const gchar *tzid);
    void                e_data_cal_notify_default_timezone_set
                                                            (EDataCal *cal,
                                                             GNOME_Evolution_Calendar_CallStatus status);
    void                e_data_cal_notify_changes           (EDataCal *cal,
                                                             GNOME_Evolution_Calendar_CallStatus status,
                                                             GList *adds,
                                                             GList *modifies,
                                                             GList *deletes);
    void                e_data_cal_notify_free_busy         (EDataCal *cal,
                                                             GNOME_Evolution_Calendar_CallStatus status,
                                                             GList *freebusy);
    void                e_data_cal_notify_mode              (EDataCal *cal,
                                                             GNOME_Evolution_Calendar_CalListener_SetModeStatus status,
                                                             GNOME_Evolution_Calendar_CalMode mode);
    void                e_data_cal_notify_auth_required     (EDataCal *cal);
    void                e_data_cal_notify_error             (EDataCal *cal,
                                                             const gchar *message);
    void                e_data_cal_notify_attachment_list   (EDataCal *cal,
                                                             GNOME_Evolution_Calendar_CallStatus status,
                                                             GSList *objects);

## Description

## Details

### e_data_cal_construct ()

    EDataCal *          e_data_cal_construct                (EDataCal *cal,
                                                             ECalBackend *backend,
                                                             GNOME_Evolution_Calendar_CalListener listener);

Constructs a calendar client interface object by binding the corresponding CORBA object to it. The calendar interface is bound to the specified `backend`, and will notify the `listener` about changes to the calendar.

`cal` : | A calendar client interface.
`backend` : | Calendar backend that this `cal` presents an interface to.
`listener` : | Calendar listener for notification.
Returns : | The same object as the `cal` argument.

### e_data_cal_new ()

    EDataCal *          e_data_cal_new                      (ECalBackend *backend,
                                                             GNOME_Evolution_Calendar_CalListener listener);

Creates a new calendar client interface object and binds it to the specified `backend` and `listener` objects.

`backend` : | A calendar backend.
`listener` : | A calendar listener.
Returns : | A newly-created EDataCal calendar client interface object, or `NULL` if its corresponding CORBA object could not be created.

### e_data_cal_get_backend ()

    ECalBackend *       e_data_cal_get_backend              (EDataCal *cal);

Gets the associated backend.

`cal` : | A calendar client interface.
Returns : | An ECalBackend.

### e_data_cal_get_listener ()

    GNOME_Evolution_Calendar_CalListener  e_data_cal_get_listener
                                                            (EDataCal *cal);

Gets the listener associated with a calendar client interface.

`cal` : | A calendar client interface.
Returns : | The listener.

### e_data_cal_notify_read_only ()

    void                e_data_cal_notify_read_only         (EDataCal *cal,
                                                             GNOME_Evolution_Calendar_CallStatus status,
                                                             gboolean read_only);

Notifies listeners of the completion of the is_read_only method call.

`cal` : | A calendar client interface.
`status` : | Status code.
`read_only` : | Read only value.

### e_data_cal_notify_cal_address ()

    void                e_data_cal_notify_cal_address       (EDataCal *cal,
                                                             GNOME_Evolution_Calendar_CallStatus status,
                                                             const gchar *address);

Notifies listeners of the completion of the get_cal_address method call.

`cal` : | A calendar client interface.
`status` : | Status code.
`address` : | Calendar address.

### e_data_cal_notify_alarm_email_address ()

    void                e_data_cal_notify_alarm_email_address
                                                            (EDataCal *cal,
                                                             GNOME_Evolution_Calendar_CallStatus status,
                                                             const gchar *address);

Notifies listeners of the completion of the get_alarm_email_address method call.

`cal` : | A calendar client interface.
`status` : | Status code.
`address` : | Alarm email address.

### e_data_cal_notify_ldap_attribute ()

    void                e_data_cal_notify_ldap_attribute    (EDataCal *cal,
                                                             GNOME_Evolution_Calendar_CallStatus status,
                                                             const gchar *attribute);

Notifies listeners of the completion of the get_ldap_attribute method call.

`cal` : | A calendar client interface.
`status` : | Status code.
`attribute` : |

### e_data_cal_notify_static_capabilities ()

    void                e_data_cal_notify_static_capabilities
                                                            (EDataCal *cal,
                                                             GNOME_Evolution_Calendar_CallStatus status,
                                                             const gchar *capabilities);

Notifies listeners of the completion of the get_static_capabilities method call.

`cal` : | A calendar client interface.
`status` : | Status code.
`capabilities` : | Static capabilities from the backend.

### e_data_cal_notify_open ()

    void                e_data_cal_notify_open              (EDataCal *cal,
                                                             GNOME_Evolution_Calendar_CallStatus status);

Notifies listeners of the completion of the open method call.

`cal` : | A calendar client interface.
`status` : | Status code.

### e_data_cal_notify_remove ()

    void                e_data_cal_notify_remove            (EDataCal *cal,
                                                             GNOME_Evolution_Calendar_CallStatus status);

Notifies listeners of the completion of the remove method call.

`cal` : | A calendar client interface.
`status` : | Status code.

### e_data_cal_notify_object_created ()

    void                e_data_cal_notify_object_created    (EDataCal *cal,
                                                             GNOME_Evolution_Calendar_CallStatus status,
                                                             const gchar *uid,
                                                             const gchar *object);

Notifies listeners of the completion of the create_object method call.

`cal` : | A calendar client interface.
`status` : | Status code.
`uid` : | UID of the object created.
`object` : | The object created as an iCalendar string.

### e_data_cal_notify_object_modified ()

    void                e_data_cal_notify_object_modified   (EDataCal *cal,
                                                             GNOME_Evolution_Calendar_CallStatus status,
                                                             const gchar *old_object,
                                                             const gchar *object);

Notifies listeners of the completion of the modify_object method call.

`cal` : | A calendar client interface.
`status` : | Status code.
`old_object` : | The old object as an iCalendar string.
`object` : | The modified object as an iCalendar string.

### e_data_cal_notify_object_removed ()

    void                e_data_cal_notify_object_removed    (EDataCal *cal,
                                                             GNOME_Evolution_Calendar_CallStatus status,
                                                             const ECalComponentId *id,
                                                             const gchar *old_object,
                                                             const gchar *object);

Notifies listeners of the completion of the remove_object method call.

`cal` : | A calendar client interface.
`status` : | Status code.
`id` : |
`old_object` : | The old object as an iCalendar string.
`object` : | The new object as an iCalendar string. This will not be NULL only when removing instances of a recurring appointment.

### e_data_cal_notify_alarm_discarded ()

    void                e_data_cal_notify_alarm_discarded   (EDataCal *cal,
                                                             GNOME_Evolution_Calendar_CallStatus status);

Notifies listeners of the completion of the discard_alarm method call.

`cal` : | A calendar client interface.
`status` : | Status code.

### e_data_cal_notify_objects_received ()

    void                e_data_cal_notify_objects_received  (EDataCal *cal,
                                                             GNOME_Evolution_Calendar_CallStatus status);

Notifies listeners of the completion of the receive_objects method call.

`cal` : | A calendar client interface.
`status` : | Status code.

### e_data_cal_notify_objects_sent ()

    void                e_data_cal_notify_objects_sent      (EDataCal *cal,
                                                             GNOME_Evolution_Calendar_CallStatus status,
                                                             GList *users,
                                                             const gchar *calobj);

Notifies listeners of the completion of the send_objects method call.

`cal` : | A calendar client interface.
`status` : | Status code.
`users` : | List of users.
`calobj` : | An iCalendar string representing the object sent.

### e_data_cal_notify_default_object ()

    void                e_data_cal_notify_default_object    (EDataCal *cal,
                                                             GNOME_Evolution_Calendar_CallStatus status,
                                                             const gchar *object);

Notifies listeners of the completion of the get_default_object method call.

`cal` : | A calendar client interface.
`status` : | Status code.
`object` : | The default object as an iCalendar string.

### e_data_cal_notify_object ()

    void                e_data_cal_notify_object            (EDataCal *cal,
                                                             GNOME_Evolution_Calendar_CallStatus status,
                                                             const gchar *object);

Notifies listeners of the completion of the get_object method call.

`cal` : | A calendar client interface.
`status` : | Status code.
`object` : | The object retrieved as an iCalendar string.

### e_data_cal_notify_object_list ()

    void                e_data_cal_notify_object_list       (EDataCal *cal,
                                                             GNOME_Evolution_Calendar_CallStatus status,
                                                             GList *objects);

Notifies listeners of the completion of the get_object_list method call.

`cal` : | A calendar client interface.
`status` : | Status code.
`objects` : | List of retrieved objects.

### e_data_cal_notify_query ()

    void                e_data_cal_notify_query             (EDataCal *cal,
                                                             GNOME_Evolution_Calendar_CallStatus status,
                                                             EDataCalView *query);

Notifies listeners of the completion of the get_query method call.

`cal` : | A calendar client interface.
`status` : | Status code.
`query` : | The new live query.

### e_data_cal_notify_timezone_requested ()

    void                e_data_cal_notify_timezone_requested
                                                            (EDataCal *cal,
                                                             GNOME_Evolution_Calendar_CallStatus status,
                                                             const gchar *object);

Notifies listeners of the completion of the get_timezone method call.

`cal` : | A calendar client interface.
`status` : | Status code.
`object` : | The requested timezone as an iCalendar string.

### e_data_cal_notify_timezone_added ()

    void                e_data_cal_notify_timezone_added    (EDataCal *cal,
                                                             GNOME_Evolution_Calendar_CallStatus status,
                                                             const gchar *tzid);

Notifies listeners of the completion of the add_timezone method call.

`cal` : | A calendar client interface.
`status` : | Status code.
`tzid` : | ID of the added timezone.

### e_data_cal_notify_default_timezone_set ()

    void                e_data_cal_notify_default_timezone_set
                                                            (EDataCal *cal,
                                                             GNOME_Evolution_Calendar_CallStatus status);

Notifies listeners of the completion of the set_default_timezone method call.

`cal` : | A calendar client interface.
`status` : | Status code.

### e_data_cal_notify_changes ()

    void                e_data_cal_notify_changes           (EDataCal *cal,
                                                             GNOME_Evolution_Calendar_CallStatus status,
                                                             GList *adds,
                                                             GList *modifies,
                                                             GList *deletes);

Notifies listeners of the completion of the get_changes method call.

`cal` : | A calendar client interface.
`status` : | Status code.
`adds` : | List of additions.
`modifies` : | List of modifications.
`deletes` : | List of removals.

### e_data_cal_notify_free_busy ()

    void                e_data_cal_notify_free_busy         (EDataCal *cal,
                                                             GNOME_Evolution_Calendar_CallStatus status,
                                                             GList *freebusy);

Notifies listeners of the completion of the get_free_busy method call.

`cal` : | A calendar client interface.
`status` : | Status code.
`freebusy` : | List of free/busy objects.

### e_data_cal_notify_mode ()

    void                e_data_cal_notify_mode              (EDataCal *cal,
                                                             GNOME_Evolution_Calendar_CalListener_SetModeStatus status,
                                                             GNOME_Evolution_Calendar_CalMode mode);

Notifies the listener of the results of a set_mode call.

`cal` : | A calendar client interface.
`status` : | Status of the mode set.
`mode` : | The current mode.

### e_data_cal_notify_auth_required ()

    void                e_data_cal_notify_auth_required     (EDataCal *cal);

Notifies listeners that authorization is required to open the calendar.

`cal` : | A calendar client interface.

### e_data_cal_notify_error ()

    void                e_data_cal_notify_error             (EDataCal *cal,
                                                             const gchar *message);

Notify a calendar client of an error occurred in the backend.

`cal` : | A calendar client interface.
`message` : | Error message.

### e_data_cal_notify_attachment_list ()

    void                e_data_cal_notify_attachment_list   (EDataCal *cal,
                                                             GNOME_Evolution_Calendar_CallStatus status,
                                                             GSList *objects);

Notifies listeners of the completion of the get_attachment_list method call.

`cal` : | A calendar client interface.
`status` : | Status code.
`objects` : |