Вызов методов DBus в Gjs/Gnome Shell

Если у меня есть имя шины, путь к объекту и интерфейс, как мне вызвать методы DBus из Gjs (в расширении оболочки gnome -)?

Я ищу эквивалент следующего кода Python:

import dbus
bus = dbus.SessionBus()
obj = bus.get_object("org.gnome.Caribou.Keyboard", "/org/gnome/SessionManager/EndSessionDialog")
obj.Open(0, 0, 120, dbus.Array(signature="o"))

(Обратите внимание, что я не использовал интерфейс явно из-за некоторой магии python -dbus, но мог бы использовать iface = dbus.interface(obj, "org.gnome.SessionManager.EndSessionDialog"). Поскольку у меня есть имя интерфейса, меня устраивает решение, которое его запрашивает. Также обратите внимание, что этот пример был бы глупым в Gjs, так как он вызывает обратно в оболочку gnome -)

5
задан jdm 18 July 2012 в 15:20
поделиться