1// Take a look at the license at the top of the repository in the LICENSE file.
23use glib::{prelude::*, translate::*};
45use crate::{ffi, RTSPMediaFactory};
67mod sealed {
8pub trait Sealed {}
9impl<T: super::IsA<super::RTSPMediaFactory>> Sealed for T {}
10}
1112pub trait RTSPMediaFactoryExtManual: sealed::Sealed + IsA<RTSPMediaFactory> + 'static {
13/// A convenience wrapper around `gst_rtsp_permissions_add_role_from_structure()`.
14 /// If `self` had no permissions, new permissions will be created and the
15 /// role will be added to it.
16#[doc(alias = "gst_rtsp_media_factory_add_role_from_structure")]
17fn add_role_from_structure(&self, structure: &gst::StructureRef) {
18unsafe {
19 ffi::gst_rtsp_media_factory_add_role_from_structure(
20self.as_ref().to_glib_none().0,
21 structure.as_mut_ptr(),
22 );
23 }
24 }
25}
2627impl<O: IsA<RTSPMediaFactory>> RTSPMediaFactoryExtManual for O {}