1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
// This file was generated by gir (https://github.com/gtk-rs/gir)
// from
// from gir-files (https://github.com/gtk-rs/gir-files)
// DO NOT EDIT
use glib::prelude::*;
glib::wrapper! {
/// Interface for miscellaneous [`Session`][crate::Session] features.
///
/// #SoupSessionFeature is the interface used by classes that extend
/// the functionality of a [`Session`][crate::Session]. Some features like HTTP
/// authentication handling are implemented internally via
/// `SoupSessionFeature`s. Other features can be added to the session
/// by the application. (Eg, [`Logger`][crate::Logger], [`CookieJar`][crate::CookieJar].)
///
/// See [`SessionExt::add_feature()`][crate::prelude::SessionExt::add_feature()], etc, to add a feature to a session.
///
/// # Implements
///
/// [`SessionFeatureExt`][trait@crate::prelude::SessionFeatureExt]
#[doc(alias = "SoupSessionFeature")]
pub struct SessionFeature(Interface<ffi::SoupSessionFeature, ffi::SoupSessionFeatureInterface>);
match fn {
type_ => || ffi::soup_session_feature_get_type(),
}
}
impl SessionFeature {
pub const NONE: Option<&'static SessionFeature> = None;
}
mod sealed {
pub trait Sealed {}
impl<T: super::IsA<super::SessionFeature>> Sealed for T {}
}
/// Trait containing all [`struct@SessionFeature`] methods.
///
/// # Implementors
///
/// [`AuthManager`][struct@crate::AuthManager], [`Cache`][struct@crate::Cache], [`ContentDecoder`][struct@crate::ContentDecoder], [`ContentSniffer`][struct@crate::ContentSniffer], [`CookieJarDB`][struct@crate::CookieJarDB], [`CookieJarText`][struct@crate::CookieJarText], [`CookieJar`][struct@crate::CookieJar], [`HSTSEnforcerDB`][struct@crate::HSTSEnforcerDB], [`HSTSEnforcer`][struct@crate::HSTSEnforcer], [`Logger`][struct@crate::Logger], [`SessionFeature`][struct@crate::SessionFeature], [`WebsocketExtensionManager`][struct@crate::WebsocketExtensionManager]
pub trait SessionFeatureExt: IsA<SessionFeature> + sealed::Sealed + 'static {}
impl<O: IsA<SessionFeature>> SessionFeatureExt for O {}