SoupCache

SoupCache — Caching support

Synopsis

#include <libsoup/soup.h>

struct              SoupCache;
enum                SoupCacheType;
SoupCache *         soup_cache_new                      (const char *cache_dir,
                                                         SoupCacheType cache_type);
void                soup_cache_flush                    (SoupCache *cache);
void                soup_cache_clear                    (SoupCache *cache);
void                soup_cache_dump                     (SoupCache *cache);
void                soup_cache_load                     (SoupCache *cache);
guint               soup_cache_get_max_size             (SoupCache *cache);
void                soup_cache_set_max_size             (SoupCache *cache,
                                                         guint max_size);

Object Hierarchy

  GObject
   +----SoupCache

Implemented Interfaces

SoupCache implements SoupSessionFeature and SoupContentProcessor.

Properties

  "cache-dir"                gchar*                : Read / Write / Construct Only
  "cache-type"               SoupCacheType         : Read / Write / Construct Only

Description

SoupCache implements a file-based cache for HTTP resources.

Details

struct SoupCache

struct SoupCache;


enum SoupCacheType

typedef enum {
	SOUP_CACHE_SINGLE_USER,
	SOUP_CACHE_SHARED
} SoupCacheType;

The type of cache; this affects what kinds of responses will be saved.

SOUP_CACHE_SINGLE_USER

a single-user cache

SOUP_CACHE_SHARED

a shared cache

Since 2.34


soup_cache_new ()

SoupCache *         soup_cache_new                      (const char *cache_dir,
                                                         SoupCacheType cache_type);

Creates a new SoupCache.

cache_dir :

the directory to store the cached data, or NULL to use the default one

cache_type :

the SoupCacheType of the cache

Returns :

a new SoupCache

Since 2.34


soup_cache_flush ()

void                soup_cache_flush                    (SoupCache *cache);

This function will force all pending writes in the cache to be committed to disk. For doing so it will iterate the GMainContext associated with cache's session as long as needed.

Contrast with soup_cache_dump(), which writes out the cache index file.

cache :

a SoupCache

Since 2.34


soup_cache_clear ()

void                soup_cache_clear                    (SoupCache *cache);

Will remove all entries in the cache plus all the cache files.

cache :

a SoupCache

Since 2.34


soup_cache_dump ()

void                soup_cache_dump                     (SoupCache *cache);

Synchronously writes the cache index out to disk. Contrast with soup_cache_flush(), which writes pending cache entries to disk.

You must call this before exiting if you want your cache data to persist between sessions.

cache :

a SoupCache

Since 2.34.


soup_cache_load ()

void                soup_cache_load                     (SoupCache *cache);

Loads the contents of cache's index into memory.

cache :

a SoupCache

Since 2.34


soup_cache_get_max_size ()

guint               soup_cache_get_max_size             (SoupCache *cache);

Gets the maximum size of the cache.

cache :

a SoupCache

Returns :

the maximum size of the cache, in bytes.

Since 2.34


soup_cache_set_max_size ()

void                soup_cache_set_max_size             (SoupCache *cache,
                                                         guint max_size);

Sets the maximum size of the cache.

cache :

a SoupCache

max_size :

the maximum size of the cache, in bytes

Since 2.34

Property Details

The "cache-dir" property

  "cache-dir"                gchar*                : Read / Write / Construct Only

The directory to store the cache files.

Default value: NULL


The "cache-type" property

  "cache-type"               SoupCacheType         : Read / Write / Construct Only

Whether the cache is private or shared.

Default value: SOUP_CACHE_SINGLE_USER