extratorTXT.h
1.73 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
/**
* \file extratorTXT.h
*
* \author Erickson Silva <erickson.silva@lavid.ufpb.br>
* \date 2014
*/
#ifndef EXTRATORTXT_H
#define EXTRATORTXT_H
#include <list>
#include "jthread.h"
#include "extrator.h"
#include "listenerTXT.h"
#include "extratorException.h"
#define TEMP_TXT "/tmp/temptxt.txt"
using namespace jthread;
using namespace std;
/** \brief Classe que implementa o extrator de texto.
*
* Instâncias desta classe extraem o conteúdo de
* arquivos txt.
*
* \headerfile extrator/src/include/extratorTXT.h
*/
class ExtratorTXT: public Extrator, public Thread {
public:
/** Construtor */
ExtratorTXT();
/** Destrutor */
~ExtratorTXT();
/** Adiciona ouvintes do extratorTXT.
*
* \param listener O ouvinte a ser registrado.
*/
void addListener(ListenerTXT* listener);
/** Notifica os ouvintes sobre novas extrações realizadas.
*
* \param line A linha extraída.
*/
void notifyListeners(unsigned char* line);
/** Notifica o fim da extração do texto.
*
* \param size Quantidade de linhas extraídas.
*/
void notifyEndExtraction(int size);
/** Define o path do arquivo de entrada.
*
* \param path O path do arquivo.
*/
void setFilePath(char* path);
/** Inicializa o processo de extração do texto.
*
* \exception ExtratorException caso o arquivo de texto não seja encontrado.
*/
void initialize();
/** Indica o fim do processo de extração do texto.
*
* \return O status do do processo.
*/
bool isFinished();
/** Este método é chamado quando a Thread for iniciada. */
void Run();
private:
list<ListenerTXT*> *listeners;
void encodingfiletoUTF8();
};
#endif /* EXTRATORTXT_H */