soup/auto/
websocket_extension.rs

1// This file was generated by gir (https://github.com/gtk-rs/gir)
2// from
3// from gir-files (https://github.com/gtk-rs/gir-files)
4// DO NOT EDIT
5
6use crate::ffi;
7use glib::{prelude::*, translate::*};
8
9glib::wrapper! {
10    #[doc(alias = "SoupWebsocketExtension")]
11    pub struct WebsocketExtension(Object<ffi::SoupWebsocketExtension, ffi::SoupWebsocketExtensionClass>);
12
13    match fn {
14        type_ => || ffi::soup_websocket_extension_get_type(),
15    }
16}
17
18impl WebsocketExtension {
19    pub const NONE: Option<&'static WebsocketExtension> = None;
20}
21
22mod sealed {
23    pub trait Sealed {}
24    impl<T: super::IsA<super::WebsocketExtension>> Sealed for T {}
25}
26
27pub trait WebsocketExtensionExt: IsA<WebsocketExtension> + sealed::Sealed + 'static {
28    //#[doc(alias = "soup_websocket_extension_configure")]
29    //fn configure(&self, connection_type: WebsocketConnectionType, params: /*Unknown conversion*//*Unimplemented*/HashTable TypeId { ns_id: 0, id: 25 }/TypeId { ns_id: 0, id: 25 }) -> Result<(), glib::Error> {
30    //    unsafe { TODO: call ffi:soup_websocket_extension_configure() }
31    //}
32
33    #[doc(alias = "soup_websocket_extension_get_request_params")]
34    #[doc(alias = "get_request_params")]
35    fn request_params(&self) -> Option<glib::GString> {
36        unsafe {
37            from_glib_full(ffi::soup_websocket_extension_get_request_params(
38                self.as_ref().to_glib_none().0,
39            ))
40        }
41    }
42
43    #[doc(alias = "soup_websocket_extension_get_response_params")]
44    #[doc(alias = "get_response_params")]
45    fn response_params(&self) -> Option<glib::GString> {
46        unsafe {
47            from_glib_full(ffi::soup_websocket_extension_get_response_params(
48                self.as_ref().to_glib_none().0,
49            ))
50        }
51    }
52
53    #[doc(alias = "soup_websocket_extension_process_incoming_message")]
54    fn process_incoming_message(
55        &self,
56        header: &mut u8,
57        payload: glib::Bytes,
58    ) -> Result<glib::Bytes, glib::Error> {
59        unsafe {
60            let mut error = std::ptr::null_mut();
61            let ret = ffi::soup_websocket_extension_process_incoming_message(
62                self.as_ref().to_glib_none().0,
63                header,
64                payload.into_glib_ptr(),
65                &mut error,
66            );
67            if error.is_null() {
68                Ok(from_glib_full(ret))
69            } else {
70                Err(from_glib_full(error))
71            }
72        }
73    }
74
75    #[doc(alias = "soup_websocket_extension_process_outgoing_message")]
76    fn process_outgoing_message(
77        &self,
78        header: &mut u8,
79        payload: glib::Bytes,
80    ) -> Result<glib::Bytes, glib::Error> {
81        unsafe {
82            let mut error = std::ptr::null_mut();
83            let ret = ffi::soup_websocket_extension_process_outgoing_message(
84                self.as_ref().to_glib_none().0,
85                header,
86                payload.into_glib_ptr(),
87                &mut error,
88            );
89            if error.is_null() {
90                Ok(from_glib_full(ret))
91            } else {
92                Err(from_glib_full(error))
93            }
94        }
95    }
96}
97
98impl<O: IsA<WebsocketExtension>> WebsocketExtensionExt for O {}