static void request_started (SoupSession *session, SoupMessage *msg, SoupSocket *socket, gpointer feature) { SOUP_SESSION_FEATURE_GET_CLASS (feature)-> request_started (feature, session, msg, socket); }
static void request_queued (SoupSession *session, SoupMessage *msg, gpointer feature) { if (soup_message_disables_feature (msg, feature)) return; SOUP_SESSION_FEATURE_GET_CLASS (feature)-> request_queued (feature, session, msg); }
static void attach (SoupSessionFeature *feature, SoupSession *session) { g_object_weak_ref (G_OBJECT (session), weak_notify_unref, g_object_ref (feature)); if (SOUP_SESSION_FEATURE_GET_CLASS (feature)->request_queued) { g_signal_connect (session, "request_queued", G_CALLBACK (request_queued), feature); } if (SOUP_SESSION_FEATURE_GET_CLASS (feature)->request_started) { g_signal_connect (session, "request_started", G_CALLBACK (request_started), feature); } if (SOUP_SESSION_FEATURE_GET_CLASS (feature)->request_unqueued) { g_signal_connect (session, "request_unqueued", G_CALLBACK (request_unqueued), feature); } }
/* Object initialization * Create private structure and set up default values */ static void cookie_permission_manager_init(CookiePermissionManager *self) { CookiePermissionManagerPrivate *priv; priv=self->priv=COOKIE_PERMISSION_MANAGER_GET_PRIVATE(self); /* Set up default values */ priv->database=NULL; priv->databaseFilename=NULL; priv->unknownPolicy=COOKIE_PERMISSION_MANAGER_POLICY_UNDETERMINED; /* Hijack session's cookie jar to handle cookies requests on our own in HTTP streams * but remember old handlers to restore them on deactivation */ priv->session=webkit_get_default_session(); priv->cookieJar=SOUP_COOKIE_JAR(soup_session_get_feature(priv->session, SOUP_TYPE_COOKIE_JAR)); priv->featureIface=SOUP_SESSION_FEATURE_GET_CLASS(priv->cookieJar); g_object_set_data(G_OBJECT(priv->cookieJar), "cookie-permission-manager", self); /* Listen to changed cookies set or changed by other sources like javascript */ priv->cookieJarChangedID=g_signal_connect_swapped(priv->cookieJar, "changed", G_CALLBACK(_cookie_permission_manager_on_cookie_changed), self); }
void soup_session_feature_detach (SoupSessionFeature *feature, SoupSession *session) { SOUP_SESSION_FEATURE_GET_CLASS (feature)->detach (feature, session); }
static void request_queued (SoupSession *session, SoupMessage *msg, gpointer feature) { SOUP_SESSION_FEATURE_GET_CLASS (feature)-> request_queued (feature, session, msg); }