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>SoupSessionFeature: 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="ch03.html" title="Additional Features">
<link rel="prev" href="ch03.html" title="Additional Features">
<link rel="next" href="SoupAuthManager.html" title="SoupAuthManager">
<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="#SoupSessionFeature.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
                  <a href="#SoupSessionFeature.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_prerequisites">  <span class="dim">|</span> 
                  <a href="#SoupSessionFeature.prerequisites" class="shortcut">Prerequisites</a></span><span id="nav_implementations">  <span class="dim">|</span> 
                  <a href="#SoupSessionFeature.implementations" class="shortcut">Known Implementations</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="ch03.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="ch03.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="SoupAuthManager.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="SoupSessionFeature"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="SoupSessionFeature.top_of_page"></a>SoupSessionFeature</span></h2>
<p>SoupSessionFeature — Interface for miscellaneous session features</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="SoupSessionFeature.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"> </td>
<td class="function_name"><a class="link" href="SoupSessionFeature.html#SoupSessionFeature-struct" title="SoupSessionFeature">SoupSessionFeature</a></td>
</tr>
<tr>
<td class="datatype_keyword"> </td>
<td class="function_name"><a class="link" href="SoupSessionFeature.html#SoupSessionFeatureInterface" title="SoupSessionFeatureInterface">SoupSessionFeatureInterface</a></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="SoupSessionFeature.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="screen">    <a href="/home/claudio/gnome3/share/gtk-doc/html/gobject/GTypeModule.html">GInterface</a>
    <span class="lineart">╰──</span> SoupSessionFeature
</pre>
</div>
<div class="refsect1">
<a name="SoupSessionFeature.prerequisites"></a><h2>Prerequisites</h2>
<p>
SoupSessionFeature requires
 GObject.</p>
</div>
<div class="refsect1">
<a name="SoupSessionFeature.implementations"></a><h2>Known Implementations</h2>
<p>
SoupSessionFeature is implemented by
 <a class="link" href="SoupAuthManager.html" title="SoupAuthManager">SoupAuthManager</a>,  <a class="link" href="SoupCache.html" title="SoupCache">SoupCache</a>,  <a class="link" href="SoupContentDecoder.html" title="SoupContentDecoder">SoupContentDecoder</a>,  <a class="link" href="SoupContentSniffer.html" title="SoupContentSniffer">SoupContentSniffer</a>,  <a class="link" href="SoupCookieJar.html" title="SoupCookieJar">SoupCookieJar</a>,  <a class="link" href="SoupCookieJarDB.html" title="SoupCookieJarDB">SoupCookieJarDB</a>,  <a class="link" href="SoupCookieJarText.html" title="SoupCookieJarText">SoupCookieJarText</a>,  <a class="link" href="SoupLogger.html" title="SoupLogger">SoupLogger</a> and  <a class="link" href="SoupProxyResolverDefault.html" title="SoupProxyResolverDefault">SoupProxyResolverDefault</a>.</p>
</div>
<div class="refsect1">
<a name="SoupSessionFeature.includes"></a><h2>Includes</h2>
<pre class="synopsis">#include &lt;libsoup/soup.h&gt;
</pre>
</div>
<div class="refsect1">
<a name="SoupSessionFeature.description"></a><h2>Description</h2>
<p><a class="link" href="SoupSessionFeature.html" title="SoupSessionFeature"><span class="type">SoupSessionFeature</span></a> is the interface used by classes that extend
the functionality of a <a class="link" href="SoupSession.html" title="SoupSession"><span class="type">SoupSession</span></a>. Some features like HTTP
authentication handling are implemented internally via
<a class="link" href="SoupSessionFeature.html" title="SoupSessionFeature"><span class="type">SoupSessionFeature</span></a>s. Other features can be added to the session
by the application. (Eg, <a class="link" href="SoupLogger.html" title="SoupLogger"><span class="type">SoupLogger</span></a>, <a class="link" href="SoupCookieJar.html" title="SoupCookieJar"><span class="type">SoupCookieJar</span></a>.)</p>
<p>See <a class="link" href="SoupSession.html#soup-session-add-feature" title="soup_session_add_feature ()"><code class="function">soup_session_add_feature()</code></a>, etc, to add a feature to a session.</p>
</div>
<div class="refsect1">
<a name="SoupSessionFeature.functions_details"></a><h2>Functions</h2>
<p></p>
</div>
<div class="refsect1">
<a name="SoupSessionFeature.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="SoupSessionFeature-struct"></a><h3>SoupSessionFeature</h3>
<pre class="programlisting">typedef struct _SoupSessionFeature SoupSessionFeature;</pre>
<p>An object that implement some sort of optional feature for
<a class="link" href="SoupSession.html" title="SoupSession"><span class="type">SoupSession</span></a>.</p>
<p class="since">Since: 2.24</p>
</div>
<hr>
<div class="refsect2">
<a name="SoupSessionFeatureInterface"></a><h3>SoupSessionFeatureInterface</h3>
<pre class="programlisting">typedef struct {
	GTypeInterface parent;

	/* methods */
	void     (*attach)           (SoupSessionFeature *feature,
				      SoupSession        *session);
	void     (*detach)           (SoupSessionFeature *feature,
				      SoupSession        *session);

	void     (*request_queued)   (SoupSessionFeature *feature,
				      SoupSession        *session,
				      SoupMessage        *msg);
	void     (*request_started)  (SoupSessionFeature *feature,
				      SoupSession        *session,
				      SoupMessage        *msg,
				      SoupSocket         *socket);
	void     (*request_unqueued) (SoupSessionFeature *feature,
				      SoupSession        *session,
				      SoupMessage        *msg);

	gboolean (*add_feature)      (SoupSessionFeature *feature,
				      GType               type);
	gboolean (*remove_feature)   (SoupSessionFeature *feature,
				      GType               type);
	gboolean (*has_feature)      (SoupSessionFeature *feature,
				      GType               type);
} SoupSessionFeatureInterface;
</pre>
<p>The interface implemented by <a class="link" href="SoupSessionFeature.html" title="SoupSessionFeature"><span class="type">SoupSessionFeature</span></a>s.</p>
<div class="refsect3">
<a name="SoupSessionFeatureInterface.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="struct_member_name"><p><span class="type">GTypeInterface</span> <em class="structfield"><code><a name="SoupSessionFeatureInterface.parent"></a>parent</code></em>;</p></td>
<td class="struct_member_description"><p>The parent interface.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="SoupSessionFeatureInterface.attach"></a>attach</code></em> ()</p></td>
<td class="struct_member_description"><p>Perform setup when a feature is added to a session</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="SoupSessionFeatureInterface.detach"></a>detach</code></em> ()</p></td>
<td class="struct_member_description"><p>Perform cleanup when a feature is removed from a session</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="SoupSessionFeatureInterface.request-queued"></a>request_queued</code></em> ()</p></td>
<td class="struct_member_description"><p>Proxies the session's <a class="link" href="SoupSession.html#SoupSession-request-queued" title="The “request-queued” signal"><span class="type">“request_queued”</span></a> signal</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="SoupSessionFeatureInterface.request-started"></a>request_started</code></em> ()</p></td>
<td class="struct_member_description"><p>Proxies the session's <a class="link" href="SoupSession.html#SoupSession-request-started" title="The “request-started” signal"><span class="type">“request_started”</span></a> signal. Deprecated 2.50. Use <a class="link" href="SoupMessage.html#SoupMessage-starting" title="The “starting” signal"><span class="type">“starting”</span></a> instead.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="SoupSessionFeatureInterface.request-unqueued"></a>request_unqueued</code></em> ()</p></td>
<td class="struct_member_description"><p>Proxies the session's <a class="link" href="SoupSession.html#SoupSession-request-unqueued" title="The “request-unqueued” signal"><span class="type">“request_unqueued”</span></a> signal</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="SoupSessionFeatureInterface.add-feature"></a>add_feature</code></em> ()</p></td>
<td class="struct_member_description"><p>adds a sub-feature to the main feature</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="SoupSessionFeatureInterface.remove-feature"></a>remove_feature</code></em> ()</p></td>
<td class="struct_member_description"><p>removes a sub-feature from the main feature</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="SoupSessionFeatureInterface.has-feature"></a>has_feature</code></em> ()</p></td>
<td class="struct_member_description"><p>tests if the feature includes a sub-feature</p></td>
<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2.24</p>
</div>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.28.1</div>
</body>
</html>