serviceWindowGeneration.h
2.45 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
/**
* \file serviceWindowGeneration.h
*/
#ifndef SERVICEWINDOWGENERATION_H
#define SERVICEWINDOWGENERATION_H
#include <vector>
#include <iostream>
#include <stdint.h>
#include <string>
#include <sstream>
#include <locale>
#include "jthread.h"
#include "logging.h"
#include "mixer.h"
#include "renderer.h"
#include "listenerRenderer.h"
#include "listenerTradutor.h"
#include "tradutorPortGlosa.h"
#include "serviceException.h"
#include <json/json.h>
#include <lavidlib/base/RuntimeException.h>
#define DEVELOPER 1
#define PRODUCTION 2
#define TESTER 3
#define PATH_DEVEL_CONTENTS "vlibras_user/vlibras-contents/videos"
#define PATH_DEVEL_UPLOADS "vlibras_user/vlibras-contents/uploads"
#define PATH_TESTER_CONTENTS "vlibras_user/.vlibras-config/test/videos"
#define PATH_TESTER_UPLOADS "vlibras_user/.vlibras-config/test/uploads"
#define PATH_VBOX_UPLOADS "vlibras_user/.vlibras-config/uploads"
#define PATH_CONF_FILE "vlibras_user/.vlibras-config/params.json"
#define PATH_TESTER_FILE "/home/user/.vlibras-config/test/tester.json"
#define MAX_SIZE_PATH 256
using namespace Tradutor;
using namespace jthread;
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:
TradutorPortGlosa* tradutor;
Renderer* renderer;
Mixer* mixer;
Json::Value root;
Json::Reader reader;
vector<int64_t>* vetor_pts;
bool finish;
bool running;
bool parsingSuccessful;
char* path_input;
char* path_client;
char* path_libras;
char* path_contents;
char* path_uploads;
char* user_id;
int size;
int position;
int transparency;
int sub_language;
int service_type;
int exec_mode;
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;
};
#endif /* SERVICEWINDOWGENERATION_H */