ECalBackendSync

ECalBackendSync — A convenience subclass of ECalBackend

Types and Values

Object Hierarchy

    GObject
    ╰── EBackend
        ╰── ECalBackend
            ╰── ECalBackendSync

Implemented Interfaces

ECalBackendSync implements ETimezoneCache.

Includes

#include <libedata-cal/libedata-cal.h>

Description

This class can be subclassed in place of the ECalBackend abstract backend for easier implementation of calendar backends.

Functions

e_cal_backend_sync_open ()

void
e_cal_backend_sync_open (ECalBackendSync *backend,
                         EDataCal *cal,
                         GCancellable *cancellable,
                         gboolean only_if_exists,
                         GError **error);

Calls the open_sync method on the given backend.

Parameters

backend

An ECalBackendSync object.

 

cal

An EDataCal object.

 

cancellable

a GCancellable for the operation

 

only_if_exists

Whether to open the calendar if and only if it already exists or just create it when it does not exist.

 

error

Out parameter for a GError.

 

e_cal_backend_sync_refresh ()

void
e_cal_backend_sync_refresh (ECalBackendSync *backend,
                            EDataCal *cal,
                            GCancellable *cancellable,
                            GError **error);

Calls the refresh_sync method on the given backend.

Parameters

backend

An ECalBackendSync object.

 

cal

An EDataCal object.

 

cancellable

a GCancellable for the operation

 

error

Out parameter for a GError.

 

Since: 2.30


e_cal_backend_sync_get_object ()

void
e_cal_backend_sync_get_object (ECalBackendSync *backend,
                               EDataCal *cal,
                               GCancellable *cancellable,
                               const gchar *uid,
                               const gchar *rid,
                               gchar **calobj,
                               GError **error);

Calls the get_object_sync method on the given backend.

Parameters

backend

An ECalBackendSync object.

 

cal

An EDataCal object.

 

cancellable

a GCancellable for the operation

 

uid

UID of the object to get.

 

rid

Recurrence ID of the specific instance to get, or NULL if getting the master object.

 

calobj

Placeholder for returned object.

 

error

Out parameter for a GError.

 

e_cal_backend_sync_get_object_list ()

void
e_cal_backend_sync_get_object_list (ECalBackendSync *backend,
                                    EDataCal *cal,
                                    GCancellable *cancellable,
                                    const gchar *sexp,
                                    GSList **calobjs,
                                    GError **error);

Calls the get_object_list_sync method on the given backend.

Parameters

backend

An ECalBackendSync object.

 

cal

An EDataCal object.

 

cancellable

a GCancellable for the operation

 

sexp

Search query.

 

calobjs

Placeholder for list of returned objects.

 

error

Out parameter for a GError.

 

e_cal_backend_sync_get_free_busy ()

void
e_cal_backend_sync_get_free_busy (ECalBackendSync *backend,
                                  EDataCal *cal,
                                  GCancellable *cancellable,
                                  const GSList *users,
                                  time_t start,
                                  time_t end,
                                  GSList **freebusyobjects,
                                  GError **error);

Calls the get_free_busy_sync method on the given backend.

Parameters

backend

An ECalBackendSync object.

 

cal

An EDataCal object.

 

cancellable

a GCancellable for the operation

 

users

List of users to get F/B info from.

 

start

Time range start.

 

end

Time range end.

 

freebusyobjects

Placeholder for F/B information.

 

error

Out parameter for a GError.

 

e_cal_backend_sync_create_objects ()

void
e_cal_backend_sync_create_objects (ECalBackendSync *backend,
                                   EDataCal *cal,
                                   GCancellable *cancellable,
                                   const GSList *calobjs,
                                   GSList **uids,
                                   GSList **new_components,
                                   GError **error);

Calls the create_objects_sync method on the given backend.

Parameters

backend

An ECalBackendSync object.

 

cal

An EDataCal object.

 

cancellable

a GCancellable for the operation

 

calobjs

The objects to be added.

 

uids

Placeholder for server-generated UIDs.

 

new_components

Placeholder for returned ECalComponent objects.

[out][transfer full]

error

Out parameter for a GError.

 

Since: 3.6


e_cal_backend_sync_modify_objects ()

void
e_cal_backend_sync_modify_objects (ECalBackendSync *backend,
                                   EDataCal *cal,
                                   GCancellable *cancellable,
                                   const GSList *calobjs,
                                   ECalObjModType mod,
                                   GSList **old_components,
                                   GSList **new_components,
                                   GError **error);

Calls the modify_objects_sync method on the given backend.

Parameters

backend

An ECalBackendSync object.

 

cal

An EDataCal object.

 

cancellable

a GCancellable for the operation

 

calobjs

Objects to be modified.

 

mod

Type of modification to be done.

 

old_components

Placeholder for returning the old components as they were stored on the backend.

[out][transfer full]

new_components

Placeholder for returning the new components as they have been stored on the backend.

[out][transfer full]

error

Out parameter for a GError.

 

Since: 3.6


e_cal_backend_sync_remove_objects ()

void
e_cal_backend_sync_remove_objects (ECalBackendSync *backend,
                                   EDataCal *cal,
                                   GCancellable *cancellable,
                                   const GSList *ids,
                                   ECalObjModType mod,
                                   GSList **old_components,
                                   GSList **new_components,
                                   GError **error);

Calls the remove_objects_sync method on the given backend.

Parameters

backend

An ECalBackendSync object.

 

cal

An EDataCal object.

 

cancellable

a GCancellable for the operation

 

ids

List of ECalComponentId objects identifying the objects to remove.

 

mod

Type of removal.

 

old_components

Placeholder for returning the old components as they were stored on the backend.

[out][transfer full]

new_components

Placeholder for returning the new components as they have been stored on the backend (when removing individual instances). If removing whole objects, they will be set to NULL.

[out][transfer full]

error

Out parameter for a GError.

 

Since: 3.6


e_cal_backend_sync_receive_objects ()

void
e_cal_backend_sync_receive_objects (ECalBackendSync *backend,
                                    EDataCal *cal,
                                    GCancellable *cancellable,
                                    const gchar *calobj,
                                    GError **error);

Calls the receive_objects_sync method on the given backend.

Parameters

backend

An ECalBackendSync object.

 

cal

An EDataCal object.

 

cancellable

a GCancellable for the operation

 

calobj

iCalendar object to receive.

 

error

Out parameter for a GError.

 

e_cal_backend_sync_send_objects ()

void
e_cal_backend_sync_send_objects (ECalBackendSync *backend,
                                 EDataCal *cal,
                                 GCancellable *cancellable,
                                 const gchar *calobj,
                                 GSList **users,
                                 gchar **modified_calobj,
                                 GError **error);

Calls the send_objects_sync method on the given backend.

Parameters

backend

An ECalBackendSync object.

 

cal

An EDataCal object.

 

cancellable

a GCancellable for the operation

 

calobj

The iCalendar object to send.

 

users

List of users to send notifications to.

 

modified_calobj

Placeholder for the iCalendar object after being modified.

 

error

Out parameter for a GError.

 

e_cal_backend_sync_get_attachment_uris ()

void
e_cal_backend_sync_get_attachment_uris
                               (ECalBackendSync *backend,
                                EDataCal *cal,
                                GCancellable *cancellable,
                                const gchar *uid,
                                const gchar *rid,
                                GSList **attachments,
                                GError **error);

Calls the get_attachment_uris_sync method on the given backend.

Parameters

backend

An ECalBackendSync object.

 

cal

An EDataCal object.

 

cancellable

a GCancellable for the operation

 

uid

Unique id of the calendar object.

 

rid

Recurrence id of the calendar object.

 

attachments

Placeholder for list of returned attachment uris.

 

error

Out parameter for a GError.

 

Since: 3.2


e_cal_backend_sync_discard_alarm ()

void
e_cal_backend_sync_discard_alarm (ECalBackendSync *backend,
                                  EDataCal *cal,
                                  GCancellable *cancellable,
                                  const gchar *uid,
                                  const gchar *rid,
                                  const gchar *auid,
                                  GError **error);

Calls the discard_alarm_sync method on the given backend.

Parameters

backend

An ECalBackendSync object.

 

cal

An EDataCal object.

 

cancellable

a GCancellable for the operation

 

uid

Unique id of the calendar object.

 

rid

Recurrence id of the calendar object.

 

auid

Alarm ID to remove.

 

error

Out parameter for a GError.

 

e_cal_backend_sync_get_timezone ()

void
e_cal_backend_sync_get_timezone (ECalBackendSync *backend,
                                 EDataCal *cal,
                                 GCancellable *cancellable,
                                 const gchar *tzid,
                                 gchar **tzobject,
                                 GError **error);

Calls the get_timezone_sync method on the given backend. This method is not mandatory on the backend, because here is used internal_get_timezone call to fetch timezone from it and that is transformed to a string. In other words, any object deriving from ECalBackendSync can implement only internal_get_timezone and can skip implementation of get_timezone_sync completely.

Parameters

backend

An ECalBackendSync object.

 

cal

An EDataCal object.

 

cancellable

a GCancellable for the operation

 

tzid

ID of the timezone to retrieve.

 

tzobject

Placeholder for the returned timezone.

 

error

Out parameter for a GError.

 

e_cal_backend_sync_add_timezone ()

void
e_cal_backend_sync_add_timezone (ECalBackendSync *backend,
                                 EDataCal *cal,
                                 GCancellable *cancellable,
                                 const gchar *tzobject,
                                 GError **error);

Calls the add_timezone_sync method on the given backend.

Parameters

backend

An ECalBackendSync object.

 

cal

An EDataCal object.

 

cancellable

a GCancellable for the operation

 

tzobject

VTIMEZONE object to be added.

 

error

Out parameter for a GError.

 

Types and Values

struct ECalBackendSync

struct ECalBackendSync;

Contains only private data that should be read and manipulated using the functions below.


struct ECalBackendSyncClass

struct ECalBackendSyncClass {
	/* Virtual methods */
	void		(*open_sync)		(ECalBackendSync *backend,
						 EDataCal *cal,
						 GCancellable *cancellable,
						 gboolean only_if_exists,
						 GError **error);
	void		(*refresh_sync)		(ECalBackendSync *backend,
						 EDataCal *cal,
						 GCancellable *cancellable,
						 GError **error);

	/* This method is deprecated. */
	gboolean (*set_backend_property_sync)
						(ECalBackendSync *backend,
						 EDataCal *cal,
						 GCancellable *cancellable,
						 const gchar *prop_name,
						 const gchar *prop_value,
						 GError **error);

	void		(*get_object_sync) (ECalBackendSync *backend,
						 EDataCal *cal,
						 GCancellable *cancellable,
						 const gchar *uid,
						 const gchar *rid,
						 gchar **calobj,
						 GError **error);
	void		(*get_object_list_sync) (ECalBackendSync *backend,
						 EDataCal *cal,
						 GCancellable *cancellable,
						 const gchar *sexp,
						 GSList **calobjs,
						 GError **error);
	void		(*get_free_busy_sync) (ECalBackendSync *backend,
						 EDataCal *cal,
						 GCancellable *cancellable,
						 const GSList *users,
						 time_t start,
						 time_t end,
						 GSList **freebusyobjs,
						 GError **error);
	void		(*create_objects_sync) (ECalBackendSync *backend,
						 EDataCal *cal,
						 GCancellable *cancellable,
						 const GSList *calobjs,
						 GSList **uids,
						 GSList **new_components,
						 GError **error);
	void		(*modify_objects_sync) (ECalBackendSync *backend,
						 EDataCal *cal,
						 GCancellable *cancellable,
						 const GSList *calobjs,
						 ECalObjModType mod,
						 GSList **old_components,
						 GSList **new_components,
						 GError **error);
	void		(*remove_objects_sync) (ECalBackendSync *backend,
						 EDataCal *cal,
						 GCancellable *cancellable,
						 const GSList *ids,
						 ECalObjModType mod,
						 GSList **old_components,
						 GSList **new_components,
						 GError **error);
	void		(*receive_objects_sync) (ECalBackendSync *backend,
						 EDataCal *cal,
						 GCancellable *cancellable,
						 const gchar *calobj,
						 GError **error);
	void		(*send_objects_sync) (ECalBackendSync *backend,
						 EDataCal *cal,
						 GCancellable *cancellable,
						 const gchar *calobj,
						 GSList **users,
						 gchar **modified_calobj,
						 GError **error);
	void		(*get_attachment_uris_sync)
						(ECalBackendSync *backend,
						 EDataCal *cal,
						 GCancellable *cancellable,
						 const gchar *uid,
						 const gchar *rid,
						 GSList **attachments,
						 GError **error);
	void		(*discard_alarm_sync) (ECalBackendSync *backend,
						 EDataCal *cal,
						 GCancellable *cancellable,
						 const gchar *uid,
						 const gchar *rid,
						 const gchar *auid,
						 GError **error);
	void		(*get_timezone_sync) (ECalBackendSync *backend,
						 EDataCal *cal,
						 GCancellable *cancellable,
						 const gchar *tzid,
						 gchar **tzobject,
						 GError **error);
	void		(*add_timezone_sync) (ECalBackendSync *backend,
						 EDataCal *cal,
						 GCancellable *cancellable,
						 const gchar *tzobject,
						 GError **error);
};

Base class structure for the ECalBackendSync class

Members

open_sync ()

Open the calendar

 

refresh_sync ()

Refresh the calendar

 

set_backend_property_sync ()

Deprecated: Set backend property

 

get_object_sync ()

Get single object

 

get_object_list_sync ()

Get multiple objects at once

 

get_free_busy_sync ()

Get Free/Busy objects

 

create_objects_sync ()

Create objects

 

modify_objects_sync ()

Modify objects

 

remove_objects_sync ()

Remove objects

 

receive_objects_sync ()

Receive objects

 

send_objects_sync ()

Send objects

 

get_attachment_uris_sync ()

Get attachments uris for given object

 

discard_alarm_sync ()

Discard alarm

 

get_timezone_sync ()

Get specified timezone

 

add_timezone_sync ()

Add specified timezone

 

Since: 3.4