| libsoup Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | Object Hierarchy | Prerequisites | Known Implementations | ||||
SoupSessionFeature is implemented by SoupCache, SoupContentDecoder, SoupContentSniffer, SoupCookieJar, 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.
GTypeInterface |
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