[Telepathy-commits] [telepathy-salut/master] Always create AvahiService objects when a service is added, which can be requested to do resolving
Sjoerd Simons
sjoerd.simons at collabora.co.uk
Tue Sep 2 06:14:53 PDT 2008
---
tests/twisted/avahi/test-register.py | 6 ++--
tests/twisted/avahitest.py | 38 +++++++++++++++++++++++----------
2 files changed, 29 insertions(+), 15 deletions(-)
diff --git a/tests/twisted/avahi/test-register.py b/tests/twisted/avahi/test-register.py
index 8a03279..dddde38 100644
--- a/tests/twisted/avahi/test-register.py
+++ b/tests/twisted/avahi/test-register.py
@@ -11,15 +11,15 @@ FIRST_NAME="lastname"
LAST_NAME="lastname"
def test(q, bus, conn):
- a = AvahiListener(q)
- a.listen_for_service("_presence._tcp")
+ AvahiListener(q).listen_for_service("_presence._tcp")
conn.Connect()
e = q.expect('service-added',
name=PUBLISHED_NAME + "@" + avahitest.get_host_name())
- service = a.resolver_for_service(e)
+ service = e.service
+ service.resolve()
e = q.expect('service-resolved', service = service)
diff --git a/tests/twisted/avahitest.py b/tests/twisted/avahitest.py
index 594c04b..8fc3516 100644
--- a/tests/twisted/avahitest.py
+++ b/tests/twisted/avahitest.py
@@ -33,14 +33,26 @@ def txt_get_key(txt, key):
return None
class AvahiService:
- def __init__(self, event_queue, bus, server,
- interface, protocol, name, type, domain, aprotocol, flags):
+ def __init__(self, event_queue, bus, server, interface, protocol, name,
+ type, domain, aprotocol, flags):
self.event_queue = event_queue
+ self.server = server
+ self.bus = bus
+ self.interface = interface
+ self.protocol = protocol
+ self.name = name
+ self.type = type
+ self.domain = domain
+ self.aprotocol = aprotocol
+ self.flags = flags
- resolver_path = server.ServiceResolverNew(interface,
- protocol, name, type, domain, aprotocol, flags)
- resolver_obj = bus.get_object(avahi.DBUS_NAME, resolver_path)
+ def resolve(self):
+ resolver_path = self.server.ServiceResolverNew(self.interface,
+ self.protocol, self.name, self.type, self.domain,
+ self.aprotocol, self.flags)
+
+ resolver_obj = self.bus.get_object(avahi.DBUS_NAME, resolver_path)
resolver = dbus.Interface(resolver_obj,
avahi.DBUS_INTERFACE_SERVICE_RESOLVER)
@@ -73,9 +85,14 @@ class AvahiListener:
def _service_added_cb(self, interface, protocol, name, stype, domain,
flags):
- e = Event ('service-added',
+ service = AvahiService(self.event_queue, self.bus, self.server,
+ interface, protocol, name, stype,
+ domain, protocol, 0)
+
+ e = Event ('service-added', service = service,
interface=interface, protocol=protocol, name=name, stype=stype,
domain=domain, flags=flags)
+
self.event_queue.append(e)
def _service_removed_cb(self, interface, protocol, name, stype, domain,
@@ -98,11 +115,6 @@ class AvahiListener:
self.browsers.append(browser)
- def resolver_for_service(self, event):
- return AvahiService(self.event_queue, self.bus, self.server,
- event.interface, event.protocol, event.name, event.stype,
- event.domain, event.protocol, 0)
-
class AvahiAnnouncer:
def __init__(self, name, type, port, txt):
self.name = name
@@ -156,7 +168,9 @@ if __name__ == '__main__':
assert "test" == e.name[0:len("test")]
- s = l.resolver_for_service(e)
+ s = e.service
+ s.resolve()
+
e = q.expect('service-resolved', service = s)
for (key, val ) in txtdict.iteritems():
v = txt_get_key(e.txt, key)
--
1.5.6.3
More information about the Telepathy-commits
mailing list