javascriptcore6 0.6.0

Rust bindings for JavaScriptCore 6
Documentation
// This file was generated by gir (https://github.com/gtk-rs/gir)
// from gir-files (https://github.com/gtk-rs/gir-files)
// from webkit-gir-files
// DO NOT EDIT

use crate::ffi;
use glib::translate::*;

#[doc(alias = "jsc_get_major_version")]
#[doc(alias = "get_major_version")]
pub fn major_version() -> u32 {
    assert_initialized_main_thread!();
    unsafe { ffi::jsc_get_major_version() }
}

#[doc(alias = "jsc_get_micro_version")]
#[doc(alias = "get_micro_version")]
pub fn micro_version() -> u32 {
    assert_initialized_main_thread!();
    unsafe { ffi::jsc_get_micro_version() }
}

#[doc(alias = "jsc_get_minor_version")]
#[doc(alias = "get_minor_version")]
pub fn minor_version() -> u32 {
    assert_initialized_main_thread!();
    unsafe { ffi::jsc_get_minor_version() }
}

#[doc(alias = "jsc_options_get_boolean")]
pub fn options_get_boolean(option: &str) -> Option<bool> {
    assert_initialized_main_thread!();
    unsafe {
        let mut value = std::mem::MaybeUninit::uninit();
        let ret = from_glib(ffi::jsc_options_get_boolean(
            option.to_glib_none().0,
            value.as_mut_ptr(),
        ));
        if ret {
            Some(from_glib(value.assume_init()))
        } else {
            None
        }
    }
}

#[doc(alias = "jsc_options_get_double")]
pub fn options_get_double(option: &str) -> Option<f64> {
    assert_initialized_main_thread!();
    unsafe {
        let mut value = std::mem::MaybeUninit::uninit();
        let ret = from_glib(ffi::jsc_options_get_double(
            option.to_glib_none().0,
            value.as_mut_ptr(),
        ));
        if ret { Some(value.assume_init()) } else { None }
    }
}

#[doc(alias = "jsc_options_get_int")]
pub fn options_get_int(option: &str) -> Option<i32> {
    assert_initialized_main_thread!();
    unsafe {
        let mut value = std::mem::MaybeUninit::uninit();
        let ret = from_glib(ffi::jsc_options_get_int(
            option.to_glib_none().0,
            value.as_mut_ptr(),
        ));
        if ret { Some(value.assume_init()) } else { None }
    }
}

//#[doc(alias = "jsc_options_get_option_group")]
//pub fn options_get_option_group() -> /*Ignored*/Option<glib::OptionGroup> {
//    unsafe { TODO: call ffi:jsc_options_get_option_group() }
//}

#[doc(alias = "jsc_options_get_range_string")]
pub fn options_get_range_string(option: &str) -> Option<glib::GString> {
    assert_initialized_main_thread!();
    unsafe {
        let mut value = std::ptr::null_mut();
        let ret = from_glib(ffi::jsc_options_get_range_string(
            option.to_glib_none().0,
            &mut value,
        ));
        if ret {
            Some(from_glib_full(value))
        } else {
            None
        }
    }
}

#[doc(alias = "jsc_options_get_size")]
pub fn options_get_size(option: &str) -> Option<usize> {
    assert_initialized_main_thread!();
    unsafe {
        let mut value = std::mem::MaybeUninit::uninit();
        let ret = from_glib(ffi::jsc_options_get_size(
            option.to_glib_none().0,
            value.as_mut_ptr(),
        ));
        if ret { Some(value.assume_init()) } else { None }
    }
}

#[doc(alias = "jsc_options_get_string")]
pub fn options_get_string(option: &str) -> Option<glib::GString> {
    assert_initialized_main_thread!();
    unsafe {
        let mut value = std::ptr::null_mut();
        let ret = from_glib(ffi::jsc_options_get_string(
            option.to_glib_none().0,
            &mut value,
        ));
        if ret {
            Some(from_glib_full(value))
        } else {
            None
        }
    }
}

#[doc(alias = "jsc_options_get_uint")]
pub fn options_get_uint(option: &str) -> Option<u32> {
    assert_initialized_main_thread!();
    unsafe {
        let mut value = std::mem::MaybeUninit::uninit();
        let ret = from_glib(ffi::jsc_options_get_uint(
            option.to_glib_none().0,
            value.as_mut_ptr(),
        ));
        if ret { Some(value.assume_init()) } else { None }
    }
}

#[doc(alias = "jsc_options_set_boolean")]
pub fn options_set_boolean(option: &str, value: bool) -> bool {
    assert_initialized_main_thread!();
    unsafe {
        from_glib(ffi::jsc_options_set_boolean(
            option.to_glib_none().0,
            value.into_glib(),
        ))
    }
}

#[doc(alias = "jsc_options_set_double")]
pub fn options_set_double(option: &str, value: f64) -> bool {
    assert_initialized_main_thread!();
    unsafe { from_glib(ffi::jsc_options_set_double(option.to_glib_none().0, value)) }
}

#[doc(alias = "jsc_options_set_int")]
pub fn options_set_int(option: &str, value: i32) -> bool {
    assert_initialized_main_thread!();
    unsafe { from_glib(ffi::jsc_options_set_int(option.to_glib_none().0, value)) }
}

#[doc(alias = "jsc_options_set_range_string")]
pub fn options_set_range_string(option: &str, value: &str) -> bool {
    assert_initialized_main_thread!();
    unsafe {
        from_glib(ffi::jsc_options_set_range_string(
            option.to_glib_none().0,
            value.to_glib_none().0,
        ))
    }
}

#[doc(alias = "jsc_options_set_size")]
pub fn options_set_size(option: &str, value: usize) -> bool {
    assert_initialized_main_thread!();
    unsafe { from_glib(ffi::jsc_options_set_size(option.to_glib_none().0, value)) }
}

#[doc(alias = "jsc_options_set_string")]
pub fn options_set_string(option: &str, value: &str) -> bool {
    assert_initialized_main_thread!();
    unsafe {
        from_glib(ffi::jsc_options_set_string(
            option.to_glib_none().0,
            value.to_glib_none().0,
        ))
    }
}

#[doc(alias = "jsc_options_set_uint")]
pub fn options_set_uint(option: &str, value: u32) -> bool {
    assert_initialized_main_thread!();
    unsafe { from_glib(ffi::jsc_options_set_uint(option.to_glib_none().0, value)) }
}