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

## Synopsis

                EDataCalPrivate;
    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 char *address);
    void        e_data_cal_notify_alarm_email_address
                                                (EDataCal *cal,
                                                 GNOME_Evolution_Calendar_CallStatus status,
                                                 const char *address);
    void        e_data_cal_notify_ldap_attribute
                                                (EDataCal *cal,
                                                 GNOME_Evolution_Calendar_CallStatus status,
                                                 const char *attribute);
    void        e_data_cal_notify_static_capabilities
                                                (EDataCal *cal,
                                                 GNOME_Evolution_Calendar_CallStatus status,
                                                 const char *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 char *uid,
                                                 const char *object);
    void        e_data_cal_notify_object_modified
                                                (EDataCal *cal,
                                                 GNOME_Evolution_Calendar_CallStatus status,
                                                 const char *old_object,
                                                 const char *object);
    void        e_data_cal_notify_object_removed
                                                (EDataCal *cal,
                                                 GNOME_Evolution_Calendar_CallStatus status,
                                                 const ECalComponentId *id,
                                                 const char *old_object,
                                                 const char *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 char *calobj);
    void        e_data_cal_notify_default_object
                                                (EDataCal *cal,
                                                 GNOME_Evolution_Calendar_CallStatus status,
                                                 const char *object);
    void        e_data_cal_notify_object        (EDataCal *cal,
                                                 GNOME_Evolution_Calendar_CallStatus status,
                                                 const char *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 char *object);
    void        e_data_cal_notify_timezone_added
                                                (EDataCal *cal,
                                                 GNOME_Evolution_Calendar_CallStatus status,
                                                 const char *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 char *message);

## Description

## Details

### EDataCalPrivate

    typedef struct _EDataCalPrivate EDataCalPrivate;

### 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 char *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 char *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 char *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 char *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 char *uid,
                                                 const char *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 char *old_object,
                                                 const char *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 char *old_object,
                                                 const char *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 char *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 char *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 char *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 char *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 char *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 char *message);

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

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