[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