core_plugin.h 1.63 KB
//*****************************************************************
/*
	VLibras: Automatic contents translator from Portuguese to LIBRAS

	Copyright (c) 2015 Gustavo Sobral, Erickson Silva, Leonardo Araújo
	VLibras-Core group at LAViD, Federal University of Paraiba
*/
//*****************************************************************

/**
 * \file corePlugin.hpp
 * \author Gustavo Sobral, Leonardo Araújo
 * \date Janeiro 2015
 */

#ifndef COREPLUGIN_H
#define COREPLUGIN_H

#include "py_tradutor.h"
#include <string>
#include <stdio.h>

/** \brief Encapsulamento do plugin
 *
 * Encapsula todo o funcionamento do core tornando-o acessível
 * a qualquer outra aplicação que importe o plugin gerado. 
 * As funções de aqui declaradas realizam todas as ações
 * necessarias ao usuário que deseja utilizar este plugin.
 */
extern "C" 
{
	static PyTradutor * tradutor = new PyTradutor();


	/** \brief Inicializa o ambiente core
	 *
	 * Inicia o ambiente necessário para execução das
	 * funcionalidades do VLibras core, instanciada como
	 * lib na aplicação vlibrasPlayer gerada pelo Unity.
	 */
	int coreInitialize();

	/** \brief Executa a funcão core
	 *
	 * Pega o conteúdo presente no buffer do sistema (pasteboard)
	 * e aplica sobre a tradução (Português -> Glosa) do tradutor. 
	 * \return Ponteiro para char com a glosa em lowercase resultante
	 *         da tradução do coteúdo presente no buffer (pasteboard)
	 */
	const char* coreExecute();
	
	/** \brief Finaliza o ambiente core
	 *
	 * Finaliza o ambiente montado para execução
	 * das funcionalidades do core na aplicação.
	 */
	int coreFinalize();
}

#endif /* COREPLUGIN_H */