serviceWindowGeneration.h 1.69 KB
#ifndef SERVICEWINDOWGENERATION_H
#define SERVICEWINDOWGENERATION_H

#include <vector>
#include <iostream>
#include <stdint.h>
#include <string>
#include <sstream>
#include <locale>
#include "jthread.h"
#include "dprintf.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 "devel"
#define PRODUCTION "prod"
#define PATH_DEVEL_CONTENTS "vlibras_user/vlibras-contents/videos"
#define PATH_DEVEL_UPLOADS "vlibras_user/vlibras-contents/uploads"
#define PATH_VBOX_UPLOADS "vlibras_user/.vlibras-config/uploads"
#define PATH_CONF_FILE "vlibras_user/.vlibras-config/params.json"
#define MAX_SIZE_PATH 256

using namespace Json;
using namespace Tradutor;
using namespace jthread;
using namespace std;
using namespace lavidlib;

class ServiceWindowGeneration {

protected:
	TradutorPortGlosa* tradutor;
	Renderer* renderer;
	Mixer* mixer;

	Value root;
	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* client_type;
    char* user_id;

	int size;
	int position;
	int transparency;
	int sub_language; 
	int service_type;
	int numero_legendas;
	int legendas_enviadas;

	virtual void setSizeOfSubtitles(int sub_size) = 0;
	virtual void setPathContents() = 0;
    
public:
	virtual void setPathLibras() = 0;
	virtual void initialize() = 0;
	virtual bool isFinished() = 0;
	virtual void notifyTranslator(unsigned char* text) = 0;
};

#endif /* SERVICEWINDOWGENERATION_H */