Modularizando o src

Dependencies:   EALib EthernetInterface_vz mbed-rtos mbed

Fork of header_main_colinas_V0-20-09-14 by VZTECH

Revision:
119:ee6a53069455
Parent:
117:e9facba9db27
Child:
121:ee02790d00b7
--- a/call.h	Fri Apr 24 13:54:24 2015 +0000
+++ b/call.h	Thu Apr 30 15:42:41 2015 +0000
@@ -20,13 +20,13 @@
 #include "debug.h"
 #include "shared_variables.h"
 
-#define __CALL_MAX_IDLE_TIME__ 5 
+const uint8_t __CALL_MAX_IDLE_TIME__ = 5;
 ///< Define o tempo máximo sem receber dados em alguma chamada.
 
-#define __MAX_CALL_TIME__ 180
+const uint8_t __MAX_CALL_TIME__ = 180;
 ///< Define o tempo máximo ( em segundos ) de uma ligação.
 
-#define CBX_PKG_IDLE_MAX_TIME 10
+const uint8_t CBX_PKG_IDLE_MAX_TIME = 10;
 
 class VZ_call : public Object{
     private :
@@ -45,238 +45,227 @@
         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 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
-                 */
+    /**
+     * @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 );
         
-        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 );
+        
+        bool cbx_pkg_is_idle ( void );
+        
+        uint16_t get_elapsed_time ( void );
+        
+        void cbx_pkg_idle_timer_reset ( void );
+        void reconnect ( void );
+        void * check_rtp ( void );
+        void init_cbx_pkg_idle_timer ( void );
+        
+        int rtp_print_yourself ( void );
         int print_yourself ( void );
-        void * check_rtp ( void );
-        int rtp_print_yourself ( void );
 };
 #endif
\ No newline at end of file