// This file was generated by gir (https://github.com/gtk-rs/gir)
// from 
// from ../gir-files-gstreamer
// from ../gir-files-gtk
// DO NOT EDIT

#[cfg(feature = "v0_8")]
#[cfg_attr(docsrs, doc(cfg(feature = "v0_8")))]
use crate::{ffi};
#[cfg(feature = "v0_10")]
#[cfg_attr(docsrs, doc(cfg(feature = "v0_10")))]
use crate::{EnhancerProxyList};
use glib::{translate::*};


#[cfg_attr(feature = "v0_10", deprecated = "Since 0.10")]
#[cfg(feature = "v0_8")]
#[cfg_attr(docsrs, doc(cfg(feature = "v0_8")))]
#[allow(deprecated)]
#[doc(alias = "clapper_enhancer_check")]
pub fn enhancer_check(iface_type: glib::types::Type, scheme: &str, host: Option<&str>) -> Option<glib::GString> {
    assert_initialized_main_thread!();
    unsafe {
        let mut name = std::ptr::null();
        let ret = from_glib(ffi::clapper_enhancer_check(iface_type.into_glib(), scheme.to_glib_none().0, host.to_glib_none().0, &mut name));
        if ret { Some(from_glib_none(name)) } else { None }
    }
}

#[cfg(feature = "v0_10")]
#[cfg_attr(docsrs, doc(cfg(feature = "v0_10")))]
#[doc(alias = "clapper_get_global_enhancer_proxies")]
#[doc(alias = "get_global_enhancer_proxies")]
pub fn global_enhancer_proxies() -> Option<EnhancerProxyList> {
    assert_initialized_main_thread!();
    unsafe {
        from_glib_none(ffi::clapper_get_global_enhancer_proxies())
    }
}

#[cfg(feature = "v0_10")]
#[cfg_attr(docsrs, doc(cfg(feature = "v0_10")))]
#[doc(alias = "clapper_get_major_version")]
#[doc(alias = "get_major_version")]
pub fn major_version() -> u32 {
    assert_initialized_main_thread!();
    unsafe {
        ffi::clapper_get_major_version()
    }
}

#[cfg(feature = "v0_10")]
#[cfg_attr(docsrs, doc(cfg(feature = "v0_10")))]
#[doc(alias = "clapper_get_micro_version")]
#[doc(alias = "get_micro_version")]
pub fn micro_version() -> u32 {
    assert_initialized_main_thread!();
    unsafe {
        ffi::clapper_get_micro_version()
    }
}

#[cfg(feature = "v0_10")]
#[cfg_attr(docsrs, doc(cfg(feature = "v0_10")))]
#[doc(alias = "clapper_get_minor_version")]
#[doc(alias = "get_minor_version")]
pub fn minor_version() -> u32 {
    assert_initialized_main_thread!();
    unsafe {
        ffi::clapper_get_minor_version()
    }
}

#[cfg(feature = "v0_10")]
#[cfg_attr(docsrs, doc(cfg(feature = "v0_10")))]
#[doc(alias = "clapper_get_version_s")]
#[doc(alias = "get_version_s")]
pub fn version_s() -> Option<glib::GString> {
    assert_initialized_main_thread!();
    unsafe {
        from_glib_none(ffi::clapper_get_version_s())
    }
}

//#[doc(alias = "clapper_init")]
//pub fn init(argv: /*Unimplemented*/Vec<glib::GString>) {
//    unsafe { TODO: call ffi:clapper_init() }
//}

//#[doc(alias = "clapper_init_check")]
//pub fn init_check(argv: /*Unimplemented*/Vec<glib::GString>) -> bool {
//    unsafe { TODO: call ffi:clapper_init_check() }
//}
