blob: 514de10851f28b65e1144592f6aa823325d77fe5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
=======================
= Poezio =
=======================
Homepage: http://codingteam.net/projet/poezio
Poezio is a console Jabber client. Its goal is to use anonymous
connections to let the user join MultiUserChats. This way, the user
don't have to create a Jabber account, exactly like people are using
IRC. It doesn't handle contact list at all.
=======================
Authors
=======================
Florent Le Coz (louiz') <louizatakk@fedoraproject.org> (main developper)
=======================
Contact/support
=======================
Jabber ChatRoom: poezio@conference.codingteam.net
Forum: http://codingteam.net/project/poezio/forum
Report a bug: http://codingteam.net/project/poezio/bugs/add
=======================
License
=======================
Poezio is Free Software.
(learn more: http://www.gnu.org/philosophy/free-sw.html)
Poezio is released under the Gnu GPLv3 license
Please read the COPYING file for details
=======================
Thanks
=======================
= People =
xbright (Handler and MultiUserChat classes)
chickenzilla (Config class)
======================
The code
======================
Classes:
- Connection *receives* messages from the Jabber network
- MultiUserChat *sends* messages to the Jabber network
- Gui displays everything on the screen and gets the user inputs
- Handler is the "link" between all these classes :
a class emits a signal and the others classes listen to this signal
and do what they have to do whenever this signal is emitted by any class
Q: Why not use Connection to receive AND send the messages to Jabber network?
A: I like it this way.
Q: Could you please make a nice ASCII art, so I could understand all
the beauty and the complexity of this awesome software ?
A: Of course, here it is:
___________________________
/ \
| |
| Jabber Network |
| (roomchats and people |
| in them) |
| |
\__________________________/
| ^
| receive send | ____ Poezio ____
v |
/----------------\ /-----------------\
| | | |
| Connection | | MultiUserChat |
| | | |
\----------------/ \-----------------/
^ |emit emit | ^
| | /---------\ | |
connect \ \----> | |<----/ / connect
\______ | Handler |______/
| |
\---------/
| ^
connect | | emit
v |
/---------\
| |
| Gui |
| |
\---------/
| ^
Screen | | Keyboard
v |
/---------\
| |
| YOU |
| |
\---------/
|