File: settings_backend.go

package info (click to toggle)
golang-github-gotk3-gotk3 0.0~GOTK3~0~2~0%2Bgit20170418.0.96d4110-3.1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 1,368 kB
  • sloc: ansic: 1,056; makefile: 4
file content (71 lines) | stat: -rw-r--r-- 2,377 bytes parent folder | download | duplicates (3)
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
71
package glib

// #cgo pkg-config: glib-2.0 gobject-2.0
// #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 ()