// 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/gbinding.go:1:1 package glib // #include // #include // #include // #include "glib.go.h" import _ "unsafe" import "unsafe" type BindingFlags int const ( BINDING_DEFAULT BindingFlags = ( /*line :13:40*/_Ciconst_G_BINDING_DEFAULT /*line :13:58*/) BINDING_BIDIRECTIONAL BindingFlags = ( /*line :14:40*/_Ciconst_G_BINDING_BIDIRECTIONAL /*line :14:64*/) BINDING_SYNC_CREATE = ( /*line :15:40*/_Ciconst_G_BINDING_SYNC_CREATE /*line :15:62*/) BINDING_INVERT_BOOLEAN = ( /*line :16:40*/_Ciconst_G_BINDING_INVERT_BOOLEAN /*line :16:65*/) ) type Binding struct { *Object } func (v *Binding) native() * /*line :23:29*/_Ctype_GBinding /*line :23:39*/ { if v == nil || v.GObject == nil { return nil } return func() *_Ctype_struct__GBinding{ _cgo0 := /*line :27:22*/unsafe.Pointer(v.GObject); _cgoCheckPointer(_cgo0, nil); return /*line :27:48*/_Cfunc_toGBinding(_cgo0); }() } func marshalBinding(p uintptr) (interface{}, error) { c := ( /*line :31:7*/_Cfunc_g_value_get_object /*line :31:26*/)((* /*line :31:30*/_Ctype_GValue /*line :31:38*/)(unsafe.Pointer(p))) return &Binding{wrapObject(unsafe.Pointer(c))}, nil } // Creates a binding between source property on source and target property on // target . Whenever the source property is changed the target_property is // updated using the same value. func BindProperty(source *Object, sourceProperty string, target *Object, targetProperty string, flags BindingFlags) *Binding { srcStr := (* /*line :41:14*/_Ctype_gchar /*line :41:21*/)(( /*line :41:23*/_Cfunc_CString /*line :41:31*/)(sourceProperty)) defer func() func() { _cgo0 := /*line :42:15*/unsafe.Pointer(srcStr); return func() { _cgoCheckPointer(_cgo0, nil); /*line :42:38*/_Cfunc_free(_cgo0); }}()() tgtStr := (* /*line :43:14*/_Ctype_gchar /*line :43:21*/)(( /*line :43:23*/_Cfunc_CString /*line :43:31*/)(targetProperty)) defer func() func() { _cgo0 := /*line :44:15*/unsafe.Pointer(tgtStr); return func() { _cgoCheckPointer(_cgo0, nil); /*line :44:38*/_Cfunc_free(_cgo0); }}()() obj := func() *_Ctype_struct__GBinding{ _cgo0 := _Ctype_gpointer /*line :46:13*/(source.GObject); var _cgo1 *_Ctype_gchar = /*line :46:31*/srcStr; _cgo2 := _Ctype_gpointer /*line :47:13*/(target.GObject); var _cgo3 *_Ctype_gchar = /*line :47:31*/tgtStr; var _cgo4 _Ctype_GBindingFlags = _Ctype_GBindingFlags /*line :48:18*/(flags); _cgoCheckPointer(_cgo0, nil); _cgoCheckPointer(_cgo2, nil); return /*line :49:3*/_Cfunc_g_object_bind_property(_cgo0, _cgo1, _cgo2, _cgo3, _cgo4); }() if obj == nil { return nil } return &Binding{wrapObject(unsafe.Pointer(obj))} } // Explicitly releases the binding between the source and the target property // expressed by Binding func (v *Binding) Unbind() { func() { _cgo0 := /*line :59:21*/v.native(); _cgoCheckPointer(_cgo0, nil); /*line :59:32*/_Cfunc_g_binding_unbind(_cgo0); }() } // Retrieves the name of the property of “target” used as the target of // the binding. func (v *Binding) GetTargetProperty() string { s := func() *_Ctype_gchar{ _cgo0 := /*line :65:39*/v.native(); _cgoCheckPointer(_cgo0, nil); return /*line :65:50*/_Cfunc_g_binding_get_target_property(_cgo0); }() return ( /*line :66:9*/_Cfunc_GoString /*line :66:18*/)((* /*line :66:22*/_Ctype_char /*line :66:28*/)(s)) } // Retrieves the flags passed when constructing the GBinding. func (v *Binding) GetFlags() BindingFlags { flags := func() _Ctype_GBindingFlags{ _cgo0 := /*line :71:33*/v.native(); _cgoCheckPointer(_cgo0, nil); return /*line :71:44*/_Cfunc_g_binding_get_flags(_cgo0); }() return BindingFlags(flags) }