Commit 854943ad97c5b1c5e34774f612a4c647245444d2
1 parent
054cdd23
Exists in
master
and in
5 other branches
Implementando plugin dbus, adicionando funcoes para obter e testar conteudo da t…
…ela pela posição em linha/coluna, incluindo projeto codeblocks do sample no pacote devel
Showing
12 changed files
with
171 additions
and
44 deletions
Show diff stats
Makefile.in
... | ... | @@ -305,6 +305,7 @@ install-sdk: |
305 | 305 | |
306 | 306 | @$(MKDIR) $(DESTDIR)$(datarootdir)/$(PACKAGE_NAME)/sample |
307 | 307 | @$(INSTALL_DATA) src/sample/Makefile $(DESTDIR)$(datarootdir)/$(PACKAGE_NAME)/sample |
308 | + @$(INSTALL_DATA) src/sample/sample.cbp $(DESTDIR)$(datarootdir)/$(PACKAGE_NAME)/sample | |
308 | 309 | @$(INSTALL_DATA) src/sample/*.c $(DESTDIR)$(datarootdir)/$(PACKAGE_NAME)/sample |
309 | 310 | |
310 | 311 | clean: | ... | ... |
configure.ac
... | ... | @@ -349,10 +349,14 @@ AC_SUBST(GLIB_CFLAGS) |
349 | 349 | |
350 | 350 | #--[ Check DBUS ]--------------------------------------------------------------------------------------------------------------------------------------------- |
351 | 351 | |
352 | -PKG_CHECK_MODULES( [DBUS], [dbus-glib-1], AC_DEFINE(HAVE_DBUS), AC_MSG_NOTICE([No DBUS support.]) ) | |
352 | +PKG_CHECK_MODULES( [DBUS], [dbus-glib-1], app_cv_dbus=yes, AC_MSG_NOTICE([No DBUS support.]) ) | |
353 | 353 | AC_SUBST(DBUS_LIBS) |
354 | 354 | AC_SUBST(DBUS_CFLAGS) |
355 | 355 | |
356 | +#if test "$app_cv_dbus" == "yes"; then | |
357 | +# PLUGINS="$PLUGINS dbus3270" | |
358 | +#fi | |
359 | + | |
356 | 360 | #--[ SSL ]---------------------------------------------------------------------------------------------------------------------------------------------------- |
357 | 361 | |
358 | 362 | PKG_CHECK_MODULES( [LIBSSL], [libssl], AC_DEFINE(HAVE_LIBSSL), AC_MSG_NOTICE([libssl not present.]) ) | ... | ... |
po/pt_BR.po
... | ... | @@ -5,7 +5,7 @@ msgid "" |
5 | 5 | msgstr "" |
6 | 6 | "Project-Id-Version: pw3270 5.0\n" |
7 | 7 | "Report-Msgid-Bugs-To: \n" |
8 | -"POT-Creation-Date: 2013-02-19 17:42-0300\n" | |
8 | +"POT-Creation-Date: 2013-02-21 10:43-0300\n" | |
9 | 9 | "PO-Revision-Date: 2013-01-14 09:49-0200\n" |
10 | 10 | "Last-Translator: Perry Werneck <perry.werneck@gmail.com>\n" |
11 | 11 | "Language-Team: Português <>\n" |
... | ... | @@ -38,7 +38,7 @@ msgstr "Ação %s precisa de um valor válido" |
38 | 38 | msgid "%s action needs src attribute" |
39 | 39 | msgstr "Ação %s precisa do atributo src" |
40 | 40 | |
41 | -#: main.c:76 | |
41 | +#: main.c:86 | |
42 | 42 | #, c-format |
43 | 43 | msgid "%s requires GTK version %d.%d.%d" |
44 | 44 | msgstr "%s requer GTK versão %d.%d.%d" |
... | ... | @@ -83,7 +83,7 @@ msgstr "%s: Familia %d é inválida" |
83 | 83 | msgid "%s:%d" |
84 | 84 | msgstr "%s:%d" |
85 | 85 | |
86 | -#: main.c:259 | |
86 | +#: main.c:318 | |
87 | 87 | msgid "- 3270 Emulator for Gtk" |
88 | 88 | msgstr "- Emulador 3270 para GTK" |
89 | 89 | |
... | ... | @@ -164,7 +164,7 @@ msgstr "" |
164 | 164 | msgid "<b>SSL state is undefined</b>Unexpected SSL status %ld" |
165 | 165 | msgstr "<b>Estado do SSL é indefinido</b>Estado SSL inesperado %ld" |
166 | 166 | |
167 | -#: main.c:279 | |
167 | +#: main.c:338 | |
168 | 168 | msgid "" |
169 | 169 | "<b>Valid options:</b>\n" |
170 | 170 | "\n" |
... | ... | @@ -217,7 +217,7 @@ msgid "An error occurred trying to allocate memory. This should never happen." |
217 | 217 | msgstr "" |
218 | 218 | "Ocorreu um erro ao tentar alocar memória. Isso nunca deveria acontecer." |
219 | 219 | |
220 | -#: main.c:246 main.c:248 | |
220 | +#: main.c:302 main.c:304 | |
221 | 221 | msgid "Application name" |
222 | 222 | msgstr "Nome da aplicação" |
223 | 223 | |
... | ... | @@ -334,7 +334,7 @@ msgstr "Não foi possível conectar ao servidor" |
334 | 334 | msgid "Can't convert line %d from %s to %s" |
335 | 335 | msgstr "Não foi possível converter a linha %d de %s para %s" |
336 | 336 | |
337 | -#: selection.c:601 | |
337 | +#: selection.c:631 | |
338 | 338 | msgid "Can't cut rectangular regions" |
339 | 339 | msgstr "Recortar não permitido em seleção retangular" |
340 | 340 | |
... | ... | @@ -723,7 +723,7 @@ msgstr "Tela cheia" |
723 | 723 | msgid "Function bar" |
724 | 724 | msgstr "Barra de funções" |
725 | 725 | |
726 | -#: main.c:80 main.c:312 | |
726 | +#: main.c:90 main.c:379 | |
727 | 727 | msgid "GTK Version mismatch" |
728 | 728 | msgstr "Divergência de versão GTK" |
729 | 729 | |
... | ... | @@ -792,11 +792,11 @@ msgstr "Servidor rejeitou o tipo de dispositivo ou requisição" |
792 | 792 | msgid "Host rejected resource(s)" |
793 | 793 | msgstr "Servidor rejeitou recurso(s)" |
794 | 794 | |
795 | -#: main.c:254 | |
795 | +#: main.c:310 | |
796 | 796 | msgid "Host system type" |
797 | 797 | msgstr "Tipo do sistema no servidor" |
798 | 798 | |
799 | -#: main.c:252 | |
799 | +#: main.c:308 | |
800 | 800 | msgid "Host to connect" |
801 | 801 | msgstr "Servidor a conectar" |
802 | 802 | |
... | ... | @@ -855,7 +855,7 @@ msgstr "Invalid CGCSGID '%s', ignoring" |
855 | 855 | msgid "Invalid charset entry '%s' (#%d)" |
856 | 856 | msgstr "Invalid charset entry '%s' (#%d)" |
857 | 857 | |
858 | -#: selection.c:601 | |
858 | +#: selection.c:631 | |
859 | 859 | msgid "Invalid cut action" |
860 | 860 | msgstr "Ação recortar inválida" |
861 | 861 | |
... | ... | @@ -961,7 +961,7 @@ msgstr "Normal/Protegido" |
961 | 961 | msgid "Normal/Unprotected" |
962 | 962 | msgstr "Normal/Desprotegido" |
963 | 963 | |
964 | -#: selection.c:601 | |
964 | +#: selection.c:631 | |
965 | 965 | msgid "Not available" |
966 | 966 | msgstr "Não disponível" |
967 | 967 | |
... | ... | @@ -1126,7 +1126,7 @@ msgstr "PF8" |
1126 | 1126 | msgid "PF9" |
1127 | 1127 | msgstr "PF9" |
1128 | 1128 | |
1129 | -#: main.c:277 | |
1129 | +#: main.c:336 | |
1130 | 1130 | msgid "Parse error" |
1131 | 1131 | msgstr "Erro de interpretação" |
1132 | 1132 | |
... | ... | @@ -1163,7 +1163,7 @@ msgstr "Colar com margem esquerda" |
1163 | 1163 | msgid "Path length constraint exceeded" |
1164 | 1164 | msgstr "Path length constraint exceeded" |
1165 | 1165 | |
1166 | -#: main.c:249 | |
1166 | +#: main.c:305 | |
1167 | 1167 | msgid "Path to application data files" |
1168 | 1168 | msgstr "Path to application data files" |
1169 | 1169 | |
... | ... | @@ -1580,11 +1580,15 @@ msgstr "Enviar arquivo" |
1580 | 1580 | msgid "Send file to host" |
1581 | 1581 | msgstr "Enviar arquivo para o servidor" |
1582 | 1582 | |
1583 | +#: main.c:312 | |
1584 | +msgid "Send messages to syslog" | |
1585 | +msgstr "Send messages to syslog" | |
1586 | + | |
1583 | 1587 | #: ui/00default.xml:276 |
1584 | 1588 | msgid "Send/Receive" |
1585 | 1589 | msgstr "Enviar/Receber" |
1586 | 1590 | |
1587 | -#: main.c:251 | |
1591 | +#: main.c:307 | |
1588 | 1592 | msgid "Session name" |
1589 | 1593 | msgstr "Nome da sessão" |
1590 | 1594 | |
... | ... | @@ -1592,7 +1596,7 @@ msgstr "Nome da sessão" |
1592 | 1596 | msgid "Set hostname" |
1593 | 1597 | msgstr "Selecione servidor" |
1594 | 1598 | |
1595 | -#: main.c:253 | |
1599 | +#: main.c:309 | |
1596 | 1600 | msgid "Set reported colors (8/16)" |
1597 | 1601 | msgstr "Define número de cores informadas (8/16)" |
1598 | 1602 | |
... | ... | @@ -1871,7 +1875,7 @@ msgstr "" |
1871 | 1875 | "programa; se não, escreva para a Free Software Foundation, Inc., 59 Temple " |
1872 | 1876 | "Place, Suite 330, Boston, MA, 02111-1307, USA" |
1873 | 1877 | |
1874 | -#: main.c:308 | |
1878 | +#: main.c:375 | |
1875 | 1879 | #, c-format |
1876 | 1880 | msgid "This program requires GTK version %d.%d.%d" |
1877 | 1881 | msgstr "Este programa precisa do GTK versão %d.%d.%d" |
... | ... | @@ -2008,7 +2012,7 @@ msgstr "Atributo %s inesperado ou inválido: \"%s\"" |
2008 | 2012 | msgid "Unexpected or invalid attribute value \"%s\"" |
2009 | 2013 | msgstr "Valor de attributo inesperado ou inválido: \"%s\"" |
2010 | 2014 | |
2011 | -#: main.c:181 | |
2015 | +#: main.c:191 | |
2012 | 2016 | #, c-format |
2013 | 2017 | msgid "Unexpected or invalid color value \"%s\"" |
2014 | 2018 | msgstr "Valor de cor inválido ou inesperado: \"%s\"" | ... | ... |
pw3270.cbp
... | ... | @@ -220,16 +220,6 @@ |
220 | 220 | <Unit filename="src/lib3270/winversc.h" /> |
221 | 221 | <Unit filename="src/lib3270/xioc.h" /> |
222 | 222 | <Unit filename="src/lib3270/xl.h" /> |
223 | - <Unit filename="src/plugins/dbus/daemon.c"> | |
224 | - <Option compilerVar="CC" /> | |
225 | - </Unit> | |
226 | - <Unit filename="src/plugins/dbus/gobject.c"> | |
227 | - <Option compilerVar="CC" /> | |
228 | - </Unit> | |
229 | - <Unit filename="src/plugins/dbus/main.c"> | |
230 | - <Option compilerVar="CC" /> | |
231 | - </Unit> | |
232 | - <Unit filename="src/plugins/dbus/service.h" /> | |
233 | 223 | <Unit filename="src/plugins/dbus3270/Makefile.in" /> |
234 | 224 | <Unit filename="src/plugins/dbus3270/daemon.c"> |
235 | 225 | <Option compilerVar="CC" /> | ... | ... |
src/include/lib3270.h
... | ... | @@ -806,6 +806,33 @@ |
806 | 806 | LIB3270_EXPORT char * lib3270_get_text(H3270 *h, int offset, int len); |
807 | 807 | |
808 | 808 | /** |
809 | + * Get text at requested position | |
810 | + * | |
811 | + * @param h Session Handle. | |
812 | + * @param row Desired row. | |
813 | + * @param col Desired col. | |
814 | + * @param length Text length | |
815 | + * | |
816 | + * @return Contents at position if available, or NULL. Release it with lib3270_free() | |
817 | + * | |
818 | + */ | |
819 | + LIB3270_EXPORT char * lib3270_get_text_at(H3270 *h, int row, int col, int len); | |
820 | + | |
821 | + /** | |
822 | + * Check for text at requested position | |
823 | + * | |
824 | + * @param h Session Handle. | |
825 | + * @param row Desired row. | |
826 | + * @param col Desired col. | |
827 | + * @param text Text to check. | |
828 | + * | |
829 | + * @return Test result from strcmp | |
830 | + * | |
831 | + */ | |
832 | + LIB3270_EXPORT int lib3270_cmp_text_at(H3270 *h, int row, int col, const char *text); | |
833 | + | |
834 | + | |
835 | + /** | |
809 | 836 | * Get contents of the field at position. |
810 | 837 | * |
811 | 838 | * @param h Session Handle. | ... | ... |
src/lib3270/selection.c
... | ... | @@ -465,6 +465,8 @@ LIB3270_EXPORT char * lib3270_get_text(H3270 *h, int offset, int len) |
465 | 465 | return NULL; |
466 | 466 | |
467 | 467 | maxlen = (h->rows * (h->cols+1)) - offset; |
468 | + if(maxlen <= 0) | |
469 | + return NULL; | |
468 | 470 | |
469 | 471 | if(len < 0 || len > maxlen) |
470 | 472 | len = maxlen; |
... | ... | @@ -500,6 +502,34 @@ LIB3270_EXPORT char * lib3270_get_text(H3270 *h, int offset, int len) |
500 | 502 | return buffer; |
501 | 503 | } |
502 | 504 | |
505 | +LIB3270_EXPORT char * lib3270_get_text_at(H3270 *h, int row, int col, int len) | |
506 | +{ | |
507 | + CHECK_SESSION_HANDLE(h); | |
508 | + | |
509 | + if(!lib3270_connected(h)) | |
510 | + return NULL; | |
511 | + | |
512 | + return lib3270_get_text(h, ((row) * h->cols) + col, len); | |
513 | +} | |
514 | + | |
515 | +LIB3270_EXPORT int lib3270_cmp_text_at(H3270 *h, int row, int col, const char *text) | |
516 | +{ | |
517 | + int rc; | |
518 | + size_t sz = strlen(text); | |
519 | + char * contents; | |
520 | + | |
521 | + contents = lib3270_get_text_at(h,row,col,sz); | |
522 | + if(!contents) | |
523 | + return -1; | |
524 | + | |
525 | + rc = strncmp(contents,text,sz); | |
526 | + | |
527 | + lib3270_free(contents); | |
528 | + | |
529 | + return rc; | |
530 | +} | |
531 | + | |
532 | + | |
503 | 533 | /** |
504 | 534 | * Get field contents |
505 | 535 | * | ... | ... |
src/plugins/dbus3270/Makefile.in
... | ... | @@ -110,7 +110,7 @@ Release: $(BINRLS)/plugins/$(MODULE_NAME).so |
110 | 110 | $(BINRLS)/plugins/$(MODULE_NAME).so: $(foreach SRC, $(basename $(PLUGIN_SRC)), $(OBJRLS)/$(SRC).o) |
111 | 111 | @echo " CCLD `basename $@`" |
112 | 112 | @$(MKDIR) `dirname $@` |
113 | - @$(LD) $(DLL_FLAGS) -Wl,-soname,`basename $@` $(LDFLAGS) -o $@ $^ $(LIBS) $(LIB3270_LIBS) $(PW3270_LIBS) $(GLIB_LIBS) $(GTK_LIBS) | |
113 | + @$(LD) $(DLL_FLAGS) -Wl,-soname,`basename $@` $(LDFLAGS) -o $@ $^ $(LIBS) $(LIB3270_LIBS) $(PW3270_LIBS) $(GLIB_LIBS) $(GTK_LIBS) $(DBUS_LIBS) | |
114 | 114 | |
115 | 115 | #---[ Debug targets ]---------------------------------------------------------- |
116 | 116 | |
... | ... | @@ -119,7 +119,7 @@ Debug: $(BINDBG)/plugins/$(MODULE_NAME).so |
119 | 119 | $(BINDBG)/plugins/$(MODULE_NAME).so: $(foreach SRC, $(basename $(PLUGIN_SRC)), $(OBJDBG)/$(SRC).o) |
120 | 120 | @echo " CCLD `basename $@`" |
121 | 121 | @$(MKDIR) `dirname $@` |
122 | - @$(LD) $(DLL_FLAGS) @DBGRPATH@ -Wl,-soname,`basename $@` $(LDFLAGS) -o $@ $^ $(LIBS) $(LIB3270_LIBS) $(PW3270_LIBS) $(GLIB_LIBS) $(GTK_LIBS) | |
122 | + @$(LD) $(DLL_FLAGS) @DBGRPATH@ -Wl,-soname,`basename $@` $(LDFLAGS) -o $@ $^ $(LIBS) $(LIB3270_LIBS) $(PW3270_LIBS) $(GLIB_LIBS) $(GTK_LIBS) $(DBUS_LIBS) | |
123 | 123 | |
124 | 124 | #---[ Misc targets ]----------------------------------------------------------- |
125 | 125 | ... | ... |
src/plugins/dbus3270/daemon.c
... | ... | @@ -41,6 +41,10 @@ |
41 | 41 | #include "daemon.h" |
42 | 42 | #include "dbus-glue.h" |
43 | 43 | |
44 | +#define PW3270_DBUS_SERVICE_PATH "/br/com/bb/pw3270" | |
45 | +#define PW3270_DBUS_SERVICE "br.com.bb.pw3270" | |
46 | + | |
47 | + | |
44 | 48 | /*---[ Globals ]---------------------------------------------------------------------------------*/ |
45 | 49 | |
46 | 50 | static DBusGConnection * connection = NULL; | ... | ... |
src/plugins/dbus3270/main.c
... | ... | @@ -47,12 +47,14 @@ |
47 | 47 | static DBusGConnection * connection = NULL; |
48 | 48 | static DBusGProxy * proxy = NULL; |
49 | 49 | |
50 | + | |
50 | 51 | /*---[ Implement ]-------------------------------------------------------------------------------*/ |
51 | 52 | |
52 | 53 | LIB3270_EXPORT int pw3270_plugin_init(GtkWidget *window) |
53 | 54 | { |
54 | 55 | |
55 | - GError * error = NULL; | |
56 | + GError * error = NULL; | |
57 | + gchar * service_path = NULL; | |
56 | 58 | guint result; |
57 | 59 | |
58 | 60 | connection = dbus_g_bus_get_private(DBUS_BUS_SESSION, g_main_context_default(), &error); |
... | ... | @@ -77,10 +79,22 @@ |
77 | 79 | return -1; |
78 | 80 | } |
79 | 81 | |
80 | - | |
81 | 82 | proxy = dbus_g_proxy_new_for_name(connection,DBUS_SERVICE_DBUS,DBUS_PATH_DBUS,DBUS_INTERFACE_DBUS); |
82 | 83 | |
83 | - org_freedesktop_DBus_request_name(proxy, PW3270_DBUS_SERVICE, DBUS_NAME_FLAG_DO_NOT_QUEUE, &result, &error); | |
84 | + { | |
85 | + gchar * service_name = g_strdup_printf("br.com.bb.%s",pw3270_get_session_name(window)); | |
86 | + | |
87 | + service_path = g_strdup_printf("/br/com/bb/%s",pw3270_get_session_name(window)); | |
88 | + | |
89 | + trace("DBUS service path is %s",service_path); | |
90 | + trace("DBUS service name is %s",service_name); | |
91 | + | |
92 | + org_freedesktop_DBus_request_name(proxy, service_name, DBUS_NAME_FLAG_DO_NOT_QUEUE, &result, &error); | |
93 | + | |
94 | + g_free(service_name); | |
95 | + | |
96 | + } | |
97 | + | |
84 | 98 | if(error) |
85 | 99 | { |
86 | 100 | GtkWidget *dialog = gtk_message_dialog_new( |
... | ... | @@ -102,13 +116,25 @@ |
102 | 116 | return -1; |
103 | 117 | } |
104 | 118 | |
105 | - pw3270_dbus_register_object(connection,proxy,PW3270_TYPE_DBUS,&dbus_glib_pw3270_dbus_object_info,PW3270_DBUS_SERVICE_PATH); | |
119 | + pw3270_dbus_register_object(connection,proxy,PW3270_TYPE_DBUS,&dbus_glib_pw3270_dbus_object_info,service_path); | |
120 | + | |
121 | + g_free(service_path); | |
106 | 122 | |
107 | 123 | return 0; |
108 | 124 | } |
109 | 125 | |
110 | 126 | LIB3270_EXPORT int pw3270_plugin_deinit(GtkWidget *window) |
111 | 127 | { |
112 | - | |
113 | 128 | return 0; |
114 | 129 | } |
130 | + | |
131 | + void pw3270_dbus_quit(PW3270Dbus *object, DBusGMethodInvocation *context) | |
132 | + { | |
133 | + gtk_main_quit(); | |
134 | + dbus_g_method_return(context,0); | |
135 | + } | |
136 | + | |
137 | +H3270 * pw3270_dbus_get_session_handle(PW3270Dbus *object) | |
138 | +{ | |
139 | + return lib3270_get_default_session_handle(); | |
140 | +} | ... | ... |
src/plugins/dbus3270/service.h
... | ... | @@ -38,9 +38,6 @@ |
38 | 38 | |
39 | 39 | #include "globals.h" |
40 | 40 | |
41 | - #define PW3270_DBUS_SERVICE_PATH "/br/com/bb/pw3270" | |
42 | - #define PW3270_DBUS_SERVICE "br.com.bb.pw3270" | |
43 | - | |
44 | 41 | #define PW3270_TYPE_DBUS (pw3270_dbus_get_type ()) |
45 | 42 | #define PW3270_DBUS(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), PW3270_TYPE_DBUS, PW3270Dbus)) |
46 | 43 | #define PW3270_DBUS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PW3270_TYPE_DBUS, PW3270DbusClass)) | ... | ... |
src/pw3270/print.c
... | ... | @@ -437,7 +437,7 @@ static gchar * enum_to_string(GType type, guint enum_value) |
437 | 437 | gtk_list_store_append((GtkListStore *) model,&iter); |
438 | 438 | gtk_list_store_set((GtkListStore *) model, &iter,0, name, -1); |
439 | 439 | |
440 | - if(!g_strcasecmp(name,info->font)) | |
440 | + if(!g_ascii_strcasecmp(name,info->font)) | |
441 | 441 | gtk_combo_box_set_active_iter(GTK_COMBO_BOX(widget),&iter); |
442 | 442 | } |
443 | 443 | } | ... | ... |
src/sample/connect.c
... | ... | @@ -33,6 +33,7 @@ |
33 | 33 | #include <stdlib.h> |
34 | 34 | #include <string.h> |
35 | 35 | #include <lib3270.h> |
36 | + #include <lib3270/actions.h> | |
36 | 37 | |
37 | 38 | /*--[ Implement ]------------------------------------------------------------------------------------*/ |
38 | 39 | |
... | ... | @@ -60,24 +61,67 @@ |
60 | 61 | |
61 | 62 | printf("Connected to LU %s\n",lib3270_get_luname(hSession)); |
62 | 63 | |
63 | - /* Wait until the host is ready for commands */ | |
64 | + // Wait until the host is ready for commands | |
64 | 65 | rc = lib3270_wait_for_ready(hSession,60); |
65 | 66 | if(rc) |
66 | 67 | { |
67 | 68 | fprintf(stderr,"Error waiting for session negotiation: %s\n",strerror(rc)); |
68 | 69 | return rc; |
69 | 70 | } |
70 | - else | |
71 | + | |
72 | + while(lib3270_wait_for_ready(hSession,60)) | |
73 | + { | |
74 | + char * screen_id = lib3270_get_text(hSession,1,9); | |
75 | + | |
76 | + printf("Screen-id: [%s]",screen_id); | |
77 | + | |
78 | + if(!strcasecmp(screen_id)," ") | |
79 | + { | |
80 | +/* | |
81 | + select | |
82 | + when host~queryStringAt(16,34,"Tecle ENTER") | |
83 | + then host~sendEnterKey() | |
84 | + | |
85 | + when host~queryStringAt(2,24,"Conexoes Externas ao SISBB") | |
86 | + then host~sendEnterKey() | |
87 | + | |
88 | + when host~queryStringAt(15,2,"Aplicativo :") then | |
89 | + do | |
90 | + if host~queryStringAt(15,21,app) = 0 then | |
91 | + do | |
92 | + host~setStringAt(15,21,aplic) | |
93 | + host~setCursorPosition(13,21) | |
94 | + end | |
95 | + end | |
96 | + | |
97 | + otherwise | |
98 | + end | |
99 | +*/ | |
100 | + } | |
101 | + else | |
102 | + { | |
103 | + fprintf(stderr,"Tela desconhecida [%s], abortando\n",screen_id); | |
104 | + break; | |
105 | + } | |
106 | + | |
107 | + | |
108 | + lib3270_free(screen_id); | |
109 | + | |
110 | + } | |
111 | + | |
112 | +/* | |
113 | + | |
114 | + rc = lib3270_enter(hSession); | |
115 | + rc = lib3270_wait_for_ready(hSession,60); | |
116 | + | |
71 | 117 | { |
72 | - /* Host is ready, get screen contents */ | |
73 | 118 | char *text = lib3270_get_text(hSession,0,-1); |
74 | 119 | |
75 | 120 | printf("\nScreen contents:\n%s\n",text); |
76 | 121 | |
77 | 122 | lib3270_free(text); |
78 | 123 | } |
79 | - | |
80 | - | |
124 | +*/ | |
81 | 125 | |
82 | 126 | |
83 | 127 | /* Release session handle */ | ... | ... |