как выставить список объектов с помощью dbus - PullRequest
0 голосов
/ 06 ноября 2011

Мне бы хотелось, чтобы в моем интерфейсе dbus были такие пути:

  • / org / fusegui / sites / example.com
  • / org / fusegui / sites / www.kernel.org

Каждый из перечисленных выше объектов является объектом с одинаковыми методами: host (), name (), timeout (), и так далее.

Как бы я достиг выше в Python?Например, если бы у меня был список, заполненный этими объектами сайта.Как бы я зациклил их и добавил, к службе dbus?

Ответы [ 2 ]

0 голосов
/ 06 ноября 2011

Я создал это вместе:

import gtk
import dbus
import dbus.service
from dbus.mainloop.glib import DBusGMainLoop

class MyDBUSObject(dbus.service.Object):
    def __init__(self, path):
        bus_name = dbus.service.BusName('org.fusegui', bus=dbus.SessionBus())
        dbus.service.Object.__init__(self, bus_name, path)

    @dbus.service.method('org.fusegui.site')
    def hello(self):
        return "Hello,World!"

DBusGMainLoop(set_as_default=True)
for i in range(0, 50):
    MyDBUSObject('/org/fusegui/sites/%i' % i)
gtk.main()

Кажется, он экспортирует объекты так, как я хотел. Я не знаю, правильный ли это способ ™.

0 голосов
/ 06 ноября 2011
...