soup/
websocket_connection.rs

1use crate::{prelude::*, WebsocketConnection, WebsocketConnectionType, WebsocketExtension};
2use glib::translate::*;
3
4mod sealed {
5    pub trait Sealed {}
6    impl<T: super::IsA<crate::WebsocketConnection>> Sealed for T {}
7}
8
9pub trait WebsocketConnectionExtManual:
10    IsA<WebsocketConnection> + sealed::Sealed + 'static
11{
12    #[doc(alias = "soup_websocket_connection_new")]
13    fn new(
14        stream: &impl IsA<gio::IOStream>,
15        uri: &glib::Uri,
16        type_: WebsocketConnectionType,
17        origin: Option<&str>,
18        protocol: Option<&str>,
19        extensions: &[WebsocketExtension],
20    ) -> WebsocketConnection {
21        assert_initialized_main_thread!();
22        unsafe {
23            from_glib_full(ffi::soup_websocket_connection_new(
24                stream.as_ref().to_glib_none().0,
25                uri.to_glib_none().0,
26                type_.into_glib(),
27                origin.to_glib_none().0,
28                protocol.to_glib_none().0,
29                extensions.to_glib_full(),
30            ))
31        }
32    }
33}
34
35impl<O: IsA<WebsocketConnection>> WebsocketConnectionExtManual for O {}