Blob Blame History Raw
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>SoupCache: libsoup Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="libsoup Reference Manual">
<link rel="up" href="ch02.html" title="Core API">
<link rel="prev" href="SoupAuthDomainDigest.html" title="SoupAuthDomainDigest">
<link rel="next" href="SoupCookie.html" title="SoupCookie">
<meta name="generator" content="GTK-Doc V1.28.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
                  <a href="#SoupCache.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
                  <a href="#SoupCache.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
                  <a href="#SoupCache.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span><span id="nav_properties">  <span class="dim">|</span> 
                  <a href="#SoupCache.properties" class="shortcut">Properties</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="ch02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="SoupAuthDomainDigest.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="SoupCookie.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="SoupCache"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="SoupCache.top_of_page"></a>SoupCache</span></h2>
<p>SoupCache — Caching support</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="SoupCache.functions"></a><h2>Functions</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
</colgroup>
<tbody>
<tr>
<td class="function_type">
<a class="link" href="SoupCache.html" title="SoupCache"><span class="returnvalue">SoupCache</span></a> *
</td>
<td class="function_name">
<a class="link" href="SoupCache.html#soup-cache-new" title="soup_cache_new ()">soup_cache_new</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="SoupCache.html#soup-cache-flush" title="soup_cache_flush ()">soup_cache_flush</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="SoupCache.html#soup-cache-clear" title="soup_cache_clear ()">soup_cache_clear</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="SoupCache.html#soup-cache-dump" title="soup_cache_dump ()">soup_cache_dump</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="SoupCache.html#soup-cache-load" title="soup_cache_load ()">soup_cache_load</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">guint</span>
</td>
<td class="function_name">
<a class="link" href="SoupCache.html#soup-cache-get-max-size" title="soup_cache_get_max_size ()">soup_cache_get_max_size</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="SoupCache.html#soup-cache-set-max-size" title="soup_cache_set_max_size ()">soup_cache_set_max_size</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="SoupCache.properties"></a><h2>Properties</h2>
<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
<col width="200px" class="properties_flags">
</colgroup>
<tbody>
<tr>
<td class="property_type">
<span class="type">gchar</span> *</td>
<td class="property_name"><a class="link" href="SoupCache.html#SoupCache--cache-dir" title="The “cache-dir” property">cache-dir</a></td>
<td class="property_flags">Read / Write / Construct Only</td>
</tr>
<tr>
<td class="property_type"><a class="link" href="SoupCache.html#SoupCacheType" title="enum SoupCacheType"><span class="type">SoupCacheType</span></a></td>
<td class="property_name"><a class="link" href="SoupCache.html#SoupCache--cache-type" title="The “cache-type” property">cache-type</a></td>
<td class="property_flags">Read / Write / Construct Only</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="SoupCache.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
</colgroup>
<tbody>
<tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="SoupCache.html#SoupCache-struct" title="struct SoupCache">SoupCache</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="SoupCache.html#SoupCacheType" title="enum SoupCacheType">SoupCacheType</a></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="SoupCache.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="screen">    GObject
    <span class="lineart">╰──</span> SoupCache
</pre>
</div>
<div class="refsect1">
<a name="SoupCache.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
<p>
SoupCache implements
 <a class="link" href="SoupSessionFeature.html" title="SoupSessionFeature">SoupSessionFeature</a> and  SoupContentProcessor.</p>
</div>
<div class="refsect1">
<a name="SoupCache.includes"></a><h2>Includes</h2>
<pre class="synopsis">#include &lt;libsoup/soup.h&gt;
</pre>
</div>
<div class="refsect1">
<a name="SoupCache.description"></a><h2>Description</h2>
<p><a class="link" href="SoupCache.html" title="SoupCache"><span class="type">SoupCache</span></a> implements a file-based cache for HTTP resources.</p>
</div>
<div class="refsect1">
<a name="SoupCache.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="soup-cache-new"></a><h3>soup_cache_new ()</h3>
<pre class="programlisting"><a class="link" href="SoupCache.html" title="SoupCache"><span class="returnvalue">SoupCache</span></a> *
soup_cache_new (<em class="parameter"><code>const <span class="type">char</span> *cache_dir</code></em>,
                <em class="parameter"><code><a class="link" href="SoupCache.html#SoupCacheType" title="enum SoupCacheType"><span class="type">SoupCacheType</span></a> cache_type</code></em>);</pre>
<p>Creates a new <a class="link" href="SoupCache.html" title="SoupCache"><span class="type">SoupCache</span></a>.</p>
<div class="refsect3">
<a name="soup-cache-new.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>cache_dir</p></td>
<td class="parameter_description"><p>the directory to store the cached data, or <code class="literal">NULL</code>
to use the default one. Note that since the cache isn't safe to access for
multiple processes at once, and the default directory isn't namespaced by
process, clients are strongly discouraged from passing <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>cache_type</p></td>
<td class="parameter_description"><p>the <a class="link" href="SoupCache.html#SoupCacheType" title="enum SoupCacheType"><span class="type">SoupCacheType</span></a> of the cache</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="soup-cache-new.returns"></a><h4>Returns</h4>
<p> a new <a class="link" href="SoupCache.html" title="SoupCache"><span class="type">SoupCache</span></a></p>
</div>
<p class="since">Since: 2.34</p>
</div>
<hr>
<div class="refsect2">
<a name="soup-cache-flush"></a><h3>soup_cache_flush ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
soup_cache_flush (<em class="parameter"><code><a class="link" href="SoupCache.html" title="SoupCache"><span class="type">SoupCache</span></a> *cache</code></em>);</pre>
<p>This function will force all pending writes in the <em class="parameter"><code>cache</code></em>
 to be
committed to disk. For doing so it will iterate the <span class="type">GMainContext</span>
associated with <em class="parameter"><code>cache</code></em>
's session as long as needed.</p>
<p>Contrast with <a class="link" href="SoupCache.html#soup-cache-dump" title="soup_cache_dump ()"><code class="function">soup_cache_dump()</code></a>, which writes out the cache index
file.</p>
<div class="refsect3">
<a name="soup-cache-flush.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>cache</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupCache.html" title="SoupCache"><span class="type">SoupCache</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<p class="since">Since: 2.34</p>
</div>
<hr>
<div class="refsect2">
<a name="soup-cache-clear"></a><h3>soup_cache_clear ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
soup_cache_clear (<em class="parameter"><code><a class="link" href="SoupCache.html" title="SoupCache"><span class="type">SoupCache</span></a> *cache</code></em>);</pre>
<p>Will remove all entries in the <em class="parameter"><code>cache</code></em>
 plus all the cache files.</p>
<div class="refsect3">
<a name="soup-cache-clear.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>cache</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupCache.html" title="SoupCache"><span class="type">SoupCache</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<p class="since">Since: 2.34</p>
</div>
<hr>
<div class="refsect2">
<a name="soup-cache-dump"></a><h3>soup_cache_dump ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
soup_cache_dump (<em class="parameter"><code><a class="link" href="SoupCache.html" title="SoupCache"><span class="type">SoupCache</span></a> *cache</code></em>);</pre>
<p>Synchronously writes the cache index out to disk. Contrast with
<a class="link" href="SoupCache.html#soup-cache-flush" title="soup_cache_flush ()"><code class="function">soup_cache_flush()</code></a>, which writes pending cache
<span class="emphasis"><em>entries</em></span> to disk.</p>
<p>You must call this before exiting if you want your cache data to
persist between sessions.</p>
<div class="refsect3">
<a name="soup-cache-dump.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>cache</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupCache.html" title="SoupCache"><span class="type">SoupCache</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<p class="since">Since: 2.34.</p>
</div>
<hr>
<div class="refsect2">
<a name="soup-cache-load"></a><h3>soup_cache_load ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
soup_cache_load (<em class="parameter"><code><a class="link" href="SoupCache.html" title="SoupCache"><span class="type">SoupCache</span></a> *cache</code></em>);</pre>
<p>Loads the contents of <em class="parameter"><code>cache</code></em>
's index into memory.</p>
<div class="refsect3">
<a name="soup-cache-load.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>cache</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupCache.html" title="SoupCache"><span class="type">SoupCache</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<p class="since">Since: 2.34</p>
</div>
<hr>
<div class="refsect2">
<a name="soup-cache-get-max-size"></a><h3>soup_cache_get_max_size ()</h3>
<pre class="programlisting"><span class="returnvalue">guint</span>
soup_cache_get_max_size (<em class="parameter"><code><a class="link" href="SoupCache.html" title="SoupCache"><span class="type">SoupCache</span></a> *cache</code></em>);</pre>
<p>Gets the maximum size of the cache.</p>
<div class="refsect3">
<a name="soup-cache-get-max-size.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>cache</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupCache.html" title="SoupCache"><span class="type">SoupCache</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="soup-cache-get-max-size.returns"></a><h4>Returns</h4>
<p> the maximum size of the cache, in bytes.</p>
</div>
<p class="since">Since: 2.34</p>
</div>
<hr>
<div class="refsect2">
<a name="soup-cache-set-max-size"></a><h3>soup_cache_set_max_size ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
soup_cache_set_max_size (<em class="parameter"><code><a class="link" href="SoupCache.html" title="SoupCache"><span class="type">SoupCache</span></a> *cache</code></em>,
                         <em class="parameter"><code><span class="type">guint</span> max_size</code></em>);</pre>
<p>Sets the maximum size of the cache.</p>
<div class="refsect3">
<a name="soup-cache-set-max-size.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>cache</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupCache.html" title="SoupCache"><span class="type">SoupCache</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>max_size</p></td>
<td class="parameter_description"><p>the maximum size of the cache, in bytes</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2.34</p>
</div>
</div>
<div class="refsect1">
<a name="SoupCache.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="SoupCache-struct"></a><h3>struct SoupCache</h3>
<pre class="programlisting">struct SoupCache;</pre>
</div>
<hr>
<div class="refsect2">
<a name="SoupCacheType"></a><h3>enum SoupCacheType</h3>
<p>The type of cache; this affects what kinds of responses will be
saved.</p>
<div class="refsect3">
<a name="SoupCacheType.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="enum_member_name"><p><a name="SOUP-CACHE-SINGLE-USER:CAPS"></a>SOUP_CACHE_SINGLE_USER</p></td>
<td class="enum_member_description">
<p>a single-user cache</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="SOUP-CACHE-SHARED:CAPS"></a>SOUP_CACHE_SHARED</p></td>
<td class="enum_member_description">
<p>a shared cache</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2.34</p>
</div>
</div>
<div class="refsect1">
<a name="SoupCache.property-details"></a><h2>Property Details</h2>
<div class="refsect2">
<a name="SoupCache--cache-dir"></a><h3>The <code class="literal">“cache-dir”</code> property</h3>
<pre class="programlisting">  “cache-dir”                <span class="type">gchar</span> *</pre>
<p>The directory to store the cache files.</p>
<p>Flags: Read / Write / Construct Only</p>
<p>Default value: NULL</p>
</div>
<hr>
<div class="refsect2">
<a name="SoupCache--cache-type"></a><h3>The <code class="literal">“cache-type”</code> property</h3>
<pre class="programlisting">  “cache-type”               <a class="link" href="SoupCache.html#SoupCacheType" title="enum SoupCacheType"><span class="type">SoupCacheType</span></a></pre>
<p>Whether the cache is private or shared.</p>
<p>Flags: Read / Write / Construct Only</p>
<p>Default value: SOUP_CACHE_SINGLE_USER</p>
</div>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.28.1</div>
</body>
</html>