Method

EDataServerWebDAVSessionsync_collection_sync

unstable since: 3.62

Declaration [src]

gboolean
e_webdav_session_sync_collection_sync (
  EWebDAVSession* webdav,
  const gchar* uri,
  const gchar* sync_token,
  EWebDAVSessionModifyReportRequestFunc modify_report_request,
  EWebDAVSessionResourceModifiedFunc resource_modified,
  EWebDAVSessionResourceRemovedFunc resource_removed,
  gpointer user_data,
  gchar** out_new_sync_token,
  GCancellable* cancellable,
  GError** error
)

Description [src]

Issues a DAV:sync-collection report on the collection for which the webdav is opened, or the one identified by uri. It checks only resources directly in that collection, not in the sub-collections. It traverses the complete response even when the server splits it into several chunks.

The sync_token is the last returned synchronization token returned by the previous call of this function, or NULL, when no last state is known.

The optional modify_report_request can be used to add more properties to be fetched from the server. The ‘etag’ is always fetched.

The resource_modified is calls for each resource which had been added or which had been modified since the last call. Similarly, the resource_removed is called for each resource which had been removed since the last call.

On success, the out_new_sync_token is filled with a synchronization token, which can be used as sync_token the next time.

The function does not check whether the DAV:sync-collection is supported on the collection, it’s up to the caller to ensure it can be called, or to deal with an error when it cannot be used.

Note: The call can return failure and error, but still populate the out_new_sync_token, it’s when the response is split into multiple chunks and the first or more works, but at some point the following call to fetch the next chunk fails.

Available since: 3.62

This method is not directly available to language bindings.

Parameters

uri

Type: const gchar*

URI to issue the request for, or NULL to read from ESource.

The argument can be NULL.
The data is owned by the caller of the method.
The value is a NUL terminated UTF-8 string.
sync_token

Type: const gchar*

The last synchronization token, or NULL.

The argument can be NULL.
The data is owned by the caller of the method.
The value is a NUL terminated UTF-8 string.
modify_report_request

Type: EWebDAVSessionModifyReportRequestFunc

An EWebDAVSessionModifyReportRequestFunc, or NULL.

The argument can be NULL.
resource_modified

Type: EWebDAVSessionResourceModifiedFunc

An EWebDAVSessionResourceModifiedFunc.

resource_removed

Type: EWebDAVSessionResourceRemovedFunc

An EWebDAVSessionResourceRemovedFunc.

user_data

Type: gpointer

User data for the callbacks.

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

Type: gchar**

Return location for a new sync token.

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