webkit2gtk/auto/
user_media_permission_request.rs

1// This file was generated by gir (https://github.com/gtk-rs/gir)
2// from gir-files (https://github.com/gtk-rs/gir-files.git)
3// DO NOT EDIT
4
5use 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}