mirror of
https://gitlab.freedesktop.org/dbus/dbus.git
synced 2025-12-26 06:20:14 +01:00
* python/dbus_bindings.pyx: - Fixed type objects to have self passed into __init__ - Added the Variant type - Add the ability to specify types or signatures for Array, Variant and Dictionary - (Connection::send_with_reply_handlers): return a PendingCall object - (_pending_call_notification): handle the case when an error is returned without an error message in the body - (MessageIter::get_boolean): return True or False instead of an integer - (MessageIter::python_value_to_dbus_sig): add direct checking of types and add checks for objects with embeded signatures or types (Array, Variant and Dictionary) - (MessageIter::append_byte): handle case when the value is a dbus.Byte - (MessageIter::append_dict): handle embeded types or signatures - (MessageIter::append_array): handle embeded types or signatures - (MessageIter::append_variant): new method * python/proxies.py: - (DeferedMethod): New. Dummy executable object used when queuing calls blocking on introspection data - (ProxyMethod::__call__): add the timeout keyword for specifying longer or shorter timeouts for method calls - (ProxyObject): Add first pass at an introspection state machine - (ProxyObject::__init__): Add introspect keyword for turing off an on introspection. - (ProxyObject::_Introspect): Internal Introspect call that bypasses the usual mechanisms for sending messages. This is to avoid a deadlock where the Intospect call would be queued waiting for the Introspect call to finish ;-) - (ProxyObject::_introspect_reply_handler): New. This method is called when introspection returns with no error - (ProxyObject::_introspect_error_handler): New. This method is called when introspection encounters an error - (ProxyObject::__getattr__): Code to handle different introspection states. Queue async calls or block blocking calls if we are introspecting. Pass through as normal if we are not or are done with introspecting. * python/service.py: Import signal and method from decorators.py * python/types.py: Add Variant type
22 lines
691 B
Python
22 lines
691 B
Python
#!/usr/bin/env python
|
|
|
|
"""Lists services on the system bus
|
|
"""
|
|
|
|
import dbus
|
|
|
|
# Get a connection to the SYSTEM bus
|
|
bus = dbus.SystemBus()
|
|
|
|
# Get a reference to the desktop bus' standard object, denoted
|
|
# by the path /org/freedesktop/DBus.
|
|
dbus_object = bus.get_object('org.freedesktop.DBus', '/org/freedesktop/DBus')
|
|
|
|
# The object /org/freedesktop/DBus
|
|
# implements the 'org.freedesktop.DBus' interface
|
|
dbus_iface = dbus.Interface(dbus_object, 'org.freedesktop.DBus')
|
|
|
|
# One of the member functions in the org.freedesktop.DBus interface
|
|
# is ListServices(), which provides a list of all the other services
|
|
# registered on this bus. Call it, and print the list.
|
|
print dbus_object.ListNames()
|