#!/usr/bin/env python
import os,sys
try:
import gobject
import dbus
import dbus.mainloop.glib
except:
print "Failed import, aborting test"
sys.exit(0)
dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
loop = gobject.MainLoop()
exitcode = 0
def handle_noreceipt():
print "Failed to get signal"
global exitcode
exitcode = 1
loop.quit()
gobject.timeout_add(7000, handle_noreceipt)
bus = dbus.SessionBus()
def sighandler(*args, **kwargs):
print "got signal"
loop.quit()
bus.add_signal_receiver(sighandler, dbus_interface='org.freedesktop.TestSuite', signal_name='Foo')
o = bus.get_object('org.freedesktop.DBus.TestSuiteEchoService', '/org/freedesktop/TestSuite')
i = dbus.Interface(o, 'org.freedesktop.TestSuite')
def nullhandler(*args, **kwargs):
pass
i.EmitFoo(reply_handler=nullhandler, error_handler=nullhandler)
loop.run()
sys.exit(exitcode)