|
Package papyon ::
Package event
|
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 """papyon event interfaces.
21
22 Defines the interfaces that the client can implement to benefit from the
23 client event notifications."""
24
25 from papyon.util.weak import WeakSet
26
28 """Abstract object from which all the objects generating events inherit"""
29
31 self._events_handlers = WeakSet()
32
33
35 """Registers an event handler with this dispatcher
36 @param events_handler: an instance with methods as code of callbacks
37 @type events_handler: L{papyon.event.BaseEventInterface}
38 """
39 self._events_handlers.add(events_handler)
40
42 count = 0
43 for event_handler in list(self._events_handlers):
44 if event_handler._dispatch_event(name, *args):
45 count += 1
46 return count
47
48 import weakref
50 """Event handler interface, implemented by all the event handlers"""
51
53 """Initializer
54 @param client: the client we want to be notified for its events
55 @type client: an object implementing L{EventsDispatcher}"""
56 self._client = weakref.proxy(client)
57 client.register_events_handler(self)
58
60 try:
61 handler = getattr(self, event_name)
62 except Exception, e:
63 return False
64
65 handler(*params)
66 return True
67
68 from client import *
69 from conversation import *
70 from profile import *
71 from contact import *
72 from address_book import *
73 from offline_messages import *
74 from invite import *
75 from mailbox import *
76 from webcam import *
77