1 DOCUMENTATION: |
1 DOCUMENTATION: |
2 |
2 |
3 I: Jingle |
3 I: Jingle |
4 Jingle is a module who can't work alone. His meaning of life is make working |
4 Jingle is a module whose purpose is to allow other modules to work together. |
5 others modules. There is two sorts of modules: applications (File Transfer, Voice) |
5 There are two sorts of modules jingle can work with: application modules |
6 and transports (IBB, socks5, ...). |
6 handle or produce data (e.g. File Transfer, Voice) and transport modules |
7 The "sub-modules" must register in jingle and provide some generic function. |
7 transport the data using some method/protocol (e.g In-Band Bytestreams, SOCKS5 |
8 After the jingle module catch and dispatch all jingle's iqs. And offer an |
8 Bytestreams). |
9 interface between apps and trans. |
9 The "sub-modules" must implement a set of functions and register to the jingle |
10 Jingle module keep a way of all sessions via JingleSession structures. |
10 module. |
11 This JingleSession got all the informations and a list of SessionContent, which |
11 The jingle module will catch and dispatch incoming jingle iqs and also offer an |
12 are struct containing information about content and 2 gconstpointer. This pointer |
12 interface between apps and trans modules. The module also keep track of all |
13 are data from apps and trans. |
13 initialized sessions in a linked list of JingleSession structures. This |
|
14 structure contains all the relevant informations about a session together with a |
|
15 linked list of SessionContent, a structure containing information about a |
|
16 specific content. |
|
17 SessionContent contains pointer to fonctions in the application and transport |
|
18 modules and opaque pointers to the internal representation of the app and |
|
19 transport by the corresponding app and transport modules. |
14 |
20 |
15 An application module must provide: |
21 An application module must provide: |
16 - check: check if the description of a JingleContent is correct; |
22 - check: check if the description of a JingleContent is correct; |
17 - handle: each application have some options not conventional, so handle is the |
23 - handle: each application have some options not conventional, so handle is the |
18 less option. We give him all the jingle iqs than other function doesn't |
24 less option. We give him all the jingle iqs than other function doesn't |