### Class

# EDataCal CalBackend

#### Description [src]

    class EDataCal.CalBackend : EBackend.Backend
      implements ECal.TimezoneCache {
      /* No available fields */
    }

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

#### Hierarchy

#### Ancestors

- EBackend
- GObject

#### Descendants

- ECalBackendSync

#### Implements

- ETimezoneCache

#### Functions

###### e_cal_backend_mail_account_get_default

Retrieve the default mail account as stored in Evolution configuration.

###### e_cal_backend_mail_account_is_valid

Checks that a mail account is valid, and returns its name.

###### e_cal_backend_user_declined

No description available.

since: 2.26

#### Instance methods

###### e_cal_backend_add_timezone

Asynchronously adds the timezone described by `tzobject` to `backend`.

since: 3.10

###### e_cal_backend_add_timezone_finish

Finishes the operation started with e_cal_backend_add_timezone().

since: 3.10

###### e_cal_backend_add_timezone_sync

Adds the timezone described by `tzobject` to `backend`.

since: 3.10

###### e_cal_backend_add_view

Adds a view to the list of live views being run by the given backend. Doing so means that any listener on the view will get notified of any change that affect the live view.

since: 3.2

###### e_cal_backend_create_cache_filename

No description available.

since: 3.4

###### e_cal_backend_create_objects

Asynchronously creates one or more new iCalendar objects from `calobjs`.

since: 3.10

###### e_cal_backend_create_objects_finish

Finishes the operation started with e_cal_backend_create_objects().

since: 3.10

###### e_cal_backend_create_objects_sync

Creates one or more new iCalendar objects from `calobjs`, and deposits the unique ID string for each newly-created object in `out_uids`.

since: 3.10

###### e_cal_backend_discard_alarm

Asynchronously discards the VALARM object with a unique ID of `alarm_uid` from the iCalendar object identified by `uid` and, optionally, `rid`.

since: 3.10

###### e_cal_backend_discard_alarm_finish

Finishes the operation started with e_cal_backend_discard_alarm().

since: 3.10

###### e_cal_backend_discard_alarm_sync

Discards the VALARM object with a unique ID of `alarm_uid` from the iCalendar object identified by `uid` and, optionally, `rid`.

since: 3.10

###### e_cal_backend_dup_cache_dir

Thread-safe variation of e_cal_backend_get_cache_dir(). Use this function when accessing `backend` from multiple threads.

since: 3.10

###### e_cal_backend_foreach_view

Calls `func` for each existing view (as returned by e_cal_backend_list_views()). The `func` can return `FALSE` to stop early.

since: 3.34

###### e_cal_backend_foreach_view_notify_progress

Notifies each view of the `backend` about progress. When `only_completed_views` is `TRUE`, notifies only completed views.

since: 3.34

###### e_cal_backend_get_attachment_uris

Asynchronously inspects the iCalendar object specified by `uid` and, optionally, `rid` for attachments.

since: 3.10

###### e_cal_backend_get_attachment_uris_finish

Finishes the operation started with e_cal_backend_get_attachment_uris().

since: 3.10

###### e_cal_backend_get_attachment_uris_sync

Inspects the iCalendar object specified by `uid` and, optionally, `rid` for attachments and deposits a URI string for each attachment in `out_attachment_uris`. Free the returned strings with `g_free()` when finished with them.

since: 3.10

###### e_cal_backend_get_backend_property

Obtains the value of the backend property named `prop_name`. Freed the returned string with `g_free()` when finished with it.

since: 3.10

###### e_cal_backend_get_cache_dir

Returns the cache directory path used by `backend`.

since: 2.32

###### e_cal_backend_get_free_busy

Asynchronously obtains a free/busy object for the list of `users` in the time interval between `start` and `end`.

since: 3.10

###### e_cal_backend_get_free_busy_finish

Finishes the operation started with e_cal_backend_get_free_busy().

since: 3.10

###### e_cal_backend_get_free_busy_sync

Obtains a free/busy object for the list of `users` in the time interval between `start` and `end`.

since: 3.10

###### e_cal_backend_get_kind

Gets the kind of components the given backend stores.

###### e_cal_backend_get_object

Asynchronously obtains an `ECalComponent` by its `uid` and, optionally, `rid`.

since: 3.10

###### e_cal_backend_get_object_finish

Finishes the operation started with e_cal_backend_get_object().

since: 3.10

###### e_cal_backend_get_object_list

Asynchronously obtains a set of iCalendar instances which satisfy the criteria specified in `query`.

since: 3.10

###### e_cal_backend_get_object_list_finish

Finishes the operation started with e_cal_backend_get_object_list().

since: 3.10

###### e_cal_backend_get_object_list_sync

Obtains a set of iCalendar string instances which satisfy the criteria specified in `query`, and deposits them in `out_objects`.

since: 3.10

###### e_cal_backend_get_object_sync

Obtains an iCalendar string for an object identified by its `uid` and, optionally, `rid`.

since: 3.10

###### e_cal_backend_get_registry

Returns the data source registry to which `EBackend:source` belongs.

since: 3.6

###### e_cal_backend_get_timezone

Asynchronously obtains the VTIMEZONE object identified by `tzid`.

since: 3.10

###### e_cal_backend_get_timezone_finish

Finishes the operation started with e_cal_backend_get_timezone().

since: 3.10

###### e_cal_backend_get_timezone_sync

Obtains the VTIMEZONE object identified by `tzid`. Free the returned string with `g_free()` when finished with it.

since: 3.10

###### e_cal_backend_get_writable

Returns whether `backend` will accept changes to its data content.

since: 3.8

###### e_cal_backend_is_opened

Checks if `backend`‘s storage has been opened (and authenticated, if necessary) and the backend itself is ready for accessing. This property is changed automatically after the `backend` is successfully opened.

since: 3.2

###### e_cal_backend_is_readonly

No description available.

since: 3.2

###### e_cal_backend_list_views

Returns a list of `EDataCalView` instances added with e_cal_backend_add_view().

since: 3.8

###### e_cal_backend_modify_objects

Asynchronously modifies one or more iCalendar objects according to `calobjs` and `mod`.

since: 3.10

###### e_cal_backend_modify_objects_finish

Finishes the operation started with e_cal_backend_modify_objects().

since: 3.10

###### e_cal_backend_modify_objects_sync

Modifies one or more iCalendar objects according to `calobjs` and `mod`.

since: 3.10

###### e_cal_backend_notify_component_created

Notifies each of the backend’s listeners about a new object.

since: 3.4

###### e_cal_backend_notify_component_modified

Notifies each of the backend’s listeners about a modified object.

since: 3.4

###### e_cal_backend_notify_component_removed

Notifies each of the backend’s listeners about a removed object.

since: 3.4

###### e_cal_backend_notify_error

Notifies each of the backend’s listeners about an error.

###### e_cal_backend_notify_property_changed

Notifies client about property value change.

since: 3.2

###### e_cal_backend_open

Asynchronously “opens” the `backend`. Opening a backend is something of an outdated concept, but the operation is hanging around for a little while longer. This usually involves some custom initialization logic, and testing of remote authentication if applicable.

since: 3.10

###### e_cal_backend_open_finish

Finishes the operation started with e_cal_backend_open().

since: 3.10

###### e_cal_backend_open_sync

“Opens” the `backend`. Opening a backend is something of an outdated concept, but the operation is hanging around for a little while longer. This usually involves some custom initialization logic, and testing of remote authentication if applicable.

since: 3.10

###### e_cal_backend_prepare_for_completion

Obtains the `GTask` for `opid`.

since: 3.10

###### e_cal_backend_receive_objects

Asynchronously receives the set of iCalendar objects specified by `calobj`. This is used for iTIP confirmation and cancellation messages for scheduled meetings.

since: 3.10

###### e_cal_backend_receive_objects_finish

Finishes the operation started with e_cal_backend_receive_objects().

since: 3.10

###### e_cal_backend_receive_objects_sync

Receives the set of iCalendar objects specified by `calobj`. This is used for iTIP confirmation and cancellation messages for scheduled meetings.

since: 3.10

###### e_cal_backend_ref_data_cal

Returns the `EDataCal` for `backend`. The `EDataCal` is essentially the glue between incoming D-Bus requests and `backend`‘s native API.

since: 3.10

###### e_cal_backend_ref_proxy_resolver

Returns the `GProxyResolver` for `backend` (if applicable), as indicated by the `ESourceAuthentication:proxy-uid` of `backend`‘s `EBackend:source` or one of its ancestors.

since: 3.12

###### e_cal_backend_refresh

Asynchronously initiates a refresh for `backend`, if the `backend` supports refreshing. The actual refresh operation completes on its own time. This function, along with e_cal_backend_refresh_finish(), merely initiates the operation.

since: 3.10

###### e_cal_backend_refresh_finish

Finishes the refresh initiation started with e_cal_backend_refresh().

since: 3.10

###### e_cal_backend_refresh_sync

Initiates a refresh for `backend`, if the `backend` supports refreshing. The actual refresh operation completes on its own time. This function merely initiates the operation.

since: 3.10

###### e_cal_backend_remove_objects

Asynchronously removes one or more iCalendar objects according to `component_ids` and `mod`.

since: 3.10

###### e_cal_backend_remove_objects_finish

Finishes the operation started with e_cal_backend_remove_objects().

since: 3.10

###### e_cal_backend_remove_objects_sync

Removes one or more iCalendar objects according to `component_ids` and `mod`.

since: 3.10

###### e_cal_backend_remove_view

Removes view from the list of live views for the backend.

since: 3.2

###### e_cal_backend_schedule_custom_operation

Schedules user function `func` to be run in a dedicated thread as a blocking operation.

since: 3.26

###### e_cal_backend_send_objects

Asynchronously sends meeting information in `calobj`. The `backend` may modify `calobj` and send meeting information only to particular users.

since: 3.10

###### e_cal_backend_send_objects_finish

Finishes the operation started with e_cal_backend_send_objects().

since: 3.10

###### e_cal_backend_send_objects_sync

Sends meeting information in `calobj`. The `backend` may modify `calobj` and send meeting information only to particular users. The function returns the (maybe) modified `calobj` and deposits the list of users the meeting information was sent (to be send) to in `out_users`.

since: 3.10

###### e_cal_backend_set_cache_dir

Sets the cache directory path for use by `backend`.

since: 2.32

###### e_cal_backend_set_data_cal

Sets the `EDataCal` for `backend`. The `EDataCal` is essentially the glue between incoming D-Bus requests and `backend`‘s native API.

since: 3.10

###### e_cal_backend_set_writable

Sets whether `backend` will accept changes to its data content.

since: 3.8

###### e_cal_backend_start_view

Starts a new live view on the given backend.

since: 3.2

###### e_cal_backend_stop_view

Stops a previously started live view on the given backend.

since: 3.2

##### Methods inherited from EBackend (21)

###### e_backend_credentials_required

Asynchronously calls the `e_backend_credentials_required_sync()` on the `backend`, to inform clients that credentials are required.

###### e_backend_credentials_required_finish

Finishes the operation started with e_backend_credentials_required().

###### e_backend_credentials_required_sync

Synchronously lets the clients know that the backned requires credentials to be properly opened. It’s a proxy function for e_source_invoke_credentials_required_sync(), where can be found more information about actual parameters meaning.

###### e_backend_ensure_online_state_updated

Makes sure that the “online” property is updated, that is, if there is any destination reachability test pending, it’ll be done immediately and the only state will be updated as well.

###### e_backend_ensure_source_status_connected

Makes sure that the associated ESource::connection-status is connected. This is useful in cases when the backend can connect to the destination without invoking `EBackendClass`.authenticate_sync(), possibly through e_backend_schedule_authenticate().

###### e_backend_get_destination_address

Provides destination server host name and port to which the backend connects. This is used to determine required connection point for e_backend_is_destination_reachable(). The `host` is a newly allocated string, which will be freed with g_free(). When `backend` sets both `host` and `port`, then it should return `TRUE`, indicating it’s a remote backend. Default implementation returns `FALSE`, which is treated like the backend is local, no checking for server reachability is possible.

###### e_backend_get_network_monitor

Returns a `GNetworkMonitor` used to check whether the backend can access the remote server. The instance is owned by the `backend`.

###### e_backend_get_online

Returns the online state of `backend`: `TRUE` if `backend` is online, `FALSE` if offline.

###### e_backend_get_source

Returns the `ESource` to which `backend` is paired.

###### e_backend_get_user_prompter

Gets an instance of `EUserPrompter`, associated with this `backend`.

###### e_backend_is_destination_reachable

Checks whether the `backend`‘s destination server, as returned by e_backend_get_destination_address(), is reachable. If the `e_backend_get_destination_address()` returns `FALSE`, this function returns `TRUE`, meaning the destination is always reachable. This uses `GNetworkMonitor`‘s `g_network_monitor_can_reach()` for reachability tests.

###### e_backend_prepare_shutdown

Let’s the `backend` know that it’ll be shut down shortly, no client connects to it anymore. The `backend` can free any resources which reference it, for example the opened views.

###### e_backend_ref_connectable

Returns the socket endpoint for the network service to which `backend` is a client, or `NULL` if `backend` does not use network sockets.

###### e_backend_ref_main_context

Returns the `GMainContext` on which event sources for `backend` are to be attached.

###### e_backend_schedule_authenticate

Schedules a new authenticate session, cancelling any previously run. This is usually done automatically, when an ‘authenticate’ signal is received for the associated `ESource`. With `NULL` `credentials` an attempt without it is run.

###### e_backend_schedule_credentials_required

Asynchronously invokes e_backend_credentials_required(), but installs its own callback which only prints a runtime warning on the console when the call fails. The `who_calls` is a prefix of the console message. This is useful when the caller just wants to start the operation without having actual place where to show the operation result.

###### e_backend_set_connectable

Sets the socket endpoint for the network service to which `backend` is a client. This can be `NULL` if `backend` does not use network sockets.

###### e_backend_set_online

Sets the online state of `backend`: `TRUE` if `backend` is online, `FALSE` if offline.

###### e_backend_trust_prompt

Initiates a user trust prompt with given `parameters`.

###### e_backend_trust_prompt_finish

Finishes the operation started with e_backend_trust_prompt(). If an error occurred, the function will set `error` and return `E_TRUST_PROMPT_RESPONSE_UNKNOWN`.

###### e_backend_trust_prompt_sync

Asks a user a trust prompt with given `parameters`, and returns what user responded. This blocks until the response is delivered.

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

##### Methods inherited from ETimezoneCache (3)

###### e_timezone_cache_add_timezone

Adds a copy of `zone` to `cache` and emits an `ETimezoneCache::timezone-added` signal. The `cache` will use the TZID string returned by `i_cal_timezone_get_tzid()` as the lookup key, which can be passed to `e_timezone_cache_get_timezone()` to obtain `zone` again.

###### e_timezone_cache_get_timezone

Obtains an `ICalTimezone` by its TZID string. If no match is found, the function returns `NULL`. The returned `ICalTimezone` is owned by the `cache` and should not be modified or freed.

###### e_timezone_cache_list_timezones

Returns a list of `ICalTimezone` instances that were explicitly added to the `cache` through e_timezone_cache_add_timezone(). In particular, any built-in time zone data that `e_timezone_cache_get_timezone()` may use to match a TZID string is excluded from the returned list.

#### Properties

###### EDataCal.CalBackend:cache-dir

The backend’s cache directory.

###### EDataCal.CalBackend:kind

The kind of iCalendar components this backend manages.

###### EDataCal.CalBackend:proxy-resolver

The proxy resolver for this backend.

###### EDataCal.CalBackend:registry

Data source registry.

###### EDataCal.CalBackend:writable

Whether the backend will accept changes.

##### Properties inherited from EBackend (5)

###### EBackend.Backend:connectable

Socket endpoint of a network service.

###### EBackend.Backend:main-context

The main loop context on which to attach event sources.

###### EBackend.Backend:online

Whether the backend is online.

###### EBackend.Backend:source

The data source being acted upon.

###### EBackend.Backend:user-prompter

User prompter instance.

#### Signals

###### EDataCal.CalBackend::closed

Emitted when a client destroys its `ECalClient` for `backend`.

since: 3.10

###### EDataCal.CalBackend::shutdown

Emitted when the last client destroys its `ECalClient` for `backend`. This signals the `backend` to begin final cleanup tasks such as synchronizing data to permanent storage.

since: 3.10

##### Signals inherited from GObject (1)

###### GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

##### Signals inherited from ETimezoneCache (1)

###### ETimezoneCache::timezone-added

Emitted when a new #icaltimezone is added to `cache`.

#### Class structure

    struct EDataCalCalBackendClass {
      gboolean use_serial_dispatch_queue;
      gchar* (* impl_get_backend_property) (
        ECalBackend* backend,
        const gchar* prop_name
      );
      void (* impl_open) (
        ECalBackend* backend,
        EDataCal* cal,
        guint32 opid,
        GCancellable* cancellable
      );
      void (* impl_refresh) (
        ECalBackend* backend,
        EDataCal* cal,
        guint32 opid,
        GCancellable* cancellable
      );
      void (* impl_get_object) (
        ECalBackend* backend,
        EDataCal* cal,
        guint32 opid,
        GCancellable* cancellable,
        const gchar* uid,
        const gchar* rid
      );
      void (* impl_get_object_list) (
        ECalBackend* backend,
        EDataCal* cal,
        guint32 opid,
        GCancellable* cancellable,
        const gchar* sexp
      );
      void (* impl_get_free_busy) (
        ECalBackend* backend,
        EDataCal* cal,
        guint32 opid,
        GCancellable* cancellable,
        const GSList* users,
        time_t start,
        time_t end
      );
      void (* impl_create_objects) (
        ECalBackend* backend,
        EDataCal* cal,
        guint32 opid,
        GCancellable* cancellable,
        const GSList* calobjs,
        ECalOperationFlags opflags
      );
      void (* impl_modify_objects) (
        ECalBackend* backend,
        EDataCal* cal,
        guint32 opid,
        GCancellable* cancellable,
        const GSList* calobjs,
        ECalObjModType mod,
        ECalOperationFlags opflags
      );
      void (* impl_remove_objects) (
        ECalBackend* backend,
        EDataCal* cal,
        guint32 opid,
        GCancellable* cancellable,
        const GSList* ids,
        ECalObjModType mod,
        ECalOperationFlags opflags
      );
      void (* impl_receive_objects) (
        ECalBackend* backend,
        EDataCal* cal,
        guint32 opid,
        GCancellable* cancellable,
        const gchar* calobj,
        ECalOperationFlags opflags
      );
      void (* impl_send_objects) (
        ECalBackend* backend,
        EDataCal* cal,
        guint32 opid,
        GCancellable* cancellable,
        const gchar* calobj,
        ECalOperationFlags opflags
      );
      void (* impl_get_attachment_uris) (
        ECalBackend* backend,
        EDataCal* cal,
        guint32 opid,
        GCancellable* cancellable,
        const gchar* uid,
        const gchar* rid
      );
      void (* impl_discard_alarm) (
        ECalBackend* backend,
        EDataCal* cal,
        guint32 opid,
        GCancellable* cancellable,
        const gchar* uid,
        const gchar* rid,
        const gchar* auid,
        ECalOperationFlags opflags
      );
      void (* impl_get_timezone) (
        ECalBackend* backend,
        EDataCal* cal,
        guint32 opid,
        GCancellable* cancellable,
        const gchar* tzid
      );
      void (* impl_add_timezone) (
        ECalBackend* backend,
        EDataCal* cal,
        guint32 opid,
        GCancellable* cancellable,
        const gchar* tzobject
      );
      void (* impl_start_view) (
        ECalBackend* backend,
        EDataCalView* view
      );
      void (* impl_stop_view) (
        ECalBackend* backend,
        EDataCalView* view
      );
      void (* closed) (
        ECalBackend* backend,
        const gchar* sender
      );
      void (* shutdown) (
        ECalBackend* backend
      );
      gpointer reserved_padding;

    }

Class structure for the `ECalBackend` class.

These virtual methods must be implemented when writing a calendar backend.

###### Class members

`use_serial_dispatch_queue: gboolean`

  Whether a serial dispatch queue should be used for this backend or not. The default is `TRUE`.

`impl_get_backend_property: gchar* (* impl_get_backend_property) ( ECalBackend* backend, const gchar* prop_name )`

  Fetch a property value by name from the backend.

`impl_open: void (* impl_open) ( ECalBackend* backend, EDataCal* cal, guint32 opid, GCancellable* cancellable )`

  Open the backend.

`impl_refresh: void (* impl_refresh) ( ECalBackend* backend, EDataCal* cal, guint32 opid, GCancellable* cancellable )`

  Refresh the backend.

`impl_get_object: void (* impl_get_object) ( ECalBackend* backend, EDataCal* cal, guint32 opid, GCancellable* cancellable, const gchar* uid, const gchar* rid )`

  Fetch a calendar object.

`impl_get_object_list: void (* impl_get_object_list) ( ECalBackend* backend, EDataCal* cal, guint32 opid, GCancellable* cancellable, const gchar* sexp )`
`impl_get_free_busy: void (* impl_get_free_busy) ( ECalBackend* backend, EDataCal* cal, guint32 opid, GCancellable* cancellable, const GSList* users, time_t start, time_t end )`
`impl_create_objects: void (* impl_create_objects) ( ECalBackend* backend, EDataCal* cal, guint32 opid, GCancellable* cancellable, const GSList* calobjs, ECalOperationFlags opflags )`
`impl_modify_objects: void (* impl_modify_objects) ( ECalBackend* backend, EDataCal* cal, guint32 opid, GCancellable* cancellable, const GSList* calobjs, ECalObjModType mod, ECalOperationFlags opflags )`
`impl_remove_objects: void (* impl_remove_objects) ( ECalBackend* backend, EDataCal* cal, guint32 opid, GCancellable* cancellable, const GSList* ids, ECalObjModType mod, ECalOperationFlags opflags )`
`impl_receive_objects: void (* impl_receive_objects) ( ECalBackend* backend, EDataCal* cal, guint32 opid, GCancellable* cancellable, const gchar* calobj, ECalOperationFlags opflags )`
`impl_send_objects: void (* impl_send_objects) ( ECalBackend* backend, EDataCal* cal, guint32 opid, GCancellable* cancellable, const gchar* calobj, ECalOperationFlags opflags )`
`impl_get_attachment_uris: void (* impl_get_attachment_uris) ( ECalBackend* backend, EDataCal* cal, guint32 opid, GCancellable* cancellable, const gchar* uid, const gchar* rid )`
`impl_discard_alarm: void (* impl_discard_alarm) ( ECalBackend* backend, EDataCal* cal, guint32 opid, GCancellable* cancellable, const gchar* uid, const gchar* rid, const gchar* auid, ECalOperationFlags opflags )`
`impl_get_timezone: void (* impl_get_timezone) ( ECalBackend* backend, EDataCal* cal, guint32 opid, GCancellable* cancellable, const gchar* tzid )`
`impl_add_timezone: void (* impl_add_timezone) ( ECalBackend* backend, EDataCal* cal, guint32 opid, GCancellable* cancellable, const gchar* tzobject )`
`impl_start_view: void (* impl_start_view) ( ECalBackend* backend, EDataCalView* view )`

  Start up the specified view.

`impl_stop_view: void (* impl_stop_view) ( ECalBackend* backend, EDataCalView* view )`

  Stop the specified view.

`closed: void (* closed) ( ECalBackend* backend, const gchar* sender )`

  A signal notifying that the backend was closed.

`shutdown: void (* shutdown) ( ECalBackend* backend )`

  A signal notifying that the backend is being shut down.

`reserved_padding: gpointer`

  No description available.

#### Virtual methods

###### EDataCal.CalBackendClass.closed

A signal notifying that the backend was closed.

###### EDataCal.CalBackendClass.impl_add_timezone

###### EDataCal.CalBackendClass.impl_create_objects

###### EDataCal.CalBackendClass.impl_discard_alarm

###### EDataCal.CalBackendClass.impl_get_attachment_uris

###### EDataCal.CalBackendClass.impl_get_backend_property

Fetch a property value by name from the backend.

###### EDataCal.CalBackendClass.impl_get_free_busy

###### EDataCal.CalBackendClass.impl_get_object

Fetch a calendar object.

###### EDataCal.CalBackendClass.impl_get_object_list

###### EDataCal.CalBackendClass.impl_get_timezone

###### EDataCal.CalBackendClass.impl_modify_objects

###### EDataCal.CalBackendClass.impl_open

Open the backend.

###### EDataCal.CalBackendClass.impl_receive_objects

###### EDataCal.CalBackendClass.impl_refresh

Refresh the backend.

###### EDataCal.CalBackendClass.impl_remove_objects

###### EDataCal.CalBackendClass.impl_send_objects

###### EDataCal.CalBackendClass.impl_start_view

Start up the specified view.

###### EDataCal.CalBackendClass.impl_stop_view

Stop the specified view.

###### EDataCal.CalBackendClass.shutdown

A signal notifying that the backend is being shut down.