|
|
|
@ -17,7 +17,7 @@ int ami_list_actionid_free( ACTIONID *list_actionid );
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
* A função é usado para inicializar ami com métodos que retornarão informação ami ami |
|
|
|
|
* \param ami estrutura sobre informações da ami (asterisk) |
|
|
|
|
* @param ami estrutura sobre informações da ami (asterisk) |
|
|
|
|
*/ |
|
|
|
|
int ami_init_methods( AMI *ami ); |
|
|
|
|
|
|
|
|
@ -26,9 +26,9 @@ int ami_init_methods( AMI *ami );
|
|
|
|
|
/*!
|
|
|
|
|
* Verifica se o evento continua esperando informação da AMI |
|
|
|
|
* |
|
|
|
|
* \param list_actions lista das actionid ativas, ou seja, esperando concluir a resposta |
|
|
|
|
* \param actionid valor da actionid que será verificada |
|
|
|
|
* \return sucesso 0, falha -1 |
|
|
|
|
* @param list_actions lista das actionid ativas, ou seja, esperando concluir a resposta |
|
|
|
|
* @param actionid valor da actionid que será verificada |
|
|
|
|
* @return sucesso 0, falha -1 |
|
|
|
|
*/ |
|
|
|
|
int ami_is_actionid(ACTIONID **list_actions, const char *actionid); |
|
|
|
|
|
|
|
|
@ -37,10 +37,10 @@ int ami_is_actionid(ACTIONID **list_actions, const char *actionid);
|
|
|
|
|
/*!
|
|
|
|
|
* Adicionar novas actionid. A biblioteca obterá apenas actionid que estão nessa estrutura |
|
|
|
|
* |
|
|
|
|
* \param list_actions lista de actionid ativas |
|
|
|
|
* \param actionid será adicionada na lista |
|
|
|
|
* @param list_actions lista de actionid ativas |
|
|
|
|
* @param actionid será adicionada na lista |
|
|
|
|
* |
|
|
|
|
* \return sucesso 0, falha -1 |
|
|
|
|
* @return sucesso 0, falha -1 |
|
|
|
|
*/ |
|
|
|
|
int ami_actionid_add(ACTIONID **list_actions, const char *actionid); |
|
|
|
|
|
|
|
|
@ -50,10 +50,10 @@ int ami_actionid_add(ACTIONID **list_actions, const char *actionid);
|
|
|
|
|
* remove a actionid da lista de actionid ativas. A biblioteca vai ignorar actionid que estão fora dessa estrutura.\n |
|
|
|
|
* Apenas quando essa actionid for concluída |
|
|
|
|
* |
|
|
|
|
* \param list_actions lista de actionid ativas |
|
|
|
|
* \param actionid actionid que será excluída da lista |
|
|
|
|
* @param list_actions lista de actionid ativas |
|
|
|
|
* @param actionid actionid que será excluída da lista |
|
|
|
|
* |
|
|
|
|
* \return sucesso 0, falha -1 |
|
|
|
|
* @return sucesso 0, falha -1 |
|
|
|
|
*/ |
|
|
|
|
int ami_actionid_remove( ACTIONID **list_actions, const char *actionid ); |
|
|
|
|
|
|
|
|
@ -61,8 +61,8 @@ int ami_actionid_remove( ACTIONID **list_actions, const char *actionid );
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
* Libera o actionid |
|
|
|
|
* \param drop_actionid ponteiro para estrutura |
|
|
|
|
* \return 0 sempre |
|
|
|
|
* @param drop_actionid ponteiro para estrutura |
|
|
|
|
* @return 0 sempre |
|
|
|
|
*/ |
|
|
|
|
int ami_actionid_free( ACTIONID *drop_actionid ); |
|
|
|
|
|
|
|
|
@ -70,9 +70,9 @@ int ami_actionid_free( ACTIONID *drop_actionid );
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
* Verificar se essa actionid é uma actionid do usuário |
|
|
|
|
* \param args lista de actionid
|
|
|
|
|
* \param arg actionid que será verificada se está na lista |
|
|
|
|
* \return 0 não existe, 1 existe |
|
|
|
|
* @param args lista de actionid
|
|
|
|
|
* @param arg actionid que será verificada se está na lista |
|
|
|
|
* @return 0 não existe, 1 existe |
|
|
|
|
*/ |
|
|
|
|
int ami_exist_actionid(ACTIONID **list_actionid, ACTIONID *actionid); |
|
|
|
|
|
|
|
|
@ -80,9 +80,9 @@ int ami_exist_actionid(ACTIONID **list_actionid, ACTIONID *actionid);
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
* Verificar se essa actionid é uma actionid da biblioteca |
|
|
|
|
* \param args lista de actionid interno da biblioteca |
|
|
|
|
* \param arg actionid que será verificada |
|
|
|
|
* \return 0 não existe, 1 existe |
|
|
|
|
* @param args lista de actionid interno da biblioteca |
|
|
|
|
* @param arg actionid que será verificada |
|
|
|
|
* @return 0 não existe, 1 existe |
|
|
|
|
*/ |
|
|
|
|
int ami_exist_actionid_internal(ACTIONID **list_actionid, ACTIONID *actionid); |
|
|
|
|
|
|
|
|
@ -90,9 +90,9 @@ int ami_exist_actionid_internal(ACTIONID **list_actionid, ACTIONID *actionid);
|
|
|
|
|
/*!
|
|
|
|
|
* Redireciona se o evento é uma resposta ou não da action |
|
|
|
|
* |
|
|
|
|
* \param ami identifica a instância da biblioteca AMI |
|
|
|
|
* \param event estrutura evento
|
|
|
|
|
* \return sucesso 0, falha -1 ( o ponteiro event é liberado) |
|
|
|
|
* @param ami identifica a instância da biblioteca AMI |
|
|
|
|
* @param event estrutura evento
|
|
|
|
|
* @return sucesso 0, falha -1 ( o ponteiro event é liberado) |
|
|
|
|
*/ |
|
|
|
|
int ami_event_redirect(AMI *ami, EVENT *event); |
|
|
|
|
|
|
|
|
@ -101,8 +101,8 @@ int ami_event_redirect(AMI *ami, EVENT *event);
|
|
|
|
|
/*!
|
|
|
|
|
* Adicionar eventos lista de eventos da ami.
|
|
|
|
|
* |
|
|
|
|
* \param event lista de eventos recebido do AMI |
|
|
|
|
* \param next próximo evento que será incluído na lista de eventos |
|
|
|
|
* @param event lista de eventos recebido do AMI |
|
|
|
|
* @param next próximo evento que será incluído na lista de eventos |
|
|
|
|
*
|
|
|
|
|
*/ |
|
|
|
|
void ami_event_add(EVENT **event, EVENT *next); |
|
|
|
@ -112,9 +112,9 @@ void ami_event_add(EVENT **event, EVENT *next);
|
|
|
|
|
/*!
|
|
|
|
|
* Cria a estrutura de um novo evento.
|
|
|
|
|
* |
|
|
|
|
* \warning Esse ponteiro deve ser liberado através do free_event. |
|
|
|
|
* @warning Esse ponteiro deve ser liberado através do free_event. |
|
|
|
|
* |
|
|
|
|
* \return p_event um novo espaço para alocar eventos da AMI |
|
|
|
|
* @return p_event um novo espaço para alocar eventos da AMI |
|
|
|
|
*/ |
|
|
|
|
EVENT *ami_event_create(); |
|
|
|
|
|
|
|
|
@ -123,7 +123,7 @@ EVENT *ami_event_create();
|
|
|
|
|
/*!
|
|
|
|
|
* Libera ponteiro do EVENT único e seus argumentos. Não vai liberar os próximos eventos "event->next" |
|
|
|
|
* |
|
|
|
|
* \param event estrutura que contém um evento da AMI |
|
|
|
|
* @param event estrutura que contém um evento da AMI |
|
|
|
|
*/ |
|
|
|
|
void ami_event_free( EVENT *event ); |
|
|
|
|
|
|
|
|
@ -132,7 +132,7 @@ void ami_event_free( EVENT *event );
|
|
|
|
|
/*!
|
|
|
|
|
* Libera a lista do eventos da AMI |
|
|
|
|
* |
|
|
|
|
* \param event lista de eventos que serão liberadas |
|
|
|
|
* @param event lista de eventos que serão liberadas |
|
|
|
|
*/ |
|
|
|
|
void ami_list_event_free(EVENT *event); |
|
|
|
|
|
|
|
|
@ -141,8 +141,8 @@ void ami_list_event_free(EVENT *event);
|
|
|
|
|
/*!
|
|
|
|
|
* Adiciona o argumento dentro do evento
|
|
|
|
|
* |
|
|
|
|
* \param event estrutura de evento que será
|
|
|
|
|
* \param arg
|
|
|
|
|
* @param event estrutura de evento que será
|
|
|
|
|
* @param arg
|
|
|
|
|
* |
|
|
|
|
*/ |
|
|
|
|
void ami_args_event_add(EVENT *event, ARGS *arg); |
|
|
|
@ -152,26 +152,26 @@ void ami_args_event_add(EVENT *event, ARGS *arg);
|
|
|
|
|
/*!
|
|
|
|
|
* Verifica se a chave na lista de argumentos existe |
|
|
|
|
* |
|
|
|
|
* \param args lista de argumentos |
|
|
|
|
* \param key chave do argumento |
|
|
|
|
* \return existe 0, não existe -1 |
|
|
|
|
* @param args lista de argumentos |
|
|
|
|
* @param key chave do argumento |
|
|
|
|
* @return existe 0, não existe -1 |
|
|
|
|
*/ |
|
|
|
|
int ami_exist_key(ARGS **args, const char *key); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
* obter o valor da chave de determinado lista de argumentos |
|
|
|
|
* \param args lista de argumentos |
|
|
|
|
* \param key chave que será procurada |
|
|
|
|
* \return retorna o valor da chave, NULL chave não existe ou o valor é nulo( use exist_key para verificar se chave existe) |
|
|
|
|
* @param args lista de argumentos |
|
|
|
|
* @param key chave que será procurada |
|
|
|
|
* @return retorna o valor da chave, NULL chave não existe ou o valor é nulo( use exist_key para verificar se chave existe) |
|
|
|
|
*/ |
|
|
|
|
const char *ami_get_key_value(ARGS **args, const char *key); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
* Adiciona argumento para estrutura RESPONSE |
|
|
|
|
* \param args lista de argumentos |
|
|
|
|
* \param arg argumento que será inserido na lista |
|
|
|
|
* @param args lista de argumentos |
|
|
|
|
* @param arg argumento que será inserido na lista |
|
|
|
|
*/ |
|
|
|
|
void ami_args_add( ARGS **args, ARGS *arg ); |
|
|
|
|
|
|
|
|
@ -179,7 +179,7 @@ void ami_args_add( ARGS **args, ARGS *arg );
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
* Cria uma estrutura para um argumento. |
|
|
|
|
* \return arg estrutura do tipo ARGS |
|
|
|
|
* @return arg estrutura do tipo ARGS |
|
|
|
|
*/ |
|
|
|
|
ARGS *ami_arg_create(); |
|
|
|
|
|
|
|
|
@ -188,7 +188,7 @@ ARGS *ami_arg_create();
|
|
|
|
|
/*!
|
|
|
|
|
* libera o ponteiro para estrutura do argumento.
|
|
|
|
|
*
|
|
|
|
|
* \return void |
|
|
|
|
* @return void |
|
|
|
|
*/ |
|
|
|
|
void ami_args_free(ARGS *arg); |
|
|
|
|
|
|
|
|
@ -196,7 +196,7 @@ void ami_args_free(ARGS *arg);
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
* libera lista de argumentos. O ponteiro atuais e membros next args->next |
|
|
|
|
* \param args pointeiro para essa lista |
|
|
|
|
* @param args pointeiro para essa lista |
|
|
|
|
*
|
|
|
|
|
*/ |
|
|
|
|
void ami_list_args_free(ARGS *args); |
|
|
|
@ -205,7 +205,7 @@ void ami_list_args_free(ARGS *args);
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
* Cria estrutura RESPONSE |
|
|
|
|
* \return response estrutura vazia que será usada para preencher resposta da AMI |
|
|
|
|
* @return response estrutura vazia que será usada para preencher resposta da AMI |
|
|
|
|
*/ |
|
|
|
|
RESPONSE *ami_response_create(); |
|
|
|
|
|
|
|
|
@ -213,8 +213,8 @@ RESPONSE *ami_response_create();
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
* Adiciona Response na estrutura Action |
|
|
|
|
* \param action estrutura action |
|
|
|
|
* \param response será adicionado para o ACtion |
|
|
|
|
* @param action estrutura action |
|
|
|
|
* @param response será adicionado para o ACtion |
|
|
|
|
*/ |
|
|
|
|
void ami_action_response_add(ACTION *action, RESPONSE *response); |
|
|
|
|
|
|
|
|
@ -222,7 +222,7 @@ void ami_action_response_add(ACTION *action, RESPONSE *response);
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
* Libera espaço do ponteiro da entrutura RESPONSE |
|
|
|
|
* \param response estrutura response que será liberada |
|
|
|
|
* @param response estrutura response que será liberada |
|
|
|
|
*/ |
|
|
|
|
int ami_response_free(RESPONSE *response); |
|
|
|
|
|
|
|
|
@ -230,7 +230,7 @@ int ami_response_free(RESPONSE *response);
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
* criar estrutura para preenche-la com resposta da action |
|
|
|
|
* \return ACTION nova estrutura ACTION
|
|
|
|
|
* @return ACTION nova estrutura ACTION
|
|
|
|
|
*/ |
|
|
|
|
ACTION *ami_action_create(); |
|
|
|
|
|
|
|
|
@ -238,26 +238,26 @@ ACTION *ami_action_create();
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
* liberar uma action da estrutura |
|
|
|
|
* \param action lista de actions |
|
|
|
|
* \param toremove o action que será escluída da lista |
|
|
|
|
* \return 0 sempre |
|
|
|
|
* @param action lista de actions |
|
|
|
|
* @param toremove o action que será escluída da lista |
|
|
|
|
* @return 0 sempre |
|
|
|
|
*/ |
|
|
|
|
int ami_action_remove(ACTION **list_action, ACTION *toremove); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
* remove uma ACTION pelo actionid da lista de ACTION e invoca ami_action_free para liberar memória |
|
|
|
|
* \param list_action lista de estruturas ACTION |
|
|
|
|
* \param actionid que será procura na lista de actionid |
|
|
|
|
* \return 0 sucesso ou -1 não foi encontrado uma ACTION com actionid |
|
|
|
|
* @param list_action lista de estruturas ACTION |
|
|
|
|
* @param actionid que será procura na lista de actionid |
|
|
|
|
* @return 0 sucesso ou -1 não foi encontrado uma ACTION com actionid |
|
|
|
|
*/ |
|
|
|
|
int ami_action_remove_actionid( ACTION **list_action, const char *actionid ); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
* libera toda a lista do action |
|
|
|
|
* \param list_action lista das action |
|
|
|
|
* \return 0 |
|
|
|
|
* @param list_action lista das action |
|
|
|
|
* @return 0 |
|
|
|
|
*/ |
|
|
|
|
int ami_list_action_free(ACTION *list_action); |
|
|
|
|
|
|
|
|
@ -267,10 +267,10 @@ int ami_list_action_free(ACTION *list_action);
|
|
|
|
|
* remove a actionid da lista de actionid ativas. A biblioteca vai ignorar actionid que estão fora dessa estrutura.\n |
|
|
|
|
* Apenas quando essa actionid for concluída |
|
|
|
|
* |
|
|
|
|
* \param list_actions lista de actionid ativas |
|
|
|
|
* \param actionid actionid que será excluída da lista |
|
|
|
|
* @param list_actions lista de actionid ativas |
|
|
|
|
* @param actionid actionid que será excluída da lista |
|
|
|
|
* |
|
|
|
|
* \return sucesso 0, falha -1 |
|
|
|
|
* @return sucesso 0, falha -1 |
|
|
|
|
*/ |
|
|
|
|
int ami_actionid_remove( ACTIONID **list_actions, const char *actionid ); |
|
|
|
|
|
|
|
|
@ -278,8 +278,8 @@ int ami_actionid_remove( ACTIONID **list_actions, const char *actionid );
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
* libera action a estrutura action |
|
|
|
|
* \param action ponteiro para estrutura action |
|
|
|
|
* \return sempre sucesso 0 |
|
|
|
|
* @param action ponteiro para estrutura action |
|
|
|
|
* @return sempre sucesso 0 |
|
|
|
|
*/ |
|
|
|
|
int ami_action_free(ACTION *action); |
|
|
|
|
|
|
|
|
@ -287,9 +287,9 @@ int ami_action_free(ACTION *action);
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
* Adicionar action na lista de action |
|
|
|
|
* \param action lista action |
|
|
|
|
* \param next estrutura action que será inserida |
|
|
|
|
* \return sucesso 0, falha -1 |
|
|
|
|
* @param action lista action |
|
|
|
|
* @param next estrutura action que será inserida |
|
|
|
|
* @return sucesso 0, falha -1 |
|
|
|
|
*/ |
|
|
|
|
int ami_action_add(ACTION **action, ACTION *next); |
|
|
|
|
|
|
|
|
@ -297,8 +297,8 @@ int ami_action_add(ACTION **action, ACTION *next);
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
* Defini a actionid do response na estrutura action |
|
|
|
|
* \param action ponteiro action |
|
|
|
|
* \return sucesso 0, falha -1 |
|
|
|
|
* @param action ponteiro action |
|
|
|
|
* @return sucesso 0, falha -1 |
|
|
|
|
*/ |
|
|
|
|
int ami_set_action_actionid( ACTION *action ); |
|
|
|
|
|
|
|
|
@ -306,42 +306,42 @@ int ami_set_action_actionid( ACTION *action );
|
|
|
|
|
/*!
|
|
|
|
|
* Adiociona o event dentro da actions. Esse event precisa ser resposta e estar com uma action. |
|
|
|
|
* |
|
|
|
|
* \param list_action lista de actions |
|
|
|
|
* \para event estrutura EVENT |
|
|
|
|
* \return sucesso 0, event não adicionado -1 |
|
|
|
|
* @param list_action lista de actions |
|
|
|
|
* @param event estrutura EVENT |
|
|
|
|
* @return sucesso 0, event não adicionado -1 |
|
|
|
|
*/ |
|
|
|
|
int ami_action_event_add(ACTION **list_action, EVENT *event); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
* Obter a ACTION que corresponde o actionid |
|
|
|
|
* \param list_actions lista das actions
|
|
|
|
|
* \param actionid procurar a actions que tem o mesmo |
|
|
|
|
* \return sucesso action, NULL não existe action com aquela actionid
|
|
|
|
|
* @param list_actions lista das actions
|
|
|
|
|
* @param actionid procurar a actions que tem o mesmo |
|
|
|
|
* @return sucesso action, NULL não existe action com aquela actionid
|
|
|
|
|
*/ |
|
|
|
|
ACTION *ami_get_action(ACTION **list_actions, const char* actionid); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
* Retira os eventos dentro da estrutura ami e coloca NULL no ami->events |
|
|
|
|
* \param events lista de eventos |
|
|
|
|
* \return np_events
|
|
|
|
|
* @param events lista de eventos |
|
|
|
|
* @return np_events
|
|
|
|
|
*/ |
|
|
|
|
EVENT *ami_isolate_events(EVENT **events); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
* Retirar response da estrutura action |
|
|
|
|
* \param action estrutura da resposta |
|
|
|
|
* \return reponse
|
|
|
|
|
* @param action estrutura da resposta |
|
|
|
|
* @return reponse
|
|
|
|
|
*/ |
|
|
|
|
RESPONSE *ami_isolate_action_response( ACTION *action ); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
* Retirar eventos da action |
|
|
|
|
* \param action estrutura de resposta |
|
|
|
|
* \return events
|
|
|
|
|
* @param action estrutura de resposta |
|
|
|
|
* @return events
|
|
|
|
|
*/ |
|
|
|
|
EVENT *ami_isolate_action_events(ACTION *action); |
|
|
|
|
|
|
|
|
|