renderer.h 1.11 KB
#ifndef RENDERER_H
#define RENDERER_H

#include "jthread.h"
#include "dprintf.h"
#include "stdint.h"
#include "string.h"
#include <string>
#include <list>
#include <sstream>
#include <iostream>
#include "listenerRenderer.h"
#include <lavidlib/net/StreamSocket.h>
#include <lavidlib/net/InetAddress.h>
#include <lavidlib/base/RuntimeException.h>
#include <lavidlib/net/UnknownHostException.h>
#include <lavidlib/net/SocketException.h>

#define END_FLAG "FINALIZE"
// #define HOST "150.165.205.127"
// #define PORTNO 5555
#define HOST "127.0.0.1"
#define PORTNO 12345

using namespace lavidlib;
using namespace jthread;
using namespace std;

class Renderer : public Thread {
public:
	Renderer();
	~Renderer();

	bool isSending();
	void receiveGlosa(std::string glosa, int64_t pts);
	void addListener(ListenerRenderer* listener);

	void finalize();
	void Run();
	
private:
	StreamSocket* core_socket;
	list<ListenerRenderer*> * listeners;

	bool running;
	int count_task;
	int glosa_processed;

	string glosa_copy;
	
	void notifyListeners();
	void sendGlosa();
	void connectToUnity();
	void waitScreenShots();
};

#endif /* RENDERER_H */