1// Package gio was automatically generated by github.com/bnema/puregotk DO NOT EDIT
2package gio
3
4import (
5 "structs"
6 "unsafe"
7
8 "github.com/ebitengine/purego"
9
10 "github.com/bnema/puregotk/pkg/core"
11 "github.com/bnema/puregotk/v4/gobject/types"
12)
13
14// Information about a specific attribute.
15type FileAttributeInfo struct {
16 _ structs.HostLayout
17
18 Name uintptr
19
20 Type FileAttributeType
21
22 Flags FileAttributeInfoFlags
23}
24
25func (x *FileAttributeInfo) GoPointer() uintptr {
26 return uintptr(unsafe.Pointer(x))
27}
28
29// Acts as a lightweight registry for possible valid file attributes.
30// The registry stores Key-Value pair formats as #GFileAttributeInfos.
31type FileAttributeInfoList struct {
32 _ structs.HostLayout
33
34 Infos *FileAttributeInfo
35
36 NInfos int
37}
38
39var xFileAttributeInfoListGLibType func() types.GType
40
41func FileAttributeInfoListGLibType() types.GType {
42 return xFileAttributeInfoListGLibType()
43}
44
45func (x *FileAttributeInfoList) GoPointer() uintptr {
46 return uintptr(unsafe.Pointer(x))
47}
48
49var xNewFileAttributeInfoList func() *FileAttributeInfoList
50
51// Creates a new file attribute info list.
52func NewFileAttributeInfoList() *FileAttributeInfoList {
53
54 cret := xNewFileAttributeInfoList()
55 return cret
56}
57
58var xFileAttributeInfoListAdd func(uintptr, string, FileAttributeType, FileAttributeInfoFlags)
59
60// Adds a new attribute with @name to the @list, setting
61// its @type and @flags.
62func (x *FileAttributeInfoList) Add(NameVar string, TypeVar FileAttributeType, FlagsVar FileAttributeInfoFlags) {
63
64 xFileAttributeInfoListAdd(x.GoPointer(), NameVar, TypeVar, FlagsVar)
65
66}
67
68var xFileAttributeInfoListDup func(uintptr) *FileAttributeInfoList
69
70// Makes a duplicate of a file attribute info list.
71func (x *FileAttributeInfoList) Dup() *FileAttributeInfoList {
72
73 cret := xFileAttributeInfoListDup(x.GoPointer())
74 return cret
75}
76
77var xFileAttributeInfoListLookup func(uintptr, string) *FileAttributeInfo
78
79// Gets the file attribute with the name @name from @list.
80func (x *FileAttributeInfoList) Lookup(NameVar string) *FileAttributeInfo {
81
82 cret := xFileAttributeInfoListLookup(x.GoPointer(), NameVar)
83 return cret
84}
85
86var xFileAttributeInfoListRef func(uintptr) *FileAttributeInfoList
87
88// References a file attribute info list.
89func (x *FileAttributeInfoList) Ref() *FileAttributeInfoList {
90
91 cret := xFileAttributeInfoListRef(x.GoPointer())
92 return cret
93}
94
95var xFileAttributeInfoListUnref func(uintptr)
96
97// Removes a reference from the given @list. If the reference count
98// falls to zero, the @list is deleted.
99func (x *FileAttributeInfoList) Unref() {
100
101 xFileAttributeInfoListUnref(x.GoPointer())
102
103}
104
105func init() {
106 core.SetPackageName("GIO", "gio-2.0")
107 core.SetSharedLibraries("GIO", []string{"libgio-2.0.so.0"})
108 var libs []uintptr
109 for _, libPath := range core.GetPaths("GIO") {
110 lib, err := purego.Dlopen(libPath, purego.RTLD_NOW|purego.RTLD_GLOBAL)
111 if err != nil {
112 panic(err)
113 }
114 libs = append(libs, lib)
115 }
116
117 core.PuregoSafeRegister(&xFileAttributeInfoListGLibType, libs, "g_file_attribute_info_list_get_type")
118
119 core.PuregoSafeRegister(&xNewFileAttributeInfoList, libs, "g_file_attribute_info_list_new")
120
121 core.PuregoSafeRegister(&xFileAttributeInfoListAdd, libs, "g_file_attribute_info_list_add")
122 core.PuregoSafeRegister(&xFileAttributeInfoListDup, libs, "g_file_attribute_info_list_dup")
123 core.PuregoSafeRegister(&xFileAttributeInfoListLookup, libs, "g_file_attribute_info_list_lookup")
124 core.PuregoSafeRegister(&xFileAttributeInfoListRef, libs, "g_file_attribute_info_list_ref")
125 core.PuregoSafeRegister(&xFileAttributeInfoListUnref, libs, "g_file_attribute_info_list_unref")
126
127}