use crate::{ffi, DomElement, DomNode, GcNode, GcPropertyNode};
use glib::{prelude::*, translate::*};
glib::wrapper! {
#[doc(alias = "ArvGcValueIndexedNode")]
pub struct GcValueIndexedNode(Object<ffi::ArvGcValueIndexedNode, ffi::ArvGcValueIndexedNodeClass>) @extends GcPropertyNode, GcNode, DomElement, DomNode;
match fn {
type_ => || ffi::arv_gc_value_indexed_node_get_type(),
}
}
impl GcValueIndexedNode {
#[doc(alias = "arv_gc_value_indexed_node_new")]
pub fn new() -> GcValueIndexedNode {
assert_initialized_main_thread!();
unsafe { GcNode::from_glib_full(ffi::arv_gc_value_indexed_node_new()).unsafe_cast() }
}
#[doc(alias = "arv_gc_value_indexed_node_get_index")]
#[doc(alias = "get_index")]
pub fn index(&self) -> i64 {
unsafe { ffi::arv_gc_value_indexed_node_get_index(self.to_glib_none().0) }
}
}
impl Default for GcValueIndexedNode {
fn default() -> Self {
Self::new()
}
}
unsafe impl Send for GcValueIndexedNode {}