// GENERATED — DO NOT EDIT
///|
/// [Upstream documentation](https://docs.gtk.org/gio/class.DBusMenuModel.html).
pub type DBusMenuModel
///|
pub(open) trait IDBusMenuModel {
fn as_dbus_menu_model(Self) -> DBusMenuModel
}
///|
pub impl IDBusMenuModel for DBusMenuModel with fn as_dbus_menu_model(self) {
self
}
///|
#borrow(connection, bus_name, object_path)
extern "c" fn moonbit_g_dbus_menu_model_get(
connection : DBusConnection,
bus_name : @glib.Nullable[Bytes],
object_path : Bytes,
) -> DBusMenuModel = "moonbit_g_dbus_menu_model_get"
///|
/// [Upstream documentation](https://docs.gtk.org/gio/type_func.DBusMenuModel.get.html).
pub fn DBusMenuModel::get(
connection : &IDBusConnection,
bus_name : String?,
object_path : String,
) -> DBusMenuModel {
moonbit_g_dbus_menu_model_get(
connection.as_dbus_connection(),
match bus_name {
Some(s) => @glib.Nullable::some(@encoding/utf8.encode(s))
None => @glib.Nullable::null()
},
@encoding/utf8.encode(object_path),
)
}
///|
pub fn DBusMenuModel::as_menu_model(self : DBusMenuModel) -> MenuModel = "%identity"
///|
pub impl IMenuModel for DBusMenuModel with fn as_menu_model(self) {
self.as_menu_model()
}
///|
pub fn DBusMenuModel::as_gobject_object(
self : DBusMenuModel,
) -> @gobject.Object = "%identity"
///|
pub impl @gobject.IObject for DBusMenuModel with fn as_object(self) {
self.as_gobject_object()
}