Commit 4a8d41f5169482582a70b3a4b0d8e30240641d81

Authored by Perry Werneck
1 parent b1013a51
Exists in master and in 1 other branch develop

Starting new module.

.gitignore 0 → 100644
... ... @@ -0,0 +1,6 @@
  1 +.bin
  2 +.obj
  3 +*.bak
  4 +*.depend
  5 +*.layout
  6 +
... ...
pw3270-plugin-ipc.cbp 0 → 100644
... ... @@ -0,0 +1,50 @@
  1 +<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
  2 +<CodeBlocks_project_file>
  3 + <FileVersion major="1" minor="6" />
  4 + <Project>
  5 + <Option title="IPC plugin for pw3270" />
  6 + <Option pch_mode="2" />
  7 + <Option compiler="gcc" />
  8 + <Build>
  9 + <Target title="Debug">
  10 + <Option output=".bin/Debug/pw3270ipc" prefix_auto="1" extension_auto="1" />
  11 + <Option object_output=".obj/Debug/" />
  12 + <Option type="1" />
  13 + <Option compiler="gcc" />
  14 + <Compiler>
  15 + <Add option="-g" />
  16 + <Add option="-DDEBUG=1" />
  17 + </Compiler>
  18 + </Target>
  19 + <Target title="Release">
  20 + <Option output=".bin/Release/pw3270ipc" prefix_auto="1" extension_auto="1" />
  21 + <Option object_output=".obj/Release/" />
  22 + <Option type="1" />
  23 + <Option compiler="gcc" />
  24 + <Compiler>
  25 + <Add option="-O2" />
  26 + <Add option="-DNDEBUG=1" />
  27 + </Compiler>
  28 + <Linker>
  29 + <Add option="-s" />
  30 + </Linker>
  31 + </Target>
  32 + </Build>
  33 + <Compiler>
  34 + <Add option="-Wall" />
  35 + <Add option="`pkg-config --cflags gtk+-3.0 lib3270 v3270`" />
  36 + </Compiler>
  37 + <Linker>
  38 + <Add option="`pkg-config --libs gtk+-3.0 lib3270 v3270`" />
  39 + </Linker>
  40 + <Unit filename="src/testprogram/testprogram.c">
  41 + <Option compilerVar="CC" />
  42 + </Unit>
  43 + <Extensions>
  44 + <code_completion />
  45 + <envvars />
  46 + <debugger />
  47 + <lib_finder disable_auto="1" />
  48 + </Extensions>
  49 + </Project>
  50 +</CodeBlocks_project_file>
... ...
src/testprogram/testprogram.c 0 → 100644
... ... @@ -0,0 +1,82 @@
  1 +/*
  2 + * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270
  3 + * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a
  4 + * aplicativos mainframe. Registro no INPI sob o nome G3270. Registro no INPI sob
  5 + * o nome G3270.
  6 + *
  7 + * Copyright (C) <2008> <Banco do Brasil S.A.>
  8 + *
  9 + * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob
  10 + * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela
  11 + * Free Software Foundation.
  12 + *
  13 + * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER
  14 + * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO
  15 + * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para
  16 + * obter mais detalhes.
  17 + *
  18 + * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este
  19 + * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin
  20 + * St, Fifth Floor, Boston, MA 02110-1301 USA
  21 + *
  22 + * Este programa está nomeado como testprogram.c e possui - linhas de código.
  23 + *
  24 + * Contatos:
  25 + *
  26 + * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
  27 + * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça)
  28 + *
  29 + */
  30 +
  31 + #include <v3270.h>
  32 + #include <v3270/filetransfer.h>
  33 + #include <v3270/ftprogress.h>
  34 + #include <stdlib.h>
  35 +
  36 + /*---[ Implement ]----------------------------------------------------------------------------------*/
  37 +
  38 +static void activate(GtkApplication* app, gpointer user_data) {
  39 +
  40 + GtkWidget * window = gtk_application_window_new(app);
  41 + GtkWidget * terminal = v3270_new();
  42 + gchar * filename = NULL;
  43 +
  44 + const gchar *url = getenv("LIB3270_DEFAULT_HOST");
  45 + if(url) {
  46 +
  47 + v3270_set_url(terminal,url);
  48 + v3270_connect(terminal);
  49 + gchar * title = g_strdup_printf("%s - %s", v3270_get_session_name(terminal), url);
  50 + gtk_window_set_title(GTK_WINDOW(window), title);
  51 + g_free(title);
  52 +
  53 + } else {
  54 +
  55 + gtk_window_set_title(GTK_WINDOW(window), v3270_get_session_name(terminal));
  56 +
  57 + }
  58 +
  59 + // Setup and show window
  60 + gtk_window_set_position(GTK_WINDOW(window),GTK_WIN_POS_CENTER);
  61 + gtk_window_set_default_size (GTK_WINDOW (window), 800, 500);
  62 + gtk_container_add(GTK_CONTAINER(window),terminal);
  63 + gtk_widget_show_all (window);
  64 +
  65 +}
  66 +
  67 +int main (int argc, char **argv) {
  68 +
  69 + GtkApplication *app;
  70 + int status;
  71 +
  72 + app = gtk_application_new ("br.com.bb.pw3270",G_APPLICATION_FLAGS_NONE);
  73 +
  74 + g_signal_connect (app, "activate", G_CALLBACK(activate), NULL);
  75 +
  76 + status = g_application_run (G_APPLICATION (app), argc, argv);
  77 + g_object_unref (app);
  78 +
  79 + g_message("rc=%d",status);
  80 + return status;
  81 +}
  82 +
... ...