extratorTXT.h 1.51 KB
/***************************************************************************
 *   Universidade Federal da Paraíba                                       *
 *   Copyright (C) 2014 by Laboratório de Aplicações de Vídeo Digital      *
 *                                                                         *
 *   Centro de Informática - UFPB - Campus I                               *
 *   João Pessoa - PB - Brasil                                             *
 *                                                                         *
 *   Author: Erickson Silva (erickson.silva@lavid.ufpb.br)                 *
 *                                                                         *
 **************************************************************************/

#ifndef EXTRATORTXT_H
#define	EXTRATORTXT_H

#include <list>
#include "jthread.h"
#include "dprintf.h"
#include "logger.h"
#include "extrator.h"
#include "listenerTXT.h"
#include "extratorException.h"

using namespace jthread;
using namespace std;

/**
* Classe que modela o ExtratorTXT.
* O ExtratorTXT extrai o conteúdo
* de um arquivo txt.
*/
class ExtratorTXT: public Extrator, public Thread {
    
public:
    ExtratorTXT();
    ~ExtratorTXT();

    void addListener(ListenerTXT* listener);
    void notifyListeners(unsigned char* line);
    void notifyEndExtraction(int size);

    void setFilePath(char* path);
    void initialize();
    bool isFinished();
    
    void Run();

private:
	list<ListenerTXT*> *listeners;    
};

#endif	/* EXTRATORTXT_H */