VZTECH / Mbed 2 deprecated main_src

Dependencies:   EALib EthernetInterface_vz mbed-rtos mbed

Fork of header_main_colinas_V0-20-09-14 by VZTECH

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers call_manager.h Source File

call_manager.h

00001 #ifndef __CALL_MANAGER_H__
00002 #define __CALL_MANAGER_H__
00003 
00004 #include "timeslice.h"
00005 #include "vector.h"
00006 #include "call.h"
00007 #include "call_box.h"
00008 #include "parallelcpld.h"
00009 #include "call_box_manager.h"
00010 #include "shared_variables.h"
00011 
00012 extern Timer invite_pkg_retry_timer;
00013 extern Timer bye_pkg_retry_timer;
00014 
00015 /**
00016  * @Synopsis Busca por uma determinada ligação vz_call no vetor de v_calusando como chave de busca o ramal.
00017  *
00018  * @param v_call Um vetor contendo todas as vz_calls em andamento em um dado momento.
00019  * @param ext O ramal pelo qual se irá buscar a vz_call.
00020  *
00021  * @return NULL, caso essa chamada não tenha sido encontrada; um ponteiro para esta chamada, caso a mesma tenha sido encontrada.
00022  *
00023  * Exemplo:
00024  * @code
00025  * ...
00026  *  Vector * v_call = new Vector();
00027  *      //assumindo que esse vetor de VZ_call já foi populado.
00028  *  int ext = 5218;
00029  *  VZ_call * call = find_Call ( v_call, ext );
00030  * ...
00031  * @endcode
00032  */
00033 VZ_call * find_Call ( Vector  * v_call, const int ext );
00034 
00035 /**
00036  * @Synopsis Responsável por remover calls por timeout.
00037  *
00038  * @param v_call Um vetor contendo todas as vz_calls em andamento em um dado momento.
00039  * @param v_cb Um vetor contendo todos os Call_box conhecidos pela Header em um determinado momento.
00040  * @param data Usado para a criação do pacote de "ping" que a Header irá enviar para o CBx.
00041  * @param write_buffer Local de memória onde efetivamente irá ser montado o pacote para envio ao CBx. 
00042  * @param ts O timeslice que será possivelmente devolvido.
00043  *
00044  * Exemplo:
00045  * @code
00046  * ...
00047  *  Vector * v_call = new Vector();
00048  *  Vector * v_cb = new Vector();
00049  *      // assumindo que os vetores já foram populados.
00050  *  uint8_t buffer[ 300 ];
00051  *      uint8_t write_buffer[ 300 ];
00052  *      Timeslice * ts = new Timeslice();
00053  *      ...
00054  *      call_manager( v_call, v_cb, buffer, write_buffer, ts ); 
00055  * ...
00056  * @endcode
00057  */
00058 void call_manager( Vector  * v_call, Vector  * v_cb, Timeslice * ts );
00059 
00060 /* verificando andamento de pedidos de ligação */
00061 void invite_handler( Vector  * v_call, Vector  * v_cb, Timeslice * ts, Call_Box * cb );
00062 
00063 #endif