summaryrefslogtreecommitdiff
path: root/test/test-server.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/test-server.py')
-rwxr-xr-xtest/test-server.py24
1 files changed, 13 insertions, 11 deletions
diff --git a/test/test-server.py b/test/test-server.py
index aef27c9..b909d84 100755
--- a/test/test-server.py
+++ b/test/test-server.py
@@ -26,22 +26,23 @@ class TestService(dbus.service.Object):
return ''.join(text)
-class TestServer(dbus.server.Server):
- def __init__(self, *args, **kwargs):
- super(TestServer, self).__init__(*args, **kwargs)
- self.__connections = list()
-
- def _on_new_connection(self, conn):
- print 'new connection: %r' % conn
- self.__connections.append(conn)
- TestService(conn)
-
pin, pout = os.pipe()
child = os.fork()
if 0 == child:
DBusGMainLoop(set_as_default=True)
- server = TestServer('unix:tmpdir=/tmp')
+ server = dbus.server.Server('unix:tmpdir=/tmp')
+
+ def new_connection(conn):
+ print "new connection, %r" % conn
+ TestService(conn)
+
+ def connection_gone(conn):
+ print "goodbye, %r" % conn
+
+ # Instantiate a TestService every time a connection is created
+ server.on_connection_added.append(new_connection)
+ server.on_connection_removed.append(connection_gone)
os.write(pout, server.address)
os.close(pout)
@@ -72,3 +73,4 @@ else:
text = line.strip()
print 'reverse(%s): %s' % (text, object.reverse(text))
+ client.close()