// Code generated by cmd/cgo; DO NOT EDIT. //line /home/josie/.cache/paru/clone/wiiudownloader/src/pkg/mod/github.com/gotk3/gotk3@v0.6.5-0.20240618185848-ff349ae13f56/glib/gpermission.go:1:1 package glib // #include // #include // #include // #include "glib.go.h" // #include "gpermission.go.h" import _ "unsafe" import ( "errors" "unsafe" "github.com/gotk3/gotk3/internal/callback" ) // Permission is a representation of GIO's GPermission. type Permission struct { *Object } func (v *Permission) native() * /*line :21:32*/_Ctype_GPermission /*line :21:45*/ { if v == nil || v.GObject == nil { return nil } return func() *_Ctype_struct__GPermission{ _cgo0 := /*line :25:25*/unsafe.Pointer(v.GObject); _cgoCheckPointer(_cgo0, nil); return /*line :25:51*/_Cfunc_toGPermission(_cgo0); }() } // Native returns a uintptr to the underlying C.GPermission. func (v *Permission) Native() uintptr { return uintptr(unsafe.Pointer(v.native())) } func marshalPermission(p uintptr) (interface{}, error) { c := ( /*line :34:7*/_Cfunc_g_value_get_object /*line :34:26*/)((* /*line :34:30*/_Ctype_GValue /*line :34:38*/)(unsafe.Pointer(p))) return wrapPermission(wrapObject(unsafe.Pointer(c))), nil } func wrapPermission(obj *Object) *Permission { return &Permission{obj} } // WrapPermission wraps given unsafe pointer into Permission. func WrapPermission(ptr unsafe.Pointer) *Permission { return wrapPermission(wrapObject(ptr)) } // GetAllowed is a wrapper around g_permission_get_allowed(). func (v *Permission) GetAllowed() bool { c := func() _Ctype_gboolean{ _cgo0 := /*line :49:34*/v.native(); _cgoCheckPointer(_cgo0, nil); return /*line :49:45*/_Cfunc_g_permission_get_allowed(_cgo0); }() return gobool(c) } // GetCanAcquire is a wrapper around g_permission_get_can_acquire(). func (v *Permission) GetCanAcquire() bool { c := func() _Ctype_gboolean{ _cgo0 := /*line :55:38*/v.native(); _cgoCheckPointer(_cgo0, nil); return /*line :55:49*/_Cfunc_g_permission_get_can_acquire(_cgo0); }() return gobool(c) } // GetCanRelease is a wrapper around g_permission_get_can_release(). func (v *Permission) GetCanRelease() bool { c := func() _Ctype_gboolean{ _cgo0 := /*line :61:38*/v.native(); _cgoCheckPointer(_cgo0, nil); return /*line :61:49*/_Cfunc_g_permission_get_can_release(_cgo0); }() return gobool(c) } // Acquire is a wrapper around g_permission_acquire(). func (v *Permission) Acquire(cancellable *Cancellable) error { var err * /*line :67:11*/_Ctype_GError /*line :67:19*/ c := func() _Ctype_gboolean{ _cgo0 := /*line :68:30*/v.native(); _cgo1 := /*line :68:42*/cancellable.native(); _cgoBase2 := /*line :68:64*/&err; _cgo2 := _cgoBase2; _cgoCheckPointer(_cgo0, nil); _cgoCheckPointer(_cgo1, nil); _cgoCheckPointer(_cgoBase2, 0 == 0); return /*line :68:69*/_Cfunc_g_permission_acquire(_cgo0, _cgo1, _cgo2); }() acquired := gobool(c) if !acquired { defer func() func() { _cgo0 := /*line :71:24*/err; return func() { _cgoCheckPointer(_cgo0, nil); /*line :71:28*/_Cfunc_g_error_free(_cgo0); }}()() return errors.New(( /*line :72:21*/_Cfunc_GoString /*line :72:30*/)((* /*line :72:34*/_Ctype_char /*line :72:40*/)(err.message))) } return nil } // AcquireAsync is a wrapper around g_permission_acquire_async(). func (v *Permission) AcquireAsync(cancellable *Cancellable, fn AsyncReadyCallback) { func() { _cgo0 := /*line :79:32*/v.native(); _cgo1 := /*line :79:44*/cancellable.native(); _cgo2 := _Ctype_gpointer /*line :79:76*/(callback.Assign(fn)); _cgoCheckPointer(_cgo0, nil); _cgoCheckPointer(_cgo1, nil); _cgoCheckPointer(_cgo2, nil); /*line :79:98*/_Cfunc__g_permission_acquire_async(_cgo0, _cgo1, _cgo2); }() } // AcquireFinish is a wrapper around g_permission_acquire_finish(). func (v *Permission) AcquireFinish(result *AsyncResult) error { var err * /*line :84:11*/_Ctype_GError /*line :84:19*/ c := func() _Ctype_gboolean{ _cgo0 := /*line :85:37*/v.native(); _cgo1 := /*line :85:49*/result.native(); _cgoBase2 := /*line :85:66*/&err; _cgo2 := _cgoBase2; _cgoCheckPointer(_cgo0, nil); _cgoCheckPointer(_cgo1, nil); _cgoCheckPointer(_cgoBase2, 0 == 0); return /*line :85:71*/_Cfunc_g_permission_acquire_finish(_cgo0, _cgo1, _cgo2); }() acquired := gobool(c) if !acquired { defer func() func() { _cgo0 := /*line :88:24*/err; return func() { _cgoCheckPointer(_cgo0, nil); /*line :88:28*/_Cfunc_g_error_free(_cgo0); }}()() return errors.New(( /*line :89:21*/_Cfunc_GoString /*line :89:30*/)((* /*line :89:34*/_Ctype_char /*line :89:40*/)(err.message))) } return nil } // Release is a wrapper around g_permission_release(). func (v *Permission) Release(cancellable *Cancellable) error { var err * /*line :96:11*/_Ctype_GError /*line :96:19*/ c := func() _Ctype_gboolean{ _cgo0 := /*line :97:30*/v.native(); _cgo1 := /*line :97:42*/cancellable.native(); _cgoBase2 := /*line :97:64*/&err; _cgo2 := _cgoBase2; _cgoCheckPointer(_cgo0, nil); _cgoCheckPointer(_cgo1, nil); _cgoCheckPointer(_cgoBase2, 0 == 0); return /*line :97:69*/_Cfunc_g_permission_release(_cgo0, _cgo1, _cgo2); }() released := gobool(c) if !released { defer func() func() { _cgo0 := /*line :100:24*/err; return func() { _cgoCheckPointer(_cgo0, nil); /*line :100:28*/_Cfunc_g_error_free(_cgo0); }}()() return errors.New(( /*line :101:21*/_Cfunc_GoString /*line :101:30*/)((* /*line :101:34*/_Ctype_char /*line :101:40*/)(err.message))) } return nil } // ReleaseAsync is a wrapper around g_permission_release_async(). func (v *Permission) ReleaseAsync(cancellable *Cancellable, fn AsyncReadyCallback) { func() { _cgo0 := /*line :108:32*/v.native(); _cgo1 := /*line :108:44*/cancellable.native(); _cgo2 := _Ctype_gpointer /*line :108:76*/(callback.Assign(fn)); _cgoCheckPointer(_cgo0, nil); _cgoCheckPointer(_cgo1, nil); _cgoCheckPointer(_cgo2, nil); /*line :108:98*/_Cfunc__g_permission_release_async(_cgo0, _cgo1, _cgo2); }() } // ReleaseFinish is a wrapper around g_permission_release_finish(). func (v *Permission) ReleaseFinish(result *AsyncResult) error { var err * /*line :113:11*/_Ctype_GError /*line :113:19*/ c := func() _Ctype_gboolean{ _cgo0 := /*line :114:37*/v.native(); _cgo1 := /*line :114:49*/result.native(); _cgoBase2 := /*line :114:66*/&err; _cgo2 := _cgoBase2; _cgoCheckPointer(_cgo0, nil); _cgoCheckPointer(_cgo1, nil); _cgoCheckPointer(_cgoBase2, 0 == 0); return /*line :114:71*/_Cfunc_g_permission_release_finish(_cgo0, _cgo1, _cgo2); }() released := gobool(c) if !released { defer func() func() { _cgo0 := /*line :117:24*/err; return func() { _cgoCheckPointer(_cgo0, nil); /*line :117:28*/_Cfunc_g_error_free(_cgo0); }}()() return errors.New(( /*line :118:21*/_Cfunc_GoString /*line :118:30*/)((* /*line :118:34*/_Ctype_char /*line :118:40*/)(err.message))) } return nil } // ImplUpdate is a wrapper around g_permission_impl_update(). func (v *Permission) ImplUpdate(allowed, canAcquire, canRelease bool) { func() { _cgo0 := /*line :125:29*/v.native(); var _cgo1 _Ctype_gboolean = /*line :125:41*/gbool(allowed); var _cgo2 _Ctype_gboolean = /*line :125:57*/gbool(canAcquire); var _cgo3 _Ctype_gboolean = /*line :125:76*/gbool(canRelease); _cgoCheckPointer(_cgo0, nil); /*line :125:94*/_Cfunc_g_permission_impl_update(_cgo0, _cgo1, _cgo2, _cgo3); }() }