// 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/gicon.go:1:1 package glib // #include // #include // #include // #include "glib.go.h" import _ "unsafe" import ( "errors" "runtime" "unsafe" ) func init() { tm := []TypeMarshaler{ {Type(( /*line :17:9*/_Cfunc_g_file_get_type /*line :17:25*/)()), marshalFile}, {Type(( /*line :18:9*/_Cfunc_g_file_icon_get_type /*line :18:30*/)()), marshalFileIcon}, } RegisterGValueMarshalers(tm) } /* * GIcon */ // Icon is a representation of GIO's GIcon. // Interface for icons type Icon struct { *Object } // native returns a pointer to the underlying GIcon. func (v *Icon) native() * /*line :35:26*/_Ctype_GIcon /*line :35:33*/ { if v == nil || v.GObject == nil { return nil } p := unsafe.Pointer(v.GObject) return func() *_Ctype_struct__GIcon{ _cgo0 := /*line :40:19*/p; _cgoCheckPointer(_cgo0, nil); return /*line :40:21*/_Cfunc_toGIcon(_cgo0); }() } // NativePrivate: to be used inside Gotk3 only. func (v *Icon) NativePrivate() * /*line :44:33*/_Ctype_GIcon /*line :44:40*/ { if v == nil || v.GObject == nil { return nil } p := unsafe.Pointer(v.GObject) return func() *_Ctype_struct__GIcon{ _cgo0 := /*line :49:19*/p; _cgoCheckPointer(_cgo0, nil); return /*line :49:21*/_Cfunc_toGIcon(_cgo0); }() } // Native returns a pointer to the underlying GIcon. func (v *Icon) Native() uintptr { return uintptr(unsafe.Pointer(v.native())) } func marshalIcon(p uintptr) (interface{}, error) { c := ( /*line :58:7*/_Cfunc_g_value_get_object /*line :58:26*/)((* /*line :58:30*/_Ctype_GValue /*line :58:38*/)(unsafe.Pointer(p))) obj := Take(unsafe.Pointer(c)) return wrapIcon(obj), nil } func wrapIcon(obj *Object) *Icon { return &Icon{obj} } // TODO I dont know how to handle it ... /* guint g_icon_hash (gconstpointer icon); */ // Equal is a wrapper around g_icon_equal(). func (v *Icon) Equal(icon *Icon) bool { return gobool(func() _Ctype_gboolean{ _cgo0 := /*line :75:31*/v.native(); _cgo1 := /*line :75:43*/icon.native(); _cgoCheckPointer(_cgo0, nil); _cgoCheckPointer(_cgo1, nil); return /*line :75:57*/_Cfunc_g_icon_equal(_cgo0, _cgo1); }()) } // ToString is a wrapper around g_icon_to_string(). func (v *Icon) ToString() string { var s string if c := func() *_Ctype_gchar{ _cgo0 := /*line :81:29*/v.native(); _cgoCheckPointer(_cgo0, nil); return /*line :81:40*/_Cfunc_g_icon_to_string(_cgo0); }(); c != nil { s = goString(c) defer func() func() { _cgo0 := /*line :83:18*/(_Ctype_gpointer /*line :83:29*/)(c); return func() { _cgoCheckPointer(_cgo0, nil); /*line :83:34*/_Cfunc_g_free(_cgo0); }}()() } return s } // IconNewForString is a wrapper around g_icon_new_for_string(). func IconNewForString(str string) (*Icon, error) { cstr := ( /*line :91:10*/_Cfunc_CString /*line :91:18*/)(str) defer func() func() { _cgo0 := /*line :92:15*/unsafe.Pointer(cstr); return func() { _cgoCheckPointer(_cgo0, nil); /*line :92:36*/_Cfunc_free(_cgo0); }}()() var err * /*line :94:11*/_Ctype_GError /*line :94:19*/ c := func() *_Ctype_struct__GIcon{ var _cgo0 *_Ctype_gchar = /*line :95:31*/(*_Ctype_gchar /*line :95:40*/)(cstr); _cgoBase1 := /*line :95:49*/&err; _cgo1 := _cgoBase1; _cgoCheckPointer(_cgoBase1, 0 == 0); return /*line :95:54*/_Cfunc_g_icon_new_for_string(_cgo0, _cgo1); }() if c == nil { defer func() func() { _cgo0 := /*line :97:24*/err; return func() { _cgoCheckPointer(_cgo0, nil); /*line :97:28*/_Cfunc_g_error_free(_cgo0); }}()() return nil, errors.New(( /*line :98:26*/_Cfunc_GoString /*line :98:35*/)((* /*line :98:39*/_Ctype_char /*line :98:45*/)(err.message))) } obj := &Object{ToGObject(unsafe.Pointer(c))} i := &Icon{obj} runtime.SetFinalizer(i, func(_ interface{}) { FinalizerStrategy(obj.Unref) }) return i, nil } // TODO Requiere GVariant /* GVariant * g_icon_serialize () GIcon * g_icon_deserialize () */ /* * GFileIcon */ // FileIcon is a representation of GIO's GFileIcon. type FileIcon struct { *Object } // native returns a pointer to the underlying GFileIcon. func (v *FileIcon) native() * /*line :124:30*/_Ctype_GFileIcon /*line :124:41*/ { if v == nil || v.GObject == nil { return nil } p := unsafe.Pointer(v.GObject) return func() *_Ctype_struct__GFileIcon{ _cgo0 := /*line :129:23*/p; _cgoCheckPointer(_cgo0, nil); return /*line :129:25*/_Cfunc_toGFileIcon(_cgo0); }() } // NativePrivate: to be used inside Gotk3 only. func (v *FileIcon) NativePrivate() * /*line :133:37*/_Ctype_GFileIcon /*line :133:48*/ { if v == nil || v.GObject == nil { return nil } p := unsafe.Pointer(v.GObject) return func() *_Ctype_struct__GFileIcon{ _cgo0 := /*line :138:23*/p; _cgoCheckPointer(_cgo0, nil); return /*line :138:25*/_Cfunc_toGFileIcon(_cgo0); }() } // Native returns a pointer to the underlying GFileIcon. func (v *FileIcon) Native() uintptr { return uintptr(unsafe.Pointer(v.native())) } func marshalFileIcon(p uintptr) (interface{}, error) { c := ( /*line :147:7*/_Cfunc_g_value_get_object /*line :147:26*/)((* /*line :147:30*/_Ctype_GValue /*line :147:38*/)(unsafe.Pointer(p))) obj := Take(unsafe.Pointer(c)) return wrapFileIcon(obj), nil } func wrapFileIcon(obj *Object) *FileIcon { return &FileIcon{obj} } // FileIconNewN is a wrapper around g_file_icon_new(). // This version respect Gtk3 documentation. func FileIconNewN(file *File) (*Icon, error) { c := func() *_Ctype_struct__GIcon{ _cgo0 := /*line :160:25*/file.native(); _cgoCheckPointer(_cgo0, nil); return /*line :160:39*/_Cfunc_g_file_icon_new(_cgo0); }() if c == nil { return nil, nilPtrErr } return wrapIcon(Take(unsafe.Pointer(c))), nil } // FileIconNew is a wrapper around g_file_icon_new(). // To not break previous implementation of GFileIcon ... func FileIconNew(path string) *Icon { file := FileNew(path) c := func() *_Ctype_struct__GIcon{ _cgo0 := /*line :172:25*/file.native(); _cgoCheckPointer(_cgo0, nil); return /*line :172:39*/_Cfunc_g_file_icon_new(_cgo0); }() if c == nil { return nil } return wrapIcon(Take(unsafe.Pointer(c))) }