1use glib::translate::*;
2use std::mem;
3
4#[repr(C)]
5#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
6pub struct UserDataKey {
7 pub unused: i32,
8}
9
10#[doc(hidden)]
11impl Uninitialized for UserDataKey {
12 #[inline]
13 unsafe fn uninitialized() -> Self {
14 mem::zeroed()
15 }
16}
17
18#[doc(hidden)]
19impl<'a> ToGlibPtr<'a, *const ffi::CoglUserDataKey> for UserDataKey {
20 type Storage = &'a Self;
21
22 #[inline]
23 fn to_glib_none(&'a self) -> Stash<'a, *const ffi::CoglUserDataKey, Self> {
24 let ptr: *const UserDataKey = &*self;
25 Stash(ptr as *const ffi::CoglUserDataKey, self)
26 }
27}
28
29#[doc(hidden)]
30impl<'a> ToGlibPtrMut<'a, *mut ffi::CoglUserDataKey> for UserDataKey {
31 type Storage = &'a mut Self;
32
33 #[inline]
34 fn to_glib_none_mut(&'a mut self) -> StashMut<'a, *mut ffi::CoglUserDataKey, Self> {
35 let ptr: *mut UserDataKey = &mut *self;
36 StashMut(ptr as *mut ffi::CoglUserDataKey, self)
37 }
38}
39
40#[doc(hidden)]
41impl FromGlibPtrNone<*const ffi::CoglUserDataKey> for UserDataKey {
42 unsafe fn from_glib_none(ptr: *const ffi::CoglUserDataKey) -> Self {
43 *(ptr as *const UserDataKey)
44 }
45}
46
47#[doc(hidden)]
48impl FromGlibPtrNone<*mut ffi::CoglUserDataKey> for UserDataKey {
49 unsafe fn from_glib_none(ptr: *mut ffi::CoglUserDataKey) -> Self {
50 *(ptr as *mut UserDataKey)
51 }
52}
53
54#[doc(hidden)]
55impl FromGlibPtrBorrow<*mut ffi::CoglUserDataKey> for UserDataKey {
56 unsafe fn from_glib_borrow(ptr: *mut ffi::CoglUserDataKey) -> glib::translate::Borrowed<Self> {
57 glib::translate::Borrowed::new(*(ptr as *mut UserDataKey))
58 }
59}
60
61#[doc(hidden)]
62impl FromGlibPtrBorrow<*const ffi::CoglUserDataKey> for UserDataKey {
63 unsafe fn from_glib_borrow(
64 ptr: *const ffi::CoglUserDataKey,
65 ) -> glib::translate::Borrowed<Self> {
66 glib::translate::Borrowed::new(*(ptr as *const UserDataKey))
67 }
68}