EBackend.CacheUpdateFunc
Description: Reference for EBackend.CacheUpdateFunc

### Function

# EBackendCacheUpdateFunc

since: 3.26

#### Declaration

    gboolean
    (* ECacheUpdateFunc) (
      ECache* cache,
      const gchar* uid,
      const gchar* revision,
      const gchar* object,
      EOfflineState offline_state,
      gint ncols,
      const gchar** column_names,
      const gchar** column_values,
      gchar** out_revision,
      gchar** out_object,
      EOfflineState* out_offline_state,
      ECacheColumnValues** out_other_columns,
      gpointer user_data
    )

#### Description [src]

A callback called for each object row when using `e_cache_foreach_update()` function. When all out parameters are left untouched, then the row is not changed.

Available since: 3.26

#### Parameters

`cache`

  Type: `ECache`

  An `ECache`.

  The data is owned by the caller of the function.

`uid`

  Type: `const gchar*`

  A unique object identifier.

  The data is owned by the caller of the function.
  The value is a NUL terminated UTF-8 string.

`revision`

  Type: `const gchar*`

  The object revision.

  The data is owned by the caller of the function.
  The value is a NUL terminated UTF-8 string.

`object`

  Type: `const gchar*`

  The object itself.

  The data is owned by the caller of the function.
  The value is a NUL terminated UTF-8 string.

`offline_state`

  Type: `EOfflineState`

  Objects offline state, one of `EOfflineState`.

`ncols`

  Type: `gint`

  Count of columns, items in column_names and column_values.

`column_names`

  Type: An array of `utf8`

  Column names.

  The length of the array is specified in the `ncols` argument.
  The data is owned by the caller of the function.
  Each element is a NUL terminated UTF-8 string.

`column_values`

  Type: An array of `utf8`

  Column values.

  The length of the array is specified in the `ncols` argument.
  The data is owned by the caller of the function.
  Each element is a NUL terminated UTF-8 string.

`out_revision`

  Type: `gchar**`

  The new object revision to set; keep it untouched to not change.

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

`out_object`

  Type: `gchar**`

  The new object to set; keep it untouched to not change.

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

`out_offline_state`

  Type: `EOfflineState`

  The offline state to set; the default is the same as `offline_state`.

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

`out_other_columns`

  Type: `ECacheColumnValues`

  An `ECacheColumnValues` with other columns to set; keep it untouched to not change any.

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

`user_data`

  Type: `gpointer`

  User data, as used in e_cache_foreach_update().

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

#### Return value

Type: `gboolean`

`TRUE` to continue, `FALSE` to stop walk through.