## EDataCal

EDataCal

## Synopsis

    #define             E_DATA_CAL_ERROR
                        EDataCal;
    GError *            e_data_cal_create_error             (EDataCalCallStatus status,
                                                             const gchar *custom_msg);
    GError *            e_data_cal_create_error_fmt         (EDataCalCallStatus status,
                                                             const gchar *custom_msg_fmt,
                                                             ...);
    const gchar *       e_data_cal_status_to_string         (EDataCalCallStatus status);
    #define             e_return_data_cal_error_if_fail     (expr,
                                                             _code)
    #define             e_return_data_cal_error_val_if_fail (expr,
                                                             _code)
    EDataCal *          e_data_cal_new                      (ECalBackend *backend);
    ECalBackend *       e_data_cal_get_backend              (EDataCal *cal);
    guint               e_data_cal_register_gdbus_object    (EDataCal *cal,
                                                             GDBusConnection *connection,
                                                             const gchar *object_path,
                                                             GError **error);
    void                e_data_cal_respond_open             (EDataCal *cal,
                                                             guint32 opid,
                                                             GError *error);
    void                e_data_cal_respond_remove           (EDataCal *cal,
                                                             guint32 opid,
                                                             GError *error);
    void                e_data_cal_respond_refresh          (EDataCal *cal,
                                                             guint32 opid,
                                                             GError *error);
    void                e_data_cal_respond_get_backend_property
                                                            (EDataCal *cal,
                                                             guint32 opid,
                                                             GError *error,
                                                             const gchar *prop_value);
    void                e_data_cal_respond_set_backend_property
                                                            (EDataCal *cal,
                                                             guint32 opid,
                                                             GError *error);
    void                e_data_cal_respond_get_object       (EDataCal *cal,
                                                             guint32 opid,
                                                             GError *error,
                                                             const gchar *object);
    void                e_data_cal_respond_get_object_list  (EDataCal *cal,
                                                             guint32 opid,
                                                             GError *error,
                                                             const GSList *objects);
    void                e_data_cal_respond_get_free_busy    (EDataCal *cal,
                                                             guint32 opid,
                                                             GError *error);
    void                e_data_cal_respond_create_objects   (EDataCal *cal,
                                                             guint32 opid,
                                                             GError *error,
                                                             const GSList *uids,
                                                             GSList *new_components);
    void                e_data_cal_respond_modify_objects   (EDataCal *cal,
                                                             guint32 opid,
                                                             GError *error,
                                                             GSList *old_components,
                                                             GSList *new_components);
    void                e_data_cal_respond_remove_objects   (EDataCal *cal,
                                                             guint32 opid,
                                                             GError *error,
                                                             const GSList *ids,
                                                             GSList *old_components,
                                                             GSList *new_components);
    void                e_data_cal_respond_receive_objects  (EDataCal *cal,
                                                             guint32 opid,
                                                             GError *error);
    void                e_data_cal_respond_send_objects     (EDataCal *cal,
                                                             guint32 opid,
                                                             GError *error,
                                                             const GSList *users,
                                                             const gchar *calobj);
    void                e_data_cal_respond_get_attachment_uris
                                                            (EDataCal *cal,
                                                             guint32 opid,
                                                             GError *error,
                                                             const GSList *attachment_uris);
    void                e_data_cal_respond_discard_alarm    (EDataCal *cal,
                                                             guint32 opid,
                                                             GError *error);
    void                e_data_cal_respond_get_view         (EDataCal *cal,
                                                             guint32 opid,
                                                             GError *error,
                                                             const gchar *view_path);
    void                e_data_cal_respond_get_timezone     (EDataCal *cal,
                                                             guint32 opid,
                                                             GError *error,
                                                             const gchar *tzobject);
    void                e_data_cal_respond_add_timezone     (EDataCal *cal,
                                                             guint32 opid,
                                                             GError *error);
    void                e_data_cal_report_error             (EDataCal *cal,
                                                             const gchar *message);
    void                e_data_cal_report_readonly          (EDataCal *cal,
                                                             gboolean is_readonly);
    void                e_data_cal_report_online            (EDataCal *cal,
                                                             gboolean is_online);
    void                e_data_cal_report_opened            (EDataCal *cal,
                                                             const GError *error);
    void                e_data_cal_report_free_busy_data    (EDataCal *cal,
                                                             const GSList *freebusy);
    void                e_data_cal_report_backend_property_changed
                                                            (EDataCal *cal,
                                                             const gchar *prop_name,
                                                             const gchar *prop_value);

## Object Hierarchy

      GObject
       +----EDataCal

## Properties

      "backend"                  ECalBackend*          : Read / Write / Construct Only

## Description

## Details

### E_DATA_CAL_ERROR

    #define E_DATA_CAL_ERROR e_data_cal_error_quark ()

Since 2.30

### EDataCal

    typedef struct _EDataCal EDataCal;

### e_data_cal_create_error ()

    GError *            e_data_cal_create_error             (EDataCalCallStatus status,
                                                             const gchar *custom_msg);

`status` : | EDataCalStatus code
`custom_msg` : | Custom message to use for the error. When NULL, then uses a default message based on the `status` code.
Returns : | NULL, when the `status` is Success, or a newly allocated GError, which should be freed with `g_error_free()` call.

Since 2.32

### e_data_cal_create_error_fmt ()

    GError *            e_data_cal_create_error_fmt         (EDataCalCallStatus status,
                                                             const gchar *custom_msg_fmt,
                                                             ...);

Similar as `e_data_cal_create_error()`, only here, instead of custom_msg, is used a `printf()` format to create a custom_msg for the error.

Since 2.32

### e_data_cal_status_to_string ()

    const gchar *       e_data_cal_status_to_string         (EDataCalCallStatus status);

Since 2.32

### e_return_data_cal_error_if_fail()

    #define             e_return_data_cal_error_if_fail(expr, _code)

Since 2.32

### e_return_data_cal_error_val_if_fail()

    #define             e_return_data_cal_error_val_if_fail(expr, _code)

Same as `e_return_data_cal_error_if_fail()`, only returns FALSE on a failure

Since 3.2

### e_data_cal_new ()

    EDataCal *          e_data_cal_new                      (ECalBackend *backend);

### e_data_cal_get_backend ()

    ECalBackend *       e_data_cal_get_backend              (EDataCal *cal);

### e_data_cal_register_gdbus_object ()

    guint               e_data_cal_register_gdbus_object    (EDataCal *cal,
                                                             GDBusConnection *connection,
                                                             const gchar *object_path,
                                                             GError **error);

Registers GDBus object of this EDataCal.

Since 2.32

### e_data_cal_respond_open ()

    void                e_data_cal_respond_open             (EDataCal *cal,
                                                             guint32 opid,
                                                             GError *error);

Notifies listeners of the completion of the open method call.

`cal` : | A calendar client interface.
`error` : | Operation error, if any, automatically freed if passed it.

Since 3.2

### e_data_cal_respond_remove ()

    void                e_data_cal_respond_remove           (EDataCal *cal,
                                                             guint32 opid,
                                                             GError *error);

Notifies listeners of the completion of the remove method call.

`cal` : | A calendar client interface.
`error` : | Operation error, if any, automatically freed if passed it.

Since 3.2

### e_data_cal_respond_refresh ()

    void                e_data_cal_respond_refresh          (EDataCal *cal,
                                                             guint32 opid,
                                                             GError *error);

Notifies listeners of the completion of the refresh method call.

`cal` : | A calendar client interface.
`error` : | Operation error, if any, automatically freed if passed it.

Since 3.2

### e_data_cal_respond_get_backend_property ()

    void                e_data_cal_respond_get_backend_property
                                                            (EDataCal *cal,
                                                             guint32 opid,
                                                             GError *error,
                                                             const gchar *prop_value);

Notifies listeners of the completion of the get_backend_property method call.

`cal` : | A calendar client interface.
`error` : | Operation error, if any, automatically freed if passed it.
`prop_value` : | Value of a property

Since 3.2

### e_data_cal_respond_set_backend_property ()

    void                e_data_cal_respond_set_backend_property
                                                            (EDataCal *cal,
                                                             guint32 opid,
                                                             GError *error);

Notifies listeners of the completion of the set_backend_property method call.

`cal` : | A calendar client interface.
`error` : | Operation error, if any, automatically freed if passed it.

Since 3.2

### e_data_cal_respond_get_object ()

    void                e_data_cal_respond_get_object       (EDataCal *cal,
                                                             guint32 opid,
                                                             GError *error,
                                                             const gchar *object);

Notifies listeners of the completion of the get_object method call.

`cal` : | A calendar client interface.
`error` : | Operation error, if any, automatically freed if passed it.
`object` : | The object retrieved as an iCalendar string.

Since 3.2

### e_data_cal_respond_get_object_list ()

    void                e_data_cal_respond_get_object_list  (EDataCal *cal,
                                                             guint32 opid,
                                                             GError *error,
                                                             const GSList *objects);

Notifies listeners of the completion of the get_object_list method call.

`cal` : | A calendar client interface.
`error` : | Operation error, if any, automatically freed if passed it.
`objects` : | List of retrieved objects.

Since 3.2

### e_data_cal_respond_get_free_busy ()

    void                e_data_cal_respond_get_free_busy    (EDataCal *cal,
                                                             guint32 opid,
                                                             GError *error);

Notifies listeners of the completion of the get_free_busy method call. To pass actual free/busy objects to the client use `e_data_cal_report_free_busy_data()`.

`cal` : | A calendar client interface.
`error` : | Operation error, if any, automatically freed if passed it.

Since 3.2

### e_data_cal_respond_create_objects ()

    void                e_data_cal_respond_create_objects   (EDataCal *cal,
                                                             guint32 opid,
                                                             GError *error,
                                                             const GSList *uids,
                                                             GSList *new_components);

Notifies listeners of the completion of the create_objects method call.

`cal` : | A calendar client interface.
`error` : | Operation error, if any, automatically freed if passed it.
`uids` : | UIDs of the objects created.
`new_components` : | The newly created ECalComponent objects.

Since 3.6

### e_data_cal_respond_modify_objects ()

    void                e_data_cal_respond_modify_objects   (EDataCal *cal,
                                                             guint32 opid,
                                                             GError *error,
                                                             GSList *old_components,
                                                             GSList *new_components);

Notifies listeners of the completion of the modify_objects method call.

`cal` : | A calendar client interface.
`error` : | Operation error, if any, automatically freed if passed it.
`old_components` : | The old ECalComponents.
`new_components` : | The new ECalComponents.

Since 3.6

### e_data_cal_respond_remove_objects ()

    void                e_data_cal_respond_remove_objects   (EDataCal *cal,
                                                             guint32 opid,
                                                             GError *error,
                                                             const GSList *ids,
                                                             GSList *old_components,
                                                             GSList *new_components);

Notifies listeners of the completion of the remove_objects method call.

`cal` : | A calendar client interface.
`error` : | Operation error, if any, automatically freed if passed it.
`ids` : | IDs of the removed objects.
`old_components` : | The old ECalComponents.
`new_components` : | The new ECalComponents. They will not be NULL only when removing instances of recurring appointments.

Since 3.6

### e_data_cal_respond_receive_objects ()

    void                e_data_cal_respond_receive_objects  (EDataCal *cal,
                                                             guint32 opid,
                                                             GError *error);

Notifies listeners of the completion of the receive_objects method call.

`cal` : | A calendar client interface.
`error` : | Operation error, if any, automatically freed if passed it.

Since 3.2

### e_data_cal_respond_send_objects ()

    void                e_data_cal_respond_send_objects     (EDataCal *cal,
                                                             guint32 opid,
                                                             GError *error,
                                                             const GSList *users,
                                                             const gchar *calobj);

Notifies listeners of the completion of the send_objects method call.

`cal` : | A calendar client interface.
`error` : | Operation error, if any, automatically freed if passed it.
`users` : | List of users.
`calobj` : | An iCalendar string representing the object sent.

Since 3.2

### e_data_cal_respond_get_attachment_uris ()

    void                e_data_cal_respond_get_attachment_uris
                                                            (EDataCal *cal,
                                                             guint32 opid,
                                                             GError *error,
                                                             const GSList *attachment_uris);

Notifies listeners of the completion of the get_attachment_uris method call.

`cal` : | A calendar client interface.
`error` : | Operation error, if any, automatically freed if passed it.
`attachment_uris` : | List of retrieved attachment uri's.

Since 3.2

### e_data_cal_respond_discard_alarm ()

    void                e_data_cal_respond_discard_alarm    (EDataCal *cal,
                                                             guint32 opid,
                                                             GError *error);

Notifies listeners of the completion of the discard_alarm method call.

`cal` : | A calendar client interface.
`error` : | Operation error, if any, automatically freed if passed it.

Since 3.2

### e_data_cal_respond_get_view ()

    void                e_data_cal_respond_get_view         (EDataCal *cal,
                                                             guint32 opid,
                                                             GError *error,
                                                             const gchar *view_path);

Notifies listeners of the completion of the get_view method call.

`cal` : | A calendar client interface.
`error` : | Operation error, if any, automatically freed if passed it.
`view_path` : | The new live view path.

Since 3.2

### e_data_cal_respond_get_timezone ()

    void                e_data_cal_respond_get_timezone     (EDataCal *cal,
                                                             guint32 opid,
                                                             GError *error,
                                                             const gchar *tzobject);

Notifies listeners of the completion of the get_timezone method call.

`cal` : | A calendar client interface.
`error` : | Operation error, if any, automatically freed if passed it.
`tzobject` : | The requested timezone as an iCalendar string.

Since 3.2

### e_data_cal_respond_add_timezone ()

    void                e_data_cal_respond_add_timezone     (EDataCal *cal,
                                                             guint32 opid,
                                                             GError *error);

Notifies listeners of the completion of the add_timezone method call.

`cal` : | A calendar client interface.
`error` : | Operation error, if any, automatically freed if passed it.

Since 3.2

### e_data_cal_report_error ()

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

FIXME: Document me.

Since 3.2

### e_data_cal_report_readonly ()

    void                e_data_cal_report_readonly          (EDataCal *cal,
                                                             gboolean is_readonly);

FIXME: Document me.

Since 3.2

### e_data_cal_report_online ()

    void                e_data_cal_report_online            (EDataCal *cal,
                                                             gboolean is_online);

FIXME: Document me.

Since 3.2

### e_data_cal_report_opened ()

    void                e_data_cal_report_opened            (EDataCal *cal,
                                                             const GError *error);

Reports to associated client that opening phase of the cal is finished. error being NULL means successfully, otherwise reports an error which happened during opening phase. By opening phase is meant a process including successfull authentication to the server/storage.

Since 3.2

### e_data_cal_report_free_busy_data ()

    void                e_data_cal_report_free_busy_data    (EDataCal *cal,
                                                             const GSList *freebusy);

FIXME: Document me.

Since 3.2

### e_data_cal_report_backend_property_changed ()

    void                e_data_cal_report_backend_property_changed
                                                            (EDataCal *cal,
                                                             const gchar *prop_name,
                                                             const gchar *prop_value);

Notifies client about certain property value change

Since 3.2

## Property Details

### The `"backend"` property

      "backend"                  ECalBackend*          : Read / Write / Construct Only

The backend driving this connection.