67 lines
2.1 KiB
Rust
67 lines
2.1 KiB
Rust
// 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<ffi::OstreeCollectionRef>);
|
|
|
|
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<CollectionRef>
|
|
pub fn new<'a, P: Into<Option<&'a str>>>(collection_id: P, ref_name: &str) -> Option<CollectionRef> {
|
|
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<H>(&self, state: &mut H) where H: hash::Hasher {
|
|
hash::Hash::hash(&self.hash(), state)
|
|
}
|
|
}
|
|
|
|
#[cfg(test)]
|
|
mod tests;
|