## ESource Utilities

ESource Utilities

## Synopsis

    EActivity *         e_source_util_remove                (ESource *source,
                                                             EAlertSink *alert_sink);
    EActivity *         e_source_util_write                 (ESource *source,
                                                             EAlertSink *alert_sink);
    EActivity *         e_source_util_remote_delete         (ESource *source,
                                                             EAlertSink *alert_sink);

## Description

## Details

### e_source_util_remove ()

    EActivity *         e_source_util_remove                (ESource *source,
                                                             EAlertSink *alert_sink);

Requests the D-Bus service to delete the key files for `source` and all of its descendants and broadcast their removal to all clients. If an error occurs, an EAlert will be posted to `alert_sink`.

This function does not block. The returned EActivity can either be ignored or passed to something that can display activity status to the user, such as `e_shell_backend_add_activity()`.

`source` : | the ESource to be removed
`alert_sink` : | an EAlertSink
Returns : | an EActivity to track the operation

### e_source_util_write ()

    EActivity *         e_source_util_write                 (ESource *source,
                                                             EAlertSink *alert_sink);

Submits the current contents of `source` to the D-Bus service to be written to disk and broadcast to other clients. If an error occurs, an EAlert will be posted to `alert_sink`.

This function does not block. The returned EActivity can either be ignored or passed to something that can display activity status to the user, such as `e_shell_backend_add_activity()`.

`source` : | an ESource
`alert_sink` : | an EAlertSink
Returns : | an EActivity to track the operation

### e_source_util_remote_delete ()

    EActivity *         e_source_util_remote_delete         (ESource *source,
                                                             EAlertSink *alert_sink);

Deletes the resource represented by `source` from a remote server. The `source` must be "remote-deletable". This will also delete the key file for `source` and broadcast its removal to all clients, similar to `e_source_util_remove()`. If an error occurs, an EAlert will be posted to `alert_sink`.

This function does not block. The returned EActivity can either be ignored or passed to something that can display activity status to the user, such as `e_shell_backend_add_activity()`.

`source` : | an ESource
`alert_sink` : | an EAlertSink
Returns : | an EActivity to track the operation