doc.txt
changeset 132 4fef4ced1e97
parent 113 cb5adb25ad87
child 136 405f99d8f3c5
equal deleted inserted replaced
131:943c3f938cb4 132:4fef4ced1e97
     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