// Based on a file generated by gir. Changes are marked below. use ffi; use glib::translate::*; use glib_ffi; use gobject_ffi; use std::hash; use std::mem; use std::ptr; glib_wrapper! { #[derive(Debug, PartialOrd, Ord)] pub struct CollectionRef(Boxed); match fn { copy => |ptr| gobject_ffi::g_boxed_copy(ffi::ostree_collection_ref_get_type(), ptr as *mut _) as *mut ffi::OstreeCollectionRef, free => |ptr| gobject_ffi::g_boxed_free(ffi::ostree_collection_ref_get_type(), ptr as *mut _), get_type => || ffi::ostree_collection_ref_get_type(), } } impl CollectionRef { #[cfg(any(feature = "v2018_6", feature = "dox"))] // CHANGE: return type CollectionRef to Option pub fn new<'a, P: Into>>(collection_id: P, ref_name: &str) -> Option { let collection_id = collection_id.into(); let collection_id = collection_id.to_glib_none(); unsafe { from_glib_full(ffi::ostree_collection_ref_new(collection_id.0, ref_name.to_glib_none().0)) } } #[cfg(any(feature = "v2018_6", feature = "dox"))] fn equal(&self, ref2: &CollectionRef) -> bool { unsafe { // CHANGE: both instances of *mut to *const from_glib(ffi::ostree_collection_ref_equal(ToGlibPtr::<*const ffi::OstreeCollectionRef>::to_glib_none(self).0 as glib_ffi::gconstpointer, ToGlibPtr::<*const ffi::OstreeCollectionRef>::to_glib_none(ref2).0 as glib_ffi::gconstpointer)) } } #[cfg(any(feature = "v2018_6", feature = "dox"))] fn hash(&self) -> u32 { unsafe { // CHANGE: *mut to *const ffi::ostree_collection_ref_hash(ToGlibPtr::<*const ffi::OstreeCollectionRef>::to_glib_none(self).0 as glib_ffi::gconstpointer) } } } impl PartialEq for CollectionRef { #[inline] fn eq(&self, other: &Self) -> bool { self.equal(other) } } impl Eq for CollectionRef {} impl hash::Hash for CollectionRef { #[inline] fn hash(&self, state: &mut H) where H: hash::Hasher { hash::Hash::hash(&self.hash(), state) } } #[cfg(test)] mod tests;