Commit 1e589cff5f3efd5a75c6e0a9500c0d0ea0cb633c
1 parent
67e44a37
Exists in
master
and in
1 other branch
Implementação da classe de log e melhorias
Showing
32 changed files
with
643 additions
and
399 deletions
Show diff stats
Makefile
extrator/src/extratorFactory.cpp
1 | #include "extratorFactory.h" | 1 | #include "extratorFactory.h" |
2 | 2 | ||
3 | -ExtratorFactory::ExtratorFactory(){ | ||
4 | - //TODO | ||
5 | -} | ||
6 | - | ||
7 | -ExtratorFactory::~ExtratorFactory(){ | ||
8 | - //TODO | ||
9 | -} | ||
10 | - | ||
11 | Extrator* ExtratorFactory::getExtrator(Extrator::ExtratorType extrator_type) { | 3 | Extrator* ExtratorFactory::getExtrator(Extrator::ExtratorType extrator_type) { |
12 | extrator = extrator_type; | 4 | extrator = extrator_type; |
13 | switch(extrator){ | 5 | switch(extrator){ |
extrator/src/extratorSRT.cpp
@@ -5,7 +5,7 @@ ExtratorSRT::ExtratorSRT(){ | @@ -5,7 +5,7 @@ ExtratorSRT::ExtratorSRT(){ | ||
5 | finish = false; | 5 | finish = false; |
6 | seek_pos = 0; | 6 | seek_pos = 0; |
7 | hasNextSub = true; | 7 | hasNextSub = true; |
8 | - DPRINTF("Done!\n"); | 8 | + printl(util::_DEBUG, "Done!\n"); |
9 | } | 9 | } |
10 | 10 | ||
11 | ExtratorSRT::~ExtratorSRT(){ | 11 | ExtratorSRT::~ExtratorSRT(){ |
@@ -13,7 +13,7 @@ ExtratorSRT::~ExtratorSRT(){ | @@ -13,7 +13,7 @@ ExtratorSRT::~ExtratorSRT(){ | ||
13 | delete listeners; | 13 | delete listeners; |
14 | //if (bff_reader) delete bff_reader; | 14 | //if (bff_reader) delete bff_reader; |
15 | if (file_io) delete file_io; | 15 | if (file_io) delete file_io; |
16 | - DDDPRINTF("ExtratorSTR finalized!\n"); | 16 | + printl(util::_DEBUG, "ExtratorSTR finalized!\n"); |
17 | } | 17 | } |
18 | 18 | ||
19 | void ExtratorSRT::initialize(){ | 19 | void ExtratorSRT::initialize(){ |
@@ -24,7 +24,7 @@ void ExtratorSRT::initialize(){ | @@ -24,7 +24,7 @@ void ExtratorSRT::initialize(){ | ||
24 | file_io = new lavidlib::FileIO(file->getPath(), FileIO::MODE_READ); | 24 | file_io = new lavidlib::FileIO(file->getPath(), FileIO::MODE_READ); |
25 | }catch(Exception ex){ | 25 | }catch(Exception ex){ |
26 | finish = true; | 26 | finish = true; |
27 | - Util::Logger::Instance()->writeLog((char*) "[ERRO: extratorSRT.cpp] Arquivo de legenda não encontrado."); | 27 | + Logging::instance()->writeLog("extratorSRT.cpp <Error>: Arquivo de legenda não encontrado."); |
28 | throw ExtratorException("Falha ao abrir o arquivo de legenda! Verifique se o mesmo existe.\n"); | 28 | throw ExtratorException("Falha ao abrir o arquivo de legenda! Verifique se o mesmo existe.\n"); |
29 | } | 29 | } |
30 | 30 | ||
@@ -43,7 +43,7 @@ void ExtratorSRT::notifyListeners(unsigned char* subtitle, int64_t pts) { | @@ -43,7 +43,7 @@ void ExtratorSRT::notifyListeners(unsigned char* subtitle, int64_t pts) { | ||
43 | } | 43 | } |
44 | 44 | ||
45 | void ExtratorSRT::notifyEndExtraction(int size) { | 45 | void ExtratorSRT::notifyEndExtraction(int size) { |
46 | - DPRINTF("Extrator SRT concluiu a extração: %d legendas.\n", size); | 46 | + printl(util::_DEBUG, "Extrator SRT concluiu a extração: %d legendas.\n", size); |
47 | for(list<ListenerSRT*>::iterator it = listeners->begin(); it != listeners->end(); it++){ | 47 | for(list<ListenerSRT*>::iterator it = listeners->begin(); it != listeners->end(); it++){ |
48 | (*it)->notifyEnd(size); | 48 | (*it)->notifyEnd(size); |
49 | } | 49 | } |
@@ -72,11 +72,9 @@ bool ExtratorSRT::hasNextSubtitle() { | @@ -72,11 +72,9 @@ bool ExtratorSRT::hasNextSubtitle() { | ||
72 | } | 72 | } |
73 | 73 | ||
74 | void ExtratorSRT::Run(){ | 74 | void ExtratorSRT::Run(){ |
75 | - DPRINTF("[AGUARDE] Extraindo Legendas...\n"); | ||
76 | - | 75 | + printl(util::_INFO, "Extraindo Legendas...\n"); |
77 | int sub_index = 0; | 76 | int sub_index = 0; |
78 | string sub_text = ""; | 77 | string sub_text = ""; |
79 | - | ||
80 | while(hasNextSubtitle()){ | 78 | while(hasNextSubtitle()){ |
81 | try{ | 79 | try{ |
82 | subtitle = next(); | 80 | subtitle = next(); |
@@ -94,14 +92,17 @@ void ExtratorSRT::Run(){ | @@ -94,14 +92,17 @@ void ExtratorSRT::Run(){ | ||
94 | 92 | ||
95 | Subtitle* ExtratorSRT::next() { | 93 | Subtitle* ExtratorSRT::next() { |
96 | 94 | ||
97 | - if (seek_pos >= file_io->getSize()) | ||
98 | - throw ExtratorException("[ERRO: extratorSRT.cpp] Esse arquivo já foi lido."); | 95 | + if (seek_pos >= file_io->getSize()){ |
96 | + Logging::instance()->writeLog("extratorSRT.cpp <Error>: Arquivo de legenda já foi lido."); | ||
97 | + throw ExtratorException("Esse arquivo já foi lido."); | ||
98 | + } | ||
99 | 99 | ||
100 | file_io->seek(seek_pos); | 100 | file_io->seek(seek_pos); |
101 | try{ | 101 | try{ |
102 | bff_reader = new BufferedReader(file_io); | 102 | bff_reader = new BufferedReader(file_io); |
103 | }catch(Exception &ex){ | 103 | }catch(Exception &ex){ |
104 | - throw ExtratorException("[ERRO: extratorSRT.cpp] O BufferedReader não foi inicializado."); | 104 | + Logging::instance()->writeLog("extratorSRT.cpp <Error>: BufferedReader não inicializado."); |
105 | + throw ExtratorException("O BufferedReader não foi inicializado."); | ||
105 | } | 106 | } |
106 | 107 | ||
107 | Subtitle* sub = new Subtitle(); | 108 | Subtitle* sub = new Subtitle(); |
extrator/src/extratorTXT.cpp
@@ -14,7 +14,7 @@ | @@ -14,7 +14,7 @@ | ||
14 | ExtratorTXT::ExtratorTXT(){ | 14 | ExtratorTXT::ExtratorTXT(){ |
15 | listeners = new list<ListenerTXT*>(); | 15 | listeners = new list<ListenerTXT*>(); |
16 | finish = false; | 16 | finish = false; |
17 | - DPRINTF("Done!\n"); | 17 | + printl(util::_DEBUG, "Done!\n"); |
18 | } | 18 | } |
19 | 19 | ||
20 | ExtratorTXT::~ExtratorTXT(){ | 20 | ExtratorTXT::~ExtratorTXT(){ |
@@ -23,7 +23,7 @@ ExtratorTXT::~ExtratorTXT(){ | @@ -23,7 +23,7 @@ ExtratorTXT::~ExtratorTXT(){ | ||
23 | delete file; | 23 | delete file; |
24 | delete file_io; | 24 | delete file_io; |
25 | delete bff_reader; | 25 | delete bff_reader; |
26 | - DDDPRINTF("ExtratorTXT finalized!\n"); | 26 | + printl(util::_DEBUG, "ExtratorTXT finalized!\n"); |
27 | } | 27 | } |
28 | 28 | ||
29 | void ExtratorTXT::initialize(){ | 29 | void ExtratorTXT::initialize(){ |
@@ -33,7 +33,7 @@ void ExtratorTXT::initialize(){ | @@ -33,7 +33,7 @@ void ExtratorTXT::initialize(){ | ||
33 | bff_reader = new BufferedReader(file_io); | 33 | bff_reader = new BufferedReader(file_io); |
34 | }catch(Exception &ex){ | 34 | }catch(Exception &ex){ |
35 | finish = true; | 35 | finish = true; |
36 | - Util::Logger::Instance()->writeLog((char*) "[ERRO: extratorTXT.cpp] Arquivo de texto não encontrado."); | 36 | + Logging::instance()->writeLog("extratorTXT.cpp <Error>: Arquivo de texto não encontrado."); |
37 | throw ExtratorException("Falha ao abrir o arquivo de texto! Verifique se o mesmo existe."); | 37 | throw ExtratorException("Falha ao abrir o arquivo de texto! Verifique se o mesmo existe."); |
38 | } | 38 | } |
39 | this->Start(); | 39 | this->Start(); |
@@ -50,7 +50,7 @@ void ExtratorTXT::notifyListeners(unsigned char* line) { | @@ -50,7 +50,7 @@ void ExtratorTXT::notifyListeners(unsigned char* line) { | ||
50 | } | 50 | } |
51 | 51 | ||
52 | void ExtratorTXT::notifyEndExtraction(int size) { | 52 | void ExtratorTXT::notifyEndExtraction(int size) { |
53 | - DPRINTF("ExtratorTXT concluiu a extração: %d linhas.\n", size); | 53 | + printl(util::_DEBUG, "ExtratorTXT concluiu a extração: %d linhas.\n", size); |
54 | for(list<ListenerTXT*>::iterator it = listeners->begin(); it != listeners->end(); it++){ | 54 | for(list<ListenerTXT*>::iterator it = listeners->begin(); it != listeners->end(); it++){ |
55 | (*it)->notifyEnd(size); | 55 | (*it)->notifyEnd(size); |
56 | } | 56 | } |
@@ -75,9 +75,7 @@ bool ExtratorTXT::isFinished(){ | @@ -75,9 +75,7 @@ bool ExtratorTXT::isFinished(){ | ||
75 | } | 75 | } |
76 | 76 | ||
77 | void ExtratorTXT::Run(){ | 77 | void ExtratorTXT::Run(){ |
78 | - | ||
79 | - DPRINTF("[AGUARDE] Extraindo Texto...\n") | ||
80 | - | 78 | + printl(util::_INFO, "Extraindo Texto...\n"); |
81 | int line_index = 0; | 79 | int line_index = 0; |
82 | bool hasNext = true; | 80 | bool hasNext = true; |
83 | string line; | 81 | string line; |
@@ -95,7 +93,7 @@ void ExtratorTXT::Run(){ | @@ -95,7 +93,7 @@ void ExtratorTXT::Run(){ | ||
95 | notifyListeners((unsigned char*)"ARQUIVO_INVALIDO"); | 93 | notifyListeners((unsigned char*)"ARQUIVO_INVALIDO"); |
96 | hasNext = false; | 94 | hasNext = false; |
97 | }catch (...){ | 95 | }catch (...){ |
98 | - Util::Logger::Instance()->writeLog((char*) "[ERRO: extratorTXT.cpp] Erro durante a leitura do arquivo de texto."); | 96 | + Logging::instance()->writeLog("extratorTXT.cpp <Error>: Erro durante a leitura do arquivo de texto."); |
99 | throw ExtratorException("Falha desconhecida na leitura do arquivo. Tente novamente."); | 97 | throw ExtratorException("Falha desconhecida na leitura do arquivo. Tente novamente."); |
100 | } | 98 | } |
101 | } | 99 | } |
extrator/src/include/extrator.h
1 | #ifndef EXTRATOR_H | 1 | #ifndef EXTRATOR_H |
2 | #define EXTRATOR_H | 2 | #define EXTRATOR_H |
3 | 3 | ||
4 | +#include "logging.h" | ||
4 | #include <lavidlib/io/File.h> | 5 | #include <lavidlib/io/File.h> |
5 | #include <lavidlib/io/FileIO.h> | 6 | #include <lavidlib/io/FileIO.h> |
6 | #include <lavidlib/io/BufferedReader.h> | 7 | #include <lavidlib/io/BufferedReader.h> |
7 | #include <lavidlib/io/IOException.h> | 8 | #include <lavidlib/io/IOException.h> |
8 | #include <lavidlib/io/EOFException.h> | 9 | #include <lavidlib/io/EOFException.h> |
9 | 10 | ||
11 | +using namespace util; | ||
10 | using namespace lavidlib; | 12 | using namespace lavidlib; |
11 | 13 | ||
12 | class Extrator { | 14 | class Extrator { |
extrator/src/include/extratorFactory.h
@@ -8,8 +8,8 @@ | @@ -8,8 +8,8 @@ | ||
8 | class ExtratorFactory{ | 8 | class ExtratorFactory{ |
9 | 9 | ||
10 | public: | 10 | public: |
11 | - ExtratorFactory(); | ||
12 | - ~ExtratorFactory(); | 11 | + ExtratorFactory(){}; |
12 | + ~ExtratorFactory(){}; | ||
13 | 13 | ||
14 | Extrator* getExtrator(Extrator::ExtratorType extrator_type); | 14 | Extrator* getExtrator(Extrator::ExtratorType extrator_type); |
15 | 15 |
extrator/src/include/extratorSRT.h
@@ -13,8 +13,6 @@ | @@ -13,8 +13,6 @@ | ||
13 | #include <fstream> | 13 | #include <fstream> |
14 | #include <stdio.h> | 14 | #include <stdio.h> |
15 | #include "jthread.h" | 15 | #include "jthread.h" |
16 | -#include "dprintf.h" | ||
17 | -#include "logger.h" | ||
18 | #include "extrator.h" | 16 | #include "extrator.h" |
19 | #include "subtitle.h" | 17 | #include "subtitle.h" |
20 | #include "listenerSRT.h" | 18 | #include "listenerSRT.h" |
extrator/src/include/extratorTXT.h
@@ -14,8 +14,6 @@ | @@ -14,8 +14,6 @@ | ||
14 | 14 | ||
15 | #include <list> | 15 | #include <list> |
16 | #include "jthread.h" | 16 | #include "jthread.h" |
17 | -#include "dprintf.h" | ||
18 | -#include "logger.h" | ||
19 | #include "extrator.h" | 17 | #include "extrator.h" |
20 | #include "listenerTXT.h" | 18 | #include "listenerTXT.h" |
21 | #include "extratorException.h" | 19 | #include "extratorException.h" |
input/src/include/inputFile.h
@@ -13,14 +13,14 @@ | @@ -13,14 +13,14 @@ | ||
13 | #include <stdlib.h> | 13 | #include <stdlib.h> |
14 | #include <fstream> | 14 | #include <fstream> |
15 | #include <string.h> | 15 | #include <string.h> |
16 | -#include "logger.h" | 16 | +#include "logging.h" |
17 | #include "listenerInput.h" | 17 | #include "listenerInput.h" |
18 | #include "inputException.h" | 18 | #include "inputException.h" |
19 | -#include "dprintf.h" | ||
20 | 19 | ||
21 | #define MAX_SIZE_PACKET 188 | 20 | #define MAX_SIZE_PACKET 188 |
22 | 21 | ||
23 | using namespace std; | 22 | using namespace std; |
23 | +using namespace util; | ||
24 | 24 | ||
25 | class InputFile { | 25 | class InputFile { |
26 | 26 |
input/src/inputFile.cpp
@@ -5,13 +5,13 @@ InputFile::InputFile(char* path) { | @@ -5,13 +5,13 @@ InputFile::InputFile(char* path) { | ||
5 | this->path = path; | 5 | this->path = path; |
6 | this->listeners = new list<ListenerInput*>(); | 6 | this->listeners = new list<ListenerInput*>(); |
7 | finish = false; | 7 | finish = false; |
8 | - DPRINTF("Done!\n"); | 8 | + printl(util::_DEBUG, "Done!\n"); |
9 | } | 9 | } |
10 | 10 | ||
11 | InputFile::~InputFile(){ | 11 | InputFile::~InputFile(){ |
12 | listeners->clear(); | 12 | listeners->clear(); |
13 | delete listeners; | 13 | delete listeners; |
14 | - DDDPRINTF("Input finalized!\n"); | 14 | + printl(util::_DEBUG, "Input finalized!\n"); |
15 | } | 15 | } |
16 | 16 | ||
17 | void InputFile::initialize(){ | 17 | void InputFile::initialize(){ |
@@ -20,7 +20,7 @@ void InputFile::initialize(){ | @@ -20,7 +20,7 @@ void InputFile::initialize(){ | ||
20 | if (strstr(path, ".ts") != NULL) { | 20 | if (strstr(path, ".ts") != NULL) { |
21 | if (filein.is_open()) { | 21 | if (filein.is_open()) { |
22 | char buffer [MAX_SIZE_PACKET]; | 22 | char buffer [MAX_SIZE_PACKET]; |
23 | - DPRINTF("[AGUARDE] Lendo arquivo...\n") | 23 | + printl(util::_INFO, "Lendo arquivo...\n"); |
24 | while (!filein.eof()) { | 24 | while (!filein.eof()) { |
25 | filein.read(buffer, MAX_SIZE_PACKET); | 25 | filein.read(buffer, MAX_SIZE_PACKET); |
26 | unsigned char* packet = (unsigned char*) buffer; | 26 | unsigned char* packet = (unsigned char*) buffer; |
@@ -31,7 +31,7 @@ void InputFile::initialize(){ | @@ -31,7 +31,7 @@ void InputFile::initialize(){ | ||
31 | //finished = true; | 31 | //finished = true; |
32 | } else { | 32 | } else { |
33 | finish = true; | 33 | finish = true; |
34 | - Util::Logger::Instance()->writeLog((char*) "[ERRO: inputFile.cpp] Arquivo de vídeo não encontrado."); | 34 | + Logging::instance()->writeLog("inputFile.cpp <Error>: Arquivo de vídeo não encontrado."); |
35 | throw InputException("Falha ao abrir o arquivo de vídeo! Verifique se o mesmo existe."); | 35 | throw InputException("Falha ao abrir o arquivo de vídeo! Verifique se o mesmo existe."); |
36 | } | 36 | } |
37 | } | 37 | } |
main.cpp
@@ -11,21 +11,25 @@ | @@ -11,21 +11,25 @@ | ||
11 | * | 11 | * |
12 | * Edit on 03 de Fevereiro de 2014 | 12 | * Edit on 03 de Fevereiro de 2014 |
13 | */ | 13 | */ |
14 | +#include <stdlib.h> | ||
15 | +#include <string.h> | ||
16 | +#include <sys/time.h> | ||
17 | +#include "logging.h" | ||
18 | +#include "argParser.h" | ||
19 | +#include "serviceTester.h" | ||
20 | +#include "serviceException.h" | ||
14 | #include "serviceWindowGenerationFromSRT.h" | 21 | #include "serviceWindowGenerationFromSRT.h" |
15 | #include "serviceWindowGenerationFromRec.h" | 22 | #include "serviceWindowGenerationFromRec.h" |
16 | #include "serviceWindowGenerationFromText.h" | 23 | #include "serviceWindowGenerationFromText.h" |
17 | -#include "serviceException.h" | ||
18 | #include <lavidlib/base/RuntimeException.h> | 24 | #include <lavidlib/base/RuntimeException.h> |
19 | -#include "argParser.h" | ||
20 | -#include <sys/time.h> | ||
21 | -#include <stdlib.h> | ||
22 | 25 | ||
23 | #define MAX_SIZE_PATH 256 | 26 | #define MAX_SIZE_PATH 256 |
27 | +#define PATH_VBOX_UPLOADS "vlibras_user/.vlibras-config/uploads" | ||
24 | #define PATH_DEVEL_CONTENTS "vlibras_user/vlibras-contents/videos" | 28 | #define PATH_DEVEL_CONTENTS "vlibras_user/vlibras-contents/videos" |
25 | #define PATH_DEVEL_UPLOADS "vlibras_user/vlibras-contents/uploads" | 29 | #define PATH_DEVEL_UPLOADS "vlibras_user/vlibras-contents/uploads" |
26 | -#define PATH_VBOX_UPLOADS "vlibras_user/.vlibras-config/uploads" | ||
27 | 30 | ||
28 | using namespace std; | 31 | using namespace std; |
32 | +using namespace util; | ||
29 | 33 | ||
30 | void serviceSRT(int service, string path_video, string path_srt, int language, int position, int size, int background, string id, int mode); | 34 | void serviceSRT(int service, string path_video, string path_srt, int language, int position, int size, int background, string id, int mode); |
31 | void serviceREC(int service, string path_video, int position, int size, int background, string id, int mode); | 35 | void serviceREC(int service, string path_video, int position, int size, int background, string id, int mode); |
@@ -37,6 +41,7 @@ void serviceRECWithoutMixing(int service, string path_video, int background, str | @@ -37,6 +41,7 @@ void serviceRECWithoutMixing(int service, string path_video, int background, str | ||
37 | void hasFailed(); | 41 | void hasFailed(); |
38 | void hasInvalid(); | 42 | void hasInvalid(); |
39 | void fail(string msg); | 43 | void fail(string msg); |
44 | +//void runTests(); | ||
40 | void setPathContents(int mode, string id); | 45 | void setPathContents(int mode, string id); |
41 | 46 | ||
42 | bool isFailed; | 47 | bool isFailed; |
@@ -71,13 +76,14 @@ int main(int argc, char* argv[]) { | @@ -71,13 +76,14 @@ int main(int argc, char* argv[]) { | ||
71 | exit(1); | 76 | exit(1); |
72 | } | 77 | } |
73 | 78 | ||
74 | - printf("\n################## LAViD : VLibras ##################\n\n"); | 79 | + //printf("\n################## LAViD : VLibras ##################\n\n"); |
75 | 80 | ||
76 | service = parser->getService(); | 81 | service = parser->getService(); |
82 | + util::Logging::instance()->setLevel(parser->getLog()); | ||
77 | 83 | ||
78 | switch(service){ | 84 | switch(service){ |
79 | case 1: | 85 | case 1: |
80 | - DDPRINTF("Service Type: Video with Subtitles\n"); | 86 | + printl(util::_INFO, "Service Type: Video with Subtitles\n"); |
81 | input = parser->getInput(); | 87 | input = parser->getInput(); |
82 | input_srt = parser->getInputSRT(); | 88 | input_srt = parser->getInputSRT(); |
83 | language = parser->getLanguage(); | 89 | language = parser->getLanguage(); |
@@ -90,7 +96,7 @@ int main(int argc, char* argv[]) { | @@ -90,7 +96,7 @@ int main(int argc, char* argv[]) { | ||
90 | break; | 96 | break; |
91 | 97 | ||
92 | case 2: | 98 | case 2: |
93 | - DDPRINTF("Service Type: Video Recognize\n"); | 99 | + printl(util::_INFO, "Service Type: Video Recognize\n"); |
94 | input = parser->getInput(); | 100 | input = parser->getInput(); |
95 | position = parser->getPosition(); | 101 | position = parser->getPosition(); |
96 | size = parser->getSize(); | 102 | size = parser->getSize(); |
@@ -101,7 +107,7 @@ int main(int argc, char* argv[]) { | @@ -101,7 +107,7 @@ int main(int argc, char* argv[]) { | ||
101 | break; | 107 | break; |
102 | 108 | ||
103 | case 3: | 109 | case 3: |
104 | - DDPRINTF("Service Type: Text\n"); | 110 | + printl(util::_INFO, "Service Type: Text\n"); |
105 | input = parser->getInput(); | 111 | input = parser->getInput(); |
106 | language = parser->getLanguage(); | 112 | language = parser->getLanguage(); |
107 | background = parser->getBackground(); | 113 | background = parser->getBackground(); |
@@ -111,7 +117,7 @@ int main(int argc, char* argv[]) { | @@ -111,7 +117,7 @@ int main(int argc, char* argv[]) { | ||
111 | break; | 117 | break; |
112 | 118 | ||
113 | case 4: | 119 | case 4: |
114 | - DDPRINTF("Service Type: Subtitles only\n"); | 120 | + printl(util::_INFO, "Service Type: Subtitles only\n"); |
115 | input = parser->getInput(); | 121 | input = parser->getInput(); |
116 | language = parser->getLanguage(); | 122 | language = parser->getLanguage(); |
117 | background = parser->getBackground(); | 123 | background = parser->getBackground(); |
@@ -121,7 +127,7 @@ int main(int argc, char* argv[]) { | @@ -121,7 +127,7 @@ int main(int argc, char* argv[]) { | ||
121 | break; | 127 | break; |
122 | 128 | ||
123 | case 5: //reconhecimento de audio | 129 | case 5: //reconhecimento de audio |
124 | - DDPRINTF("Service Type: Audio Recognize\n"); | 130 | + printl(util::_INFO, "Service Type: Audio Recognize\n"); |
125 | input = parser->getInput(); | 131 | input = parser->getInput(); |
126 | background = parser->getBackground(); | 132 | background = parser->getBackground(); |
127 | id = parser->getId(); | 133 | id = parser->getId(); |
@@ -130,7 +136,7 @@ int main(int argc, char* argv[]) { | @@ -130,7 +136,7 @@ int main(int argc, char* argv[]) { | ||
130 | break; | 136 | break; |
131 | 137 | ||
132 | case 6: //Reconhecimento de video sem mixagem | 138 | case 6: //Reconhecimento de video sem mixagem |
133 | - DDPRINTF("Service Type: Video Recognize (Mixer Disabled)\n"); | 139 | + printl(util::_INFO, "Service Type: Video Recognize (Mixer Disabled)\n"); |
134 | input = parser->getInput(); | 140 | input = parser->getInput(); |
135 | background = parser->getBackground(); | 141 | background = parser->getBackground(); |
136 | id = parser->getId(); | 142 | id = parser->getId(); |
@@ -138,8 +144,12 @@ int main(int argc, char* argv[]) { | @@ -138,8 +144,12 @@ int main(int argc, char* argv[]) { | ||
138 | serviceREC(service, input, 0, 0, background, id, mode);//como service != 2 então não há mixagem | 144 | serviceREC(service, input, 0, 0, background, id, mode);//como service != 2 então não há mixagem |
139 | break; | 145 | break; |
140 | 146 | ||
147 | + case 7: | ||
148 | + cout << "Serviço sendo implementado!" << endl; | ||
149 | + break; | ||
150 | + | ||
141 | default: | 151 | default: |
142 | - printf("\nOpção de serviço não reconhecida!\n"); | 152 | + printf("Opção de serviço não reconhecida!\n"); |
143 | hasInvalid(); | 153 | hasInvalid(); |
144 | } | 154 | } |
145 | 155 | ||
@@ -150,8 +160,8 @@ int main(int argc, char* argv[]) { | @@ -150,8 +160,8 @@ int main(int argc, char* argv[]) { | ||
150 | 160 | ||
151 | gettimeofday(&tv2, NULL); | 161 | gettimeofday(&tv2, NULL); |
152 | t2 = (double)(tv2.tv_sec) + (double)(tv2.tv_usec)/ 1000000.00; | 162 | t2 = (double)(tv2.tv_sec) + (double)(tv2.tv_usec)/ 1000000.00; |
153 | - DDPRINTF("Time: %lf\n", (t2-t1)); | ||
154 | - DDPRINTF("VLibras finalized!\n\n"); | 163 | + printl(util::_DEBUG, "Time: %lf\n", (t2-t1)); |
164 | + printl(util::_INFO, "VLibras finalized!\n\n"); | ||
155 | exit(0); | 165 | exit(0); |
156 | } | 166 | } |
157 | 167 | ||
@@ -272,9 +282,8 @@ void serviceOnlySRT(int service, string path_srt, int language, int background, | @@ -272,9 +282,8 @@ void serviceOnlySRT(int service, string path_srt, int language, int background, | ||
272 | } | 282 | } |
273 | 283 | ||
274 | void fail(string msg){ | 284 | void fail(string msg){ |
275 | - printf("\n"); | ||
276 | - DDDDPRINTF("Ops... Tivemos um problema! :(\n"); | ||
277 | - DDDDPRINTF("Possível causa do erro: %s\n\n", msg.c_str()); | 285 | + printl(util::_ERROR, "\nOps... Tivemos um problema! :(\n"); |
286 | + printl(util::_ERROR, "Possível causa do erro: %s\n\n", msg.c_str()); | ||
278 | } | 287 | } |
279 | 288 | ||
280 | void hasFailed(){ | 289 | void hasFailed(){ |
@@ -296,4 +305,4 @@ void setPathContents(int mode, string id){ | @@ -296,4 +305,4 @@ void setPathContents(int mode, string id){ | ||
296 | exit(127); | 305 | exit(127); |
297 | } | 306 | } |
298 | system(command.c_str()); | 307 | system(command.c_str()); |
299 | -} | 308 | -} |
309 | +} | ||
300 | \ No newline at end of file | 310 | \ No newline at end of file |
mixer/src/Mixer.cpp
@@ -9,16 +9,16 @@ | @@ -9,16 +9,16 @@ | ||
9 | /* Construtores e destrutores...*/ | 9 | /* Construtores e destrutores...*/ |
10 | Mixer::Mixer() { | 10 | Mixer::Mixer() { |
11 | this->setNumThreads("1"); | 11 | this->setNumThreads("1"); |
12 | - DPRINTF("Done!\n"); | 12 | + printl(util::_DEBUG, "Done!\n"); |
13 | } | 13 | } |
14 | Mixer::Mixer(string mainVideo, string secondaryVideo) { | 14 | Mixer::Mixer(string mainVideo, string secondaryVideo) { |
15 | this->setMainVideo(mainVideo); | 15 | this->setMainVideo(mainVideo); |
16 | this->setSecondaryVideo(secondaryVideo); | 16 | this->setSecondaryVideo(secondaryVideo); |
17 | this->setNumThreads("1"); | 17 | this->setNumThreads("1"); |
18 | - DPRINTF("Done!\n"); | 18 | + printl(util::_DEBUG, "Done!\n"); |
19 | } | 19 | } |
20 | Mixer::~Mixer() { | 20 | Mixer::~Mixer() { |
21 | - DDDPRINTF("Mixer finalized!\n"); | 21 | + printl(util::_DEBUG, "Mixer finalized!\n"); |
22 | } | 22 | } |
23 | /* FIM de Construtores e destrutores...*/ | 23 | /* FIM de Construtores e destrutores...*/ |
24 | 24 | ||
@@ -27,7 +27,7 @@ Mixer::~Mixer() { | @@ -27,7 +27,7 @@ Mixer::~Mixer() { | ||
27 | void Mixer::initialize(string mainVideo, string slVideo, int positionSecondaryVideo, int sizeSecondaryVideo, | 27 | void Mixer::initialize(string mainVideo, string slVideo, int positionSecondaryVideo, int sizeSecondaryVideo, |
28 | int transparency, char* _id, char* path_uploads, char* path_contents){ | 28 | int transparency, char* _id, char* path_uploads, char* path_contents){ |
29 | 29 | ||
30 | - DPRINTF("[AGUARDE] Mixando...\n") | 30 | + printl(util::_INFO, "Mixando...\n"); |
31 | uploads = path_uploads; | 31 | uploads = path_uploads; |
32 | contents = path_contents; | 32 | contents = path_contents; |
33 | stringstream ss; | 33 | stringstream ss; |
mixer/src/include/Mixer.h
@@ -16,7 +16,7 @@ | @@ -16,7 +16,7 @@ | ||
16 | #include <sstream> | 16 | #include <sstream> |
17 | #include <string> | 17 | #include <string> |
18 | #include <fstream> | 18 | #include <fstream> |
19 | -#include "dprintf.h" | 19 | +#include "logging.h" |
20 | 20 | ||
21 | //SL Video Position | 21 | //SL Video Position |
22 | #define TOP_LEFT 1 | 22 | #define TOP_LEFT 1 |
@@ -35,6 +35,7 @@ | @@ -35,6 +35,7 @@ | ||
35 | #define MAX_SIZE_PATH 256 | 35 | #define MAX_SIZE_PATH 256 |
36 | 36 | ||
37 | using namespace std; | 37 | using namespace std; |
38 | +using namespace util; | ||
38 | 39 | ||
39 | class Mixer { | 40 | class Mixer { |
40 | public: | 41 | public: |
recognize/src/include/recognize.h
@@ -16,8 +16,7 @@ | @@ -16,8 +16,7 @@ | ||
16 | #include <iterator> | 16 | #include <iterator> |
17 | #include <sys/stat.h> | 17 | #include <sys/stat.h> |
18 | #include <lavidlib/io/FileIO.h> | 18 | #include <lavidlib/io/FileIO.h> |
19 | -#include "dprintf.h" | ||
20 | -#include "logger.h" | 19 | +#include "logging.h" |
21 | #include "recognizeListener.h" | 20 | #include "recognizeListener.h" |
22 | #include "recognizeException.h" | 21 | #include "recognizeException.h" |
23 | 22 | ||
@@ -51,6 +50,7 @@ | @@ -51,6 +50,7 @@ | ||
51 | 50 | ||
52 | using namespace jthread; | 51 | using namespace jthread; |
53 | using namespace std; | 52 | using namespace std; |
53 | +using namespace util; | ||
54 | 54 | ||
55 | class Recognize: public Thread { | 55 | class Recognize: public Thread { |
56 | 56 |
recognize/src/recognize.cpp
@@ -11,7 +11,7 @@ Recognize::Recognize(char* _pathVideo, char* _id) { | @@ -11,7 +11,7 @@ Recognize::Recognize(char* _pathVideo, char* _id) { | ||
11 | ss << _id; | 11 | ss << _id; |
12 | ss >> id; | 12 | ss >> id; |
13 | confidenceRate=CONFIDENCE_RATE; | 13 | confidenceRate=CONFIDENCE_RATE; |
14 | - DPRINTF("Done!\n"); | 14 | + printl(util::_DEBUG, "Done!\n"); |
15 | } | 15 | } |
16 | 16 | ||
17 | Recognize::Recognize(char* _pathVideo, char* _id, char* rate) { | 17 | Recognize::Recognize(char* _pathVideo, char* _id, char* rate) { |
@@ -27,7 +27,7 @@ Recognize::Recognize(char* _pathVideo, char* _id, char* rate) { | @@ -27,7 +27,7 @@ Recognize::Recognize(char* _pathVideo, char* _id, char* rate) { | ||
27 | istringstream(rate) >> confidenceRate; | 27 | istringstream(rate) >> confidenceRate; |
28 | if (confidenceRate == 0) | 28 | if (confidenceRate == 0) |
29 | confidenceRate=CONFIDENCE_RATE; | 29 | confidenceRate=CONFIDENCE_RATE; |
30 | - DPRINTF("Done!\n"); | 30 | + printl(util::_DEBUG, "Done!\n"); |
31 | } | 31 | } |
32 | 32 | ||
33 | Recognize::Recognize(char* _pathVideo, int _inputType, char* _id) { | 33 | Recognize::Recognize(char* _pathVideo, int _inputType, char* _id) { |
@@ -38,26 +38,26 @@ Recognize::Recognize(char* _pathVideo, int _inputType, char* _id) { | @@ -38,26 +38,26 @@ Recognize::Recognize(char* _pathVideo, int _inputType, char* _id) { | ||
38 | frequency = FREQUENCY_PATTERN; | 38 | frequency = FREQUENCY_PATTERN; |
39 | sizeBlocs = BLOCS_PATTERN; | 39 | sizeBlocs = BLOCS_PATTERN; |
40 | id = _id; | 40 | id = _id; |
41 | - DPRINTF("Done!\n"); | 41 | + printl(util::_DEBUG, "Done!\n"); |
42 | } | 42 | } |
43 | 43 | ||
44 | Recognize::~Recognize() { | 44 | Recognize::~Recognize() { |
45 | listeners->clear(); | 45 | listeners->clear(); |
46 | delete listeners; | 46 | delete listeners; |
47 | - DDDPRINTF("Recognize finalized!\n"); | 47 | + printl(util::_DEBUG, "Recognize finalized!\n"); |
48 | } | 48 | } |
49 | 49 | ||
50 | 50 | ||
51 | void Recognize::initialize() { | 51 | void Recognize::initialize() { |
52 | 52 | ||
53 | - DPRINTF("Recognizing...\n"); | 53 | + printl(util::_INFO, "Reconhecendo áudio...\n"); |
54 | /**printf("*** Initialized Recognition ***\n\nVideo: %s\nType [1-File; 2-Mic]: %d\nFrequency: %d\n\n", | 54 | /**printf("*** Initialized Recognition ***\n\nVideo: %s\nType [1-File; 2-Mic]: %d\nFrequency: %d\n\n", |
55 | this->pathVideo, this->inputType, this->frequency);**/ | 55 | this->pathVideo, this->inputType, this->frequency);**/ |
56 | 56 | ||
57 | ifstream file(pathVideo, ifstream::binary); | 57 | ifstream file(pathVideo, ifstream::binary); |
58 | if(!file.is_open()){ | 58 | if(!file.is_open()){ |
59 | finish = true; | 59 | finish = true; |
60 | - Util::Logger::Instance()->writeLog((char*) "[ERRO: recognize.cpp] Arquivo não encontrado."); | 60 | + Logging::instance()->writeLog("recognize.cpp <Error> Arquivo não encontrado."); |
61 | throw RecognizeException("Falha ao abrir o arquivo! Verifique se o mesmo existe."); | 61 | throw RecognizeException("Falha ao abrir o arquivo! Verifique se o mesmo existe."); |
62 | } | 62 | } |
63 | this->Start(); | 63 | this->Start(); |
@@ -378,7 +378,7 @@ void Recognize::notifyListeners(char* text, int64_t pts) { | @@ -378,7 +378,7 @@ void Recognize::notifyListeners(char* text, int64_t pts) { | ||
378 | } | 378 | } |
379 | 379 | ||
380 | void Recognize::notifyEndExtraction(int sentences_size) { | 380 | void Recognize::notifyEndExtraction(int sentences_size) { |
381 | - DPRINTF("Recognizer concluiu o reconhecimento: %d sentenças.\n", sentences_size); | 381 | + printl(util::_DEBUG, "Recognizer concluiu o reconhecimento: %d sentenças.\n", sentences_size); |
382 | for(list<RecognizeListener*>::iterator it = listeners->begin(); it != listeners->end(); it++){ | 382 | for(list<RecognizeListener*>::iterator it = listeners->begin(); it != listeners->end(); it++){ |
383 | (*it)->notifyEnd(sentences_size); | 383 | (*it)->notifyEnd(sentences_size); |
384 | } | 384 | } |
renderer/src/include/renderer.h
@@ -2,7 +2,7 @@ | @@ -2,7 +2,7 @@ | ||
2 | #define RENDERER_H | 2 | #define RENDERER_H |
3 | 3 | ||
4 | #include "jthread.h" | 4 | #include "jthread.h" |
5 | -#include "dprintf.h" | 5 | +#include "logging.h" |
6 | #include "string.h" | 6 | #include "string.h" |
7 | #include <string> | 7 | #include <string> |
8 | #include <list> | 8 | #include <list> |
@@ -26,6 +26,7 @@ | @@ -26,6 +26,7 @@ | ||
26 | using namespace lavidlib; | 26 | using namespace lavidlib; |
27 | using namespace jthread; | 27 | using namespace jthread; |
28 | using namespace std; | 28 | using namespace std; |
29 | +using namespace util; | ||
29 | 30 | ||
30 | class Renderer : public Thread { | 31 | class Renderer : public Thread { |
31 | public: | 32 | public: |
renderer/src/renderer.cpp
@@ -3,20 +3,20 @@ | @@ -3,20 +3,20 @@ | ||
3 | Renderer::Renderer(char* videoPath, char* user_id) { | 3 | Renderer::Renderer(char* videoPath, char* user_id) { |
4 | this->folder_id = user_id; | 4 | this->folder_id = user_id; |
5 | this->path_video = videoPath; | 5 | this->path_video = videoPath; |
6 | - serverInitialize(); | ||
7 | running = true; | 6 | running = true; |
8 | count_task = 0; | 7 | count_task = 0; |
9 | glosa_processed = 0; | 8 | glosa_processed = 0; |
10 | core_socket = new StreamSocket(); | 9 | core_socket = new StreamSocket(); |
11 | listeners = new list<ListenerRenderer*>(); | 10 | listeners = new list<ListenerRenderer*>(); |
12 | - DPRINTF("Done!\n"); | 11 | + serverInitialize(); |
12 | + printl(util::_DEBUG, "Done!\n"); | ||
13 | } | 13 | } |
14 | 14 | ||
15 | Renderer::~Renderer() { | 15 | Renderer::~Renderer() { |
16 | listeners->clear(); | 16 | listeners->clear(); |
17 | delete listeners; | 17 | delete listeners; |
18 | if(core_socket) delete core_socket; | 18 | if(core_socket) delete core_socket; |
19 | - DDDPRINTF("Renderer finalized!\n"); | 19 | + printl(util::_DEBUG, "Renderer finalized!\n"); |
20 | } | 20 | } |
21 | 21 | ||
22 | void Renderer::serverInitialize(){ | 22 | void Renderer::serverInitialize(){ |
@@ -33,7 +33,7 @@ void Renderer::serverInitialize(){ | @@ -33,7 +33,7 @@ void Renderer::serverInitialize(){ | ||
33 | 33 | ||
34 | command.append(" && ").append(render); | 34 | command.append(" && ").append(render); |
35 | system(command.c_str()); | 35 | system(command.c_str()); |
36 | - sleep(3); | 36 | + sleep(5); |
37 | } | 37 | } |
38 | 38 | ||
39 | void Renderer::receiveGlosa(std::string glosa, int64_t pts) { | 39 | void Renderer::receiveGlosa(std::string glosa, int64_t pts) { |
@@ -51,6 +51,9 @@ void Renderer::receiveGlosa(std::string glosa, int64_t pts) { | @@ -51,6 +51,9 @@ void Renderer::receiveGlosa(std::string glosa, int64_t pts) { | ||
51 | 51 | ||
52 | void Renderer::sendGlosa() { | 52 | void Renderer::sendGlosa() { |
53 | try{ | 53 | try{ |
54 | + // while(!core_socket->isConnected()) | ||
55 | + // sleep(1); | ||
56 | + | ||
54 | int glosa_size = strlen(glosa_copy.c_str())+1; | 57 | int glosa_size = strlen(glosa_copy.c_str())+1; |
55 | char* glosa_buffer = new char[glosa_size]; | 58 | char* glosa_buffer = new char[glosa_size]; |
56 | strcpy(glosa_buffer, glosa_copy.c_str()); | 59 | strcpy(glosa_buffer, glosa_copy.c_str()); |
@@ -75,7 +78,10 @@ void Renderer::sendGlosa() { | @@ -75,7 +78,10 @@ void Renderer::sendGlosa() { | ||
75 | void Renderer::connectToUnity() { | 78 | void Renderer::connectToUnity() { |
76 | try{ | 79 | try{ |
77 | static InetAddress* addr = InetAddress::createByName(HOST); | 80 | static InetAddress* addr = InetAddress::createByName(HOST); |
78 | - core_socket->connect(addr, PORTNO); | 81 | + while(!core_socket->isConnected()){ |
82 | + core_socket->connect(addr, PORTNO); | ||
83 | + sleep(1); | ||
84 | + } | ||
79 | }catch(lavidlib::UnknownHostException &ex){ | 85 | }catch(lavidlib::UnknownHostException &ex){ |
80 | throw RuntimeException(ex.getMessage().c_str()); | 86 | throw RuntimeException(ex.getMessage().c_str()); |
81 | }catch(lavidlib::SocketException &ex){ | 87 | }catch(lavidlib::SocketException &ex){ |
@@ -84,7 +90,7 @@ void Renderer::connectToUnity() { | @@ -84,7 +90,7 @@ void Renderer::connectToUnity() { | ||
84 | } | 90 | } |
85 | 91 | ||
86 | void Renderer::waitScreenShots() { | 92 | void Renderer::waitScreenShots() { |
87 | - DPRINTF("[AGUARDE] Gerando vídeo...\n"); | 93 | + printl(util::_INFO, "Gerando vídeo...\n"); |
88 | char* endgeneration = new char[strlen(END_FLAG)+1]; | 94 | char* endgeneration = new char[strlen(END_FLAG)+1]; |
89 | int connected; | 95 | int connected; |
90 | try{ | 96 | try{ |
@@ -135,7 +141,8 @@ void Renderer::Run() { | @@ -135,7 +141,8 @@ void Renderer::Run() { | ||
135 | render(); | 141 | render(); |
136 | cleanFiles(); | 142 | cleanFiles(); |
137 | }catch(lavidlib::RuntimeException &ex){ | 143 | }catch(lavidlib::RuntimeException &ex){ |
138 | - DDDDPRINTF("Erro: %s\n", ex.getMessage().c_str()); | 144 | + printl(util::_ERROR, "%s\n", ex.getMessage().c_str()); |
145 | + Logging::instance()->writeLog("renderer.cpp <Error>: Falha na comunicação com o Unity player"); | ||
139 | throw RuntimeException(ex.getMessage().c_str()); | 146 | throw RuntimeException(ex.getMessage().c_str()); |
140 | } | 147 | } |
141 | } | 148 | } |
@@ -0,0 +1,64 @@ | @@ -0,0 +1,64 @@ | ||
1 | +#ifndef SERVICETESTER_H | ||
2 | +#define SERVICETESTER_H | ||
3 | + | ||
4 | +#include <iostream> | ||
5 | +#include <json/json.h> | ||
6 | +#include <lavidlib/io/File.h> | ||
7 | +#include <lavidlib/io/FileIO.h> | ||
8 | +#include "serviceException.h" | ||
9 | +#include "serviceWindowGenerationFromRec.h" | ||
10 | +#include "serviceWindowGenerationFromSRT.h" | ||
11 | +#include "serviceWindowGenerationFromText.h" | ||
12 | + | ||
13 | +// path dos arquivos de teste | ||
14 | +#define PATH_VID "/home/user/.vlibras-config/test/uploads/test_video.mp4" | ||
15 | +#define PATH_SRT "/home/user/.vlibras-config/test/uploads/test_srt.srt" | ||
16 | +#define PATH_TXT "/home/user/.vlibras-config/test/uploads/test_text.txt" | ||
17 | +#define OUTPUT_FILE "/home/user/.vlibras-config/test/videos/Test.mp4" | ||
18 | +#define TESTER_ID "Test" | ||
19 | +#define MODE_TEST 3 | ||
20 | + | ||
21 | +using namespace std; | ||
22 | + | ||
23 | +class ServiceTester: public Thread { | ||
24 | + | ||
25 | +public: | ||
26 | + ServiceTester(); | ||
27 | + ~ServiceTester(); | ||
28 | + | ||
29 | + bool isFinished(); | ||
30 | + | ||
31 | + int checkServiceSRT(); | ||
32 | + int checkServiceText(); | ||
33 | + int checkServiceRec(); | ||
34 | +private: | ||
35 | + | ||
36 | + int language; | ||
37 | + int position; | ||
38 | + int resolution; | ||
39 | + int background; | ||
40 | + | ||
41 | + bool fail; | ||
42 | + bool finish; | ||
43 | + string msgErr; | ||
44 | + | ||
45 | + File* fIn; | ||
46 | + File* fOut; | ||
47 | + FileIO* fIO_in; | ||
48 | + FileIO* fIO_out; | ||
49 | + | ||
50 | + ServiceWindowGenerationFromRec* service_rec; | ||
51 | + ServiceWindowGenerationFromSRT* service_srt; | ||
52 | + ServiceWindowGenerationFromText* service_text; | ||
53 | + | ||
54 | + void serviceSRT(int service, string path_video, string path_srt, int language, int position, int size, int background, string id, int mode); | ||
55 | + void serviceREC(int service, string path_video, int position, int size, int background, string id, int mode); | ||
56 | + void serviceText(string path_text, int language, int background, string id, int mode); | ||
57 | + | ||
58 | + void Run(); | ||
59 | + bool checkFiles(string fileIn, string fileOut); | ||
60 | + void hasFailed(string msgerr); | ||
61 | + void deleteFiles(); | ||
62 | +}; | ||
63 | + | ||
64 | +#endif /* SERVICETESTER_H */ | ||
0 | \ No newline at end of file | 65 | \ No newline at end of file |
servico/src/include/serviceWindowGeneration.h
@@ -8,7 +8,7 @@ | @@ -8,7 +8,7 @@ | ||
8 | #include <sstream> | 8 | #include <sstream> |
9 | #include <locale> | 9 | #include <locale> |
10 | #include "jthread.h" | 10 | #include "jthread.h" |
11 | -#include "dprintf.h" | 11 | +#include "logging.h" |
12 | #include "Mixer.h" | 12 | #include "Mixer.h" |
13 | #include "renderer.h" | 13 | #include "renderer.h" |
14 | #include "listenerRenderer.h" | 14 | #include "listenerRenderer.h" |
@@ -20,16 +20,21 @@ | @@ -20,16 +20,21 @@ | ||
20 | 20 | ||
21 | #define DEVELOPER 1 | 21 | #define DEVELOPER 1 |
22 | #define PRODUCTION 2 | 22 | #define PRODUCTION 2 |
23 | +#define TESTER 3 | ||
23 | #define PATH_DEVEL_CONTENTS "vlibras_user/vlibras-contents/videos" | 24 | #define PATH_DEVEL_CONTENTS "vlibras_user/vlibras-contents/videos" |
24 | #define PATH_DEVEL_UPLOADS "vlibras_user/vlibras-contents/uploads" | 25 | #define PATH_DEVEL_UPLOADS "vlibras_user/vlibras-contents/uploads" |
26 | +#define PATH_TESTER_CONTENTS "vlibras_user/vlibras-config/test/videos" | ||
27 | +#define PATH_TESTER_UPLOADS "vlibras_user/vlibras-config/test/uploads" | ||
25 | #define PATH_VBOX_UPLOADS "vlibras_user/.vlibras-config/uploads" | 28 | #define PATH_VBOX_UPLOADS "vlibras_user/.vlibras-config/uploads" |
26 | #define PATH_CONF_FILE "vlibras_user/.vlibras-config/params.json" | 29 | #define PATH_CONF_FILE "vlibras_user/.vlibras-config/params.json" |
30 | +#define PATH_TESTER_FILE "/home/user/.vlibras-config/test/tester.json" | ||
27 | #define MAX_SIZE_PATH 256 | 31 | #define MAX_SIZE_PATH 256 |
28 | 32 | ||
29 | using namespace Tradutor; | 33 | using namespace Tradutor; |
30 | using namespace jthread; | 34 | using namespace jthread; |
31 | using namespace std; | 35 | using namespace std; |
32 | using namespace lavidlib; | 36 | using namespace lavidlib; |
37 | +using namespace util; | ||
33 | 38 | ||
34 | class ServiceWindowGeneration { | 39 | class ServiceWindowGeneration { |
35 | 40 |
@@ -0,0 +1,141 @@ | @@ -0,0 +1,141 @@ | ||
1 | +#include "serviceTester.h" | ||
2 | + | ||
3 | +ServiceTester::serviceTester(int _language, int _position, int _size, int _background) { | ||
4 | + language = _language; | ||
5 | + position = _position; | ||
6 | + size = _size; | ||
7 | + background = _background; | ||
8 | + msgErr = ""; | ||
9 | + finish = false; | ||
10 | + fail = false; | ||
11 | + printl(util::_DEBUG, "Done!\n"); | ||
12 | +} | ||
13 | + | ||
14 | +ServiceTester::~serviceTester() { | ||
15 | + printl(util::_DEBUG, "ServiceTester Finalized!\n"); | ||
16 | +} | ||
17 | + | ||
18 | +void ServiceTester::checkServiceSRT() { | ||
19 | + service_srt = new ServiceWindowGenerationFromSRT(PATH_VID, PATH_SRT, language, position, size, background, TESTER_ID, MODE_TEST, 1); | ||
20 | + | ||
21 | + try{ | ||
22 | + service_srt->initialize(); | ||
23 | + }catch(ServiceException &ex){ | ||
24 | + msgErr += "Extração de legenda\n"; | ||
25 | + fail = true | ||
26 | + return; | ||
27 | + } | ||
28 | + | ||
29 | + while(!service_srt->isFinished()) | ||
30 | + sleep(5); | ||
31 | + delete service_srt; | ||
32 | + | ||
33 | + bool sucess; | ||
34 | + sucess = checkFiles(PATH_VID, FILE_OUT_SRT); | ||
35 | + if(!sucess){ | ||
36 | + msgErr += "Extração de legenda\n"; | ||
37 | + } | ||
38 | + deleteFiles(); | ||
39 | +} | ||
40 | + | ||
41 | +void ServiceTester::checkServiceRec() { | ||
42 | + service_rec = new ServiceWindowGenerationFromRec(PATH_VID, position, size, background, TESTER_ID, MODE_TEST, 2); | ||
43 | + | ||
44 | + try{ | ||
45 | + service_rec->initialize(); | ||
46 | + }catch(ServiceException &ex){ | ||
47 | + msgErr += "Reconhecimento\n"; | ||
48 | + fail = true; | ||
49 | + return; | ||
50 | + } | ||
51 | + | ||
52 | + while(!service_rec->isFinished()) | ||
53 | + sleep(5); | ||
54 | + delete service_rec; | ||
55 | + | ||
56 | + bool sucess; | ||
57 | + sucess = checkFiles(PATH_VID, FILE_OUT_REC); | ||
58 | + if(!sucess){ | ||
59 | + msgErr += "Reconhecimento\n"; | ||
60 | + } | ||
61 | + deleteFiles(); | ||
62 | +} | ||
63 | +void ServiceTester::checkServiceText() { | ||
64 | + service_text = new ServiceWindowGenerationFromText(PATH_TXT, language, background, TESTER_ID, MODE_TEST); | ||
65 | + | ||
66 | + try{ | ||
67 | + service_text->initialize(); | ||
68 | + }catch(ServiceException &ex){ | ||
69 | + msgErr += "Extração de texto\n" | ||
70 | + fail = true; | ||
71 | + return; | ||
72 | + } | ||
73 | + | ||
74 | + while (!service_text->isFinished()) | ||
75 | + usleep(100000); //100ms | ||
76 | + delete service_text; | ||
77 | + | ||
78 | + bool sucess; | ||
79 | + sucess = checkFiles(PATH_TXT, FILE_OUT_TXT); | ||
80 | + if(!sucess){ | ||
81 | + msgErr += "Extração de texto\n" | ||
82 | + } | ||
83 | + deleteFiles(); | ||
84 | +} | ||
85 | + | ||
86 | +bool ServiceTester::checkFiles(string fileIn, string fileOut) { | ||
87 | + int64_t inSize; | ||
88 | + int64_t outSize; | ||
89 | + fIn = new lavidlib::File(fileIn); | ||
90 | + fOut = new lavidlib::File(fileOut); | ||
91 | + | ||
92 | + try{ | ||
93 | + fIO_in = new lavidlib::FileIO(fIn->getPath(), FileIO::MODE_READ); | ||
94 | + fIO_out = new lavidlib::FileIO(fOut->getPath(), FileIO::MODE_READ); | ||
95 | + }catch(Exception &ex){ | ||
96 | + delete fIn; | ||
97 | + delete fOut; | ||
98 | + fail = true; | ||
99 | + return false; | ||
100 | + } | ||
101 | + | ||
102 | + inSize = fIO_in->getSize(); | ||
103 | + outSize = fIO_out->getSize(); | ||
104 | + | ||
105 | + delete fIn; | ||
106 | + delete fOut; | ||
107 | + delete fIO_in; | ||
108 | + delete fIO_out; | ||
109 | + | ||
110 | + if(outSize != 0 && outSize != inSize) | ||
111 | + return true; | ||
112 | + | ||
113 | + fail = true; | ||
114 | + return false; | ||
115 | +} | ||
116 | + | ||
117 | +bool ServiceTester::isFinished(){ | ||
118 | + return this->finish; | ||
119 | +} | ||
120 | + | ||
121 | +void hasFailed() { | ||
122 | + return fail; | ||
123 | +} | ||
124 | + | ||
125 | +void ServiceTester::deleteFiles() { | ||
126 | + string command = "rm -f "; | ||
127 | + command += OUTPUT_FILE; | ||
128 | + system(command); | ||
129 | +} | ||
130 | + | ||
131 | +void ServiceTester::Run() { | ||
132 | + printl(util::_INFO, "Verificando módulos, aguarde...\n"); | ||
133 | + checkServiceSRT(); | ||
134 | + checkServiceRec(); | ||
135 | + checkServiceText(); | ||
136 | + | ||
137 | + if(hasFailed()) | ||
138 | + throw ServiceException(msgErr); | ||
139 | + | ||
140 | + finish = true; | ||
141 | +} | ||
0 | \ No newline at end of file | 142 | \ No newline at end of file |
servico/src/serviceWindowGenerationFromRec.cpp
@@ -17,7 +17,7 @@ ServiceWindowGenerationFromRec::ServiceWindowGenerationFromRec( | @@ -17,7 +17,7 @@ ServiceWindowGenerationFromRec::ServiceWindowGenerationFromRec( | ||
17 | tradutor = new TradutorPortGlosa(); | 17 | tradutor = new TradutorPortGlosa(); |
18 | running = true; | 18 | running = true; |
19 | finish = false; | 19 | finish = false; |
20 | - DPRINTF("Done!\n"); | 20 | + printl(util::_DEBUG, "Done!\n"); |
21 | } | 21 | } |
22 | 22 | ||
23 | ServiceWindowGenerationFromRec::ServiceWindowGenerationFromRec( | 23 | ServiceWindowGenerationFromRec::ServiceWindowGenerationFromRec( |
@@ -42,7 +42,7 @@ ServiceWindowGenerationFromRec::ServiceWindowGenerationFromRec( | @@ -42,7 +42,7 @@ ServiceWindowGenerationFromRec::ServiceWindowGenerationFromRec( | ||
42 | } | 42 | } |
43 | running = true; | 43 | running = true; |
44 | finish = false; | 44 | finish = false; |
45 | - DPRINTF("Done!\n"); | 45 | + printl(util::_DEBUG, "Done!\n"); |
46 | } | 46 | } |
47 | 47 | ||
48 | ServiceWindowGenerationFromRec::~ServiceWindowGenerationFromRec(){ | 48 | ServiceWindowGenerationFromRec::~ServiceWindowGenerationFromRec(){ |
@@ -51,32 +51,47 @@ ServiceWindowGenerationFromRec::~ServiceWindowGenerationFromRec(){ | @@ -51,32 +51,47 @@ ServiceWindowGenerationFromRec::~ServiceWindowGenerationFromRec(){ | ||
51 | if (renderer) delete renderer; | 51 | if (renderer) delete renderer; |
52 | if (rec) delete rec; | 52 | if (rec) delete rec; |
53 | if (mixer) delete mixer; | 53 | if (mixer) delete mixer; |
54 | - DDDPRINTF("Service Rec finished!\n"); | 54 | + printl(util::_DEBUG, "Service Rec finished!\n"); |
55 | } | 55 | } |
56 | 56 | ||
57 | void ServiceWindowGenerationFromRec::setPathContents(){ | 57 | void ServiceWindowGenerationFromRec::setPathContents(){ |
58 | - if(this->exec_mode == DEVELOPER){ | ||
59 | - this->path_contents = PATH_DEVEL_CONTENTS; | ||
60 | - this->path_uploads = PATH_DEVEL_UPLOADS; | ||
61 | - rec->setPathAudioContents(path_uploads); | ||
62 | - | ||
63 | - }else if(this->exec_mode == PRODUCTION){ | ||
64 | - ifstream conf_file(PATH_CONF_FILE, ifstream::binary); | ||
65 | - parsingSuccessful = reader.parse(conf_file, root); | ||
66 | - if(!parsingSuccessful){ | ||
67 | - conf_file.close(); | ||
68 | - throw ServiceException("Fail to parsing param.json"); | ||
69 | - } | ||
70 | - string attr = "vlibras_user/"; | ||
71 | - attr += root.get("storage", PATH_VBOX_UPLOADS).asString(); | ||
72 | - this->path_contents = new char[MAX_SIZE_PATH]; | ||
73 | - strcpy(this->path_contents, attr.c_str()); | ||
74 | - this->path_uploads = PATH_VBOX_UPLOADS; | ||
75 | - rec->setPathAudioContents(path_uploads); | ||
76 | - conf_file.close(); | ||
77 | - }else{ | ||
78 | - throw ServiceException("Invalid execution mode!"); | ||
79 | - } | 58 | + switch(exec_mode) { |
59 | + case DEVELOPER: | ||
60 | + { | ||
61 | + this->path_contents = (char*) PATH_DEVEL_CONTENTS; | ||
62 | + this->path_uploads = (char*) PATH_DEVEL_UPLOADS; | ||
63 | + rec->setPathAudioContents(path_uploads); | ||
64 | + }break; | ||
65 | + | ||
66 | + case PRODUCTION: | ||
67 | + { | ||
68 | + ifstream conf_file(PATH_CONF_FILE, ifstream::binary); | ||
69 | + parsingSuccessful = reader.parse(conf_file, root); | ||
70 | + | ||
71 | + if(parsingSuccessful) { | ||
72 | + string attr = "vlibras_user/"; | ||
73 | + attr += root.get("storage", PATH_VBOX_UPLOADS).asString(); | ||
74 | + this->path_contents = new char[MAX_SIZE_PATH]; | ||
75 | + strcpy(this->path_contents, attr.c_str()); | ||
76 | + this->path_uploads = (char*) PATH_VBOX_UPLOADS; | ||
77 | + rec->setPathAudioContents(path_uploads); | ||
78 | + }else{ | ||
79 | + conf_file.close(); | ||
80 | + Logging::instance()->writeLog("Erro com a leitura do arquivo params.json"); | ||
81 | + throw RuntimeException("Fail to parsing params.json"); | ||
82 | + } | ||
83 | + conf_file.close(); | ||
84 | + }break; | ||
85 | + | ||
86 | + case TESTER: | ||
87 | + { | ||
88 | + this->path_contents = (char*) PATH_TESTER_CONTENTS; | ||
89 | + this->path_uploads = (char*) PATH_TESTER_UPLOADS; | ||
90 | + }break; | ||
91 | + | ||
92 | + default: | ||
93 | + throw ServiceException("Invalid execution mode!"); | ||
94 | + } | ||
80 | } | 95 | } |
81 | 96 | ||
82 | void ServiceWindowGenerationFromRec::setPathLibras() { | 97 | void ServiceWindowGenerationFromRec::setPathLibras() { |
@@ -140,7 +155,7 @@ void ServiceWindowGenerationFromRec::notifyEndOfRenderization() { | @@ -140,7 +155,7 @@ void ServiceWindowGenerationFromRec::notifyEndOfRenderization() { | ||
140 | } | 155 | } |
141 | 156 | ||
142 | void ServiceWindowGenerationFromRec::notifyEnd(int sentences_size){ | 157 | void ServiceWindowGenerationFromRec::notifyEnd(int sentences_size){ |
143 | - DPRINTF("Service REC recebeu: %d sentenças.\n", sentences_size); | 158 | + printl(util::_DEBUG, "Service REC recebeu: %d sentenças.\n", sentences_size); |
144 | setSizeOfSubtitles(sentences_size); | 159 | setSizeOfSubtitles(sentences_size); |
145 | } | 160 | } |
146 | 161 | ||
@@ -153,7 +168,7 @@ bool ServiceWindowGenerationFromRec::isFinished(){ | @@ -153,7 +168,7 @@ bool ServiceWindowGenerationFromRec::isFinished(){ | ||
153 | } | 168 | } |
154 | 169 | ||
155 | void ServiceWindowGenerationFromRec::initialize(){ | 170 | void ServiceWindowGenerationFromRec::initialize(){ |
156 | - DPRINTF("Service REC Initialize.\n"); | 171 | + printl(util::_DEBUG, "Service REC Initialize.\n"); |
157 | setPathLibras(); | 172 | setPathLibras(); |
158 | rec->addListener(this); | 173 | rec->addListener(this); |
159 | tradutor->addListener(this); | 174 | tradutor->addListener(this); |
servico/src/serviceWindowGenerationFromSRT.cpp
@@ -23,7 +23,7 @@ ServiceWindowGenerationFromSRT::ServiceWindowGenerationFromSRT(char* pathVideo, | @@ -23,7 +23,7 @@ ServiceWindowGenerationFromSRT::ServiceWindowGenerationFromSRT(char* pathVideo, | ||
23 | } | 23 | } |
24 | running = true; | 24 | running = true; |
25 | finish = false; | 25 | finish = false; |
26 | - DPRINTF("Done!\n"); | 26 | + printl(util::_DEBUG, "Done!\n"); |
27 | } | 27 | } |
28 | 28 | ||
29 | ServiceWindowGenerationFromSRT::ServiceWindowGenerationFromSRT(char* pathSRT, int sublanguage, int transp, char* id, int mode, int serviceType) { | 29 | ServiceWindowGenerationFromSRT::ServiceWindowGenerationFromSRT(char* pathSRT, int sublanguage, int transp, char* id, int mode, int serviceType) { |
@@ -44,7 +44,7 @@ ServiceWindowGenerationFromSRT::ServiceWindowGenerationFromSRT(char* pathSRT, in | @@ -44,7 +44,7 @@ ServiceWindowGenerationFromSRT::ServiceWindowGenerationFromSRT(char* pathSRT, in | ||
44 | } | 44 | } |
45 | running = true; | 45 | running = true; |
46 | finish = false; | 46 | finish = false; |
47 | - DPRINTF("Done!\n"); | 47 | + printl(util::_DEBUG, "Done!\n"); |
48 | } | 48 | } |
49 | 49 | ||
50 | ServiceWindowGenerationFromSRT::~ServiceWindowGenerationFromSRT() { | 50 | ServiceWindowGenerationFromSRT::~ServiceWindowGenerationFromSRT() { |
@@ -54,30 +54,44 @@ ServiceWindowGenerationFromSRT::~ServiceWindowGenerationFromSRT() { | @@ -54,30 +54,44 @@ ServiceWindowGenerationFromSRT::~ServiceWindowGenerationFromSRT() { | ||
54 | if (renderer) delete renderer; | 54 | if (renderer) delete renderer; |
55 | if (extratorSRT)delete extratorSRT; | 55 | if (extratorSRT)delete extratorSRT; |
56 | if (extrator_factory) delete extrator_factory; | 56 | if (extrator_factory) delete extrator_factory; |
57 | - DDDPRINTF("Service SRT finalized!\n"); | 57 | + printl(util::_DEBUG, "Service SRT finalized!\n"); |
58 | } | 58 | } |
59 | 59 | ||
60 | void ServiceWindowGenerationFromSRT::setPathContents() { | 60 | void ServiceWindowGenerationFromSRT::setPathContents() { |
61 | - if(this->exec_mode == DEVELOPER){ | ||
62 | - this->path_contents = PATH_DEVEL_CONTENTS; | ||
63 | - this->path_uploads = PATH_DEVEL_UPLOADS; | ||
64 | - | ||
65 | - }else if(this->exec_mode = PRODUCTION){ | ||
66 | - ifstream conf_file(PATH_CONF_FILE, ifstream::binary); | ||
67 | - parsingSuccessful = reader.parse(conf_file, root); | ||
68 | - if(!parsingSuccessful){ | 61 | + switch(exec_mode) { |
62 | + case DEVELOPER: | ||
63 | + { | ||
64 | + this->path_contents = (char*) PATH_DEVEL_CONTENTS; | ||
65 | + this->path_uploads = (char*) PATH_DEVEL_UPLOADS; | ||
66 | + }break; | ||
67 | + | ||
68 | + case PRODUCTION: | ||
69 | + { | ||
70 | + ifstream conf_file(PATH_CONF_FILE, ifstream::binary); | ||
71 | + parsingSuccessful = reader.parse(conf_file, root); | ||
72 | + | ||
73 | + if(parsingSuccessful) { | ||
74 | + string attr = "vlibras_user/"; | ||
75 | + attr += root.get("storage", PATH_VBOX_UPLOADS).asString(); | ||
76 | + this->path_contents = new char[MAX_SIZE_PATH]; | ||
77 | + strcpy(this->path_contents, attr.c_str()); | ||
78 | + this->path_uploads = (char*) PATH_VBOX_UPLOADS; | ||
79 | + }else{ | ||
80 | + conf_file.close(); | ||
81 | + Logging::instance()->writeLog("Erro com a leitura do arquivo params.json"); | ||
82 | + throw new RuntimeException("Fail to parsing params.json"); | ||
83 | + } | ||
69 | conf_file.close(); | 84 | conf_file.close(); |
70 | - throw ServiceException("Fail to parsing param.json"); | ||
71 | - } | ||
72 | - string attr = "vlibras_user/"; | ||
73 | - attr += root.get("storage", PATH_VBOX_UPLOADS).asString(); | ||
74 | - this->path_contents = new char[MAX_SIZE_PATH]; | ||
75 | - | ||
76 | - strcpy(this->path_contents, attr.c_str()); | ||
77 | - this->path_uploads = PATH_VBOX_UPLOADS; | ||
78 | - conf_file.close(); | ||
79 | - }else{ | ||
80 | - throw ServiceException("Invalid execution mode!"); | 85 | + }break; |
86 | + | ||
87 | + case TESTER: | ||
88 | + { | ||
89 | + this->path_contents = (char*) PATH_TESTER_CONTENTS; | ||
90 | + this->path_uploads = (char*) PATH_TESTER_UPLOADS; | ||
91 | + }break; | ||
92 | + | ||
93 | + default: | ||
94 | + throw ServiceException("Invalid execution mode!"); | ||
81 | } | 95 | } |
82 | } | 96 | } |
83 | 97 | ||
@@ -154,7 +168,7 @@ void ServiceWindowGenerationFromSRT::notifyEndOfRenderization() { | @@ -154,7 +168,7 @@ void ServiceWindowGenerationFromSRT::notifyEndOfRenderization() { | ||
154 | } | 168 | } |
155 | 169 | ||
156 | void ServiceWindowGenerationFromSRT::notifyEnd(int sub_size) { | 170 | void ServiceWindowGenerationFromSRT::notifyEnd(int sub_size) { |
157 | - DPRINTF("Service SRT recebeu: %d legendas.\n", sub_size); | 171 | + printl(util::_DEBUG, "Service SRT recebeu: %d legendas.\n", sub_size); |
158 | setSizeOfSubtitles(sub_size); | 172 | setSizeOfSubtitles(sub_size); |
159 | } | 173 | } |
160 | 174 | ||
@@ -167,7 +181,7 @@ bool ServiceWindowGenerationFromSRT::isFinished() { | @@ -167,7 +181,7 @@ bool ServiceWindowGenerationFromSRT::isFinished() { | ||
167 | } | 181 | } |
168 | 182 | ||
169 | void ServiceWindowGenerationFromSRT::initialize() { | 183 | void ServiceWindowGenerationFromSRT::initialize() { |
170 | - DPRINTF("Service SRT Initialize.\n"); | 184 | + printl(util::_DEBUG, "Service SRT Initialize.\n"); |
171 | setPathLibras(); | 185 | setPathLibras(); |
172 | extratorSRT = (ExtratorSRT*) extrator_factory->getExtrator(Extrator::SRT); | 186 | extratorSRT = (ExtratorSRT*) extrator_factory->getExtrator(Extrator::SRT); |
173 | extratorSRT->addListener(this); | 187 | extratorSRT->addListener(this); |
servico/src/serviceWindowGenerationFromText.cpp
@@ -18,7 +18,7 @@ ServiceWindowGenerationFromText::ServiceWindowGenerationFromText(char* pathFile, | @@ -18,7 +18,7 @@ ServiceWindowGenerationFromText::ServiceWindowGenerationFromText(char* pathFile, | ||
18 | } | 18 | } |
19 | running = true; | 19 | running = true; |
20 | finish = false; | 20 | finish = false; |
21 | - DPRINTF("Done!\n"); | 21 | + printl(util::_DEBUG, "Done!\n"); |
22 | } | 22 | } |
23 | 23 | ||
24 | ServiceWindowGenerationFromText::~ServiceWindowGenerationFromText() { | 24 | ServiceWindowGenerationFromText::~ServiceWindowGenerationFromText() { |
@@ -26,26 +26,41 @@ ServiceWindowGenerationFromText::~ServiceWindowGenerationFromText() { | @@ -26,26 +26,41 @@ ServiceWindowGenerationFromText::~ServiceWindowGenerationFromText() { | ||
26 | if (renderer) delete renderer; | 26 | if (renderer) delete renderer; |
27 | if (extratorTXT)delete extratorTXT; | 27 | if (extratorTXT)delete extratorTXT; |
28 | if (extrator_factory) delete extrator_factory; | 28 | if (extrator_factory) delete extrator_factory; |
29 | - DDDPRINTF("Service Text finalized!\n"); | 29 | + printl(util::_DEBUG, "Service Text finalized!\n"); |
30 | } | 30 | } |
31 | 31 | ||
32 | void ServiceWindowGenerationFromText::setPathContents() { | 32 | void ServiceWindowGenerationFromText::setPathContents() { |
33 | - if(this->exec_mode == DEVELOPER){ | ||
34 | - this->path_contents = PATH_DEVEL_CONTENTS; | ||
35 | - //this->path_uploads = PATH_DEVEL_UPLOADS; | ||
36 | - }else if(this->exec_mode == PRODUCTION){ | ||
37 | - ifstream conf_file(PATH_CONF_FILE, ifstream::binary); | ||
38 | - parsingSuccessful = reader.parse(conf_file, root); | ||
39 | - if(!parsingSuccessful){ | ||
40 | - throw new RuntimeException("Fail to parsing param.json"); | ||
41 | - } | ||
42 | - string attr = "vlibras_user/"; | ||
43 | - attr += root.get("storage", PATH_VBOX_UPLOADS).asString(); | ||
44 | - this->path_contents = new char[MAX_SIZE_PATH]; | ||
45 | - strcpy(this->path_contents, attr.c_str()); | ||
46 | - //this->path_uploads = PATH_VBOX_UPLOADS; | ||
47 | - }else{ | ||
48 | - throw ServiceException("Invalid execution mode!"); | 33 | + switch(exec_mode) { |
34 | + case DEVELOPER: | ||
35 | + { | ||
36 | + this->path_contents = (char*) PATH_DEVEL_CONTENTS; | ||
37 | + }break; | ||
38 | + | ||
39 | + case PRODUCTION: | ||
40 | + { | ||
41 | + ifstream conf_file(PATH_CONF_FILE, ifstream::binary); | ||
42 | + parsingSuccessful = reader.parse(conf_file, root); | ||
43 | + | ||
44 | + if(parsingSuccessful) { | ||
45 | + string attr = "vlibras_user/"; | ||
46 | + attr += root.get("storage", PATH_VBOX_UPLOADS).asString(); | ||
47 | + this->path_contents = new char[MAX_SIZE_PATH]; | ||
48 | + strcpy(this->path_contents, attr.c_str()); | ||
49 | + }else{ | ||
50 | + conf_file.close(); | ||
51 | + Logging::instance()->writeLog("Erro com a leitura do arquivo params.json"); | ||
52 | + throw new RuntimeException("Fail to parsing params.json"); | ||
53 | + } | ||
54 | + conf_file.close(); | ||
55 | + }break; | ||
56 | + | ||
57 | + case TESTER: | ||
58 | + { | ||
59 | + this->path_contents = (char*) PATH_TESTER_CONTENTS; | ||
60 | + }break; | ||
61 | + | ||
62 | + default: | ||
63 | + throw ServiceException("Invalid execution mode!"); | ||
49 | } | 64 | } |
50 | } | 65 | } |
51 | 66 | ||
@@ -102,7 +117,7 @@ void ServiceWindowGenerationFromText::notifyEndOfRenderization() { | @@ -102,7 +117,7 @@ void ServiceWindowGenerationFromText::notifyEndOfRenderization() { | ||
102 | } | 117 | } |
103 | 118 | ||
104 | void ServiceWindowGenerationFromText::notifyEnd(int line_size) { | 119 | void ServiceWindowGenerationFromText::notifyEnd(int line_size) { |
105 | - DPRINTF("Service Text recebeu: %d linhas.\n", line_size); | 120 | + printl(util::_DEBUG, "Service Text recebeu: %d linhas.\n", line_size); |
106 | setSizeOfSubtitles(line_size); | 121 | setSizeOfSubtitles(line_size); |
107 | } | 122 | } |
108 | 123 | ||
@@ -115,7 +130,7 @@ bool ServiceWindowGenerationFromText::isFinished() { | @@ -115,7 +130,7 @@ bool ServiceWindowGenerationFromText::isFinished() { | ||
115 | } | 130 | } |
116 | 131 | ||
117 | void ServiceWindowGenerationFromText::initialize() { | 132 | void ServiceWindowGenerationFromText::initialize() { |
118 | - DPRINTF("Service Text Initialize.\n"); | 133 | + printl(util::_DEBUG, "Service Text Initialize.\n"); |
119 | setPathLibras(); | 134 | setPathLibras(); |
120 | extratorTXT = (ExtratorTXT*) extrator_factory->getExtrator(Extrator::TXT); | 135 | extratorTXT = (ExtratorTXT*) extrator_factory->getExtrator(Extrator::TXT); |
121 | extratorTXT->addListener(this); | 136 | extratorTXT->addListener(this); |
tradutor/src/include/tradutorPortGlosa.h
@@ -18,12 +18,13 @@ | @@ -18,12 +18,13 @@ | ||
18 | #include "listenerTradutor.h" | 18 | #include "listenerTradutor.h" |
19 | #include "pyTradutor.h" | 19 | #include "pyTradutor.h" |
20 | #include "listenerInput.h" | 20 | #include "listenerInput.h" |
21 | -#include "dprintf.h" | 21 | +#include "logging.h" |
22 | 22 | ||
23 | #ifndef _GERADOR_GLOSA_H_ | 23 | #ifndef _GERADOR_GLOSA_H_ |
24 | #define _GERADOR_GLOSA_H_ | 24 | #define _GERADOR_GLOSA_H_ |
25 | 25 | ||
26 | using namespace std; | 26 | using namespace std; |
27 | +using namespace util; | ||
27 | 28 | ||
28 | namespace Tradutor { | 29 | namespace Tradutor { |
29 | 30 |
tradutor/src/tradutorPortGlosa.cpp
@@ -21,7 +21,7 @@ namespace Tradutor { | @@ -21,7 +21,7 @@ namespace Tradutor { | ||
21 | // Inicia o mutex | 21 | // Inicia o mutex |
22 | mutex = (pthread_mutex_t *) malloc( sizeof(pthread_mutex_t) ); | 22 | mutex = (pthread_mutex_t *) malloc( sizeof(pthread_mutex_t) ); |
23 | pthread_mutex_init(mutex, NULL); | 23 | pthread_mutex_init(mutex, NULL); |
24 | - DPRINTF("Done!\n") | 24 | + printl(util::_DEBUG, "Done!\n"); |
25 | } | 25 | } |
26 | 26 | ||
27 | 27 | ||
@@ -31,11 +31,10 @@ namespace Tradutor { | @@ -31,11 +31,10 @@ namespace Tradutor { | ||
31 | if (mutex) { | 31 | if (mutex) { |
32 | int ret = pthread_mutex_destroy(mutex); | 32 | int ret = pthread_mutex_destroy(mutex); |
33 | if (ret) | 33 | if (ret) |
34 | - DDDPRINTF("Erro, destruindo mutex.\n"); | 34 | + printl(util::_ERROR, "Erro, destruindo mutex.\n"); |
35 | free(mutex); | 35 | free(mutex); |
36 | } | 36 | } |
37 | - DDDPRINTF("Translator finalized!\n") | ||
38 | - | 37 | + printl(util::_DEBUG, "Translator finalized!\n"); |
39 | } | 38 | } |
40 | 39 | ||
41 | void TradutorPortGlosa::addListener(ListenerTradutor* listener) { | 40 | void TradutorPortGlosa::addListener(ListenerTradutor* listener) { |
util/src/argParser.cpp
@@ -10,27 +10,29 @@ void ArgParser::readArgs(char** argv, int argc) | @@ -10,27 +10,29 @@ void ArgParser::readArgs(char** argv, int argc) | ||
10 | int long_index = 0; | 10 | int long_index = 0; |
11 | 11 | ||
12 | static struct option long_options[] = { | 12 | static struct option long_options[] = { |
13 | - {"audio", required_argument, NULL, 'A'}, | ||
14 | - {"subtitle", required_argument, NULL, 'S'}, | ||
15 | - {"text", required_argument, NULL, 'T'}, | ||
16 | - {"video", required_argument, NULL, 'V'}, | ||
17 | - {"language", required_argument, NULL, 'l'}, | ||
18 | - {"background", required_argument, NULL, 'b'}, | ||
19 | - {"resolution", required_argument, NULL, 'r'}, | ||
20 | - {"position", required_argument, NULL, 'p'}, | ||
21 | - {"mode", required_argument, NULL, 'm'}, | ||
22 | - {"id", required_argument, NULL, 'i'}, | ||
23 | - {"no-mixer", no_argument, NULL, 'x'}, | ||
24 | - {"help", no_argument, NULL, 'h'}, | ||
25 | - {0, 0, 0, 0 } | 13 | + {"audio", required_argument, NULL, 'A'}, |
14 | + {"subtitle", required_argument, NULL, 'S'}, | ||
15 | + {"text", required_argument, NULL, 'T'}, | ||
16 | + {"video", required_argument, NULL, 'V'}, | ||
17 | + {"language", required_argument, NULL, 'l'}, | ||
18 | + {"background", required_argument, NULL, 'b'}, | ||
19 | + {"resolution", required_argument, NULL, 'r'}, | ||
20 | + {"position", required_argument, NULL, 'p'}, | ||
21 | + {"mode", required_argument, NULL, 'm'}, | ||
22 | + {"id", required_argument, NULL, 'i'}, | ||
23 | + {"no-mixer", no_argument, NULL, 'x'}, | ||
24 | + {"check-modules", no_argument, NULL, 'C'}, | ||
25 | + {"loglevel", required_argument, NULL, 'v'}, | ||
26 | + {"help", no_argument, NULL, 'h'}, | ||
27 | + {0, 0, 0, 0 } | ||
26 | }; | 28 | }; |
27 | 29 | ||
28 | - while ((opt = getopt_long_only(argc, argv, "A:S:T:V:l:b:r:p:m:", long_options, &long_index))!= -1) | 30 | + while ((opt = getopt_long_only(argc, argv, "A:S:T:V:b:l:m:p:r:v:", long_options, &long_index))!= -1) |
29 | { | 31 | { |
30 | switch (opt) | 32 | switch (opt) |
31 | { | 33 | { |
32 | case 'A': | 34 | case 'A': |
33 | - if(argc <= 5) | 35 | + if(argc <= 9) |
34 | returnErr("Insuficient arguments. Try again"); | 36 | returnErr("Insuficient arguments. Try again"); |
35 | 37 | ||
36 | globalArgs.service = _REC_AUDIO; | 38 | globalArgs.service = _REC_AUDIO; |
@@ -38,7 +40,7 @@ void ArgParser::readArgs(char** argv, int argc) | @@ -38,7 +40,7 @@ void ArgParser::readArgs(char** argv, int argc) | ||
38 | break; | 40 | break; |
39 | 41 | ||
40 | case 'S': | 42 | case 'S': |
41 | - if(argc <= 6 || (globalArgs.service == _REC_VIDEO && argc <= 9)) | 43 | + if(argc <= 11 || (globalArgs.service == _REC_VIDEO && argc <= 17)) |
42 | returnErr("Insuficient arguments. Try again"); | 44 | returnErr("Insuficient arguments. Try again"); |
43 | 45 | ||
44 | if(globalArgs.service == _REC_VIDEO){ // ativa o serviço de vídeo e legendas | 46 | if(globalArgs.service == _REC_VIDEO){ // ativa o serviço de vídeo e legendas |
@@ -51,7 +53,7 @@ void ArgParser::readArgs(char** argv, int argc) | @@ -51,7 +53,7 @@ void ArgParser::readArgs(char** argv, int argc) | ||
51 | break; | 53 | break; |
52 | 54 | ||
53 | case 'T': | 55 | case 'T': |
54 | - if(argc <= 5) | 56 | + if(argc <= 9) |
55 | returnErr("Insuficient arguments. Try again"); | 57 | returnErr("Insuficient arguments. Try again"); |
56 | 58 | ||
57 | globalArgs.service = _TEXT; | 59 | globalArgs.service = _TEXT; |
@@ -59,7 +61,7 @@ void ArgParser::readArgs(char** argv, int argc) | @@ -59,7 +61,7 @@ void ArgParser::readArgs(char** argv, int argc) | ||
59 | break; | 61 | break; |
60 | 62 | ||
61 | case 'V': | 63 | case 'V': |
62 | - if(argc <= 7 || ((globalArgs.service == _ONLY_SRT && argc <= 9))) | 64 | + if(argc <= 13 || ((globalArgs.service == _ONLY_SRT && argc <= 17))) |
63 | returnErr("Insuficient arguments. Try again"); | 65 | returnErr("Insuficient arguments. Try again"); |
64 | 66 | ||
65 | if(globalArgs.service == _ONLY_SRT){ // ativa o serviço de vídeo e legendas | 67 | if(globalArgs.service == _ONLY_SRT){ // ativa o serviço de vídeo e legendas |
@@ -73,54 +75,23 @@ void ArgParser::readArgs(char** argv, int argc) | @@ -73,54 +75,23 @@ void ArgParser::readArgs(char** argv, int argc) | ||
73 | break; | 75 | break; |
74 | 76 | ||
75 | case 'l': | 77 | case 'l': |
76 | - if (strcmp(optarg,"portugues") == 0) | ||
77 | - globalArgs.language = _PORTUGUESE; | ||
78 | - else if (strcmp(optarg,"libras") == 0) | ||
79 | - globalArgs.language = _GLOSA; | ||
80 | - else | ||
81 | - returnErr("--language"); | 78 | + globalArgs.language = languageFromString(optarg); |
82 | break; | 79 | break; |
83 | 80 | ||
84 | case 'b': | 81 | case 'b': |
85 | - if (strcmp(optarg,"opaque") == 0) | ||
86 | - globalArgs.back = _OPAQUE; | ||
87 | - else if (strcmp(optarg,"transp") == 0) | ||
88 | - globalArgs.back = _TRANSPARENT; | ||
89 | - else | ||
90 | - returnErr("--background"); | 82 | + globalArgs.back = backgroundFromString(optarg); |
91 | break; | 83 | break; |
92 | 84 | ||
93 | case 'r': | 85 | case 'r': |
94 | - if (strcmp(optarg,"small") == 0) | ||
95 | - globalArgs.size = _SMALL; | ||
96 | - else if (strcmp(optarg,"medium") == 0) | ||
97 | - globalArgs.size = _MEDIUM; | ||
98 | - else if (strcmp(optarg,"large") == 0) | ||
99 | - globalArgs.size = _LARGE; | ||
100 | - else | ||
101 | - returnErr("--resolution"); | 86 | + globalArgs.size = resolutionFromString(optarg); |
102 | break; | 87 | break; |
103 | 88 | ||
104 | case 'p': | 89 | case 'p': |
105 | - if (strcmp(optarg,"top_left") == 0) | ||
106 | - globalArgs.position = _TOP_LEFT; | ||
107 | - else if (strcmp(optarg,"top_right") == 0) | ||
108 | - globalArgs.position = _TOP_RIGHT; | ||
109 | - else if (strcmp(optarg,"bottom_right") == 0) | ||
110 | - globalArgs.position = _BOTTOM_RIGHT; | ||
111 | - else if (strcmp(optarg,"bottom_left") == 0) | ||
112 | - globalArgs.position = _BOTTOM_LEFT; | ||
113 | - else | ||
114 | - returnErr("--position"); | 90 | + globalArgs.position = positionFromString(optarg); |
115 | break; | 91 | break; |
116 | 92 | ||
117 | case 'm': | 93 | case 'm': |
118 | - if(strcmp(optarg,"prod") == 0) | ||
119 | - globalArgs.mode = _PROD; | ||
120 | - else if (strcmp(optarg,"devel") == 0) | ||
121 | - globalArgs.mode = _DEVEL; | ||
122 | - else | ||
123 | - returnErr("--mode"); | 94 | + globalArgs.mode = executionModeFromString(optarg); |
124 | break; | 95 | break; |
125 | 96 | ||
126 | case 'i': | 97 | case 'i': |
@@ -134,6 +105,14 @@ void ArgParser::readArgs(char** argv, int argc) | @@ -134,6 +105,14 @@ void ArgParser::readArgs(char** argv, int argc) | ||
134 | globalArgs.mixer = _NO_MIXER; | 105 | globalArgs.mixer = _NO_MIXER; |
135 | break; | 106 | break; |
136 | 107 | ||
108 | + case 'C': | ||
109 | + globalArgs.service = _TESTER; | ||
110 | + break; | ||
111 | + | ||
112 | + case 'v': | ||
113 | + globalArgs.l_level = logFromString(optarg); | ||
114 | + break; | ||
115 | + | ||
137 | case 'h': | 116 | case 'h': |
138 | help(); | 117 | help(); |
139 | break; | 118 | break; |
@@ -155,9 +134,9 @@ void ArgParser::readArgs(char** argv, int argc) | @@ -155,9 +134,9 @@ void ArgParser::readArgs(char** argv, int argc) | ||
155 | /* Mostra os argumentos restantes depois das opções de linha de comando */ | 134 | /* Mostra os argumentos restantes depois das opções de linha de comando */ |
156 | if (optind < argc) | 135 | if (optind < argc) |
157 | { | 136 | { |
158 | - printf("non-option ARGV-elements: "); | 137 | + printf("non-option ARGV-elements:\n"); |
159 | while (optind < argc) | 138 | while (optind < argc) |
160 | - printf("%s ", argv[optind++]); | 139 | + printf("%s\n", argv[optind++]); |
161 | } | 140 | } |
162 | } | 141 | } |
163 | 142 | ||
@@ -184,12 +163,84 @@ void ArgParser::help() | @@ -184,12 +163,84 @@ void ArgParser::help() | ||
184 | throw lavidlib::RuntimeException(); //para nao iniciar o vlibras | 163 | throw lavidlib::RuntimeException(); //para nao iniciar o vlibras |
185 | } | 164 | } |
186 | 165 | ||
187 | -void ArgParser::returnErr(string option) | 166 | +void ArgParser::returnErr(const string& option) |
188 | { | 167 | { |
189 | cout << "Option '" << option << "' contains an invalid argument." << endl; | 168 | cout << "Option '" << option << "' contains an invalid argument." << endl; |
190 | throw lavidlib::RuntimeException(); | 169 | throw lavidlib::RuntimeException(); |
191 | } | 170 | } |
192 | 171 | ||
172 | +util::logLevel ArgParser::logFromString(const string& level) | ||
173 | +{ | ||
174 | + if(level == "quiet") | ||
175 | + return util::_QUIET; | ||
176 | + if(level == "debug") | ||
177 | + return util::_DEBUG; | ||
178 | + if(level == "info") | ||
179 | + return util::_INFO; | ||
180 | + if(level == "warning") | ||
181 | + return util::_WARNING; | ||
182 | + if(level == "error") | ||
183 | + return util::_ERROR; | ||
184 | + | ||
185 | + return util::_INFO;//default | ||
186 | +} | ||
187 | + | ||
188 | +ArgParser::Languages ArgParser::languageFromString(const string& language) | ||
189 | +{ | ||
190 | + if(language == "portugues") | ||
191 | + return _PORTUGUESE; | ||
192 | + if(language == "libras") | ||
193 | + return _GLOSA; | ||
194 | + | ||
195 | + returnErr("--language"); | ||
196 | +} | ||
197 | + | ||
198 | +ArgParser::Positions ArgParser::positionFromString(const string& position) | ||
199 | +{ | ||
200 | + if(position == "top_left") | ||
201 | + return _TOP_LEFT; | ||
202 | + if(position == "top_right") | ||
203 | + return _TOP_RIGHT; | ||
204 | + if(position == "bottom_right") | ||
205 | + return _BOTTOM_RIGHT; | ||
206 | + if(position == "bottom_left") | ||
207 | + return _BOTTOM_LEFT; | ||
208 | + | ||
209 | + returnErr("--position"); | ||
210 | +} | ||
211 | + | ||
212 | +ArgParser::Resolution ArgParser::resolutionFromString(const string& resolution) | ||
213 | +{ | ||
214 | + if(resolution == "small") | ||
215 | + return _SMALL; | ||
216 | + if(resolution == "medium") | ||
217 | + return _MEDIUM; | ||
218 | + if(resolution == "large") | ||
219 | + return _LARGE; | ||
220 | + | ||
221 | + returnErr("--resolution"); | ||
222 | +} | ||
223 | + | ||
224 | +ArgParser::Background ArgParser::backgroundFromString(const string& back) | ||
225 | +{ | ||
226 | + if(back == "opaque") | ||
227 | + return _OPAQUE; | ||
228 | + if(back == "transp") | ||
229 | + return _TRANSPARENT; | ||
230 | + | ||
231 | + returnErr("--background"); | ||
232 | +} | ||
233 | + | ||
234 | +ArgParser::Mode ArgParser::executionModeFromString(const string& mode) | ||
235 | +{ | ||
236 | + if(mode == "prod") | ||
237 | + return _PROD; | ||
238 | + if(mode == "devel") | ||
239 | + return _DEVEL; | ||
240 | + | ||
241 | + returnErr("--mode"); | ||
242 | +} | ||
243 | + | ||
193 | int ArgParser::getService() | 244 | int ArgParser::getService() |
194 | { | 245 | { |
195 | return globalArgs.service; | 246 | return globalArgs.service; |
@@ -238,4 +289,9 @@ string ArgParser::getInputSRT() | @@ -238,4 +289,9 @@ string ArgParser::getInputSRT() | ||
238 | string ArgParser::getId() | 289 | string ArgParser::getId() |
239 | { | 290 | { |
240 | return globalArgs.id; | 291 | return globalArgs.id; |
292 | +} | ||
293 | + | ||
294 | +util::logLevel ArgParser::getLog() | ||
295 | +{ | ||
296 | + return globalArgs.l_level; | ||
241 | } | 297 | } |
242 | \ No newline at end of file | 298 | \ No newline at end of file |
util/src/include/argParser.h
@@ -7,6 +7,7 @@ | @@ -7,6 +7,7 @@ | ||
7 | #include <stdlib.h> | 7 | #include <stdlib.h> |
8 | #include <unistd.h> | 8 | #include <unistd.h> |
9 | #include <getopt.h> | 9 | #include <getopt.h> |
10 | +#include "logging.h" | ||
10 | #include <lavidlib/base/RuntimeException.h> | 11 | #include <lavidlib/base/RuntimeException.h> |
11 | 12 | ||
12 | #define MAX_SIZE_PATH 256 | 13 | #define MAX_SIZE_PATH 256 |
@@ -30,12 +31,13 @@ public: | @@ -30,12 +31,13 @@ public: | ||
30 | string getInput(); | 31 | string getInput(); |
31 | string getInputSRT(); | 32 | string getInputSRT(); |
32 | string getId(); | 33 | string getId(); |
34 | + util::logLevel getLog(); | ||
33 | 35 | ||
34 | private: | 36 | private: |
35 | - enum Services { _VIDEO_WITH_SRT = 1, _REC_VIDEO, _TEXT, _ONLY_SRT, _REC_AUDIO, _WITHOUT_MIXER }; | 37 | + enum Services { _VIDEO_WITH_SRT = 1, _REC_VIDEO, _TEXT, _ONLY_SRT, _REC_AUDIO, _WITHOUT_MIXER, _TESTER }; |
36 | enum Languages { _PORTUGUESE = 1, _GLOSA }; | 38 | enum Languages { _PORTUGUESE = 1, _GLOSA }; |
37 | enum Positions { _TOP_LEFT = 1, _TOP_RIGHT, _BOTTOM_RIGHT, _BOTTOM_LEFT }; | 39 | enum Positions { _TOP_LEFT = 1, _TOP_RIGHT, _BOTTOM_RIGHT, _BOTTOM_LEFT }; |
38 | - enum Sizes { _SMALL = 1, _MEDIUM, _LARGE }; | 40 | + enum Resolution { _SMALL = 1, _MEDIUM, _LARGE }; |
39 | enum Background { _OPAQUE, _TRANSPARENT }; | 41 | enum Background { _OPAQUE, _TRANSPARENT }; |
40 | enum Options { _NO_MIXER = 1 }; | 42 | enum Options { _NO_MIXER = 1 }; |
41 | enum Mode { _DEVEL = 1 , _PROD }; | 43 | enum Mode { _DEVEL = 1 , _PROD }; |
@@ -44,17 +46,24 @@ private: | @@ -44,17 +46,24 @@ private: | ||
44 | Services service; | 46 | Services service; |
45 | Languages language; | 47 | Languages language; |
46 | Positions position; | 48 | Positions position; |
47 | - Sizes size; | 49 | + Resolution size; |
48 | Background back; | 50 | Background back; |
49 | Options mixer; | 51 | Options mixer; |
50 | Mode mode; | 52 | Mode mode; |
51 | string input; | 53 | string input; |
52 | string input_srt; | 54 | string input_srt; |
53 | string id; | 55 | string id; |
56 | + util::logLevel l_level; | ||
54 | }globalArgs; | 57 | }globalArgs; |
55 | 58 | ||
56 | void help(); | 59 | void help(); |
57 | - void returnErr(string option); | 60 | + void returnErr(const string& option); |
61 | + Languages languageFromString(const string& language); | ||
62 | + Positions positionFromString(const string& position); | ||
63 | + Resolution resolutionFromString(const string& resolution); | ||
64 | + Background backgroundFromString(const string& backg); | ||
65 | + Mode executionModeFromString(const string& mode); | ||
66 | + util::logLevel logFromString(const string& level); | ||
58 | }; | 67 | }; |
59 | 68 | ||
60 | #endif /* ARG_PARSER_H */ | 69 | #endif /* ARG_PARSER_H */ |
61 | \ No newline at end of file | 70 | \ No newline at end of file |
util/src/include/dprintf.h
@@ -1,79 +0,0 @@ | @@ -1,79 +0,0 @@ | ||
1 | -#ifndef __DPRINTF_H__ | ||
2 | -#define __DPRINTF_H__ | ||
3 | - | ||
4 | -/* A macro DEBUG_LEVEL determina o nivel de debugging | ||
5 | - * A seguinte regra eh utilizada: | ||
6 | - * | ||
7 | - * DEBUG_LEVEL >= 3: Apenas DDDPRINTF serah compilada. | ||
8 | - * DEBUG_LEVEL >= 2: DDDPRINTF E DDPRINTF serao compiladas. | ||
9 | - * DEBUG_LEVEL >= 1: DDDPRINTF, DDPRINTF e DPRINTF serao compiladas. | ||
10 | - * DEBUG_LEVEL == 0: Nada sera compilado. */ | ||
11 | - | ||
12 | -#include <stdio.h> | ||
13 | - | ||
14 | -/* tamanho maximo (em bytes) do arquivo de log (1M) */ | ||
15 | -//#define TAMANHO_MAXIMO_LOG 1048576 | ||
16 | -#define TAMANHO_MAXIMO_LOG 5242880 | ||
17 | - | ||
18 | - #define _DPRINTF_ERROR "\033[30m" | ||
19 | - #define _DPRINTF_WARN "\033[33m" | ||
20 | - #define _DPRINTF_INFO "\033[32m" | ||
21 | - #define _DPRINTF_FAIL "\033[31m" | ||
22 | - #define _DPRINTF_END "\033[0m" | ||
23 | - | ||
24 | -#define _DPRINTF_NOP(format, ...) do { } while (0) | ||
25 | - | ||
26 | -#ifdef DEBUG_LEVEL | ||
27 | - | ||
28 | - #if DEBUG_LEVEL & 4 | ||
29 | - #define DDDPRINTF(format, ...) { \ | ||
30 | - fprintf(stderr, \ | ||
31 | - _DPRINTF_ERROR"%s::%s [%d] -> "_DPRINTF_END format, \ | ||
32 | - __FILE__, __FUNCTION__, __LINE__, ## __VA_ARGS__); \ | ||
33 | - } | ||
34 | - | ||
35 | - #else /* !DEBUG_LEVEL > 2 */ | ||
36 | - #define DDDPRINTF _DPRINTF_NOP | ||
37 | - #endif /* DEBUG_LEVEL > 2 */ | ||
38 | - | ||
39 | - #if DEBUG_LEVEL & 2 | ||
40 | - #define DDPRINTF(format, ...) { \ | ||
41 | - fprintf(stderr, \ | ||
42 | - _DPRINTF_WARN"%s::%s [%d] -> "_DPRINTF_END format, \ | ||
43 | - __FILE__, __FUNCTION__, __LINE__, ## __VA_ARGS__); \ | ||
44 | - } | ||
45 | - | ||
46 | -#else /* !DEBUG_LEVEL > 1 */ | ||
47 | - #define DDPRINTF _DPRINTF_NOP | ||
48 | - #endif /* DEBUG_LEVEL > 1 */ | ||
49 | - | ||
50 | - #if DEBUG_LEVEL & 1 | ||
51 | - #define DPRINTF(format, ...) { \ | ||
52 | - fprintf(stderr, \ | ||
53 | - _DPRINTF_INFO"%s::%s [%d] -> "_DPRINTF_END format, \ | ||
54 | - __FILE__, __FUNCTION__, __LINE__, ## __VA_ARGS__); \ | ||
55 | - } | ||
56 | - | ||
57 | - #else /* !DEBUG_LEVEL > 0 */ | ||
58 | - #define DPRINTF _DPRINTF_NOP | ||
59 | - #endif /* DEBUG_LEVEL > 0 */ | ||
60 | - | ||
61 | - #if DEBUG_LEVEL & 1 | ||
62 | - #define DDDDPRINTF(format, ...) { \ | ||
63 | - fprintf(stderr, \ | ||
64 | - _DPRINTF_FAIL"%s::%s [%d] -> "_DPRINTF_END format, \ | ||
65 | - __FILE__, __FUNCTION__, __LINE__, ## __VA_ARGS__); \ | ||
66 | - } | ||
67 | - | ||
68 | - #else /* !DEBUG_LEVEL > 0 */ | ||
69 | - #define DDDDPRINTF _DPRINTF_NOP | ||
70 | - #endif /* DEBUG_LEVEL > 0 */ | ||
71 | - | ||
72 | -#else /* DEBUG_LEVEL */ | ||
73 | - #define DPRINTF _DPRINTF_NOP | ||
74 | - #define DDPRINTF _DPRINTF_NOP | ||
75 | - #define DDDPRINTF _DPRINTF_NOP | ||
76 | -#endif /* ! DEBUG_LEVEL */ | ||
77 | - | ||
78 | -#endif /* __DPRINTF_H__ */ | ||
79 | - |
util/src/include/logger.h
@@ -1,52 +0,0 @@ | @@ -1,52 +0,0 @@ | ||
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 | - **************************************************************************/ | ||
11 | - | ||
12 | -#include <iostream> | ||
13 | -#include <fstream> | ||
14 | -#include <time.h> | ||
15 | -#include <stdio.h> | ||
16 | -#include <stdlib.h> | ||
17 | -#include <stddef.h> | ||
18 | -#include <iostream> | ||
19 | -#include <ctime> | ||
20 | -//#include <lavidlib/utils/Logger.h> | ||
21 | - | ||
22 | - | ||
23 | -#ifndef _LOGGER_H_ | ||
24 | -#define _LOGGER_H_ | ||
25 | - | ||
26 | -using namespace std; | ||
27 | - | ||
28 | -namespace Util { | ||
29 | - | ||
30 | - class Logger { | ||
31 | - public: | ||
32 | - static Logger* Instance(); | ||
33 | - void openLogFile(); | ||
34 | - void writeLog(char* log); | ||
35 | - void closeLogFile(); | ||
36 | - char* getTime(); | ||
37 | - | ||
38 | - private: | ||
39 | - Logger() ; // Private so that it can not be called | ||
40 | - Logger(Logger const&){}; // copy constructor is private | ||
41 | - Logger& operator=(Logger const&){}; // assignment operator is private | ||
42 | - static Logger* m_pInstance; | ||
43 | - ofstream file; | ||
44 | - | ||
45 | - | ||
46 | - }; | ||
47 | - | ||
48 | - | ||
49 | -} | ||
50 | - | ||
51 | - | ||
52 | -#endif |
@@ -0,0 +1,61 @@ | @@ -0,0 +1,61 @@ | ||
1 | +#ifndef LOGGING_H | ||
2 | +#define LOGGING_H | ||
3 | + | ||
4 | +#include <stdio.h> | ||
5 | +#include <stdlib.h> | ||
6 | +#include <stdarg.h> | ||
7 | +#include <time.h> | ||
8 | + | ||
9 | +#define _ERROR_ "\033[31m" | ||
10 | +#define _DEBUG_ "\033[30m" | ||
11 | +#define _WARN_ "\033[33m" | ||
12 | +#define _INFO_ "\033[32m" | ||
13 | +#define _END_ "\033[0m" | ||
14 | +#define LOG_FILE "vlibras_user/vlibras-core/log/log" | ||
15 | + | ||
16 | +namespace util { | ||
17 | + | ||
18 | + enum logLevel { _QUIET , _ERROR, _WARNING, _INFO, _DEBUG}; | ||
19 | + | ||
20 | + class Logging { | ||
21 | + public: | ||
22 | + static Logging* instance(); | ||
23 | + logLevel getLevel(); | ||
24 | + void setLevel(logLevel level); | ||
25 | + void writeLog(const char* logMsg); | ||
26 | + | ||
27 | + private: | ||
28 | + Logging(){}; | ||
29 | + Logging(Logging const&){}; | ||
30 | + Logging& operator=(Logging const&){}; | ||
31 | + | ||
32 | + static Logging* l_instance; | ||
33 | + static logLevel l_level; | ||
34 | + FILE* l_file; | ||
35 | + | ||
36 | + char* getTime(); | ||
37 | + }; | ||
38 | + | ||
39 | + #define printl(level, format, ... ) { \ | ||
40 | + logLevel llevel; \ | ||
41 | + llevel = Logging::instance()->getLevel(); \ | ||
42 | + if(level <= llevel){ \ | ||
43 | + switch(level){ \ | ||
44 | + case _DEBUG: \ | ||
45 | + fprintf(stdout, _DEBUG_"%s::%s<%d>: "_END_ format, __FILE__, __FUNCTION__, __LINE__, ## __VA_ARGS__); \ | ||
46 | + break; \ | ||
47 | + case _INFO: \ | ||
48 | + fprintf(stdout, _INFO_"%s::%s<%d>: "_END_ format, __FILE__, __FUNCTION__, __LINE__, ## __VA_ARGS__); \ | ||
49 | + break; \ | ||
50 | + case _WARNING: \ | ||
51 | + fprintf(stdout, _WARN_"%s::%s<%d>: "_END_ format, __FILE__, __FUNCTION__, __LINE__, ## __VA_ARGS__); \ | ||
52 | + break; \ | ||
53 | + case _ERROR: \ | ||
54 | + fprintf(stderr, _ERROR_"%s::%s<%d>: "_END_ format, __FILE__, __FUNCTION__, __LINE__, ## __VA_ARGS__); \ | ||
55 | + break; \ | ||
56 | + } \ | ||
57 | + } \ | ||
58 | + }//fim da função printl | ||
59 | +} | ||
60 | + | ||
61 | +#endif /* LOGGING_H */ | ||
0 | \ No newline at end of file | 62 | \ No newline at end of file |
util/src/logger.cpp
@@ -1,51 +0,0 @@ | @@ -1,51 +0,0 @@ | ||
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 | - **************************************************************************/ | ||
11 | - | ||
12 | -#include "logger.h" | ||
13 | - | ||
14 | -namespace Util { | ||
15 | - | ||
16 | - Logger* Logger::m_pInstance = NULL; | ||
17 | - | ||
18 | - Logger::Logger(){ | ||
19 | - } | ||
20 | - | ||
21 | - Logger* Logger::Instance(){ | ||
22 | - if (!m_pInstance) // Only allow one instance of class to be generated. | ||
23 | - m_pInstance = new Logger; | ||
24 | - | ||
25 | - return m_pInstance; | ||
26 | - } | ||
27 | - | ||
28 | - | ||
29 | - void Logger::openLogFile(){ | ||
30 | - file.open("vlibras_user/vlibras-core/log/log", ios_base::app); | ||
31 | - } | ||
32 | - | ||
33 | - | ||
34 | - void Logger::closeLogFile(){ | ||
35 | - file.close(); | ||
36 | - } | ||
37 | - | ||
38 | - char* Logger::getTime(){ | ||
39 | - time_t curtime; | ||
40 | - time(&curtime); | ||
41 | - return ctime(&curtime); | ||
42 | - } | ||
43 | - | ||
44 | - void Logger::writeLog(char* exception){ | ||
45 | - this->openLogFile(); | ||
46 | - file << getTime(); | ||
47 | - file << exception << "\n\n\r"; | ||
48 | - this->closeLogFile(); | ||
49 | - } | ||
50 | - | ||
51 | -} |
@@ -0,0 +1,38 @@ | @@ -0,0 +1,38 @@ | ||
1 | +#include "logging.h" | ||
2 | + | ||
3 | +namespace util { | ||
4 | + | ||
5 | + Logging* Logging::l_instance = NULL; | ||
6 | + logLevel Logging::l_level = _INFO; | ||
7 | + | ||
8 | + Logging* Logging::instance() { | ||
9 | + if(!l_instance) | ||
10 | + l_instance = new Logging(); | ||
11 | + return l_instance; | ||
12 | + } | ||
13 | + | ||
14 | + logLevel Logging::getLevel() { | ||
15 | + return this->l_level; | ||
16 | + } | ||
17 | + | ||
18 | + void Logging::setLevel(logLevel level) { | ||
19 | + if(level != NULL) | ||
20 | + this->l_level = level; | ||
21 | + } | ||
22 | + | ||
23 | + char* Logging::getTime() { | ||
24 | + time_t curtime; | ||
25 | + time(&curtime); | ||
26 | + return ctime(&curtime); | ||
27 | + } | ||
28 | + | ||
29 | + void Logging::writeLog(const char* logMsg) { | ||
30 | + l_file = fopen(LOG_FILE, "a"); | ||
31 | + | ||
32 | + if(l_file == NULL) | ||
33 | + return; | ||
34 | + | ||
35 | + fprintf(l_file, "%s'%s'\n\n\r", getTime() ,logMsg); | ||
36 | + fclose(l_file); | ||
37 | + } | ||
38 | +} | ||
0 | \ No newline at end of file | 39 | \ No newline at end of file |