Method

EBackendCacheforeach_update

since: 3.26

Declaration [src]

gboolean
e_cache_foreach_update (
  ECache* cache,
  ECacheDeletedFlag deleted_flag,
  const gchar* where_clause,
  ECacheUpdateFunc func,
  gpointer user_data,
  GCancellable* cancellable,
  GError** error
)

Description [src]

Calls func for each found object, which satisfies the criteria for both deleted_flag and where_clause, letting the caller update values where necessary. The return value of func is used to determine whether the call was successful, not whether there are any changes to be saved. If anything fails during the call then the all changes are reverted.

When there are requested any changes by the func, this function also calls e_cache_copy_missing_to_column_values() to ensure no descendant column data is lost.

Available since: 3.26

Parameters

deleted_flag

Type: ECacheDeletedFlag

One of ECacheDeletedFlag enum.

where_clause

Type: const gchar*

An optional SQLite WHERE clause part, 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.
func

Type: ECacheUpdateFunc

An ECacheUpdateFunc function to call for each object.

user_data

Type: gpointer

User data for the func.

The argument can be NULL.
The data is owned by the caller of the method.
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.