pw3270.idl 2.72 KB
/*
 * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270  e X3270
 * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a
 * aplicativos mainframe. Registro no INPI sob o nome G3270.
 *
 * Copyright (C) <2008> <Banco do Brasil S.A.>
 *
 * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob
 * os termos da GPL v.2 - Licença Pública Geral  GNU,  conforme  publicado  pela
 * Free Software Foundation.
 *
 * Este programa é distribuído na expectativa de  ser  útil,  mas  SEM  QUALQUER
 * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou  de  ADEQUAÇÃO
 * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para
 * obter mais detalhes.
 *
 * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este
 * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin
 * St, Fifth Floor, Boston, MA  02110-1301  USA
 *
 * Este programa está nomeado como pw3270.idl e possui - linhas de código.
 *
 * Contatos:
 *
 * perry.werneck@gmail.com	(Alexandre Perry de Souza Werneck)
 * erico.mendonca@gmail.com	(Erico Mascarenhas Mendonça)
 *
 * Referências:
 *
 * https://wiki.openoffice.org/wiki/Documentation/DevGuide/WritingUNO/C++/C++_Component
 *
 */

#include <com/sun/star/uno/XInterface.idl>
#include <com/sun/star/lang/XInitialization.idl>
#include <com/sun/star/lang/XMain.idl>

module pw3270
{
	/*
	 * Interface to lib3270
	 */
	interface lib3270 : com::sun::star::uno::XInterface
	{
		// Constants
		string  getVersion();
		string  getRevision();

		// Host definition
		short   Connect([in] string url, [in] boolean wait);
        short   Disconnect();
        short	iterate([in] boolean wait);

		// Screen contents
        string	getTextAt([in] short row, [in] short col, [in] short size);
		short 	setTextAt([in] short row, [in] short col, [in] string str);
		short 	waitForTextAt([in] short row, [in] short col, [in] string str, [in] short seconds);

		// Cursor
		long	setCursorAt([in] short row, [in] short col);
		long	setCursorAddress([in] long addr);
		long	getCursorAddress();

		// Field positioning
		long 	getFieldStart([in] long addr);
		long 	getFieldLen([in] long addr);
		long 	getNextUnprotected([in] long addr);

		// Keyboard actions
		short	enter();
		short 	pfkey([in] short key);
		short	pakey([in] short key);

		// Misc actions
		short	quit();
		short	eraseEOF();

		// Misc Settings
		short	setSessionName([in] string name);

		// State
		boolean isConnected();
		boolean isReady();

		// Waiting
		short	waitForReady([in] short seconds);

	};

	service session
	{
		interface lib3270;
		interface com::sun::star::lang::XInitialization;
		interface com::sun::star::lang::XMain;
	};
};