extratorTXT.h 1.64 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 "listenerTXT.h"
#include "jthread.h"
#include "dprintf.h"
#include "logger.h"
#include "extratorTXT_exception.h"
#include <list>
#include <lavidlib/io/File.h>
#include <lavidlib/io/FileIO.h>
#include <lavidlib/io/BufferedReader.h>
#include <lavidlib/io/IOException.h>

using namespace jthread;
using namespace std;

class ExtratorTXT: public Thread {
    
public:
    
    ExtratorTXT();
    ~ExtratorTXT();
    
    void addListener(ListenerTXT* listener);
    void notifyListeners(unsigned char* subtitle);
    void notifyEndExtraction(int sub_size);
    
    void setFilePath(char* path);
    bool isFinished();
    void initialize();
    void Run();
        
private:
    list<ListenerTXT*> *listeners;
    char* filepath;
    bool finish;
    File *file;
    FileIO *file_io;
    BufferedReader *bff_reader;    
};

#endif	/* EXTRATORTXT_H */