FolksObjectCache

FolksObjectCache — A generic abstract cache for sets of objects. This can be used by subclasses to implement caching of homogeneous sets of objects. Subclasses simply have to implement serialisation and deserialisation of the objects to and from GVariants.

Functions

Properties

gchar * id Read / Write / Construct Only
gpointer t-destroy-func Write / Construct Only
gpointer t-dup-func Write / Construct Only
GType * t-type Write / Construct Only
gchar * type-id Read / Write / Construct Only

Types and Values

Object Hierarchy

    GObject
    ╰── FolksObjectCache

Description

It's intended that this class be used for providing caching layers for FolksPersonaStores, for example.

Functions

FOLKS_TYPE_OBJECT_CACHE

#define FOLKS_TYPE_OBJECT_CACHE (folks_object_cache_get_type ())

The type for FolksObjectCache.


folks_object_cache_load_objects ()

void
folks_object_cache_load_objects (FolksObjectCache *self,
                                 GCancellable *cancellable,
                                 GAsyncReadyCallback _callback_,
                                 gpointer _user_data_);

Load a set of objects from the cache and return them as a new set. If the cache file doesn't exist, null will be returned. An empty set will be returned if the cache file existed but was empty (i.e. was stored with an empty set originally).

Loading the objects can be cancelled using cancellable. If it is, null will be returned.

If any errors are encountered while loading the objects, warnings will be logged as appropriate and null will be returned.

This method is safe to call multiple times concurrently.

See also: folks_object_cache_load_objects_finish()

Parameters

self

the FolksObjectCache instance

 

cancellable

 .

A GCancellable for the operation, or null.

.

[in][allow-none]

_callback_

callback to call when the request is satisfied.

[scope async]

_user_data_

the data to pass to _callback_ function.

[closure]

Since 0.6.0


folks_object_cache_load_objects_finish ()

GeeSet *
folks_object_cache_load_objects_finish
                               (FolksObjectCache *self,
                                GAsyncResult *_res_);

Load a set of objects from the cache and return them as a new set. If the cache file doesn't exist, null will be returned. An empty set will be returned if the cache file existed but was empty (i.e. was stored with an empty set originally).

Loading the objects can be cancelled using cancellable. If it is, null will be returned.

If any errors are encountered while loading the objects, warnings will be logged as appropriate and null will be returned.

This method is safe to call multiple times concurrently.

See also: folks_object_cache_load_objects()

Parameters

self

the FolksObjectCache instance

 

_res_

a GAsyncResult

 

Returns

A set of objects from the cache, or null.

Since 0.6.0


folks_object_cache_store_objects ()

void
folks_object_cache_store_objects (FolksObjectCache *self,
                                  GeeSet *objects,
                                  GCancellable *cancellable,
                                  GAsyncReadyCallback _callback_,
                                  gpointer _user_data_);

Store a set of objects to the cache file, overwriting any existing set of objects in the cache, or creating the cache file from scratch if it didn't previously exist.

Storing the objects can be cancelled using cancellable. If it is, the cache will be left in a consistent state, but may be storing the old set of objects or the new set.

This method is safe to call multiple times concurrently.

See also: folks_object_cache_store_objects_finish()

Parameters

self

the FolksObjectCache instance

 

objects

 .

A set of objects to store. This may be empty, but may not be null.

.

[in]

cancellable

 .

A GCancellable for the operation, or null.

.

[in][allow-none]

_callback_

callback to call when the request is satisfied.

[scope async]

_user_data_

the data to pass to _callback_ function.

[closure]

Since 0.6.0


folks_object_cache_store_objects_finish ()

void
folks_object_cache_store_objects_finish
                               (FolksObjectCache *self,
                                GAsyncResult *_res_);

Store a set of objects to the cache file, overwriting any existing set of objects in the cache, or creating the cache file from scratch if it didn't previously exist.

Storing the objects can be cancelled using cancellable. If it is, the cache will be left in a consistent state, but may be storing the old set of objects or the new set.

This method is safe to call multiple times concurrently.

See also: folks_object_cache_store_objects()

Parameters

self

the FolksObjectCache instance

 

_res_

a GAsyncResult

 

Since 0.6.0


folks_object_cache_clear_cache ()

void
folks_object_cache_clear_cache (FolksObjectCache *self,
                                GAsyncReadyCallback _callback_,
                                gpointer _user_data_);

Clear this cache object, deleting its backing file.

See also: folks_object_cache_clear_cache_finish()

Parameters

self

the FolksObjectCache instance

 

_callback_

callback to call when the request is satisfied.

[scope async]

_user_data_

the data to pass to _callback_ function.

[closure]

Since 0.6.0


folks_object_cache_clear_cache_finish ()

void
folks_object_cache_clear_cache_finish (FolksObjectCache *self,
                                       GAsyncResult *_res_);

Clear this cache object, deleting its backing file.

See also: folks_object_cache_clear_cache()

Parameters

self

the FolksObjectCache instance

 

_res_

a GAsyncResult

 

Since 0.6.0


folks_object_cache_get_type_id ()

const gchar *
folks_object_cache_get_type_id (FolksObjectCache *self);

Get and return the current value of the "type-id" property.

A string identifying the type of object being cached.

This has to be suitable for use as a directory name; i.e. lower case, hyphen-separated tokens.

Parameters

self

the FolksObjectCache instance to query

 

Returns

the value of the "type-id" property

Since 0.6.6


folks_object_cache_get_id ()

const gchar *
folks_object_cache_get_id (FolksObjectCache *self);

Get and return the current value of the "id" property.

A string identifying the particular cache instance.

This will form the file name of the cache file, but will be escaped beforehand, so can be an arbitrary non-empty string.

Parameters

self

the FolksObjectCache instance to query

 

Returns

the value of the "id" property

Since 0.6.6

Types and Values

struct FolksObjectCache

struct FolksObjectCache;

A generic abstract cache for sets of objects. This can be used by subclasses to implement caching of homogeneous sets of objects. Subclasses simply have to implement serialisation and deserialisation of the objects to and from GVariants.

It's intended that this class be used for providing caching layers for FolksPersonaStores, for example.

Since 0.6.0


struct FolksObjectCacheClass

struct FolksObjectCacheClass {
	GObjectClass parent_class;
	GVariantType* (*get_serialised_object_type) (FolksObjectCache* self, guint8 object_version);
	guint8 (*get_serialised_object_version) (FolksObjectCache* self);
	GVariant* (*serialise_object) (FolksObjectCache* self, gconstpointer object);
	gpointer (*deserialise_object) (FolksObjectCache* self, GVariant* variant, guint8 object_version);
};

The class structure for FOLKS_TYPE_OBJECT_CACHE. All the fields in this structure are private and should never be accessed directly.

Members

GObjectClass parent_class;

the parent class structure

 

get_serialised_object_type ()

virtual method used internally

 

get_serialised_object_version ()

virtual method used internally

 

serialise_object ()

virtual method used internally

 

deserialise_object ()

virtual method used internally

 

Property Details

The “id” property

  “id”                       gchar *

A string identifying the particular cache instance.

This will form the file name of the cache file, but will be escaped beforehand, so can be an arbitrary non-empty string.

Flags: Read / Write / Construct Only

Default value: NULL

Since 0.6.6


The “t-destroy-func” property

  “t-destroy-func”           gpointer

destroy func.

Flags: Write / Construct Only


The “t-dup-func” property

  “t-dup-func”               gpointer

dup func.

Flags: Write / Construct Only


The “t-type” property

  “t-type”                   GType *

type.

Flags: Write / Construct Only

Allowed values: void


The “type-id” property

  “type-id”                  gchar *

A string identifying the type of object being cached.

This has to be suitable for use as a directory name; i.e. lower case, hyphen-separated tokens.

Flags: Read / Write / Construct Only

Default value: NULL

Since 0.6.6