Modularizando o src
Dependencies: EALib EthernetInterface_vz mbed-rtos mbed
Fork of header_main_colinas_V0-20-09-14 by
Diff: call.h
- Revision:
- 117:e9facba9db27
- Parent:
- 116:39a41ebb675c
- Child:
- 119:ee6a53069455
diff -r 39a41ebb675c -r e9facba9db27 call.h --- a/call.h Thu Apr 23 20:24:09 2015 +0000 +++ b/call.h Thu Apr 23 21:53:28 2015 +0000 @@ -20,13 +20,13 @@ #include "debug.h" #include "shared_variables.h" -const uint8_t __CALL_MAX_IDLE_TIME__ = 5; +#define __CALL_MAX_IDLE_TIME__ 5 ///< Define o tempo máximo sem receber dados em alguma chamada. -const uint8_t __MAX_CALL_TIME__ = 180; +#define __MAX_CALL_TIME__ 180 ///< Define o tempo máximo ( em segundos ) de uma ligação. -const uint8_t CBX_PKG_IDLE_MAX_TIME = 10; +#define CBX_PKG_IDLE_MAX_TIME 10 class VZ_call : public Object{ private : @@ -45,227 +45,238 @@ RTP * rtp; rtpbuf_t rtpbuf; public : - /** - * @Synopsis Cria um objeto da Classe VZ_call. - * - * @param cb_ext O ramal do CBx que solicitou a ligação. - * @param cb_port A porta RTP do CBx que solicitou a ligação. - * @param rtp_server_ext O ramal do servidor. - * @param rtp_server_port A porta RTP do servidor. - * - * Exemplo: - * @code - * ... - * VZ_call * call = new VZ_call( 5010, 11841, 913, 12902 ); - * ... - * @endcode - */ + /** + * @Synopsis Cria um objeto da Classe VZ_call. + * + * @param cb_ext O ramal do CBx que solicitou a ligação. + * @param cb_port A porta RTP do CBx que solicitou a ligação. + * @param rtp_server_ext O ramal do servidor. + * @param rtp_server_port A porta RTP do servidor. + * + * Exemplo: + * @code + * ... + * VZ_call * call = new VZ_call( 5010, 11841, 913, 12902 ); + * ... + * @endcode + */ VZ_call( int cb_ext, int cb_port, int rtp_server_ext, int rtp_server_port ); - /** - * @Synopsis Destroi o objeto da classe. - * - * Exemplo: - * @code - * ... - * delete( call ); - * ... - * @endcode - */ + /** + * @Synopsis Destroi o objeto da classe. + * + * Exemplo: + * @code + * ... + * delete( call ); + * ... + * @endcode + */ ~VZ_call(); - /** - * @Synopsis Obtém o ramal do CBx. - * - * @return Um inteiro que representa o ramal do CBx que solicitou a ligação. - * - * Exemplo: - * @code - * ... - * int cb_ext = call->get_cb_ext(); - * ... - * @endcode - */ + /** + * @Synopsis Obtém o ramal do CBx. + * + * @return Um inteiro que representa o ramal do CBx que solicitou a ligação. + * + * Exemplo: + * @code + * ... + * int cb_ext = call->get_cb_ext(); + * ... + * @endcode + */ int get_cb_ext(); - /** - * @Synopsis Obtém a porta RTP do CBx que solicitou a ligação. - * - * @return Um inteiro que representa a porta do CBx. - * - * Exemplo: - * @code - * ... - * int cb_port = call->get_cb_ext(); - * ... - * @endcode - */ + /** + * @Synopsis Obtém a porta RTP do CBx que solicitou a ligação. + * + * @return Um inteiro que representa a porta do CBx. + * + * Exemplo: + * @code + * ... + * int cb_port = call->get_cb_ext(); + * ... + * @endcode + */ int get_cb_port(); - /** - * @Synopsis Informa o ramal do servidor RTP. - * - * @return O numero do ramal do servidor RTP. - * - * Exemplo: - * @code - * ... - * int rtp_server_ext = call->get_rtp_server_ext(); - * ... - * @endcode - */ + /** + * @Synopsis Informa o ramal do servidor RTP. + * + * @return O numero do ramal do servidor RTP. + * + * Exemplo: + * @code + * ... + * int rtp_server_ext = call->get_rtp_server_ext(); + * ... + * @endcode + */ int get_rtp_server_ext(); - /** - * @Synopsis Informa o numero da porta do servidor RTP. - * - * @return O numero da porta usada na comunicação com o servidor RTP. - * - * Exemplo: - * @code - * ... - * int rtp_server_port = call->get_rtp_server_port(); - * ... - * @endcode - */ + /** + * @Synopsis Informa o numero da porta do servidor RTP. + * + * @return O numero da porta usada na comunicação com o servidor RTP. + * + * Exemplo: + * @code + * ... + * int rtp_server_port = call->get_rtp_server_port(); + * ... + * @endcode + */ int get_rtp_server_port(); - /** - * @Synopsis Coleta dados de audio vindos do servidor - * - * @param length Um ponteiro para posição de memória que recebera quantos bytes foram lidos no pacote recebido. - * - * @return Um ponteiro para o pacote disponivel para processamento. - * - * Exemplo: - * @code - * ... - * int length = 0; - * char * eth_msg = call->get_eth_message( &length ); - * ... - * @endcode - */ + /** + * @Synopsis Coleta dados de audio vindos do servidor + * + * @param length Um ponteiro para posição de memória que recebera quantos bytes foram lidos no pacote recebido. + * + * @return Um ponteiro para o pacote disponivel para processamento. + * + * Exemplo: + * @code + * ... + * int length = 0; + * char * eth_msg = call->get_eth_message( &length ); + * ... + * @endcode + */ char * get_eth_message( int * length ); - /** - * @Synopsis Retorna uma referência para o buffer da classe, responsavel por armazenar os dados do server para o CBx. - * - * @return Um ponteiro para o inicio deste buffer. - * - * Exemplo: - * @code - * ... - * char * buffer = call->get_server2cb_buffer(); - * ... - * @endcode - */ + /** + * @Synopsis Retorna uma referência para o buffer da classe, responsavel por armazenar os dados do server para o CBx. + * + * @return Um ponteiro para o inicio deste buffer. + * + * Exemplo: + * @code + * ... + * char * buffer = call->get_server2cb_buffer(); + * ... + * @endcode + */ char * get_server2cb_buffer(); - /** - * @Synopsis Retorna uma referência para o buffer da classe, responsavel por armazenar os dados do CBx para o server. - * - * @return Um ponteiro para o inicio deste buffer. - * - * Exemplo: - * @code - * ... - * uint8_t * buffer = call->get_cb2server_buffer(); - * ... - * @endcode - */ + /** + * @Synopsis Retorna uma referência para o buffer da classe, responsavel por armazenar os dados do CBx para o server. + * + * @return Um ponteiro para o inicio deste buffer. + * + * Exemplo: + * @code + * ... + * uint8_t * buffer = call->get_cb2server_buffer(); + * ... + * @endcode + */ uint8_t * get_cb2server_buffer(); - /** - * @Synopsis Retorna o buffer desta classe. - * - * @return Um ponteiro para o primeiro elemento do buffer desta classe. - * - * Exemplo: - * @code - * ... - * uint8_t * buffer = call->get_buffer(); - * ... - * @endcode - */ + /** + * @Synopsis Retorna o buffer desta classe. + * + * @return Um ponteiro para o primeiro elemento do buffer desta classe. + * + * Exemplo: + * @code + * ... + * uint8_t * buffer = call->get_buffer(); + * ... + * @endcode + */ uint8_t * get_buffer(); - /** - * @Synopsis Responsavel por efetivamente montar o pacote que será enviado via rede. - * - * @param buffer Um ponteiro para o inicio dos dados recebidos do CBx que será encapsulado. - * - * @return Um ponteiro para o inicio do pacote pronto para o envio. - * - * Exemplo: - * @code - * ... - * char str_to_server[ 1024 ]; - * // assumindo que em data_from_cb consta armazenados os dados vindos dos Call_Box - * strcpy( str_to_server, build_eth_package( data_from_cb ) ); - * ... - * @endcode - */ + /** + * @Synopsis Deveria encapsular o buffer da classe e montar um pacote formatado para envio aos CBx. Porém, fora de uso. + * + * @return Um ponteiro para o inicio do pacote montado no protocolo VZ. + * + * \note Função não implementada. + * + * Exemplo: + * @code + * ... + * uint8_t * cb_package = call->build_cb_package(); + * ... + * @endcode + */ + uint8_t * build_cb_package( void ); + + /** + * @Synopsis Responsavel por efetivamente montar o pacote que será enviado via rede. + * + * @param buffer Um ponteiro para o inicio dos dados recebidos do CBx que será encapsulado. + * + * @return Um ponteiro para o inicio do pacote pronto para o envio. + * + * Exemplo: + * @code + * ... + * char str_to_server[ 1024 ]; + * // assumindo que em data_from_cb consta armazenados os dados vindos dos Call_Box + * strcpy( str_to_server, build_eth_package( data_from_cb ) ); + * ... + * @endcode + */ char * build_eth_package( uint8_t * ); - /** - * @Synopsis Responsavel por enviar efetivamente os dados via eth - * - * @param buffer Um ponteiro para o inicio dos dados que serão enviados. - * - * @return O numero de bytes efetivamente enviados. - * - * Exemplo: - * @code - * ... - * char * pkg = call->build_eth_package( data_from_cb ); - * //assumindo que os dados vindos do Call_Box estão armazenados em data_from_cb - * int sent = call->send_message( pkg ); - * ... - * @endcode - */ + /** + * @Synopsis Responsavel por enviar efetivamente os dados via eth + * + * @param buffer Um ponteiro para o inicio dos dados que serão enviados. + * + * @return O numero de bytes efetivamente enviados. + * + * Exemplo: + * @code + * ... + * char * pkg = call->build_eth_package( data_from_cb ); + * //assumindo que os dados vindos do Call_Box estão armazenados em data_from_cb + * int sent = call->send_message( pkg ); + * ... + * @endcode + */ int send_message( char * ); - /** - * @Synopsis Verifica se esta ligação não esta ultrapassando o tempo permitido. - * - * @retval True - se o tempo sem trocar dados nesta ligação for maior que __CALL_MAX_IDLE_TIME__. - * @retval False - Caso duração de ligação ainda dentro do tempo esperado. - * - * Exemplo: - * @code - * ... - * printf( "Call não esta recendo dados a mais tempo do que deveria ? %s \n\r", ( call->is_timeout() ) ? "Sim" : "Não" ); - * ... - * @endcode - */ + /** + * @Synopsis Verifica se esta ligação não esta ultrapassando o tempo permitido. + * + * @retval True - se o tempo sem trocar dados nesta ligação for maior que __CALL_MAX_IDLE_TIME__. + * @retval False - Caso duração de ligação ainda dentro do tempo esperado. + * + * Exemplo: + * @code + * ... + * printf( "Call não esta recendo dados a mais tempo do que deveria ? %s \n\r", ( call->is_timeout() ) ? "Sim" : "Não" ); + * ... + * @endcode + */ bool is_timeout( void ); - /** - * @Synopsis Verifica se o tempo de ligação é menor que o tempo máximo permitido. - * - * @retval True - Caso o tempo da ligação tenha passado do limite definido em __MAX_CALL_TIME__. - * @retval False - caso em que o tempo da ligação atual for menor que o máximo permitido.. - * - * Exemplo: - * @code - * ... - * printf( "Call já deveria ter acabado ? %s \n\r", ( call->is_timeout() ) ? "Sim" : "Não" ); - * ... - * @endcode - */ - bool is_timetofinish ( void ); + /** + * @Synopsis Verifica se o tempo de ligação é menor que o tempo máximo permitido. + * + * @retval True - Caso o tempo da ligação tenha passado do limite definido em __MAX_CALL_TIME__. + * @retval False - caso em que o tempo da ligação atual for menor que o máximo permitido.. + * + * Exemplo: + * @code + * ... + * printf( "Call já deveria ter acabado ? %s \n\r", ( call->is_timeout() ) ? "Sim" : "Não" ); + * ... + * @endcode + */ + bool is_timetofinish( void ); - - bool cbx_pkg_is_idle ( void ); - - uint16_t get_elapsed_time ( void ); - - void cbx_pkg_idle_timer_reset ( void ); - void reconnect ( void ); + void cbx_pkg_idle_timer_reset( void ); + bool cbx_pkg_is_idle( void ); + void init_cbx_pkg_idle_timer( void ); + int get_elapsed_time( void ); + int print_yourself ( void ); void * check_rtp ( void ); - void init_cbx_pkg_idle_timer ( void ); - int rtp_print_yourself ( void ); - int print_yourself ( void ); }; #endif \ No newline at end of file