// Package gio was automatically generated by github.com/bnema/puregotk DO NOT EDIT package gio import ( "structs" "unsafe" "github.com/ebitengine/purego" "github.com/bnema/puregotk/pkg/core" "github.com/bnema/puregotk/v4/glib" "github.com/bnema/puregotk/v4/gobject/types" ) // Base type for D-Bus object managers. type DBusObjectManagerIface struct { _ structs.HostLayout ParentIface uintptr xGetObjectPath uintptr xGetObjects uintptr xGetObject uintptr xGetInterface uintptr xObjectAdded uintptr xObjectRemoved uintptr xInterfaceAdded uintptr xInterfaceRemoved uintptr } func (x *DBusObjectManagerIface) GoPointer() uintptr { return uintptr(unsafe.Pointer(x)) } // OverrideGetObjectPath sets the "get_object_path" callback function. // Virtual function for g_dbus_object_manager_get_object_path(). func (x *DBusObjectManagerIface) OverrideGetObjectPath(cb func(DBusObjectManager) string) { if cb == nil { x.xGetObjectPath = 0 } else { x.xGetObjectPath = purego.NewCallback(func(ManagerVarp uintptr) string { return cb(&DBusObjectManagerBase{Ptr: ManagerVarp}) }) } } // GetGetObjectPath gets the "get_object_path" callback function. // Virtual function for g_dbus_object_manager_get_object_path(). func (x *DBusObjectManagerIface) GetGetObjectPath() func(DBusObjectManager) string { if x.xGetObjectPath == 0 { return nil } var rawCallback func(ManagerVarp uintptr) string purego.RegisterFunc(&rawCallback, x.xGetObjectPath) return func(ManagerVar DBusObjectManager) string { return rawCallback(ManagerVar.GoPointer()) } } // OverrideGetObjects sets the "get_objects" callback function. // Virtual function for g_dbus_object_manager_get_objects(). func (x *DBusObjectManagerIface) OverrideGetObjects(cb func(DBusObjectManager) *glib.List) { if cb == nil { x.xGetObjects = 0 } else { x.xGetObjects = purego.NewCallback(func(ManagerVarp uintptr) *glib.List { return cb(&DBusObjectManagerBase{Ptr: ManagerVarp}) }) } } // GetGetObjects gets the "get_objects" callback function. // Virtual function for g_dbus_object_manager_get_objects(). func (x *DBusObjectManagerIface) GetGetObjects() func(DBusObjectManager) *glib.List { if x.xGetObjects == 0 { return nil } var rawCallback func(ManagerVarp uintptr) *glib.List purego.RegisterFunc(&rawCallback, x.xGetObjects) return func(ManagerVar DBusObjectManager) *glib.List { return rawCallback(ManagerVar.GoPointer()) } } // OverrideGetObject sets the "get_object" callback function. // Virtual function for g_dbus_object_manager_get_object(). func (x *DBusObjectManagerIface) OverrideGetObject(cb func(DBusObjectManager, string) *DBusObjectBase) { if cb == nil { x.xGetObject = 0 } else { x.xGetObject = purego.NewCallback(func(ManagerVarp uintptr, ObjectPathVarp string) uintptr { ret := cb(&DBusObjectManagerBase{Ptr: ManagerVarp}, ObjectPathVarp) if ret == nil { return 0 } return ret.GoPointer() }) } } // GetGetObject gets the "get_object" callback function. // Virtual function for g_dbus_object_manager_get_object(). func (x *DBusObjectManagerIface) GetGetObject() func(DBusObjectManager, string) *DBusObjectBase { if x.xGetObject == 0 { return nil } var rawCallback func(ManagerVarp uintptr, ObjectPathVarp string) uintptr purego.RegisterFunc(&rawCallback, x.xGetObject) return func(ManagerVar DBusObjectManager, ObjectPathVar string) *DBusObjectBase { rawRet := rawCallback(ManagerVar.GoPointer(), ObjectPathVar) if rawRet == 0 { return nil } ret := &DBusObjectBase{} ret.Ptr = rawRet return ret } } // OverrideGetInterface sets the "get_interface" callback function. // Virtual function for g_dbus_object_manager_get_interface(). func (x *DBusObjectManagerIface) OverrideGetInterface(cb func(DBusObjectManager, string, string) *DBusInterfaceBase) { if cb == nil { x.xGetInterface = 0 } else { x.xGetInterface = purego.NewCallback(func(ManagerVarp uintptr, ObjectPathVarp string, InterfaceNameVarp string) uintptr { ret := cb(&DBusObjectManagerBase{Ptr: ManagerVarp}, ObjectPathVarp, InterfaceNameVarp) if ret == nil { return 0 } return ret.GoPointer() }) } } // GetGetInterface gets the "get_interface" callback function. // Virtual function for g_dbus_object_manager_get_interface(). func (x *DBusObjectManagerIface) GetGetInterface() func(DBusObjectManager, string, string) *DBusInterfaceBase { if x.xGetInterface == 0 { return nil } var rawCallback func(ManagerVarp uintptr, ObjectPathVarp string, InterfaceNameVarp string) uintptr purego.RegisterFunc(&rawCallback, x.xGetInterface) return func(ManagerVar DBusObjectManager, ObjectPathVar string, InterfaceNameVar string) *DBusInterfaceBase { rawRet := rawCallback(ManagerVar.GoPointer(), ObjectPathVar, InterfaceNameVar) if rawRet == 0 { return nil } ret := &DBusInterfaceBase{} ret.Ptr = rawRet return ret } } // OverrideObjectAdded sets the "object_added" callback function. // Signal handler for the #GDBusObjectManager::object-added signal. func (x *DBusObjectManagerIface) OverrideObjectAdded(cb func(DBusObjectManager, DBusObject)) { if cb == nil { x.xObjectAdded = 0 } else { x.xObjectAdded = purego.NewCallback(func(ManagerVarp uintptr, ObjectVarp uintptr) { cb(&DBusObjectManagerBase{Ptr: ManagerVarp}, &DBusObjectBase{Ptr: ObjectVarp}) }) } } // GetObjectAdded gets the "object_added" callback function. // Signal handler for the #GDBusObjectManager::object-added signal. func (x *DBusObjectManagerIface) GetObjectAdded() func(DBusObjectManager, DBusObject) { if x.xObjectAdded == 0 { return nil } var rawCallback func(ManagerVarp uintptr, ObjectVarp uintptr) purego.RegisterFunc(&rawCallback, x.xObjectAdded) return func(ManagerVar DBusObjectManager, ObjectVar DBusObject) { rawCallback(ManagerVar.GoPointer(), ObjectVar.GoPointer()) } } // OverrideObjectRemoved sets the "object_removed" callback function. // Signal handler for the #GDBusObjectManager::object-removed signal. func (x *DBusObjectManagerIface) OverrideObjectRemoved(cb func(DBusObjectManager, DBusObject)) { if cb == nil { x.xObjectRemoved = 0 } else { x.xObjectRemoved = purego.NewCallback(func(ManagerVarp uintptr, ObjectVarp uintptr) { cb(&DBusObjectManagerBase{Ptr: ManagerVarp}, &DBusObjectBase{Ptr: ObjectVarp}) }) } } // GetObjectRemoved gets the "object_removed" callback function. // Signal handler for the #GDBusObjectManager::object-removed signal. func (x *DBusObjectManagerIface) GetObjectRemoved() func(DBusObjectManager, DBusObject) { if x.xObjectRemoved == 0 { return nil } var rawCallback func(ManagerVarp uintptr, ObjectVarp uintptr) purego.RegisterFunc(&rawCallback, x.xObjectRemoved) return func(ManagerVar DBusObjectManager, ObjectVar DBusObject) { rawCallback(ManagerVar.GoPointer(), ObjectVar.GoPointer()) } } // OverrideInterfaceAdded sets the "interface_added" callback function. // Signal handler for the #GDBusObjectManager::interface-added signal. func (x *DBusObjectManagerIface) OverrideInterfaceAdded(cb func(DBusObjectManager, DBusObject, DBusInterface)) { if cb == nil { x.xInterfaceAdded = 0 } else { x.xInterfaceAdded = purego.NewCallback(func(ManagerVarp uintptr, ObjectVarp uintptr, InterfaceVarp uintptr) { cb(&DBusObjectManagerBase{Ptr: ManagerVarp}, &DBusObjectBase{Ptr: ObjectVarp}, &DBusInterfaceBase{Ptr: InterfaceVarp}) }) } } // GetInterfaceAdded gets the "interface_added" callback function. // Signal handler for the #GDBusObjectManager::interface-added signal. func (x *DBusObjectManagerIface) GetInterfaceAdded() func(DBusObjectManager, DBusObject, DBusInterface) { if x.xInterfaceAdded == 0 { return nil } var rawCallback func(ManagerVarp uintptr, ObjectVarp uintptr, InterfaceVarp uintptr) purego.RegisterFunc(&rawCallback, x.xInterfaceAdded) return func(ManagerVar DBusObjectManager, ObjectVar DBusObject, InterfaceVar DBusInterface) { rawCallback(ManagerVar.GoPointer(), ObjectVar.GoPointer(), InterfaceVar.GoPointer()) } } // OverrideInterfaceRemoved sets the "interface_removed" callback function. // Signal handler for the #GDBusObjectManager::interface-removed signal. func (x *DBusObjectManagerIface) OverrideInterfaceRemoved(cb func(DBusObjectManager, DBusObject, DBusInterface)) { if cb == nil { x.xInterfaceRemoved = 0 } else { x.xInterfaceRemoved = purego.NewCallback(func(ManagerVarp uintptr, ObjectVarp uintptr, InterfaceVarp uintptr) { cb(&DBusObjectManagerBase{Ptr: ManagerVarp}, &DBusObjectBase{Ptr: ObjectVarp}, &DBusInterfaceBase{Ptr: InterfaceVarp}) }) } } // GetInterfaceRemoved gets the "interface_removed" callback function. // Signal handler for the #GDBusObjectManager::interface-removed signal. func (x *DBusObjectManagerIface) GetInterfaceRemoved() func(DBusObjectManager, DBusObject, DBusInterface) { if x.xInterfaceRemoved == 0 { return nil } var rawCallback func(ManagerVarp uintptr, ObjectVarp uintptr, InterfaceVarp uintptr) purego.RegisterFunc(&rawCallback, x.xInterfaceRemoved) return func(ManagerVar DBusObjectManager, ObjectVar DBusObject, InterfaceVar DBusInterface) { rawCallback(ManagerVar.GoPointer(), ObjectVar.GoPointer(), InterfaceVar.GoPointer()) } } // The `GDBusObjectManager` type is the base type for service- and // client-side implementations of the standardized // [`org.freedesktop.DBus.ObjectManager`](http://dbus.freedesktop.org/doc/dbus-specification.html#standard-interfaces-objectmanager) // interface. // // See [class@Gio.DBusObjectManagerClient] for the client-side implementation // and [class@Gio.DBusObjectManagerServer] for the service-side implementation. type DBusObjectManager interface { GoPointer() uintptr SetGoPointer(uintptr) GetInterface(ObjectPathVar string, InterfaceNameVar string) *DBusInterfaceBase GetObject(ObjectPathVar string) *DBusObjectBase GetObjectPath() string GetObjects() *glib.List } var xDBusObjectManagerGLibType func() types.GType func DBusObjectManagerGLibType() types.GType { return xDBusObjectManagerGLibType() } type DBusObjectManagerBase struct { Ptr uintptr } func (x *DBusObjectManagerBase) GoPointer() uintptr { if x == nil { return 0 } return x.Ptr } func (x *DBusObjectManagerBase) SetGoPointer(ptr uintptr) { x.Ptr = ptr } // Gets the interface proxy for @interface_name at @object_path, if // any. func (x *DBusObjectManagerBase) GetInterface(ObjectPathVar string, InterfaceNameVar string) *DBusInterfaceBase { var cls *DBusInterfaceBase cret := XGDbusObjectManagerGetInterface(x.GoPointer(), ObjectPathVar, InterfaceNameVar) if cret == 0 { return nil } cls = &DBusInterfaceBase{} cls.Ptr = cret return cls } // Gets the #GDBusObject at @object_path, if any. func (x *DBusObjectManagerBase) GetObject(ObjectPathVar string) *DBusObjectBase { var cls *DBusObjectBase cret := XGDbusObjectManagerGetObject(x.GoPointer(), ObjectPathVar) if cret == 0 { return nil } cls = &DBusObjectBase{} cls.Ptr = cret return cls } // Gets the object path that @manager is for. func (x *DBusObjectManagerBase) GetObjectPath() string { cret := XGDbusObjectManagerGetObjectPath(x.GoPointer()) return cret } // Gets all #GDBusObject objects known to @manager. func (x *DBusObjectManagerBase) GetObjects() *glib.List { cret := XGDbusObjectManagerGetObjects(x.GoPointer()) return cret } var XGDbusObjectManagerGetInterface func(uintptr, string, string) uintptr var XGDbusObjectManagerGetObject func(uintptr, string) uintptr var XGDbusObjectManagerGetObjectPath func(uintptr) string var XGDbusObjectManagerGetObjects func(uintptr) *glib.List func init() { core.SetPackageName("GIO", "gio-2.0") core.SetSharedLibraries("GIO", []string{"libgio-2.0.so.0"}) var libs []uintptr for _, libPath := range core.GetPaths("GIO") { lib, err := purego.Dlopen(libPath, purego.RTLD_NOW|purego.RTLD_GLOBAL) if err != nil { panic(err) } libs = append(libs, lib) } core.PuregoSafeRegister(&xDBusObjectManagerGLibType, libs, "g_dbus_object_manager_get_type") core.PuregoSafeRegister(&XGDbusObjectManagerGetInterface, libs, "g_dbus_object_manager_get_interface") core.PuregoSafeRegister(&XGDbusObjectManagerGetObject, libs, "g_dbus_object_manager_get_object") core.PuregoSafeRegister(&XGDbusObjectManagerGetObjectPath, libs, "g_dbus_object_manager_get_object_path") core.PuregoSafeRegister(&XGDbusObjectManagerGetObjects, libs, "g_dbus_object_manager_get_objects") }