use crate::{ffi, RTSPClient};
#[cfg(feature = "v1_18")]
#[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
use glib::{prelude::*, translate::*};
glib::wrapper! {
#[doc(alias = "GstRTSPOnvifClient")]
pub struct RTSPOnvifClient(Object<ffi::GstRTSPOnvifClient, ffi::GstRTSPOnvifClientClass>) @extends RTSPClient;
match fn {
type_ => || ffi::gst_rtsp_onvif_client_get_type(),
}
}
impl RTSPOnvifClient {
pub const NONE: Option<&'static RTSPOnvifClient> = None;
#[cfg(feature = "v1_18")]
#[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
#[doc(alias = "gst_rtsp_onvif_client_new")]
pub fn new() -> RTSPOnvifClient {
assert_initialized_main_thread!();
unsafe { RTSPClient::from_glib_full(ffi::gst_rtsp_onvif_client_new()).unsafe_cast() }
}
}
#[cfg(feature = "v1_18")]
#[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
impl Default for RTSPOnvifClient {
fn default() -> Self {
Self::new()
}
}
unsafe impl Send for RTSPOnvifClient {}
unsafe impl Sync for RTSPOnvifClient {}