### Virtual Method

# EDataBook BookMetaBackend list_existing_sync

since: 3.26

#### Declaration [src]

    gboolean
    list_existing_sync (
      EBookMetaBackend* meta_backend,
      gchar** out_new_sync_tag,
      GSList** out_existing_objects,
      GCancellable* cancellable,
      GError** error
    )

#### Description [src]

Used to get list of all existing objects on the remote side. The descendant can optionally provide `out_new_sync_tag`, which will be stored on success, if not `NULL`. The descendant can populate also EBookMetaBackendInfo::object of the `out_existing_objects`, if known, in which case this will be used instead of loading it with e_book_meta_backend_load_contact_sync().

It is mandatory to implement this virtual method by the descendant, unless it implements its own `EBookMetaBackendClass`.get_changes_sync().

The `out_existing_objects` `GSList` should be freed with g_slist_free_full (objects, e_book_meta_backend_info_free); when no longer needed.

Available since: 3.26

#### Parameters

`out_new_sync_tag`

  Type: `gchar**`

  Optional return location for a new sync tag.

  The argument will be set by the function.
  The caller of the method takes ownership of the returned data, and is responsible for freeing it.
  The value is a NUL terminated UTF-8 string.

`out_existing_objects`

  Type: A list of `None`

  a `GSList` of `EBookMetaBackendInfo` object infos which are stored on the remote side.

  The argument will be set by the function.
  The caller of the method takes ownership of the returned data, and is responsible for freeing it.

`cancellable`

  Type: `GCancellable`

  Optional `GCancellable` object, or `NULL`.

  The argument can be `NULL`.
  The data is owned by the caller of the method.

`error`

  Type: `GError **`

  The return location for a recoverable error.

  The argument can be `NULL`.
  If the return location is not `NULL`, then you must initialize it to a `NULL` `GError*`.
  The argument will be left initialized to `NULL` by the virtual function if there are no errors.
  In case of error, the argument will be set to a newly allocated `GError`; the caller will take ownership of the data, and be responsible for freeing it.

#### Return value

Type: `gboolean`

Whether succeeded.