## EDataCalView

EDataCalView

## Synopsis

    EDataCalView *      e_data_cal_view_new                 (ECalBackend *backend,
                                                             ECalBackendSExp *sexp);
    guint               e_data_cal_view_register_gdbus_object
                                                            (EDataCalView *view,
                                                             GDBusConnection *connection,
                                                             const gchar *object_path,
                                                             GError **error);
    const gchar *       e_data_cal_view_get_text            (EDataCalView *view);
    ECalBackendSExp *   e_data_cal_view_get_object_sexp     (EDataCalView *view);
    gboolean            e_data_cal_view_object_matches      (EDataCalView *view,
                                                             const gchar *object);
    gboolean            e_data_cal_view_component_matches   (EDataCalView *view,
                                                             ECalComponent *component);
    gboolean            e_data_cal_view_is_started          (EDataCalView *view);
    gboolean            e_data_cal_view_is_completed        (EDataCalView *view);
    gboolean            e_data_cal_view_is_stopped          (EDataCalView *view);
    GHashTable *        e_data_cal_view_get_fields_of_interest
                                                            (EDataCalView *view);
    ECalClientViewFlags e_data_cal_view_get_flags           (EDataCalView *view);
    gchar *             e_data_cal_view_get_component_string
                                                            (EDataCalView *view,
                                                             ECalComponent *component);
    void                e_data_cal_view_notify_components_added
                                                            (EDataCalView *view,
                                                             const GSList *ecalcomponents);
    void                e_data_cal_view_notify_components_added_1
                                                            (EDataCalView *view,
                                                             ECalComponent *component);
    void                e_data_cal_view_notify_components_modified
                                                            (EDataCalView *view,
                                                             const GSList *ecalcomponents);
    void                e_data_cal_view_notify_components_modified_1
                                                            (EDataCalView *view,
                                                             ECalComponent *component);
    void                e_data_cal_view_notify_objects_added
                                                            (EDataCalView *view,
                                                             const GSList *objects);
    void                e_data_cal_view_notify_objects_added_1
                                                            (EDataCalView *view,
                                                             const gchar *object);
    void                e_data_cal_view_notify_objects_modified
                                                            (EDataCalView *view,
                                                             const GSList *objects);
    void                e_data_cal_view_notify_objects_modified_1
                                                            (EDataCalView *view,
                                                             const gchar *object);
    void                e_data_cal_view_notify_objects_removed
                                                            (EDataCalView *view,
                                                             const GSList *ids);
    void                e_data_cal_view_notify_objects_removed_1
                                                            (EDataCalView *view,
                                                             const ECalComponentId *id);
    void                e_data_cal_view_notify_progress     (EDataCalView *view,
                                                             gint percent,
                                                             const gchar *message);
    void                e_data_cal_view_notify_complete     (EDataCalView *view,
                                                             const GError *error);

## Description

## Details

### e_data_cal_view_new ()

    EDataCalView *      e_data_cal_view_new                 (ECalBackend *backend,
                                                             ECalBackendSExp *sexp);

### e_data_cal_view_register_gdbus_object ()

    guint               e_data_cal_view_register_gdbus_object
                                                            (EDataCalView *view,
                                                             GDBusConnection *connection,
                                                             const gchar *object_path,
                                                             GError **error);

Since 2.32

### e_data_cal_view_get_text ()

    const gchar *       e_data_cal_view_get_text            (EDataCalView *view);

Get the expression used for the given view.

`view` : | A EDataCalView object.
Returns : | the view expression used to search.

### e_data_cal_view_get_object_sexp ()

    ECalBackendSExp *   e_data_cal_view_get_object_sexp     (EDataCalView *view);

Get the ECalBackendSExp object used for the given view.

`view` : | A view object.
Returns : | The expression object used to search.

### e_data_cal_view_object_matches ()

    gboolean            e_data_cal_view_object_matches      (EDataCalView *view,
                                                             const gchar *object);

Compares the given `object` to the regular expression used for the given view.

`view` : | A view object.
`object` : | Object to match.
Returns : | TRUE if the object matches the expression, FALSE if not.

### e_data_cal_view_component_matches ()

    gboolean            e_data_cal_view_component_matches   (EDataCalView *view,
                                                             ECalComponent *component);

Compares the given `component` to the regular expression used for the given view.

`view` : | A view object.
`component` : | the ECalComponent object to match.
Returns : | TRUE if the object matches the expression, FALSE if not.

Since 3.4

### e_data_cal_view_is_started ()

    gboolean            e_data_cal_view_is_started          (EDataCalView *view);

Checks whether the given view has already been started.

`view` : | A view object.
Returns : | TRUE if the view has already been started, FALSE otherwise.

### e_data_cal_view_is_completed ()

    gboolean            e_data_cal_view_is_completed        (EDataCalView *view);

Checks whether the given view is already completed. Being completed means the initial matching of objects have been finished, not that no more notifications about changes will be sent. In fact, even after completed, notifications will still be sent if there are changes in the objects matching the view search expression.

`view` : | A view object.
Returns : | TRUE if the view is completed, FALSE if still in progress.

Since 3.2

### e_data_cal_view_is_stopped ()

    gboolean            e_data_cal_view_is_stopped          (EDataCalView *view);

Checks whether the given view has been stopped.

`view` : | A view object.
Returns : | TRUE if the view has been stopped, FALSE otherwise.

Since 2.32

### e_data_cal_view_get_fields_of_interest ()

    GHashTable *        e_data_cal_view_get_fields_of_interest
                                                            (EDataCalView *view);

`view` : | A view object.
Returns : | Hash table of field names which the listener is interested in. Backends can return fully populated objects, but the listener advertised that it will use only these. Returns `NULL` for all available fields. Note: The data pointer in the hash table has no special meaning, it's only GINT_TO_POINTER(1) for easier checking. Also, field names are compared case insensitively.

Since 3.2

### e_data_cal_view_get_flags ()

    ECalClientViewFlags e_data_cal_view_get_flags           (EDataCalView *view);

Gets the ECalClientViewFlags that control the behaviour of `view`.

`view` : | A view object.
Returns : | the flags for `view`.

Since 3.6

### e_data_cal_view_get_component_string ()

    gchar *             e_data_cal_view_get_component_string
                                                            (EDataCalView *view,
                                                             ECalComponent *component);

This function is similar to `e_cal_component_get_as_string()` except that it takes into account the fields-of-interest that `view` is configured with and filters out any unneeded fields.

`view` : | A view object.
`component` : | The ECalComponent to get the string for.
Returns : | A newly allocated string representation of `component` suitable for `view`. [transfer full]

Since 3.4

### e_data_cal_view_notify_components_added ()

    void                e_data_cal_view_notify_components_added
                                                            (EDataCalView *view,
                                                             const GSList *ecalcomponents);

Notifies all view listeners of the addition of a list of components.

Like `e_data_cal_view_notify_objects_added()` except takes a list of ECalComponent-s instead of ical string representations and uses the EDataCalView's fields-of-interest to filter out unwanted information from ical strings sent over the bus.

`view` : | A view object.
`ecalcomponents` : | List of ECalComponent-s that have been added.

Since 3.4

### e_data_cal_view_notify_components_added_1 ()

    void                e_data_cal_view_notify_components_added_1
                                                            (EDataCalView *view,
                                                             ECalComponent *component);

Notifies all the view listeners of the addition of a single object.

Like `e_data_cal_view_notify_objects_added_1()` except takes an ECalComponent instead of an ical string representation and uses the EDataCalView's fields-of-interest to filter out unwanted information from ical strings sent over the bus.

`view` : | A view object.
`component` : | The ECalComponent that has been added.

Since 3.4

### e_data_cal_view_notify_components_modified ()

    void                e_data_cal_view_notify_components_modified
                                                            (EDataCalView *view,
                                                             const GSList *ecalcomponents);

Notifies all view listeners of the modification of a list of components.

Like `e_data_cal_view_notify_objects_modified()` except takes a list of ECalComponents instead of a ical string representations and uses the EDataCalView's fields-of-interest to filter out unwanted information from ical strings sent over the bus.

`view` : | A view object.
`ecalcomponents` : | List of modified ECalComponent-s.

Since 3.4

### e_data_cal_view_notify_components_modified_1 ()

    void                e_data_cal_view_notify_components_modified_1
                                                            (EDataCalView *view,
                                                             ECalComponent *component);

Notifies all view listeners of the modification of `component`.

Like `e_data_cal_view_notify_objects_modified_1()` except takes an ECalComponent instead of an ical string representation and uses the EDataCalView's fields-of-interest to filter out unwanted information from ical strings sent over the bus.

`view` : | A view object.
`component` : | The modified ECalComponent.

Since 3.4

### e_data_cal_view_notify_objects_added ()

    void                e_data_cal_view_notify_objects_added
                                                            (EDataCalView *view,
                                                             const GSList *objects);

### Warning

`e_data_cal_view_notify_objects_added` has been deprecated since version 3.4 and should not be used in newly-written code. If possible `e_data_cal_view_notify_components_added()` should be used instead.

Notifies all view listeners of the addition of a list of objects.

`view` : | A view object.
`objects` : | List of objects that have been added.

### e_data_cal_view_notify_objects_added_1 ()

    void                e_data_cal_view_notify_objects_added_1
                                                            (EDataCalView *view,
                                                             const gchar *object);

### Warning

`e_data_cal_view_notify_objects_added_1` has been deprecated since version 3.4 and should not be used in newly-written code. If possible `e_data_cal_view_notify_components_added_1()` should be used instead.

Notifies all the view listeners of the addition of a single object.

`view` : | A view object.
`object` : | The object that has been added.

### e_data_cal_view_notify_objects_modified ()

    void                e_data_cal_view_notify_objects_modified
                                                            (EDataCalView *view,
                                                             const GSList *objects);

### Warning

`e_data_cal_view_notify_objects_modified` has been deprecated since version 3.4 and should not be used in newly-written code. If possible `e_data_cal_view_notify_components_modified()` should be used instead.

Notifies all view listeners of the modification of a list of objects.

`view` : | A view object.
`objects` : | List of modified objects.

### e_data_cal_view_notify_objects_modified_1 ()

    void                e_data_cal_view_notify_objects_modified_1
                                                            (EDataCalView *view,
                                                             const gchar *object);

### Warning

`e_data_cal_view_notify_objects_modified_1` has been deprecated since version 3.4 and should not be used in newly-written code. If possible `e_data_cal_view_notify_components_modified_1()` should be used instead.

Notifies all view listeners of the modification of a single object.

`view` : | A view object.
`object` : | The modified object.

### e_data_cal_view_notify_objects_removed ()

    void                e_data_cal_view_notify_objects_removed
                                                            (EDataCalView *view,
                                                             const GSList *ids);

Notifies all view listener of the removal of a list of objects.

`view` : | A view object.
`ids` : | List of IDs for the objects that have been removed.

### e_data_cal_view_notify_objects_removed_1 ()

    void                e_data_cal_view_notify_objects_removed_1
                                                            (EDataCalView *view,
                                                             const ECalComponentId *id);

Notifies all view listener of the removal of a single object.

`view` : | A view object.
`id` : | ID of the removed object.

### e_data_cal_view_notify_progress ()

    void                e_data_cal_view_notify_progress     (EDataCalView *view,
                                                             gint percent,
                                                             const gchar *message);

Notifies all view listeners of progress messages.

`view` : | A view object.
`percent` : | Percentage completed.
`message` : | Progress message to send to listeners.

### e_data_cal_view_notify_complete ()

    void                e_data_cal_view_notify_complete     (EDataCalView *view,
                                                             const GError *error);

Notifies all view listeners of the completion of the view, including a status code.

`view` : | A view object.
`error` : | View completion error, if any.

Since 3.2