## SoupCache SoupCache |

## 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.

## Properties

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

## Description

## 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.

`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 associated with them.

`cache` : | a SoupCache

Since 2.34

### soup_cache_dump ()

    void                soup_cache_dump                     (SoupCache *cache);

### soup_cache_load ()

    void                soup_cache_load                     (SoupCache *cache);

### soup_cache_get_max_size ()

    guint               soup_cache_get_max_size             (SoupCache *cache);

### soup_cache_set_max_size ()

    void                soup_cache_set_max_size             (SoupCache *cache,
                                                             guint max_size);

## 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