Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/sugar/p2p/NotificationListener.py
blob: 433b7775c65ad6814c9dd77a90bbd9c6d23e4db7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
from sugar.p2p.Notifier import Notifier
import network

class NotificationListener:
	def __init__(self, service):
		server = network.GroupServer(service.get_address(),
									 service.get_port(),
									 self._recv_multicast)
		server.start()
		
		self._listeners = []
	
	def add_listener(self, listener):
		self._listeners.append(listener)
	
	def _recv_multicast(self, msg):
		for listener in self._listeners:
			listener(msg)