From b5e4d26adec0a9ec37a1bae7aeb5a68344b78ebf Mon Sep 17 00:00:00 2001 From: Robert McQueen Date: Tue, 15 Nov 2005 17:19:19 +0000 Subject: 2005-11-15 Robert McQueen * bus/driver.c, bus/services.c, bus/services.h: Add a ReleaseName method to org.freedesktop.DBus to release a bus name or give up waiting in the queue for it. * dbus/dbus-bus.c, dbus/dbus-bus.h, dbus/dbus-shared.h: Add a dbus_bus_release_name method to send the ReleaseName method calls. Add constants for the return values to dbus/dbus-shared.h. * doc/dbus-specification.xml: Document the new ReleaseName method in the specification. * python/dbus_bindings.pyx: Add a low-level python binding for the release name method. * python/exceptions.py, python/service.py: Make freeing BusName objects release the name. Add a NameExistsException, and fix a bug with creating UnknownMethodException. * test/python/test-client.py: Add tests for freeing BusName objects causing names to be released. --- test/python/test-client.py | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'test') diff --git a/test/python/test-client.py b/test/python/test-client.py index ab703502..e972f446 100755 --- a/test/python/test-client.py +++ b/test/python/test-client.py @@ -252,8 +252,17 @@ class TestDBusBindings(unittest.TestCase): else: names[name] = busname + del busname + print + del names + + bus = dbus.Bus() + ret = dbus.dbus_bindings.bus_name_has_owner(bus._connection, 'org.freedesktop.DBus.Python.TestName') + self.assert_(not ret, 'deleting reference failed to release BusName org.freedesktop.DBus.Python.TestName') + + class TestDBusPythonToGLibBindings(unittest.TestCase): def setUp(self): self.bus = dbus.SessionBus() -- cgit