Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/sugar/p2p/Group.py
diff options
context:
space:
mode:
Diffstat (limited to 'sugar/p2p/Group.py')
-rw-r--r--sugar/p2p/Group.py56
1 files changed, 24 insertions, 32 deletions
diff --git a/sugar/p2p/Group.py b/sugar/p2p/Group.py
index faa6041..dedbc1e 100644
--- a/sugar/p2p/Group.py
+++ b/sugar/p2p/Group.py
@@ -1,26 +1,21 @@
-from Buddy import Buddy
-from Buddy import Owner
-from Buddy import PRESENCE_SERVICE_TYPE
-from Service import Service
-from sugar.p2p.model.Store import Store
+import avahi
+
import presence
+from Buddy import *
+from Service import *
-class Group:
- SERVICE_ADDED = "service_added"
- SERVICE_REMOVED = "service_removed"
+SERVICE_ADDED = "service_added"
+SERVICE_REMOVED = "service_removed"
- BUDDY_JOIN = "buddy_join"
- BUDDY_LEAVE = "buddy_leave"
+BUDDY_JOIN = "buddy_join"
+BUDDY_LEAVE = "buddy_leave"
+class Group:
def __init__(self):
self._service_listeners = []
self._presence_listeners = []
- self._store = Store(self)
-
- def get_store(self):
- return self._store
- def join(self):
+ def join(self, buddy):
pass
def add_service_listener(self, listener):
@@ -31,19 +26,19 @@ class Group:
def _notify_service_added(self, service):
for listener in self._service_listeners:
- listener(Group.SERVICE_ADDED, service)
+ listener(SERVICE_ADDED, buddy)
- def _notify_service_removed(self, service_id):
+ def _notify_service_removed(self, service):
for listener in self._service_listeners:
- listener(Group.SERVICE_REMOVED, service_id)
+ listener(SERVICE_REMOVED,buddy)
def _notify_buddy_join(self, buddy):
for listener in self._presence_listeners:
- listener(Group.BUDDY_JOIN, buddy)
+ listener(BUDDY_JOIN, buddy)
def _notify_buddy_leave(self, buddy):
for listener in self._presence_listeners:
- listener(Group.BUDDY_LEAVE, buddy)
+ listener(BUDDY_LEAVE, buddy)
class LocalGroup(Group):
def __init__(self):
@@ -64,19 +59,16 @@ class LocalGroup(Group):
self._services[sid] = service
self._notify_service_added(service)
- def remove_service(self, service_id):
- self._notify_service_removed(service_id)
- del self._services[service_id]
+ def remove_service(self, sid):
+ self._notify_service_removed(service)
+ del self._services[sid]
def join(self):
self._owner = Owner(self)
self._owner.register()
def get_service(self, name, stype):
- if self._services.has_key((name, stype)):
- return self._services[(name, stype)]
- else:
- return None
+ return self._services[(name, stype)]
def get_buddy(self, name):
return self._buddies[name]
@@ -103,8 +95,8 @@ class LocalGroup(Group):
def _on_service_resolved(self, interface, protocol, name, stype, domain,
host, aprotocol, address, port, txt, flags):
- service = Service(name, stype, address, port)
- if stype == PRESENCE_SERVICE_TYPE:
- self._add_buddy(Buddy(service, name))
- elif stype.startswith("_olpc"):
- self.add_service(service)
+ service = Service(name, stype, address, port)
+ if stype == PRESENCE_SERVICE_TYPE:
+ self._add_buddy(Buddy(service, name))
+ elif stype.startswith("_olpc"):
+ self.add_service(service)