Skip to content

GLib.Cache

record (struct)

:::warning Deprecated since 2.32 This API is deprecated. :::

A GCache allows sharing of complex data structures, in order to save system resources.

GCache uses keys and values. A GCache key describes the properties of a particular resource. A GCache value is the actual resource.

GCache has been marked as deprecated, since this API is rarely used and not very actively maintained.

Methods

destroy

def destroy(self) -> None

:::warning Deprecated since 2.32 This API is deprecated. :::

Frees the memory allocated for the Cache.

Note that it does not destroy the keys and values which were contained in the Cache.

insert

def insert(self, key: int | None = ...) -> int | None

:::warning Deprecated since 2.32 This API is deprecated. :::

Gets the value corresponding to the given key, creating it if necessary. It first checks if the value already exists in the Cache, by using the key_equal_func function passed to g_cache_new(). If it does already exist it is returned, and its reference count is increased by one. If the value does not currently exist, if is created by calling the value_new_func. The key is duplicated by calling key_dup_func and the duplicated key and value are inserted into the Cache.

Parameters:

  • key — a key describing a Cache object

key_foreach

def key_foreach(self, func: HFunc) -> None

:::warning Deprecated since 2.32 This API is deprecated. :::

Calls the given function for each of the keys in the Cache.

NOTE func is passed three parameters, the value and key of a cache entry and the user_data. The order of value and key is different from the order in which HashTable.foreach passes key-value pairs to its callback function !

Parameters:

  • func — the function to call with each Cache key

remove

def remove(self, value: int | None = ...) -> None

:::warning Deprecated since 2.32 This API is deprecated. :::

Decreases the reference count of the given value. If it drops to 0 then the value and its corresponding key are destroyed, using the value_destroy_func and key_destroy_func passed to g_cache_new().

Parameters:

  • value — the value to remove

value_foreach

def value_foreach(self, func: HFunc) -> None

:::warning Deprecated since 2.10 This API is deprecated. :::

Calls the given function for each of the values in the Cache.

Parameters:

  • func — the function to call with each Cache value