mirror of https://github.com/subgraph/fw-daemon
				
				
				
			
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							217 lines
						
					
					
						
							6.7 KiB
						
					
					
				
			
		
		
	
	
							217 lines
						
					
					
						
							6.7 KiB
						
					
					
				| package glib
 | |
| 
 | |
| // #cgo pkg-config: glib-2.0 gobject-2.0
 | |
| // #include <gio/gio.h>
 | |
| // #include <glib.h>
 | |
| // #include <glib-object.h>
 | |
| // #include "glib.go.h"
 | |
| import "C"
 | |
| import "unsafe"
 | |
| 
 | |
| // Application is a representation of GApplication.
 | |
| type Application struct {
 | |
| 	*Object
 | |
| }
 | |
| 
 | |
| // native() returns a pointer to the underlying GApplication.
 | |
| func (v *Application) native() *C.GApplication {
 | |
| 	if v == nil || v.GObject == nil {
 | |
| 		return nil
 | |
| 	}
 | |
| 	return C.toGApplication(unsafe.Pointer(v.GObject))
 | |
| }
 | |
| 
 | |
| func (v *Application) Native() uintptr {
 | |
| 	return uintptr(unsafe.Pointer(v.native()))
 | |
| }
 | |
| 
 | |
| func marshalApplication(p uintptr) (interface{}, error) {
 | |
| 	c := C.g_value_get_object((*C.GValue)(unsafe.Pointer(p)))
 | |
| 	return wrapApplication(wrapObject(unsafe.Pointer(c))), nil
 | |
| }
 | |
| 
 | |
| func wrapApplication(obj *Object) *Application {
 | |
| 	return &Application{obj}
 | |
| }
 | |
| 
 | |
| // ApplicationIDIsValid is a wrapper around g_application_id_is_valid().
 | |
| func ApplicationIDIsValid(id string) bool {
 | |
| 	cstr1 := (*C.gchar)(C.CString(id))
 | |
| 	defer C.free(unsafe.Pointer(cstr1))
 | |
| 
 | |
| 	return gobool(C.g_application_id_is_valid(cstr1))
 | |
| }
 | |
| 
 | |
| // ApplicationNew is a wrapper around g_application_new().
 | |
| func ApplicationNew(appID string, flags ApplicationFlags) *Application {
 | |
| 	cstr1 := (*C.gchar)(C.CString(appID))
 | |
| 	defer C.free(unsafe.Pointer(cstr1))
 | |
| 
 | |
| 	c := C.g_application_new(cstr1, C.GApplicationFlags(flags))
 | |
| 	if c == nil {
 | |
| 		return nil
 | |
| 	}
 | |
| 	return wrapApplication(wrapObject(unsafe.Pointer(c)))
 | |
| }
 | |
| 
 | |
| // GetApplicationID is a wrapper around g_application_get_application_id().
 | |
| func (v *Application) GetApplicationID() string {
 | |
| 	c := C.g_application_get_application_id(v.native())
 | |
| 
 | |
| 	return C.GoString((*C.char)(c))
 | |
| }
 | |
| 
 | |
| // SetApplicationID is a wrapper around g_application_set_application_id().
 | |
| func (v *Application) SetApplicationID(id string) {
 | |
| 	cstr1 := (*C.gchar)(C.CString(id))
 | |
| 	defer C.free(unsafe.Pointer(cstr1))
 | |
| 
 | |
| 	C.g_application_set_application_id(v.native(), cstr1)
 | |
| }
 | |
| 
 | |
| // GetInactivityTimeout is a wrapper around g_application_get_inactivity_timeout().
 | |
| func (v *Application) GetInactivityTimeout() uint {
 | |
| 	return uint(C.g_application_get_inactivity_timeout(v.native()))
 | |
| }
 | |
| 
 | |
| // SetInactivityTimeout is a wrapper around g_application_set_inactivity_timeout().
 | |
| func (v *Application) SetInactivityTimeout(timeout uint) {
 | |
| 	C.g_application_set_inactivity_timeout(v.native(), C.guint(timeout))
 | |
| }
 | |
| 
 | |
| // GetFlags is a wrapper around g_application_get_flags().
 | |
| func (v *Application) GetFlags() ApplicationFlags {
 | |
| 	return ApplicationFlags(C.g_application_get_flags(v.native()))
 | |
| }
 | |
| 
 | |
| // SetFlags is a wrapper around g_application_set_flags().
 | |
| func (v *Application) SetFlags(flags ApplicationFlags) {
 | |
| 	C.g_application_set_flags(v.native(), C.GApplicationFlags(flags))
 | |
| }
 | |
| 
 | |
| // Only available in GLib 2.42+
 | |
| // // GetResourceBasePath is a wrapper around g_application_get_resource_base_path().
 | |
| // func (v *Application) GetResourceBasePath() string {
 | |
| // 	c := C.g_application_get_resource_base_path(v.native())
 | |
| 
 | |
| // 	return C.GoString((*C.char)(c))
 | |
| // }
 | |
| 
 | |
| // Only available in GLib 2.42+
 | |
| // // SetResourceBasePath is a wrapper around g_application_set_resource_base_path().
 | |
| // func (v *Application) SetResourceBasePath(bp string) {
 | |
| // 	cstr1 := (*C.gchar)(C.CString(bp))
 | |
| // 	defer C.free(unsafe.Pointer(cstr1))
 | |
| 
 | |
| // 	C.g_application_set_resource_base_path(v.native(), cstr1)
 | |
| // }
 | |
| 
 | |
| // GetDbusObjectPath is a wrapper around g_application_get_dbus_object_path().
 | |
| func (v *Application) GetDbusObjectPath() string {
 | |
| 	c := C.g_application_get_dbus_object_path(v.native())
 | |
| 
 | |
| 	return C.GoString((*C.char)(c))
 | |
| }
 | |
| 
 | |
| // GetIsRegistered is a wrapper around g_application_get_is_registered().
 | |
| func (v *Application) GetIsRegistered() bool {
 | |
| 	return gobool(C.g_application_get_is_registered(v.native()))
 | |
| }
 | |
| 
 | |
| // GetIsRemote is a wrapper around g_application_get_is_remote().
 | |
| func (v *Application) GetIsRemote() bool {
 | |
| 	return gobool(C.g_application_get_is_remote(v.native()))
 | |
| }
 | |
| 
 | |
| // Hold is a wrapper around g_application_hold().
 | |
| func (v *Application) Hold() {
 | |
| 	C.g_application_hold(v.native())
 | |
| }
 | |
| 
 | |
| // Release is a wrapper around g_application_release().
 | |
| func (v *Application) Release() {
 | |
| 	C.g_application_release(v.native())
 | |
| }
 | |
| 
 | |
| // Quit is a wrapper around g_application_quit().
 | |
| func (v *Application) Quit() {
 | |
| 	C.g_application_quit(v.native())
 | |
| }
 | |
| 
 | |
| // Activate is a wrapper around g_application_activate().
 | |
| func (v *Application) Activate() {
 | |
| 	C.g_application_activate(v.native())
 | |
| }
 | |
| 
 | |
| // SendNotification is a wrapper around g_application_send_notification().
 | |
| func (v *Application) SendNotification(id string, notification *Notification) {
 | |
| 	cstr1 := (*C.gchar)(C.CString(id))
 | |
| 	defer C.free(unsafe.Pointer(cstr1))
 | |
| 
 | |
| 	C.g_application_send_notification(v.native(), cstr1, notification.native())
 | |
| }
 | |
| 
 | |
| // WithdrawNotification is a wrapper around g_application_withdraw_notification().
 | |
| func (v *Application) WithdrawNotification(id string) {
 | |
| 	cstr1 := (*C.gchar)(C.CString(id))
 | |
| 	defer C.free(unsafe.Pointer(cstr1))
 | |
| 
 | |
| 	C.g_application_withdraw_notification(v.native(), cstr1)
 | |
| }
 | |
| 
 | |
| // SetDefault is a wrapper around g_application_set_default().
 | |
| func (v *Application) SetDefault() {
 | |
| 	C.g_application_set_default(v.native())
 | |
| }
 | |
| 
 | |
| // ApplicationGetDefault is a wrapper around g_application_get_default().
 | |
| func ApplicationGetDefault() *Application {
 | |
| 	c := C.g_application_get_default()
 | |
| 	if c == nil {
 | |
| 		return nil
 | |
| 	}
 | |
| 	return wrapApplication(wrapObject(unsafe.Pointer(c)))
 | |
| }
 | |
| 
 | |
| // MarkBusy is a wrapper around g_application_mark_busy().
 | |
| func (v *Application) MarkBusy() {
 | |
| 	C.g_application_mark_busy(v.native())
 | |
| }
 | |
| 
 | |
| // UnmarkBusy is a wrapper around g_application_unmark_busy().
 | |
| func (v *Application) UnmarkBusy() {
 | |
| 	C.g_application_unmark_busy(v.native())
 | |
| }
 | |
| 
 | |
| // Run is a wrapper around g_application_run().
 | |
| func (v *Application) Run(args []string) int {
 | |
| 	cargs := C.make_strings(C.int(len(args)))
 | |
| 	defer C.destroy_strings(cargs)
 | |
| 
 | |
| 	for i, arg := range args {
 | |
| 		cstr := C.CString(arg)
 | |
| 		defer C.free(unsafe.Pointer(cstr))
 | |
| 		C.set_string(cargs, C.int(i), (*C.char)(cstr))
 | |
| 	}
 | |
| 
 | |
| 	C.set_string(cargs, C.int(len(args)), nil)
 | |
| 
 | |
| 	return int(C.g_application_run(v.native(), C.int(len(args)), cargs))
 | |
| }
 | |
| 
 | |
| // Only available in GLib 2.44+
 | |
| // // GetIsBusy is a wrapper around g_application_get_is_busy().
 | |
| // func (v *Application) GetIsBusy() bool {
 | |
| // 	return gobool(C.g_application_get_is_busy(v.native()))
 | |
| // }
 | |
| 
 | |
| // void 	g_application_bind_busy_property ()
 | |
| // void 	g_application_unbind_busy_property ()
 | |
| // gboolean 	g_application_register () // requires GCancellable
 | |
| // void 	g_application_set_action_group () // Deprecated since 2.32
 | |
| // GDBusConnection * 	g_application_get_dbus_connection () // No support for GDBusConnection
 | |
| // void 	g_application_open () // Needs GFile
 | |
| // void 	g_application_add_main_option_entries () //Needs GOptionEntry
 | |
| // void 	g_application_add_main_option () //Needs GOptionFlags and GOptionArg
 | |
| // void 	g_application_add_option_group () // Needs GOptionGroup
 |