serviceTester.h
2.94 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
/**
* \file serviceTester.h
*
* \author Wesnydy Lima Ribeiro <wesnydy@lavid.ufpb.br>
* \date 2015
*/
#ifndef SERVICETESTER_H
#define SERVICETESTER_H
#include <iostream>
#include <lavidlib/io/File.h>
#include <lavidlib/io/FileIO.h>
#include "serviceException.h"
#include "serviceWindowGenerationFromRec.h"
#include "serviceWindowGenerationFromSubtitle.h"
#include "serviceWindowGenerationFromText.h"
#define MODE_TEST 3
#define TESTER_ID "Test"
#define PATH_TEST_CONTENTS "vlibras_user/.vlibras-config/test/videos"
#define PATH_TEST_UPLOADS "vlibras_user/.vlibras-config/test/uploads"
#define VID_FILE "vlibras_user/.vlibras-config/test/uploads/test_video.mp4"
#define SRT_FILE "vlibras_user/.vlibras-config/test/uploads/test_srt.srt"
#define REC_FILE "vlibras_user/.vlibras-config/test/uploads/test_rec.mov"
#define TXT_FILE "vlibras_user/.vlibras-config/test/uploads/test_text.txt"
#define OUT_FILE "vlibras_user/.vlibras-config/test/videos/Test.mp4"
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:
int position;
int resolution;
int background;
bool fail;
bool finish;
string msgErr;
File* fIn;
File* fOut;
FileIO* fIO_in;
FileIO* fIO_out;
ServiceWindowGenerationFromRec* service_rec;
ServiceWindowGenerationFromSubtitle* 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);
};
#endif /* SERVICETESTER_H */