webkit2gtk/auto/
user_media_permission_request.rs1use crate::PermissionRequest;
6use glib::object::Cast;
7use glib::object::IsA;
8use glib::signal::connect_raw;
9use glib::signal::SignalHandlerId;
10use glib::translate::*;
11use glib::StaticType;
12use std::boxed::Box as Box_;
13use std::fmt;
14use std::mem::transmute;
15
16glib::wrapper! {
17 #[doc(alias = "WebKitUserMediaPermissionRequest")]
18 pub struct UserMediaPermissionRequest(Object<ffi::WebKitUserMediaPermissionRequest, ffi::WebKitUserMediaPermissionRequestClass>) @implements PermissionRequest;
19
20 match fn {
21 type_ => || ffi::webkit_user_media_permission_request_get_type(),
22 }
23}
24
25pub const NONE_USER_MEDIA_PERMISSION_REQUEST: Option<&UserMediaPermissionRequest> = None;
26
27pub trait UserMediaPermissionRequestExt: 'static {
28 #[doc(alias = "is-for-audio-device")]
29 fn is_for_audio_device(&self) -> bool;
30
31 #[doc(alias = "is-for-video-device")]
32 fn is_for_video_device(&self) -> bool;
33
34 #[doc(alias = "is-for-audio-device")]
35 fn connect_is_for_audio_device_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
36
37 #[doc(alias = "is-for-video-device")]
38 fn connect_is_for_video_device_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
39}
40
41impl<O: IsA<UserMediaPermissionRequest>> UserMediaPermissionRequestExt for O {
42 fn is_for_audio_device(&self) -> bool {
43 unsafe {
44 let mut value = glib::Value::from_type(<bool as StaticType>::static_type());
45 glib::gobject_ffi::g_object_get_property(self.to_glib_none().0 as *mut glib::gobject_ffi::GObject, b"is-for-audio-device\0".as_ptr() as *const _, value.to_glib_none_mut().0);
46 value.get().expect("Return Value for property `is-for-audio-device` getter")
47 }
48 }
49
50 fn is_for_video_device(&self) -> bool {
51 unsafe {
52 let mut value = glib::Value::from_type(<bool as StaticType>::static_type());
53 glib::gobject_ffi::g_object_get_property(self.to_glib_none().0 as *mut glib::gobject_ffi::GObject, b"is-for-video-device\0".as_ptr() as *const _, value.to_glib_none_mut().0);
54 value.get().expect("Return Value for property `is-for-video-device` getter")
55 }
56 }
57
58 fn connect_is_for_audio_device_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
59 unsafe extern "C" fn notify_is_for_audio_device_trampoline<P: IsA<UserMediaPermissionRequest>, F: Fn(&P) + 'static>(this: *mut ffi::WebKitUserMediaPermissionRequest, _param_spec: glib::ffi::gpointer, f: glib::ffi::gpointer) {
60 let f: &F = &*(f as *const F);
61 f(UserMediaPermissionRequest::from_glib_borrow(this).unsafe_cast_ref())
62 }
63 unsafe {
64 let f: Box_<F> = Box_::new(f);
65 connect_raw(self.as_ptr() as *mut _, b"notify::is-for-audio-device\0".as_ptr() as *const _,
66 Some(transmute::<_, unsafe extern "C" fn()>(notify_is_for_audio_device_trampoline::<Self, F> as *const ())), Box_::into_raw(f))
67 }
68 }
69
70 fn connect_is_for_video_device_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
71 unsafe extern "C" fn notify_is_for_video_device_trampoline<P: IsA<UserMediaPermissionRequest>, F: Fn(&P) + 'static>(this: *mut ffi::WebKitUserMediaPermissionRequest, _param_spec: glib::ffi::gpointer, f: glib::ffi::gpointer) {
72 let f: &F = &*(f as *const F);
73 f(UserMediaPermissionRequest::from_glib_borrow(this).unsafe_cast_ref())
74 }
75 unsafe {
76 let f: Box_<F> = Box_::new(f);
77 connect_raw(self.as_ptr() as *mut _, b"notify::is-for-video-device\0".as_ptr() as *const _,
78 Some(transmute::<_, unsafe extern "C" fn()>(notify_is_for_video_device_trampoline::<Self, F> as *const ())), Box_::into_raw(f))
79 }
80 }
81}
82
83impl fmt::Display for UserMediaPermissionRequest {
84 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
85 f.write_str("UserMediaPermissionRequest")
86 }
87}