use crate::{ffi, DomElement, DomNode, GcFeatureNode, GcNode};
use glib::{prelude::*, translate::*};
glib::wrapper! {
#[doc(alias = "ArvGcRegisterDescriptionNode")]
pub struct GcRegisterDescriptionNode(Object<ffi::ArvGcRegisterDescriptionNode, ffi::ArvGcRegisterDescriptionNodeClass>) @extends GcFeatureNode, GcNode, DomElement, DomNode;
match fn {
type_ => || ffi::arv_gc_register_description_node_get_type(),
}
}
impl GcRegisterDescriptionNode {
#[doc(alias = "arv_gc_register_description_node_new")]
pub fn new() -> GcRegisterDescriptionNode {
assert_initialized_main_thread!();
unsafe { GcNode::from_glib_full(ffi::arv_gc_register_description_node_new()).unsafe_cast() }
}
#[doc(alias = "arv_gc_register_description_node_check_schema_version")]
pub fn check_schema_version(
&self,
required_major: u32,
required_minor: u32,
required_subminor: u32,
) -> bool {
unsafe {
from_glib(ffi::arv_gc_register_description_node_check_schema_version(
self.to_glib_none().0,
required_major,
required_minor,
required_subminor,
))
}
}
#[doc(alias = "arv_gc_register_description_node_compare_schema_version")]
pub fn compare_schema_version(&self, major: u32, minor: u32, subminor: u32) -> i32 {
unsafe {
ffi::arv_gc_register_description_node_compare_schema_version(
self.to_glib_none().0,
major,
minor,
subminor,
)
}
}
#[doc(alias = "arv_gc_register_description_node_get_major_version")]
#[doc(alias = "get_major_version")]
pub fn major_version(&self) -> u32 {
unsafe { ffi::arv_gc_register_description_node_get_major_version(self.to_glib_none().0) }
}
#[doc(alias = "arv_gc_register_description_node_get_minor_version")]
#[doc(alias = "get_minor_version")]
pub fn minor_version(&self) -> u32 {
unsafe { ffi::arv_gc_register_description_node_get_minor_version(self.to_glib_none().0) }
}
#[doc(alias = "arv_gc_register_description_node_get_model_name")]
#[doc(alias = "get_model_name")]
pub fn model_name(&self) -> Option<glib::GString> {
unsafe {
from_glib_full(ffi::arv_gc_register_description_node_get_model_name(
self.to_glib_none().0,
))
}
}
#[doc(alias = "arv_gc_register_description_node_get_schema_major_version")]
#[doc(alias = "get_schema_major_version")]
pub fn schema_major_version(&self) -> u32 {
unsafe {
ffi::arv_gc_register_description_node_get_schema_major_version(self.to_glib_none().0)
}
}
#[doc(alias = "arv_gc_register_description_node_get_schema_minor_version")]
#[doc(alias = "get_schema_minor_version")]
pub fn schema_minor_version(&self) -> u32 {
unsafe {
ffi::arv_gc_register_description_node_get_schema_minor_version(self.to_glib_none().0)
}
}
#[doc(alias = "arv_gc_register_description_node_get_schema_subminor_version")]
#[doc(alias = "get_schema_subminor_version")]
pub fn schema_subminor_version(&self) -> u32 {
unsafe {
ffi::arv_gc_register_description_node_get_schema_subminor_version(self.to_glib_none().0)
}
}
#[doc(alias = "arv_gc_register_description_node_get_subminor_version")]
#[doc(alias = "get_subminor_version")]
pub fn subminor_version(&self) -> u32 {
unsafe { ffi::arv_gc_register_description_node_get_subminor_version(self.to_glib_none().0) }
}
#[doc(alias = "arv_gc_register_description_node_get_vendor_name")]
#[doc(alias = "get_vendor_name")]
pub fn vendor_name(&self) -> Option<glib::GString> {
unsafe {
from_glib_full(ffi::arv_gc_register_description_node_get_vendor_name(
self.to_glib_none().0,
))
}
}
}
impl Default for GcRegisterDescriptionNode {
fn default() -> Self {
Self::new()
}
}
unsafe impl Send for GcRegisterDescriptionNode {}