summaryrefslogtreecommitdiff
path: root/vendor/github.com/gotk3/gotk3/glib/settings_backend.go
blob: 3579ee4e505af843cd3bef3a5d45a7eb74aa0add (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
package glib

// #include <glib.h>
// #include <glib-object.h>
// #include "glib.go.h"
import "C"
import "unsafe"

// SettingsBackend is a representation of GSettingsBackend.
type SettingsBackend struct {
	*Object
}

// native() returns a pointer to the underlying GSettingsBackend.
func (v *SettingsBackend) native() *C.GSettingsBackend {
	if v == nil || v.GObject == nil {
		return nil
	}
	return C.toGSettingsBackend(unsafe.Pointer(v.GObject))
}

func (v *SettingsBackend) Native() uintptr {
	return uintptr(unsafe.Pointer(v.native()))
}

func marshalSettingsBackend(p uintptr) (interface{}, error) {
	c := C.g_value_get_object((*C.GValue)(unsafe.Pointer(p)))
	return wrapSettingsBackend(wrapObject(unsafe.Pointer(c))), nil
}

func wrapSettingsBackend(obj *Object) *SettingsBackend {
	return &SettingsBackend{obj}
}

// SettingsBackendGetDefault is a wrapper around g_settings_backend_get_default().
func SettingsBackendGetDefault() *SettingsBackend {
	return wrapSettingsBackend(wrapObject(unsafe.Pointer(C.g_settings_backend_get_default())))
}

// KeyfileSettingsBackendNew is a wrapper around g_keyfile_settings_backend_new().
func KeyfileSettingsBackendNew(filename, rootPath, rootGroup string) *SettingsBackend {
	cstr1 := (*C.gchar)(C.CString(filename))
	defer C.free(unsafe.Pointer(cstr1))

	cstr2 := (*C.gchar)(C.CString(rootPath))
	defer C.free(unsafe.Pointer(cstr2))

	cstr3 := (*C.gchar)(C.CString(rootGroup))
	defer C.free(unsafe.Pointer(cstr3))

	return wrapSettingsBackend(wrapObject(unsafe.Pointer(C.g_keyfile_settings_backend_new(cstr1, cstr2, cstr3))))
}

// MemorySettingsBackendNew is a wrapper around g_memory_settings_backend_new().
func MemorySettingsBackendNew() *SettingsBackend {
	return wrapSettingsBackend(wrapObject(unsafe.Pointer(C.g_memory_settings_backend_new())))
}

// NullSettingsBackendNew is a wrapper around g_null_settings_backend_new().
func NullSettingsBackendNew() *SettingsBackend {
	return wrapSettingsBackend(wrapObject(unsafe.Pointer(C.g_null_settings_backend_new())))
}

// void 	g_settings_backend_changed ()
// void 	g_settings_backend_path_changed ()
// void 	g_settings_backend_keys_changed ()
// void 	g_settings_backend_path_writable_changed ()
// void 	g_settings_backend_writable_changed ()
// void 	g_settings_backend_changed_tree ()
// void 	g_settings_backend_flatten_tree ()