summaryrefslogtreecommitdiff
path: root/README
blob: f75bfc03855d33bc3370ccdf1b8424143c8ae257 (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
96
97
=======================
=       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.
Poezio's commands are design to be (if possible) like well known IRC
clients (weechat, irssi, mirc).

=======================
	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   |
                         |         |
                         \---------/