mirror of
https://gitlab.freedesktop.org/dbus/dbus.git
synced 2025-12-26 21:30:15 +01:00
2005-07-17 John (J5) Palmieri <johnp@redhat.com>
* NEWS: Update to 0.35.2
2005-07-17 John (J5) Palmieri <johnp@redhat.com>
* python/_dbus.py: Remove import of the dbus.services
module as it no longer exists (patch from Dimitur Kirov)
* python/service.py (Object::__init__): Fixed typo
s/name/bus_name (patch from Dimitur Kirov)
* python/examples/example-signal-emitter.py: import dbus.glib
to get the main loop and use glib mainloop instead of gtk so
X doesn't have to be running.
* python/examples/example-signal-recipient.py: import dbus.glib
to get the main loop and use glib mainloop instead of gtk so
X doesn't have to be running. Import the decorators module
directly.
* test/glib/Makefile.am: Added DIST_EXTRA files that distcheck
didn't pick up on but are needed to build
* configure.in: upped version to 0.35.2
* bus/driver.c, bus/selinux.c, bus/selinux.h, dbus/dbus-protocol.h:
added Colin Walters' SELinux API rename patch from head
s/unix sercurity context/selinux security context/
2005-07-16 John (J5) Palmieri <johnp@redhat.com>
* python/Makefile.am: dbus_binding.pxd.in should be included
in EXTRA_DIST not dbus_binding.pxd
fix up $(srcdir) hopefully for the last time
* NEWS: Update to 0.35.1
53 lines
1.8 KiB
Python
53 lines
1.8 KiB
Python
#!/usr/bin/env python
|
|
|
|
import dbus
|
|
import dbus.decorators
|
|
import dbus.glib
|
|
import gobject
|
|
|
|
def handle_reply(msg):
|
|
print msg
|
|
|
|
def handle_error(e):
|
|
print str(e)
|
|
|
|
def emit_signal():
|
|
#call the emitHelloSignal method
|
|
object.emitHelloSignal(dbus_interface="org.designfu.TestService")
|
|
#reply_handler = handle_reply, error_handler = handle_error)
|
|
return True
|
|
|
|
bus = dbus.SessionBus()
|
|
object = bus.get_object("org.designfu.TestService","/org/designfu/TestService/object")
|
|
|
|
def hello_signal_handler(hello_string):
|
|
print ("Received signal and it says: " + hello_string)
|
|
|
|
@dbus.decorators.explicitly_pass_message
|
|
def catchall_signal_handler(*args, **keywords):
|
|
#The dbus.handler directive passes in the special __dbus_message__ variable
|
|
dbus_message = keywords["dbus_message"]
|
|
print "Caught signal " + dbus_message.get_member()
|
|
for arg in args:
|
|
print " " + str(arg)
|
|
|
|
def catchall_hello_signals_handler(hello_string):
|
|
print ("Received a hello signal and it says ") + hello_string
|
|
|
|
@dbus.decorators.explicitly_pass_message
|
|
def catchall_testservice_interface_handler(hello_string, dbus_message):
|
|
print "org.designfu.TestService interface says " + hello_string + " when it sent signal " + dbus_message.get_member()
|
|
|
|
object.connect_to_signal("HelloSignal", hello_signal_handler, dbus_interface="org.designfu.TestService")
|
|
|
|
#lets make a catchall
|
|
bus.add_signal_receiver(catchall_signal_handler)
|
|
bus.add_signal_receiver(catchall_hello_signals_handler, dbus_interface = "org.designfu.TestService", signal_name = "HelloSignal")
|
|
bus.add_signal_receiver(catchall_testservice_interface_handler, dbus_interface = "org.designfu.TestService")
|
|
|
|
gobject.timeout_add(2000, emit_signal)
|
|
|
|
# Tell the remote object to emit the signal
|
|
|
|
loop = gobject.MainLoop()
|
|
loop.run()
|