## EDataCalView

EDataCalView — A server side object for issuing view notifications

## Functions

EDataCalView * | e_data_cal_view_new ()
struct _ECalBackend * | e_data_cal_view_ref_backend ()
struct _ECalBackend * | e_data_cal_view_get_backend ()
GDBusConnection * | e_data_cal_view_get_connection ()
const gchar * | e_data_cal_view_get_object_path ()
struct _ECalBackendSExp * | e_data_cal_view_get_sexp ()
gboolean | e_data_cal_view_object_matches ()
gboolean | e_data_cal_view_component_matches ()
gboolean | e_data_cal_view_is_started ()
gboolean | e_data_cal_view_is_completed ()
gboolean | e_data_cal_view_is_stopped ()
GHashTable * | e_data_cal_view_get_fields_of_interest ()
ECalClientViewFlags | e_data_cal_view_get_flags ()
gchar * | e_data_cal_view_get_component_string ()
void | e_data_cal_view_notify_components_added ()
void | e_data_cal_view_notify_components_added_1 ()
void | e_data_cal_view_notify_components_modified ()
void | e_data_cal_view_notify_components_modified_1 ()
void | e_data_cal_view_notify_objects_removed ()
void | e_data_cal_view_notify_objects_removed_1 ()
void | e_data_cal_view_notify_progress ()
void | e_data_cal_view_notify_complete ()

## Object Hierarchy

        GObject
        ╰── EDataCalView

## Includes

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

## Description

This class communicates with ECalClientViews over the bus.

Calendar backends can automatically own a number of views requested by the client, this API can be used by the backend to issue notifications which will be delivered to the ECalClientView

## Functions

### e_data_cal_view_new ()

    EDataCalView *
    e_data_cal_view_new (struct _ECalBackend *backend,
                         struct _ECalBackendSExp *sexp,
                         GDBusConnection *connection,
                         const gchar *object_path,
                         GError **error);

Creates a new EDataCalView and exports its D-Bus interface on `connection` at `object_path` . If an error occurs while exporting, the function sets `error` and returns `NULL`.

#### Parameters

backend | an ECalBackend |
sexp | an ECalBackendSExp |
connection | a GDBusConnection |
object_path | an object path for the view |
error | return location for a GError, or `NULL` |

#### Returns

a new EDataCalView, or `NULL` on error.

[transfer full][nullable]

### e_data_cal_view_ref_backend ()

    struct _ECalBackend *
    e_data_cal_view_ref_backend (EDataCalView *view);

Refs the backend that `view` is querying. Unref the returned backend, if not `NULL`, with `g_object_unref()`, when no longer needed.

#### Parameters

view | an EDataCalView |

#### Returns

The associated ECalBackend.

[type ECalBackend][transfer full][nullable]

Since: 3.34

### e_data_cal_view_get_backend ()

    struct _ECalBackend *
    e_data_cal_view_get_backend (EDataCalView *view);

`e_data_cal_view_get_backend` has been deprecated since version 3.34 and should not be used in newly-written code.

Use `e_data_cal_view_ref_backend()` instead.

Gets the backend that `view` is querying.

#### Parameters

view | an EDataCalView |

#### Returns

The associated ECalBackend.

[transfer none]

Since: 3.8

### e_data_cal_view_get_connection ()

    GDBusConnection *
    e_data_cal_view_get_connection (EDataCalView *view);

Returns the GDBusConnection on which the CalendarView D-Bus interface is exported.

#### Parameters

view | an EDataCalView |

#### Returns

the GDBusConnection.

[transfer none]

Since: 3.8

### e_data_cal_view_get_object_path ()

    const gchar *
    e_data_cal_view_get_object_path (EDataCalView *view);

Return the object path at which the CalendarView D-Bus inteface is exported.

#### Parameters

view | an EDataCalView |

#### Returns

the object path

Since: 3.8

### e_data_cal_view_get_sexp ()

    struct _ECalBackendSExp *
    e_data_cal_view_get_sexp (EDataCalView *view);

Get the ECalBackendSExp object used for the given view.

#### Parameters

view | an EDataCalView |

#### Returns

The expression object used to search.

[transfer none]

Since: 3.8

### 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.

#### Parameters

view | an EDataCalView |
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.

#### Parameters

view | an EDataCalView |
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.

#### Parameters

view | an EDataCalView |

#### 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.

#### Parameters

view | an EDataCalView |

#### 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.

#### Parameters

view | an EDataCalView |

#### 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);

#### Parameters

view | an EDataCalView |

#### 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.

[transfer none][nullable]

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` .

#### Parameters

view | an EDataCalView |

#### 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.

#### Parameters

view | an EDataCalView |
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.

Uses the EDataCalView's fields-of-interest to filter out unwanted information from iCalendar strings sent over the bus.

#### Parameters

view | an EDataCalView |
ecalcomponents | List of ECalComponent-s that have been added. | [element-type ECalComponent]

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.

Uses the EDataCalView's fields-of-interest to filter out unwanted information from iCalendar strings sent over the bus.

#### Parameters

view | an EDataCalView |
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.

Uses the EDataCalView's fields-of-interest to filter out unwanted information from iCalendar strings sent over the bus.

#### Parameters

view | an EDataCalView |
ecalcomponents | List of modified ECalComponent-s. | [element-type ECalComponent]

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` .

Uses the EDataCalView's fields-of-interest to filter out unwanted information from iCalendar strings sent over the bus.

#### Parameters

view | an EDataCalView |
component | The modified ECalComponent. |

Since: 3.4

### 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.

#### Parameters

view | an EDataCalView |
ids | List of IDs for the objects that have been removed. | [element-type ECalComponentId]

### 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.

#### Parameters

view | an EDataCalView |
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.

#### Parameters

view | an EDataCalView |
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.

#### Parameters

view | an EDataCalView |
error | View completion error, if any. |

Since: 3.2