// GENERATED — DO NOT EDIT
///|
/// [Upstream documentation](https://docs.gtk.org/gio/iface.DBusObjectManager.html).
pub type DBusObjectManager
///|
pub(open) trait IDBusObjectManager {
fn as_dbus_object_manager(Self) -> DBusObjectManager
fn get_interface(Self, String, String) -> DBusInterface? = _
fn get_object(Self, String) -> DBusObject? = _
fn get_object_path(Self) -> String = _
fn get_objects(Self) -> Array[DBusObject] = _
}
///|
pub impl IDBusObjectManager for DBusObjectManager with fn as_dbus_object_manager(
self,
) {
self
}
///|
/// Implementation contract for DBusObjectManager.interface_added. Self is the retained MoonBit state; the second parameter is the invoked DBusObjectManager object.
pub(open) trait VDBusObjectManagerInterfaceAdded {
fn interface_added(Self, DBusObjectManager, &IDBusObject, &IDBusInterface) -> Unit
}
///|
/// Implementation contract for DBusObjectManager.interface_removed. Self is the retained MoonBit state; the second parameter is the invoked DBusObjectManager object.
pub(open) trait VDBusObjectManagerInterfaceRemoved {
fn interface_removed(Self, DBusObjectManager, &IDBusObject, &IDBusInterface) -> Unit
}
///|
/// Implementation contract for DBusObjectManager.object_added. Self is the retained MoonBit state; the second parameter is the invoked DBusObjectManager object.
pub(open) trait VDBusObjectManagerObjectAdded {
fn object_added(Self, DBusObjectManager, &IDBusObject) -> Unit
}
///|
/// Implementation contract for DBusObjectManager.object_removed. Self is the retained MoonBit state; the second parameter is the invoked DBusObjectManager object.
pub(open) trait VDBusObjectManagerObjectRemoved {
fn object_removed(Self, DBusObjectManager, &IDBusObject) -> Unit
}
///|
#borrow(self_, object_path, interface_name)
extern "c" fn moonbit_g_dbus_object_manager_get_interface(
self_ : DBusObjectManager,
object_path : Bytes,
interface_name : Bytes,
) -> @glib.Nullable[DBusInterface] = "moonbit_g_dbus_object_manager_get_interface"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/method.DBusObjectManager.get_interface.html).
pub fn DBusObjectManager::get_interface(
self : DBusObjectManager,
object_path : String,
interface_name : String,
) -> DBusInterface? {
let raw_result = moonbit_g_dbus_object_manager_get_interface(
self,
@encoding/utf8.encode(object_path),
@encoding/utf8.encode(interface_name),
)
raw_result.to_option()
}
///|
#borrow(self_, object_path)
extern "c" fn moonbit_g_dbus_object_manager_get_object(
self_ : DBusObjectManager,
object_path : Bytes,
) -> @glib.Nullable[DBusObject] = "moonbit_g_dbus_object_manager_get_object"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/method.DBusObjectManager.get_object.html).
pub fn DBusObjectManager::get_object(
self : DBusObjectManager,
object_path : String,
) -> DBusObject? {
let raw_result = moonbit_g_dbus_object_manager_get_object(
self,
@encoding/utf8.encode(object_path),
)
raw_result.to_option()
}
///|
#borrow(self_)
extern "c" fn moonbit_g_dbus_object_manager_get_object_path(
self_ : DBusObjectManager,
) -> Bytes = "moonbit_g_dbus_object_manager_get_object_path"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/method.DBusObjectManager.get_object_path.html).
pub fn DBusObjectManager::get_object_path(self : DBusObjectManager) -> String {
@encoding/utf8.decode_lossy(
moonbit_g_dbus_object_manager_get_object_path(self),
)
}
///|
#borrow(self_, result)
extern "c" fn moonbit_g_dbus_object_manager_get_objects(
self_ : DBusObjectManager,
result : Ref[FixedArray[DBusObject]],
) = "moonbit_g_dbus_object_manager_get_objects"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/method.DBusObjectManager.get_objects.html).
pub fn DBusObjectManager::get_objects(
self : DBusObjectManager,
) -> Array[DBusObject] {
let result_ref : Ref[FixedArray[DBusObject]] = Ref([])
moonbit_g_dbus_object_manager_get_objects(self, result_ref)
let values : Array[DBusObject] = Array::new(capacity=result_ref.val.length())
for value in result_ref.val {
values.push(value)
}
values
}
///|
impl IDBusObjectManager with fn get_interface(self, object_path, interface_name) -> DBusInterface? {
self.as_dbus_object_manager().get_interface(object_path, interface_name)
}
///|
impl IDBusObjectManager with fn get_object(self, object_path) -> DBusObject? {
self.as_dbus_object_manager().get_object(object_path)
}
///|
impl IDBusObjectManager with fn get_object_path(self) -> String {
self.as_dbus_object_manager().get_object_path()
}
///|
impl IDBusObjectManager with fn get_objects(self) -> Array[DBusObject] {
self.as_dbus_object_manager().get_objects()
}