summaryrefslogtreecommitdiff
path: root/README
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   |
			 |   	   |
			 \---------/