diff --git a/servico/src/include/serviceException.h b/servico/src/include/serviceException.h index 8698d7b..b346052 100644 --- a/servico/src/include/serviceException.h +++ b/servico/src/include/serviceException.h @@ -1,13 +1,9 @@ -/*************************************************************************** - * Universidade Federal da Paraíba * - * Copyright (C) 2014 by Laboratório de Aplicações de Vídeo Digital * - * * - * Centro de Informática - UFPB - Campus I * - * João Pessoa - PB - Brasil * - * * - * Author: Erickson Silva (erickson.silva@lavid.ufpb.br) * - * * - **************************************************************************/ +/** + * \file serviceException.h + * + * \author Erickson Silva + * \date 2014 + */ #ifndef SERVICEEXCEPTION_H #define SERVICEEXCEPTION_H diff --git a/servico/src/include/serviceTester.h b/servico/src/include/serviceTester.h index 6538227..e3c3ccb 100644 --- a/servico/src/include/serviceTester.h +++ b/servico/src/include/serviceTester.h @@ -1,3 +1,10 @@ +/** + * \file serviceTester.h + * + * \author Wesnydy Lima Ribeiro + * \date 2015 + */ + #ifndef SERVICETESTER_H #define SERVICETESTER_H @@ -23,11 +30,28 @@ using namespace util; using namespace std; +/** \brief Classe que implementa o serviço de testes. + * + * \headerfile servico/src/include/serviceTester.h + */ class ServiceTester: public Thread { public: + /** Construtor. + * + * \param position Posição do vídeo de LIBRAS em relação ao vídeo original. + * \param size Tamanho do vídeo de LIBRAS. + * \param Background Plano de fundo do vídeo de LIBRAS. + */ ServiceTester(int position, int size, int background); + + /** Destrutor */ ~ServiceTester(); + + /** Indica o fim do processo de testes dos módulos. + * + * \return O status do do processo. + */ bool isFinished(); private: @@ -48,14 +72,41 @@ private: ServiceWindowGenerationFromSRT* service_srt; ServiceWindowGenerationFromText* service_text; + /** Checa o serviço de vídeo com legendas */ void checkServiceSRT(); + + /** Checa o serviço de reconhecimento de vídeo */ void checkServiceRec(); + + /** Checa o serviço de tradução de texto */ void checkServiceText(); + /** Este método é chamado quando a Thread for iniciada. */ void Run(); + + /** Indica se houve falha em algum processo. + * + * \return retorna True se ocorreu algum erro, caso contrário, retorna false. + */ bool hasFailed(); + + /** Remove os arquivos temporários, gerados pelos processos.*/ void deleteFiles(); + + /** Define o path dos arquivos temporários. */ void setPathContents(); + + /** Verifica os arquivos de saída gerados. + * + * Caso os arquivos de sáida esperarados não existam, + * um status de falha será retornado. + * Nos casos em que houver mixagem, o vídeo de entrada + * e o vídeo de saída serão comparados pelo tamanho. + * + * \param fileIn arquivo de entrada. + * \param fileOut arquivo de saída. + * \return Status da verificação. + */ bool checkFiles(string fileIn, string fileOut); }; diff --git a/servico/src/include/serviceWindowGeneration.h b/servico/src/include/serviceWindowGeneration.h index b1672d6..5cba06f 100644 --- a/servico/src/include/serviceWindowGeneration.h +++ b/servico/src/include/serviceWindowGeneration.h @@ -1,3 +1,7 @@ +/** + * \file serviceWindowGeneration.h + */ + #ifndef SERVICEWINDOWGENERATION_H #define SERVICEWINDOWGENERATION_H @@ -36,6 +40,10 @@ using namespace std; using namespace lavidlib; using namespace util; +/** \brief A classe base para todos os serviços. + * + * \headerfile servico/src/include/serviceWindowGeneration.h + */ class ServiceWindowGeneration { protected: @@ -67,13 +75,32 @@ protected: int numero_legendas; int legendas_enviadas; + /** Seta o número de legendas. + * + * \param sub_size A quantidade de legendas. + */ virtual void setSizeOfSubtitles(int sub_size) = 0; + + /** Define o path dos arquivos de saída. */ virtual void setPathContents() = 0; public: + /** Define o path do vídeo de LIBRAS. */ virtual void setPathLibras() = 0; + + /** Inicializa o serviço. */ virtual void initialize() = 0; + + /** Indica o fim do processo do serviço. + * + * \return O status do processo. + */ virtual bool isFinished() = 0; + + /** Envia para a tradução a sentença obtida. + * + * \param text A sentença obtida. + */ virtual void notifyTranslator(unsigned char* text) = 0; }; diff --git a/servico/src/include/serviceWindowGenerationFromRec.h b/servico/src/include/serviceWindowGenerationFromRec.h index 6a0b1a9..318c4cf 100644 --- a/servico/src/include/serviceWindowGenerationFromRec.h +++ b/servico/src/include/serviceWindowGenerationFromRec.h @@ -1,3 +1,7 @@ +/** + * \file serviceWindowGenerationFromRec.h + */ + #ifndef SERVICEWINDOWGENERATIONFROMREC_H #define SERVICEWINDOWGENERATIONFROMREC_H @@ -9,31 +13,117 @@ #define SERVICE_TYPE_REC_ONLY_AUDIO 5 #define SERVICE_TYPE_REC_UNMIXED 6 +/** \brief Classe que implementa o serviço de Reconhecimento. + * + * \headerfile servico/src/include/serviceWindowGenerationFromRec.h + */ class ServiceWindowGenerationFromRec : public ServiceWindowGeneration, public RecognizeListener, public ListenerTradutor, public ListenerRenderer, public Thread { private: Recognize* rec; + /** Adiciona a etiqueta de tempo. + * + * Cada sentença conterá sua respectiva de tempo. + * \param pts A etiqueta de tempo. + */ void addPTS(int64_t pts); + + /** Seta o número de legendas. + * + * \param A quantidade de legendas. + * \exception ServiceException Se houver algum erro durante a execução. + */ void setSizeOfSubtitles(int sub_size); + + /** Define o path do vídeo de LIBRAS. */ void setPathLibras(); + + /** Define o path dos arquivos de saída. + * + * \exception RuntimeException Se houver algum erro durante a execução. + */ void setPathContents(); + + /** Indica se o serviço está sendo executado. + * + * \return O status do serviço. + */ bool isRunning(); public: + + /** Construtor. + * + * \param pathVideo Path do vídeo de entrada. + * \param position Posição do vídeo de LIBRAS em relação ao vídeo original. + * \param size Tamanho do vídeo de LIBRAS. + * \param transparency Transparência do plano de fundo do vídeo. + * \param id Identificação do cliente. + * \param client Modo de execução. + * \param serviceType Tipo do serviço. + * \param rate + */ ServiceWindowGenerationFromRec(char* pathVideo, int position, int size, int transparency, char* id, char* client, int serviceType, char* rate); + + /** Construtor. + * + * \param pathVideo Path do vídeo de entrada. + * \param pos Posição do vídeo de LIBRAS em relação ao vídeo original. + * \param size Tamanho do vídeo de LIBRAS. + * \param transp Transparência do plano de fundo do vídeo. + * \param id Identificação do cliente. + * \param mode Modo de execução. + * \param serviceType Tipo do serviço. + */ ServiceWindowGenerationFromRec(char* pathVideo, int pos, int size, int transp, char* id, int mode, int serviceType); + + /** Destrutor */ ~ServiceWindowGenerationFromRec(); + /** Notifica novas sentenças reconhecidas. + * + * \param text A sentença reconhecida. + * \param pts A etiqueta de tempo da sentença. + */ void notifyTextRecognized(unsigned char* text, int64_t pts); + + /** Recebe a notificação do fim da renderização do vídeo */ void notifyEndOfRenderization(); + + /** Recebe a notificação do fim da tradução da sentença. + * + * \param glosa A sentença traduzida. + * \exception ServiceException Se houver algum erro durante a execução. + */ void notifyTranslation(char* glosa); + + /** Envia para a tradução a sentença obtida. + * + * \param text A sentença obtida. + */ void notifyTranslator(unsigned char* text); + + /** Notifica o fim do reconhecimento. + * + * \param sentences_size O número de sentenças reconhecidas. + */ void notifyEnd(int sentences_size); + /** Inicia o serviço de reconhecimento. + * + * \exception ServiceException Se houver algum erro durante a execução. + */ void initialize(); + + /** Indica o fim do processo do serviço. + * + * \return O status do processo. + */ bool isFinished(); + + /** Este método é chamado quando a Thread for iniciada. */ void Run(); }; diff --git a/servico/src/include/serviceWindowGenerationFromSRT.h b/servico/src/include/serviceWindowGenerationFromSRT.h index d7abc78..a28ecd1 100644 --- a/servico/src/include/serviceWindowGenerationFromSRT.h +++ b/servico/src/include/serviceWindowGenerationFromSRT.h @@ -1,3 +1,7 @@ +/** + * \file serviceWindowGenerationFromSRT.h + */ + #ifndef SERVICEWINDOWGENERATIONFROMSRT_H #define SERVICEWINDOWGENERATIONFROMSRT_H @@ -8,6 +12,10 @@ #define SERVICE_TYPE_SRT 1 #define SERVICE_TYPE_SRT_ONLY 4 +/** \brief Classe que implementa o serviço de extração de legendas. + * + * \headerfile servico/src/include/serviceWindowGenerationFromSRT.h + */ class ServiceWindowGenerationFromSRT : public ServiceWindowGeneration, public ListenerSRT, public ListenerTradutor, public ListenerRenderer, public Thread { private: @@ -16,28 +24,112 @@ private: char* path_srt; + /** Adiciona a etiqueta de tempo. + * + * Cada sentença conterá sua respectiva de tempo. + * \param pts A etiqueta de tempo. + */ void addPTS(int64_t pts); + + /** Seta o número de legendas. + * + * \param A quantidade de legendas. + * \exception ServiceException Se houver algum erro durante a execução. + */ void setSizeOfSubtitles(int sub_size); + + /** Define o path do vídeo de LIBRAS. */ void setPathLibras(); + + /** Define o path dos arquivos de saída. + * + * \exception RuntimeException Se houver algum erro durante a execução. + */ void setPathContents(); + + /** Indica se o serviço está sendo executado. + * + * \return O status do serviço. + */ bool isRunning(); public: - //construtor de serviço de video e legenda + /** Construtor do serviço de vídeo com legendas. + * + * \param pathVideo Path do vídeo de entrada. + * \param pathSRT Path do arquivo de legendas. + * \param sublanguage Linguagem das legendas do arquivo. + * \param pos Posição do vídeo de LIBRAS em relação ao vídeo original. + * \param size Tamanho do vídeo de LIBRAS. + * \param transp Transparência do plano de fundo do vídeo. + * \param id Identificação do cliente. + * \param mode Modo de execução. + * \param serviceType Tipo do serviço. + */ ServiceWindowGenerationFromSRT(char* pathVideo, char* pathSRT, int sublanguage, int pos, int size, int transp, char* id, int mode, int serviceType); - //construtor de serviço de somente legenda + + /** Construtor do serviço de legendas. + * + * \param pathSRT Path do arquivo de legendas. + * \param sublanguage Linguagem das legendas do arquivo. + * \param transparency Transparência do plano de fundo do vídeo. + * \param id Identificação do cliente. + * \param mode Modo de execução. + * \param serviceType Tipo do serviço. + */ ServiceWindowGenerationFromSRT(char* pathSRT, int sublanguage, int transparency, char* id, int mode, int serviceType); + + /** Destrutor */ ~ServiceWindowGenerationFromSRT(); + /** Notifica novas legendas extraídas. + * + * \param subtitle A legenda extraída. + * \param pts A etiqueta de tempo da legenda. + */ void notifySubtitle(unsigned char* subtitle, int64_t pts); + + /** Recebe a notificação do fim da renderização do vídeo */ void notifyEndOfRenderization(); + + /** Recebe a notificação do fim da tradução da legenda. + * + * \param glosa A legenda traduzida. + */ void notifyTranslation(char* glosas); + + /** Envia para a tradução a legenda obtida. + * + * \param text A legenda obtida. + */ void notifyTranslator(unsigned char* text); + + /** Envia a glosa para o renderizador. + * + * \param glosa A glosa obtida. + * \exception ServiceException Se houver algum erro durante a execução. + */ void notifyRenderer(string glosa); + + /** Notifica o fim da extração de legendas. + * + * \param sub_size O número de legendas extraídas. + */ void notifyEnd(int sub_size); + /** Inicia o serviço de extração de legendas. + * + * \exception ServiceException Se houver algum erro durante a execução. + */ void initialize(); + + /** Indica o fim do processo do serviço. + * + * \return O status do processo. + */ bool isFinished(); + + /** Este método é chamado quando a Thread for iniciada. */ void Run(); }; diff --git a/servico/src/include/serviceWindowGenerationFromText.h b/servico/src/include/serviceWindowGenerationFromText.h index b0772d0..28a1888 100644 --- a/servico/src/include/serviceWindowGenerationFromText.h +++ b/servico/src/include/serviceWindowGenerationFromText.h @@ -1,3 +1,7 @@ +/** + * \file serviceWindowGenerationFromTXT.h + */ + #ifndef SERVICEWINDOWGENERATIONFROMTEXT_H #define SERVICEWINDOWGENERATIONFROMTEXT_H @@ -7,29 +11,98 @@ #define MAX_TEXT_SIZE 2048 //FIXME: está restrito a 2K bytes de texto +/** \brief Classe que implementa o serviço de extração de texto. + * + * \headerfile servico/src/include/serviceWindowGenerationFromTXT.h + */ class ServiceWindowGenerationFromText : public ServiceWindowGeneration, public ListenerTXT, public ListenerTradutor, public ListenerRenderer, public Thread { private: ExtratorFactory* extrator_factory; ExtratorTXT* extratorTXT; + /** Seta o número de linhas. + * + * \param A quantidade de linhas. + * \exception ServiceException Se houver algum erro durante a execução. + */ void setSizeOfSubtitles(int sub_size); + + /** Define o path do vídeo de LIBRAS. */ void setPathLibras(); + + /** Define o path dos arquivos de saída. + * + * \exception RuntimeException Se houver algum erro durante a execução. + */ void setPathContents(); + + /** Indica se o serviço está sendo executado. + * + * \return O status do serviço. + */ bool isRunning(); public: + /** Construtor. + * + * \param pathFile Path do arquivo de texto de entrada. + * \param sublanguage Linguagem das legendas do arquivo. + * \param transparency Transparência do plano de fundo do vídeo. + * \param id Identificação do cliente. + * \param mode Modo de execução. + */ ServiceWindowGenerationFromText(char* pathFile, int sublanguage, int transparency, char* id, int mode); + + /** Destrutor */ ~ServiceWindowGenerationFromText(); + /** Notifica novas linhas extraídas. + * + * \param line A linha extraída. + */ void notifyLine(unsigned char* line); + + /** Recebe a notificação do fim da renderização do vídeo */ void notifyEndOfRenderization(); + + /** Recebe a notificação do fim da tradução do texto. + * + * \param glosa O texto traduzido. + */ void notifyTranslation(char* glosa); + + /** Envia para a tradução a linha obtida. + * + * \param text A linha obtida. + */ void notifyTranslator(unsigned char* text); + + /** Envia a glosa para o renderizador. + * + * \param glosa A glosa obtida. + * \exception ServiceException Se houver algum erro durante a execução. + */ void notifyRenderer(string glosa); + + /** Notifica o fim da extração do texto. + * + * \param line_size O número de linhas extraídas. + */ void notifyEnd(int line_size); + /** Inicia o serviço de extração de texto. + * + * \exception ServiceException Se houver algum erro durante a execução. + */ void initialize(); + + /** Indica o fim do processo do serviço. + * + * \return O status do processo. + */ bool isFinished(); + + /** Este método é chamado quando a Thread for iniciada. */ void Run(); }; -- libgit2 0.21.2