Commit bb4f663f10b8fdb1601d6227ae6e80c9a321936b

Authored by Wesnydy Ribeiro
1 parent 40a0bfdb
Exists in master and in 1 other branch devel

Documentação do componente servico

servico/src/include/serviceException.h
1   -/***************************************************************************
2   - * Universidade Federal da Paraíba *
3   - * Copyright (C) 2014 by Laboratório de Aplicações de Vídeo Digital *
4   - * *
5   - * Centro de Informática - UFPB - Campus I *
6   - * João Pessoa - PB - Brasil *
7   - * *
8   - * Author: Erickson Silva (erickson.silva@lavid.ufpb.br) *
9   - * *
10   - **************************************************************************/
  1 +/**
  2 + * \file serviceException.h
  3 + *
  4 + * \author Erickson Silva <erickson.silva@lavid.ufpb.br>
  5 + * \date 2014
  6 + */
11 7  
12 8 #ifndef SERVICEEXCEPTION_H
13 9 #define SERVICEEXCEPTION_H
... ...
servico/src/include/serviceTester.h
  1 +/**
  2 + * \file serviceTester.h
  3 + *
  4 + * \author Wesnydy Lima Ribeiro <wesnydy@lavid.ufpb.br>
  5 + * \date 2015
  6 + */
  7 +
1 8 #ifndef SERVICETESTER_H
2 9 #define SERVICETESTER_H
3 10  
... ... @@ -23,11 +30,28 @@
23 30 using namespace util;
24 31 using namespace std;
25 32  
  33 +/** \brief Classe que implementa o serviço de testes.
  34 + *
  35 + * \headerfile servico/src/include/serviceTester.h
  36 + */
26 37 class ServiceTester: public Thread {
27 38  
28 39 public:
  40 + /** Construtor.
  41 + *
  42 + * \param position Posição do vídeo de LIBRAS em relação ao vídeo original.
  43 + * \param size Tamanho do vídeo de LIBRAS.
  44 + * \param Background Plano de fundo do vídeo de LIBRAS.
  45 + */
29 46 ServiceTester(int position, int size, int background);
  47 +
  48 + /** Destrutor */
30 49 ~ServiceTester();
  50 +
  51 + /** Indica o fim do processo de testes dos módulos.
  52 + *
  53 + * \return O status do do processo.
  54 + */
31 55 bool isFinished();
32 56  
33 57 private:
... ... @@ -48,14 +72,41 @@ private:
48 72 ServiceWindowGenerationFromSRT* service_srt;
49 73 ServiceWindowGenerationFromText* service_text;
50 74  
  75 + /** Checa o serviço de vídeo com legendas */
51 76 void checkServiceSRT();
  77 +
  78 + /** Checa o serviço de reconhecimento de vídeo */
52 79 void checkServiceRec();
  80 +
  81 + /** Checa o serviço de tradução de texto */
53 82 void checkServiceText();
54 83  
  84 + /** Este método é chamado quando a Thread for iniciada. */
55 85 void Run();
  86 +
  87 + /** Indica se houve falha em algum processo.
  88 + *
  89 + * \return retorna True se ocorreu algum erro, caso contrário, retorna false.
  90 + */
56 91 bool hasFailed();
  92 +
  93 + /** Remove os arquivos temporários, gerados pelos processos.*/
57 94 void deleteFiles();
  95 +
  96 + /** Define o path dos arquivos temporários. */
58 97 void setPathContents();
  98 +
  99 + /** Verifica os arquivos de saída gerados.
  100 + *
  101 + * Caso os arquivos de sáida esperarados não existam,
  102 + * um status de falha será retornado.
  103 + * Nos casos em que houver mixagem, o vídeo de entrada
  104 + * e o vídeo de saída serão comparados pelo tamanho.
  105 + *
  106 + * \param fileIn arquivo de entrada.
  107 + * \param fileOut arquivo de saída.
  108 + * \return Status da verificação.
  109 + */
59 110 bool checkFiles(string fileIn, string fileOut);
60 111 };
61 112  
... ...
servico/src/include/serviceWindowGeneration.h
  1 +/**
  2 + * \file serviceWindowGeneration.h
  3 + */
  4 +
1 5 #ifndef SERVICEWINDOWGENERATION_H
2 6 #define SERVICEWINDOWGENERATION_H
3 7  
... ... @@ -36,6 +40,10 @@ using namespace std;
36 40 using namespace lavidlib;
37 41 using namespace util;
38 42  
  43 +/** \brief A classe base para todos os serviços.
  44 + *
  45 + * \headerfile servico/src/include/serviceWindowGeneration.h
  46 + */
39 47 class ServiceWindowGeneration {
40 48  
41 49 protected:
... ... @@ -67,13 +75,32 @@ protected:
67 75 int numero_legendas;
68 76 int legendas_enviadas;
69 77  
  78 + /** Seta o número de legendas.
  79 + *
  80 + * \param sub_size A quantidade de legendas.
  81 + */
70 82 virtual void setSizeOfSubtitles(int sub_size) = 0;
  83 +
  84 + /** Define o path dos arquivos de saída. */
71 85 virtual void setPathContents() = 0;
72 86  
73 87 public:
  88 + /** Define o path do vídeo de LIBRAS. */
74 89 virtual void setPathLibras() = 0;
  90 +
  91 + /** Inicializa o serviço. */
75 92 virtual void initialize() = 0;
  93 +
  94 + /** Indica o fim do processo do serviço.
  95 + *
  96 + * \return O status do processo.
  97 + */
76 98 virtual bool isFinished() = 0;
  99 +
  100 + /** Envia para a tradução a sentença obtida.
  101 + *
  102 + * \param text A sentença obtida.
  103 + */
77 104 virtual void notifyTranslator(unsigned char* text) = 0;
78 105 };
79 106  
... ...
servico/src/include/serviceWindowGenerationFromRec.h
  1 +/**
  2 + * \file serviceWindowGenerationFromRec.h
  3 + */
  4 +
1 5 #ifndef SERVICEWINDOWGENERATIONFROMREC_H
2 6 #define SERVICEWINDOWGENERATIONFROMREC_H
3 7  
... ... @@ -9,31 +13,117 @@
9 13 #define SERVICE_TYPE_REC_ONLY_AUDIO 5
10 14 #define SERVICE_TYPE_REC_UNMIXED 6
11 15  
  16 +/** \brief Classe que implementa o serviço de Reconhecimento.
  17 + *
  18 + * \headerfile servico/src/include/serviceWindowGenerationFromRec.h
  19 + */
12 20 class ServiceWindowGenerationFromRec : public ServiceWindowGeneration, public RecognizeListener, public ListenerTradutor, public ListenerRenderer, public Thread {
13 21  
14 22 private:
15 23 Recognize* rec;
16 24  
  25 + /** Adiciona a etiqueta de tempo.
  26 + *
  27 + * Cada sentença conterá sua respectiva de tempo.
  28 + * \param pts A etiqueta de tempo.
  29 + */
17 30 void addPTS(int64_t pts);
  31 +
  32 + /** Seta o número de legendas.
  33 + *
  34 + * \param A quantidade de legendas.
  35 + * \exception ServiceException Se houver algum erro durante a execução.
  36 + */
18 37 void setSizeOfSubtitles(int sub_size);
  38 +
  39 + /** Define o path do vídeo de LIBRAS. */
19 40 void setPathLibras();
  41 +
  42 + /** Define o path dos arquivos de saída.
  43 + *
  44 + * \exception RuntimeException Se houver algum erro durante a execução.
  45 + */
20 46 void setPathContents();
  47 +
  48 + /** Indica se o serviço está sendo executado.
  49 + *
  50 + * \return O status do serviço.
  51 + */
21 52 bool isRunning();
22 53 public:
  54 +
  55 + /** Construtor.
  56 + *
  57 + * \param pathVideo Path do vídeo de entrada.
  58 + * \param position Posição do vídeo de LIBRAS em relação ao vídeo original.
  59 + * \param size Tamanho do vídeo de LIBRAS.
  60 + * \param transparency Transparência do plano de fundo do vídeo.
  61 + * \param id Identificação do cliente.
  62 + * \param client Modo de execução.
  63 + * \param serviceType Tipo do serviço.
  64 + * \param rate
  65 + */
23 66 ServiceWindowGenerationFromRec(char* pathVideo, int position, int size,
24 67 int transparency, char* id, char* client, int serviceType, char* rate);
  68 +
  69 + /** Construtor.
  70 + *
  71 + * \param pathVideo Path do vídeo de entrada.
  72 + * \param pos Posição do vídeo de LIBRAS em relação ao vídeo original.
  73 + * \param size Tamanho do vídeo de LIBRAS.
  74 + * \param transp Transparência do plano de fundo do vídeo.
  75 + * \param id Identificação do cliente.
  76 + * \param mode Modo de execução.
  77 + * \param serviceType Tipo do serviço.
  78 + */
25 79 ServiceWindowGenerationFromRec(char* pathVideo, int pos, int size,
26 80 int transp, char* id, int mode, int serviceType);
  81 +
  82 + /** Destrutor */
27 83 ~ServiceWindowGenerationFromRec();
28 84  
  85 + /** Notifica novas sentenças reconhecidas.
  86 + *
  87 + * \param text A sentença reconhecida.
  88 + * \param pts A etiqueta de tempo da sentença.
  89 + */
29 90 void notifyTextRecognized(unsigned char* text, int64_t pts);
  91 +
  92 + /** Recebe a notificação do fim da renderização do vídeo */
30 93 void notifyEndOfRenderization();
  94 +
  95 + /** Recebe a notificação do fim da tradução da sentença.
  96 + *
  97 + * \param glosa A sentença traduzida.
  98 + * \exception ServiceException Se houver algum erro durante a execução.
  99 + */
31 100 void notifyTranslation(char* glosa);
  101 +
  102 + /** Envia para a tradução a sentença obtida.
  103 + *
  104 + * \param text A sentença obtida.
  105 + */
32 106 void notifyTranslator(unsigned char* text);
  107 +
  108 + /** Notifica o fim do reconhecimento.
  109 + *
  110 + * \param sentences_size O número de sentenças reconhecidas.
  111 + */
33 112 void notifyEnd(int sentences_size);
34 113  
  114 + /** Inicia o serviço de reconhecimento.
  115 + *
  116 + * \exception ServiceException Se houver algum erro durante a execução.
  117 + */
35 118 void initialize();
  119 +
  120 + /** Indica o fim do processo do serviço.
  121 + *
  122 + * \return O status do processo.
  123 + */
36 124 bool isFinished();
  125 +
  126 + /** Este método é chamado quando a Thread for iniciada. */
37 127 void Run();
38 128 };
39 129  
... ...
servico/src/include/serviceWindowGenerationFromSRT.h
  1 +/**
  2 + * \file serviceWindowGenerationFromSRT.h
  3 + */
  4 +
1 5 #ifndef SERVICEWINDOWGENERATIONFROMSRT_H
2 6 #define SERVICEWINDOWGENERATIONFROMSRT_H
3 7  
... ... @@ -8,6 +12,10 @@
8 12 #define SERVICE_TYPE_SRT 1
9 13 #define SERVICE_TYPE_SRT_ONLY 4
10 14  
  15 +/** \brief Classe que implementa o serviço de extração de legendas.
  16 + *
  17 + * \headerfile servico/src/include/serviceWindowGenerationFromSRT.h
  18 + */
11 19 class ServiceWindowGenerationFromSRT : public ServiceWindowGeneration, public ListenerSRT, public ListenerTradutor, public ListenerRenderer, public Thread {
12 20  
13 21 private:
... ... @@ -16,28 +24,112 @@ private:
16 24  
17 25 char* path_srt;
18 26  
  27 + /** Adiciona a etiqueta de tempo.
  28 + *
  29 + * Cada sentença conterá sua respectiva de tempo.
  30 + * \param pts A etiqueta de tempo.
  31 + */
19 32 void addPTS(int64_t pts);
  33 +
  34 + /** Seta o número de legendas.
  35 + *
  36 + * \param A quantidade de legendas.
  37 + * \exception ServiceException Se houver algum erro durante a execução.
  38 + */
20 39 void setSizeOfSubtitles(int sub_size);
  40 +
  41 + /** Define o path do vídeo de LIBRAS. */
21 42 void setPathLibras();
  43 +
  44 + /** Define o path dos arquivos de saída.
  45 + *
  46 + * \exception RuntimeException Se houver algum erro durante a execução.
  47 + */
22 48 void setPathContents();
  49 +
  50 + /** Indica se o serviço está sendo executado.
  51 + *
  52 + * \return O status do serviço.
  53 + */
23 54 bool isRunning();
24 55 public:
25   - //construtor de serviço de video e legenda
  56 + /** Construtor do serviço de vídeo com legendas.
  57 + *
  58 + * \param pathVideo Path do vídeo de entrada.
  59 + * \param pathSRT Path do arquivo de legendas.
  60 + * \param sublanguage Linguagem das legendas do arquivo.
  61 + * \param pos Posição do vídeo de LIBRAS em relação ao vídeo original.
  62 + * \param size Tamanho do vídeo de LIBRAS.
  63 + * \param transp Transparência do plano de fundo do vídeo.
  64 + * \param id Identificação do cliente.
  65 + * \param mode Modo de execução.
  66 + * \param serviceType Tipo do serviço.
  67 + */
26 68 ServiceWindowGenerationFromSRT(char* pathVideo, char* pathSRT, int sublanguage, int pos,
27 69 int size, int transp, char* id, int mode, int serviceType);
28   - //construtor de serviço de somente legenda
  70 +
  71 + /** Construtor do serviço de legendas.
  72 + *
  73 + * \param pathSRT Path do arquivo de legendas.
  74 + * \param sublanguage Linguagem das legendas do arquivo.
  75 + * \param transparency Transparência do plano de fundo do vídeo.
  76 + * \param id Identificação do cliente.
  77 + * \param mode Modo de execução.
  78 + * \param serviceType Tipo do serviço.
  79 + */
29 80 ServiceWindowGenerationFromSRT(char* pathSRT, int sublanguage, int transparency, char* id, int mode, int serviceType);
  81 +
  82 + /** Destrutor */
30 83 ~ServiceWindowGenerationFromSRT();
31 84  
  85 + /** Notifica novas legendas extraídas.
  86 + *
  87 + * \param subtitle A legenda extraída.
  88 + * \param pts A etiqueta de tempo da legenda.
  89 + */
32 90 void notifySubtitle(unsigned char* subtitle, int64_t pts);
  91 +
  92 + /** Recebe a notificação do fim da renderização do vídeo */
33 93 void notifyEndOfRenderization();
  94 +
  95 + /** Recebe a notificação do fim da tradução da legenda.
  96 + *
  97 + * \param glosa A legenda traduzida.
  98 + */
34 99 void notifyTranslation(char* glosas);
  100 +
  101 + /** Envia para a tradução a legenda obtida.
  102 + *
  103 + * \param text A legenda obtida.
  104 + */
35 105 void notifyTranslator(unsigned char* text);
  106 +
  107 + /** Envia a glosa para o renderizador.
  108 + *
  109 + * \param glosa A glosa obtida.
  110 + * \exception ServiceException Se houver algum erro durante a execução.
  111 + */
36 112 void notifyRenderer(string glosa);
  113 +
  114 + /** Notifica o fim da extração de legendas.
  115 + *
  116 + * \param sub_size O número de legendas extraídas.
  117 + */
37 118 void notifyEnd(int sub_size);
38 119  
  120 + /** Inicia o serviço de extração de legendas.
  121 + *
  122 + * \exception ServiceException Se houver algum erro durante a execução.
  123 + */
39 124 void initialize();
  125 +
  126 + /** Indica o fim do processo do serviço.
  127 + *
  128 + * \return O status do processo.
  129 + */
40 130 bool isFinished();
  131 +
  132 + /** Este método é chamado quando a Thread for iniciada. */
41 133 void Run();
42 134 };
43 135  
... ...
servico/src/include/serviceWindowGenerationFromText.h
  1 +/**
  2 + * \file serviceWindowGenerationFromTXT.h
  3 + */
  4 +
1 5 #ifndef SERVICEWINDOWGENERATIONFROMTEXT_H
2 6 #define SERVICEWINDOWGENERATIONFROMTEXT_H
3 7  
... ... @@ -7,29 +11,98 @@
7 11  
8 12 #define MAX_TEXT_SIZE 2048 //FIXME: está restrito a 2K bytes de texto
9 13  
  14 +/** \brief Classe que implementa o serviço de extração de texto.
  15 + *
  16 + * \headerfile servico/src/include/serviceWindowGenerationFromTXT.h
  17 + */
10 18 class ServiceWindowGenerationFromText : public ServiceWindowGeneration, public ListenerTXT, public ListenerTradutor, public ListenerRenderer, public Thread {
11 19  
12 20 private:
13 21 ExtratorFactory* extrator_factory;
14 22 ExtratorTXT* extratorTXT;
15 23  
  24 + /** Seta o número de linhas.
  25 + *
  26 + * \param A quantidade de linhas.
  27 + * \exception ServiceException Se houver algum erro durante a execução.
  28 + */
16 29 void setSizeOfSubtitles(int sub_size);
  30 +
  31 + /** Define o path do vídeo de LIBRAS. */
17 32 void setPathLibras();
  33 +
  34 + /** Define o path dos arquivos de saída.
  35 + *
  36 + * \exception RuntimeException Se houver algum erro durante a execução.
  37 + */
18 38 void setPathContents();
  39 +
  40 + /** Indica se o serviço está sendo executado.
  41 + *
  42 + * \return O status do serviço.
  43 + */
19 44 bool isRunning();
20 45 public:
  46 + /** Construtor.
  47 + *
  48 + * \param pathFile Path do arquivo de texto de entrada.
  49 + * \param sublanguage Linguagem das legendas do arquivo.
  50 + * \param transparency Transparência do plano de fundo do vídeo.
  51 + * \param id Identificação do cliente.
  52 + * \param mode Modo de execução.
  53 + */
21 54 ServiceWindowGenerationFromText(char* pathFile, int sublanguage, int transparency, char* id, int mode);
  55 +
  56 + /** Destrutor */
22 57 ~ServiceWindowGenerationFromText();
23 58  
  59 + /** Notifica novas linhas extraídas.
  60 + *
  61 + * \param line A linha extraída.
  62 + */
24 63 void notifyLine(unsigned char* line);
  64 +
  65 + /** Recebe a notificação do fim da renderização do vídeo */
25 66 void notifyEndOfRenderization();
  67 +
  68 + /** Recebe a notificação do fim da tradução do texto.
  69 + *
  70 + * \param glosa O texto traduzido.
  71 + */
26 72 void notifyTranslation(char* glosa);
  73 +
  74 + /** Envia para a tradução a linha obtida.
  75 + *
  76 + * \param text A linha obtida.
  77 + */
27 78 void notifyTranslator(unsigned char* text);
  79 +
  80 + /** Envia a glosa para o renderizador.
  81 + *
  82 + * \param glosa A glosa obtida.
  83 + * \exception ServiceException Se houver algum erro durante a execução.
  84 + */
28 85 void notifyRenderer(string glosa);
  86 +
  87 + /** Notifica o fim da extração do texto.
  88 + *
  89 + * \param line_size O número de linhas extraídas.
  90 + */
29 91 void notifyEnd(int line_size);
30 92  
  93 + /** Inicia o serviço de extração de texto.
  94 + *
  95 + * \exception ServiceException Se houver algum erro durante a execução.
  96 + */
31 97 void initialize();
  98 +
  99 + /** Indica o fim do processo do serviço.
  100 + *
  101 + * \return O status do processo.
  102 + */
32 103 bool isFinished();
  104 +
  105 + /** Este método é chamado quando a Thread for iniciada. */
33 106 void Run();
34 107 };
35 108  
... ...