soup/auto/
websocket_extension.rs1use 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_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 {}