serviceWindowGeneration.h 2.35 KB
#ifndef SERVICEWINDOWGENERATION_H
#define SERVICEWINDOWGENERATION_H

#include <vector>
#include <iostream>
#include <stdint.h>
#include <string>
#include <locale>
#include "jthread.h"
#include "dprintf.h"
#include "Mixer.h"
//#include "synchronizer.h"
//#include "listenerSynchronizer.h"
#include "listenerTradutor.h"
#include "tradutorPortGlosa.h"
#include "serviceException.h"
#include <json/json.h>
#include <lavidlib/net/StreamSocket.h>
#include <lavidlib/net/InetAddress.h>
#include <lavidlib/net/UnknownHostException.h>
#include <lavidlib/net/SocketException.h>
#include <lavidlib/base/RuntimeException.h>

#define DEVELOPER "devel"
#define PRODUCTION "prod"
#define BASEDIR "vlibras_user/dicionario_libras/"
#define BASEDIRTRANSP "vlibras_user/dicionarioTransp_libras/"
#define VIDEO_POSE_NEUTRA "poseneutra"
#define EXTENSAO_DICIONARIO ".ts"
#define PATH_DEVEL "vlibras_user/vlibras-contents/videos/"
#define PATH_DEVEL_UPLOADS "vlibras_user/vlibras-contents/uploads/"
#define PATH_VBOX_UPLOADS "vlibras_user/.vlibras-conf/uploads/"
#define PATH_CONF_FILE "vlibras_user/.vlibras-conf/param.json"
#define MAX_SIZE_PATH 256
#define END_NOTIFICATION "FINALIZE"
#define HOST "127.0.0.1"
#define PORTNO 12345

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

class ServiceWindowGeneration {

protected:
	TradutorPortGlosa* tradutor;
	//Synchronizer* sincronizador;
	Mixer* mixer;
	StreamSocket* core_socket;

	Value root;
	Reader reader;
	vector<int64_t>* vetor_pts;

	bool finish;
	bool running;
	bool parsingSuccessful;

	char* path_input;
    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;
	virtual void setPathLibras() = 0;
	//virtual void setBackground() = 0;

	virtual void connectToUnity() = 0;
	virtual void sendGlosa(string glosa) = 0;
	virtual void waitVideoGeneration() = 0;

	//virtual void transcodeVideoToWebm();
    virtual void transcodeVideoToMp4() = 0;
    
public:
	virtual void initialize() = 0;
	virtual bool isFinished() = 0;
	virtual void notifyTranslator(unsigned char* text) = 0;
};

#endif /* SERVICEWINDOWGENERATION_H */