|  |  |  | libsoup Reference Manual |  | 
|---|---|---|---|---|
| Top | Description | Object Hierarchy | Prerequisites | Known Implementations | ||||
SoupSessionFeature is implemented by SoupAuthManager, SoupCache, SoupContentDecoder, SoupContentSniffer, SoupCookieJar, SoupCookieJarDB, SoupCookieJarText, SoupLogger and SoupProxyResolverDefault.
SoupSessionFeature is the interface used by classes that extend the functionality of a SoupSession. Some features like HTTP authentication handling are implemented internally via SoupSessionFeatures. Other features can be added to the session by the application. (Eg, SoupLogger, SoupCookieJar.)
See soup_session_add_feature(), etc, to add a feature to a session.
typedef struct _SoupSessionFeature SoupSessionFeature;
An object that implement some sort of optional feature for SoupSession.
Since 2.24
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;
The interface implemented by SoupSessionFeatures.
| The parent interface. | |
| Perform setup when a feature is added to a session | |
| Perform cleanup when a feature is removed from a session | |
| Proxies the session's "request_queued" signal | |
| Proxies the session's "request_started" signal | |
| Proxies the session's "request_unqueued" signal | |
| adds a sub-feature to the main feature | |
| removes a sub-feature from the main feature | |
| tests if the feature includes a sub-feature | 
Since 2.24