Modularizando o src

Dependencies:   EALib EthernetInterface_vz mbed-rtos mbed

Fork of header_main_colinas_V0-20-09-14 by VZTECH

Committer:
klauss
Date:
Tue Apr 07 14:27:44 2015 +0000
Revision:
109:a5b8264ffbbc
Parent:
108:18a3702650f3
Child:
113:db67ae00550e
bl wip

Who changed what in which revision?

UserRevisionLine numberNew contents of line
klauss 74:81c47fff88a5 1 #ifndef __CALL_MANAGER_H__
klauss 74:81c47fff88a5 2 #define __CALL_MANAGER_H__
klauss 74:81c47fff88a5 3
klauss 74:81c47fff88a5 4 #include "mbed.h"
klauss 74:81c47fff88a5 5 #include "EthernetInterface.h"
klauss 74:81c47fff88a5 6 #include "debug.h"
klauss 74:81c47fff88a5 7 #include "vz_protocol.h"
klauss 74:81c47fff88a5 8 #include "vector.h"
klauss 74:81c47fff88a5 9 #include "call.h"
klauss 74:81c47fff88a5 10 #include "call_box.h"
klauss 74:81c47fff88a5 11 #include "timeslice.h"
klauss 74:81c47fff88a5 12 #include "parallelcpld.h"
klauss 74:81c47fff88a5 13 #include "call_box_manager.h"
klauss 74:81c47fff88a5 14 #include "utils.h"
klauss 74:81c47fff88a5 15
klauss 81:3656f00ab3db 16 extern Timer invite_pkg_retry_timer;
klauss 81:3656f00ab3db 17 extern Timer bye_pkg_retry_timer;
klauss 81:3656f00ab3db 18
klauss 74:81c47fff88a5 19 /**
klauss 74:81c47fff88a5 20 * @Synopsis Busca por uma determinada ligação vz_call no vetor de v_calusando como chave de busca o ramal.
klauss 74:81c47fff88a5 21 *
klauss 74:81c47fff88a5 22 * @param v_call Um vetor contendo todas as vz_calls em andamento em um dado momento.
klauss 74:81c47fff88a5 23 * @param ext O ramal pelo qual se irá buscar a vz_call.
klauss 74:81c47fff88a5 24 *
klauss 74:81c47fff88a5 25 * @return NULL, caso essa chamada não tenha sido encontrada; um ponteiro para esta chamada, caso a mesma tenha sido encontrada.
klauss 74:81c47fff88a5 26 *
klauss 74:81c47fff88a5 27 * Exemplo:
klauss 74:81c47fff88a5 28 * @code
klauss 74:81c47fff88a5 29 * ...
klauss 74:81c47fff88a5 30 * Vector * v_call = new Vector();
klauss 74:81c47fff88a5 31 * //assumindo que esse vetor de VZ_call já foi populado.
klauss 74:81c47fff88a5 32 * int ext = 5218;
klauss 74:81c47fff88a5 33 * VZ_call * call = __find_Call__( v_call, ext );
klauss 74:81c47fff88a5 34 * ...
klauss 74:81c47fff88a5 35 * @endcode
klauss 74:81c47fff88a5 36 */
klauss 74:81c47fff88a5 37 VZ_call * __find_Call__( Vector * v_call, int ext );
klauss 74:81c47fff88a5 38
klauss 74:81c47fff88a5 39 /**
klauss 74:81c47fff88a5 40 * @Synopsis Responsável por remover calls por timeout.
klauss 74:81c47fff88a5 41 *
klauss 74:81c47fff88a5 42 * @param v_call Um vetor contendo todas as vz_calls em andamento em um dado momento.
klauss 74:81c47fff88a5 43 * @param v_cb Um vetor contendo todos os Call_box conhecidos pela Header em um determinado momento.
klauss 74:81c47fff88a5 44 * @param data Usado para a criação do pacote de "ping" que a Header irá enviar para o CBx.
klauss 74:81c47fff88a5 45 * @param write_buffer Local de memória onde efetivamente irá ser montado o pacote para envio ao CBx.
klauss 74:81c47fff88a5 46 * @param ts O timeslice que será possivelmente devolvido.
klauss 74:81c47fff88a5 47 *
klauss 74:81c47fff88a5 48 * Exemplo:
klauss 74:81c47fff88a5 49 * @code
klauss 74:81c47fff88a5 50 * ...
klauss 74:81c47fff88a5 51 * Vector * v_call = new Vector();
klauss 74:81c47fff88a5 52 * Vector * v_cb = new Vector();
klauss 74:81c47fff88a5 53 * // assumindo que os vetores já foram populados.
klauss 74:81c47fff88a5 54 * uint8_t buffer[ 300 ];
klauss 74:81c47fff88a5 55 * uint8_t write_buffer[ 300 ];
klauss 74:81c47fff88a5 56 * Timeslice * ts = new Timeslice();
klauss 74:81c47fff88a5 57 * ...
klauss 74:81c47fff88a5 58 * call_manager( v_call, v_cb, buffer, write_buffer, ts );
klauss 74:81c47fff88a5 59 * ...
klauss 74:81c47fff88a5 60 * @endcode
klauss 74:81c47fff88a5 61 */
klauss 109:a5b8264ffbbc 62 void call_manager( Vector * v_call, Vector * v_cb, uint8_t * data, uint8_t * write_buffer, Timeslice * ts );
klauss 74:81c47fff88a5 63
klauss 78:1353744f01e1 64 void invite_handler( Vector * v_call, Vector * v_cb, Timeslice * ts, Call_Box * cb );
klauss 78:1353744f01e1 65
klauss 81:3656f00ab3db 66 void invite_pgk_retry_manager( Vector * v_cb, uint8_t * data, uint8_t * write_buffer );
klauss 81:3656f00ab3db 67
klauss 81:3656f00ab3db 68 void init_invite_pgk_retry_manager( void );
klauss 81:3656f00ab3db 69 void init_bye_pgk_retry_manager( void );
klauss 81:3656f00ab3db 70
klauss 74:81c47fff88a5 71 #endif