Modularizando o src
Dependencies: EALib EthernetInterface_vz mbed-rtos mbed
Fork of header_main_colinas_V0-20-09-14 by
call_manager.h
- Committer:
- klauss
- Date:
- 2015-03-18
- Revision:
- 108:18a3702650f3
- Parent:
- 81:3656f00ab3db
- Child:
- 109:a5b8264ffbbc
File content as of revision 108:18a3702650f3:
#ifndef __CALL_MANAGER_H__ #define __CALL_MANAGER_H__ #include "mbed.h" #include "EthernetInterface.h" #include "debug.h" #include "vz_protocol.h" #include "vector.h" #include "call.h" #include "call_box.h" #include "timeslice.h" #include "parallelcpld.h" #include "call_box_manager.h" #include "utils.h" extern Timer invite_pkg_retry_timer; extern Timer bye_pkg_retry_timer; /** * @Synopsis Busca por uma determinada ligação vz_call no vetor de v_calusando como chave de busca o ramal. * * @param v_call Um vetor contendo todas as vz_calls em andamento em um dado momento. * @param ext O ramal pelo qual se irá buscar a vz_call. * * @return NULL, caso essa chamada não tenha sido encontrada; um ponteiro para esta chamada, caso a mesma tenha sido encontrada. * * Exemplo: * @code * ... * Vector * v_call = new Vector(); * //assumindo que esse vetor de VZ_call já foi populado. * int ext = 5218; * VZ_call * call = __find_Call__( v_call, ext ); * ... * @endcode */ VZ_call * __find_Call__( Vector * v_call, int ext ); /** * @Synopsis Responsável por remover calls por timeout. * * @param v_call Um vetor contendo todas as vz_calls em andamento em um dado momento. * @param v_cb Um vetor contendo todos os Call_box conhecidos pela Header em um determinado momento. * @param data Usado para a criação do pacote de "ping" que a Header irá enviar para o CBx. * @param write_buffer Local de memória onde efetivamente irá ser montado o pacote para envio ao CBx. * @param ts O timeslice que será possivelmente devolvido. * * Exemplo: * @code * ... * Vector * v_call = new Vector(); * Vector * v_cb = new Vector(); * // assumindo que os vetores já foram populados. * uint8_t buffer[ 300 ]; * uint8_t write_buffer[ 300 ]; * Timeslice * ts = new Timeslice(); * ... * call_manager( v_call, v_cb, buffer, write_buffer, ts ); * ... * @endcode */ void call_manager( Vector * v_call, Vector * v_cb, Timeslice * ts ); void invite_handler( Vector * v_call, Vector * v_cb, Timeslice * ts, Call_Box * cb ); void invite_pgk_retry_manager( Vector * v_cb, uint8_t * data, uint8_t * write_buffer ); void init_invite_pgk_retry_manager( void ); void init_bye_pgk_retry_manager( void ); #endif