A singleton persistent cache for avatars in folks.
Avatars may be added to the cache, and referred to by a persistent URI from that point onwards. The avatars will be stored on disk in the
user's XDG cache directory.
The avatar cache is typically used by backends where retrieving avatars is an expensive operation (for example, they have to be
downloaded from the network every time they're used).
All avatars from all users of the Folks.AvatarCache are stored in the same namespace, so callers must ensure
that the IDs they use for avatars are globally unique (e.g. by using the corresponding
Folks.Persona.uid).
Ongoing store operations (Folks.AvatarCache.store_avatar) are rate
limited to try and prevent file descriptor exhaustion. Load operations (
Folks.AvatarCache.load_avatar) must be rate limited by the client, as the file I/O occurs when calling
GLib.LoadableIcon.load rather than when retrieving the GLib.LoadableIcon
from the cache.
Remove an avatar from the cache, if it exists in the cache. If the
avatar exists in the cache but there is a problem in removing it, a GLib.Error will be thrown.
Store an avatar in the cache, assigning the given globally unique ID
to it, which can later be used to load and remove the avatar from the cache. For example, this ID could be the UID of a persona. The
URI of the cached avatar file will be returned.
Inherited Members:
All known members inherited from class GLib.Object