2011-11-05 21 views
0

对象的名单,我想我的dbus接口有一个像这样的路径:如何公开与DBUS

  • /org/fusegui/sites/example.com
  • /组织/ fusegui /网站/ WWW .kernel.org

以上每个对象都具有相同的方法:host(),name(),timeout()等等。

我如何在Python中达到上述目的?例如,如果我有一个填充这些网站对象的列表。我将如何循环他们并添加到dbus服务?

回答

0

我制作了一起:

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() 

好像我想这是出口的对象。我不知道这是否正确。