में डीबीस विधियों को कॉल करना यदि मेरे पास बस नाम, ऑब्जेक्ट पथ और इंटरफ़ेस है, तो मैं जीजेएस (एक gnome-shell एक्सटेंशन में) से डीबीस विधियों को कैसे कॉल करूं?जीजे/जीनोम शैल
मैं निम्नलिखित अजगर कोड के बराबर की तलाश में हूँ:
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"))
(ध्यान दें कि मैं स्पष्ट रूप से कुछ अजगर-dbus जादू की वजह से इंटरफ़ेस का उपयोग नहीं किया है, लेकिन मैं iface = dbus.interface(obj, "org.gnome.SessionManager.EndSessionDialog")
साथ हो सकता था। चूंकि मेरे पास इंटरफेस का नाम है, इसलिए मैं इसे हल करने वाले समाधान के साथ ठीक हूं। यह भी ध्यान दें कि यह उदाहरण जीजे में मूर्खतापूर्ण होगा, क्योंकि यह वापस gnome-shell में कॉल करता है)