Commit 1effce0c48a3ab3d2ad88bf3be5f5ac1a7162ed7

Authored by perry.werneck@gmail.com
1 parent 0ef4476b

Incluindo metodo "test" no rexx, pequenos ajustes na biblioteca

configure.ac
... ... @@ -405,6 +405,7 @@ if test "$app_cv_rexx" == "yes"; then
405 405 fi
406 406 fi
407 407 else
  408 + REXX_HOME="\${datarootdir}/ooRexx"
408 409 AC_DEFINE(HAVE_REXX)
409 410 AC_CHECK_HEADER(oorexxapi.h, AC_DEFINE(HAVE_OOREXXAPI_H))
410 411 AC_PATH_TOOL([REXXC], [rexxc], [cp], `$REXXCONFIG --prefix`/bin )
... ... @@ -413,10 +414,6 @@ if test "$app_cv_rexx" == "yes"; then
413 414 fi
414 415 fi
415 416  
416   -if test "$app_cv_registry" == "yes"; then
417   - AC_DEFINE(HAVE_WIN_REGISTRY)
418   -fi
419   -
420 417 if test "$app_cv_rexx" == "yes"; then
421 418 PLUGINS="$PLUGINS rx3270"
422 419 fi
... ... @@ -425,6 +422,7 @@ AC_SUBST(REXXC)
425 422 AC_SUBST(REXXCONFIG)
426 423 AC_SUBST(REXX_CFLAGS)
427 424 AC_SUBST(REXX_LIBS)
  425 +AC_SUBST(REXX_HOME)
428 426  
429 427 #--[ Libreoffice ]--------------------------------------------------------------------------------------------------------------------------------------------
430 428  
... ... @@ -483,6 +481,10 @@ AC_SUBST(LIB3270_REQUIRES)
483 481  
484 482 #--[ Misc options ]-------------------------------------------------------------------------------------------------------------------------------------------
485 483  
  484 +if test "$app_cv_registry" == "yes"; then
  485 + AC_DEFINE(HAVE_WIN_REGISTRY)
  486 +fi
  487 +
486 488 AC_SUBST(MAJOR_VERSION,"$(echo $VERSION | cut -d. -f1)")
487 489 AC_SUBST(HOST_CC)
488 490 AC_SUBST(EXEEXT)
... ...
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-04-02 13:33-0300\n"
  8 +"POT-Creation-Date: 2013-04-04 08:20-0300\n"
9 9 "PO-Revision-Date: 2013-04-01 10:06-0300\n"
10 10 "Last-Translator: Perry Werneck <perry.werneck@gmail.com>\n"
11 11 "Language-Team: Português <>\n"
... ... @@ -200,7 +200,7 @@ msgstr &quot;Sobre a segurança&quot;
200 200 msgid "Action failed"
201 201 msgstr "Ação falhou"
202 202  
203   -#: ui/00default.xml:64
  203 +#: ui/00default.xml:286
204 204 msgid "Add to copy"
205 205 msgstr "Adicionar à cópia"
206 206  
... ... @@ -208,7 +208,7 @@ msgstr &quot;Adicionar à cópia&quot;
208 208 msgid "Add/Remove _CR at end of line"
209 209 msgstr "Adicionar/Remover _CR no final da linha"
210 210  
211   -#: ui/00default.xml:132
  211 +#: ui/00default.xml:354
212 212 msgid "Alert sound"
213 213 msgstr "Aviso sonoro"
214 214  
... ... @@ -221,7 +221,7 @@ msgstr &quot;&quot;
221 221 msgid "Application name"
222 222 msgstr "Nome da aplicação"
223 223  
224   -#: ui/10keypad.xml:417
  224 +#: ui/10keypad.xml:155
225 225 msgid "Attn"
226 226 msgstr "Attn"
227 227  
... ... @@ -238,7 +238,7 @@ msgstr &quot;Divergência nos números de série da autoridade e emissor &quot;
238 238 msgid "Authority and subject key identifier mismatch"
239 239 msgstr "Authority and subject key identifier mismatch"
240 240  
241   -#: ui/00default.xml:127
  241 +#: ui/00default.xml:349
242 242 msgid "Auto-Reconnect"
243 243 msgstr "Reconectar automaticamente"
244 244  
... ... @@ -262,11 +262,11 @@ msgstr &quot;Versão winsock inválida&quot;
262 262 msgid "Black"
263 263 msgstr "Preto"
264 264  
265   -#: ui/00default.xml:125
  265 +#: ui/00default.xml:347
266 266 msgid "Blank Fill"
267 267 msgstr "Completar com espaços"
268 268  
269   -#: ui/00default.xml:118
  269 +#: ui/00default.xml:340
270 270 msgid "Blinking Cursor"
271 271 msgstr "Cursor piscante"
272 272  
... ... @@ -274,7 +274,7 @@ msgstr &quot;Cursor piscante&quot;
274 274 msgid "Blue"
275 275 msgstr "Azul"
276 276  
277   -#: ui/00default.xml:128
  277 +#: ui/00default.xml:350
278 278 msgid "Bold"
279 279 msgstr "Negrito"
280 280  
... ... @@ -282,7 +282,7 @@ msgstr &quot;Negrito&quot;
282 282 msgid "Brazilian Public Software Portal"
283 283 msgstr "Portal do Software Público Brasileiro"
284 284  
285   -#: ui/10keypad.xml:418
  285 +#: ui/10keypad.xml:156
286 286 msgid "Break"
287 287 msgstr "Break"
288 288  
... ... @@ -474,7 +474,7 @@ msgstr &quot;Tabela de tradução tem %d entradas, precisa de 256&quot;
474 474 msgid "Charset has more than 256 entries"
475 475 msgstr "Tabela de tradução tem mais de 256 caracteres"
476 476  
477   -#: ui/00default.xml:79
  477 +#: ui/10keypad.xml:147
478 478 msgid "Clear"
479 479 msgstr "Limpar"
480 480  
... ... @@ -486,7 +486,7 @@ msgstr &quot;Tema de cores:&quot;
486 486 msgid "Color setup"
487 487 msgstr "Configuração de cores"
488 488  
489   -#: ui/00default.xml:107
  489 +#: ui/00default.xml:329
490 490 msgid "Colors"
491 491 msgstr "Cores"
492 492  
... ... @@ -494,7 +494,7 @@ msgstr &quot;Cores&quot;
494 494 msgid "Complete"
495 495 msgstr "Completo"
496 496  
497   -#: ui/00default.xml:117
  497 +#: ui/00default.xml:339
498 498 msgid "Connect on startup"
499 499 msgstr "Conectar ao iniciar"
500 500  
... ... @@ -502,19 +502,19 @@ msgstr &quot;Conectar ao iniciar&quot;
502 502 msgid "Connection reset by peer"
503 503 msgstr "Conexão foi cancelada pelo servidor"
504 504  
505   -#: ui/00default.xml:61
  505 +#: ui/00default.xml:283
506 506 msgid "Copy"
507 507 msgstr "Copiar"
508 508  
509   -#: ui/99debug.xml:462
  509 +#: ui/99debug.xml:200
510 510 msgid "Copy as HTML"
511 511 msgstr "Copiar como HTML"
512 512  
513   -#: ui/00default.xml:62
  513 +#: ui/00default.xml:284
514 514 msgid "Copy as table"
515 515 msgstr "Copiar como tabela"
516 516  
517   -#: colors.c:418 ui/00default.xml:124
  517 +#: colors.c:418 ui/00default.xml:346
518 518 msgid "Cross hair cursor"
519 519 msgstr "Cursor mira"
520 520  
... ... @@ -527,7 +527,7 @@ msgstr &quot;Atual (%s)&quot;
527 527 msgid "Custom colors"
528 528 msgstr "Cores personalizadas"
529 529  
530   -#: ui/00default.xml:65
  530 +#: ui/00default.xml:287
531 531 msgid "Cut"
532 532 msgstr "Recortar"
533 533  
... ... @@ -539,7 +539,7 @@ msgstr &quot;Cilindros&quot;
539 539 msgid "DFT B_uffer size:"
540 540 msgstr "Tamanho do b_uffer DFT:"
541 541  
542   -#: ui/99debug.xml:467
  542 +#: ui/99debug.xml:205
543 543 msgid "DS Trace"
544 544 msgstr "DS Trace"
545 545  
... ... @@ -555,11 +555,11 @@ msgstr &quot;Verde Escuro&quot;
555 555 msgid "Data conversion error"
556 556 msgstr "Erro na conversão de dados"
557 557  
558   -#: ui/99debug.xml:475
  558 +#: ui/99debug.xml:213
559 559 msgid "Debug"
560 560 msgstr "Depuração"
561 561  
562   -#: ui/99debug.xml:477
  562 +#: ui/99debug.xml:215
563 563 msgid "Debug window updates"
564 564 msgstr "Mostrar atualizações de janela"
565 565  
... ... @@ -567,7 +567,7 @@ msgstr &quot;Mostrar atualizações de janela&quot;
567 567 msgid "Default"
568 568 msgstr "Padrão"
569 569  
570   -#: ui/00default.xml:81
  570 +#: ui/00default.xml:303
571 571 msgid "Delete field"
572 572 msgstr "Apagar campo"
573 573  
... ... @@ -599,7 +599,7 @@ msgstr &quot;Nome do servidor em branco&quot;
599 599 msgid "Empty port name"
600 600 msgstr "Porta em branco"
601 601  
602   -#: ui/10keypad.xml:413
  602 +#: ui/10keypad.xml:151
603 603 msgid ""
604 604 "Erase\n"
605 605 "EOF"
... ... @@ -607,7 +607,7 @@ msgstr &quot;&quot;
607 607 "Apagar\n"
608 608 "Campo"
609 609  
610   -#: ui/10keypad.xml:414
  610 +#: ui/10keypad.xml:152
611 611 msgid ""
612 612 "Erase\n"
613 613 "Input"
... ... @@ -615,15 +615,15 @@ msgstr &quot;&quot;
615 615 "Apagar\n"
616 616 "Campos"
617 617  
618   -#: ui/00default.xml:80
  618 +#: ui/00default.xml:302
619 619 msgid "Erase input"
620 620 msgstr "Apagar campos"
621 621  
622   -#: ui/00default.xml:82
  622 +#: ui/00default.xml:304
623 623 msgid "Erase to end of field"
624 624 msgstr "Apagar até o final do campo"
625 625  
626   -#: ui/00default.xml:83
  626 +#: ui/00default.xml:305
627 627 msgid "Erase to end of line"
628 628 msgstr "Apagar até o final da linha"
629 629  
... ... @@ -666,7 +666,7 @@ msgstr &quot;Erro lendo %s&quot;
666 666 msgid "Error resolving %s: %s"
667 667 msgstr "Erro ao resolver %s: %s"
668 668  
669   -#: ui/99debug.xml:469
  669 +#: ui/99debug.xml:207
670 670 msgid "Event Trace"
671 671 msgstr "Trace de eventos"
672 672  
... ... @@ -714,11 +714,11 @@ msgstr &quot;Format error in certificate&#39;s notAfter field&quot;
714 714 msgid "Format error in certificate's notBefore field"
715 715 msgstr "Format error in certificate's notBefore field"
716 716  
717   -#: ui/00default.xml:121
  717 +#: ui/00default.xml:343
718 718 msgid "Full Screen"
719 719 msgstr "Tela cheia"
720 720  
721   -#: ui/10functions.xml:297
  721 +#: ui/10functions.xml:35
722 722 msgid "Function bar"
723 723 msgstr "Barra de funções"
724 724  
... ... @@ -763,7 +763,7 @@ msgstr &quot;HTTP Proxy: EOF inesperado&quot;
763 763 msgid "HTTP Proxy: unrecognized reply"
764 764 msgstr "HTTP Proxy: Resposta desconhecida"
765 765  
766   -#: ui/00default.xml:142
  766 +#: ui/00default.xml:364
767 767 msgid "Help"
768 768 msgstr "Ajuda"
769 769  
... ... @@ -824,7 +824,7 @@ msgstr &quot;Comprimento de frame inválido&quot;
824 824 msgid "Informations"
825 825 msgstr "Informações"
826 826  
827   -#: ui/00default.xml:137
  827 +#: ui/00default.xml:359
828 828 msgid "Input method"
829 829 msgstr "Método de entrada"
830 830  
... ... @@ -871,7 +871,7 @@ msgstr &quot;Sintaxe de proxy inválida&quot;
871 871 msgid "Invalid proxy type '%.*s'"
872 872 msgstr "Tipo de proxy invalido '%.*s'"
873 873  
874   -#: ui/00default.xml:130
  874 +#: ui/00default.xml:352
875 875 msgid "Keep selected"
876 876 msgstr "Manter selecionado"
877 877  
... ... @@ -887,7 +887,7 @@ msgstr &quot;Teclado está bloqueado&quot;
887 887 msgid "LRECL:"
888 888 msgstr "LRECL:"
889 889  
890   -#: ui/10keypad.xml:363
  890 +#: ui/10keypad.xml:101
891 891 msgid "Lateral keypad"
892 892 msgstr "Barra lateral"
893 893  
... ... @@ -904,7 +904,7 @@ msgstr &quot;Faltando &#39;]&#39;&quot;
904 904 msgid "Model %d (%s)"
905 905 msgstr "Modelo %d (%s)"
906 906  
907   -#: ui/00default.xml:119
  907 +#: ui/00default.xml:341
908 908 msgid "Monocase"
909 909 msgstr "Só Maiúsculas"
910 910  
... ... @@ -940,7 +940,7 @@ msgstr &quot;Erro de rede&quot;
940 940 msgid "Network startup error"
941 941 msgstr "Erro ao iniciar a rede"
942 942  
943   -#: ui/00default.xml:189
  943 +#: ui/00default.xml:411
944 944 msgid "Next field"
945 945 msgstr "Próximo campo"
946 946  
... ... @@ -1017,111 +1017,111 @@ msgstr &quot;Outro (VM/CMS)&quot;
1017 1017 msgid "Out of memory"
1018 1018 msgstr "Memória insuficiente"
1019 1019  
1020   -#: ui/10keypad.xml:400
  1020 +#: ui/10keypad.xml:138
1021 1021 msgid "PA1"
1022 1022 msgstr "PA1"
1023 1023  
1024   -#: ui/10keypad.xml:401
  1024 +#: ui/10keypad.xml:139
1025 1025 msgid "PA2"
1026 1026 msgstr "PA2"
1027 1027  
1028   -#: ui/10keypad.xml:402
  1028 +#: ui/10keypad.xml:140
1029 1029 msgid "PA3"
1030 1030 msgstr "PA3"
1031 1031  
1032   -#: ui/10functions.xml:298
  1032 +#: ui/10functions.xml:36
1033 1033 msgid "PF1"
1034 1034 msgstr "PF1"
1035 1035  
1036   -#: ui/10functions.xml:307
  1036 +#: ui/10functions.xml:45
1037 1037 msgid "PF10"
1038 1038 msgstr "PF10"
1039 1039  
1040   -#: ui/10functions.xml:308
  1040 +#: ui/10functions.xml:46
1041 1041 msgid "PF11"
1042 1042 msgstr "PF11"
1043 1043  
1044   -#: ui/10functions.xml:309
  1044 +#: ui/10functions.xml:47
1045 1045 msgid "PF12"
1046 1046 msgstr "PF12"
1047 1047  
1048   -#: ui/10functions.xml:312
  1048 +#: ui/10functions.xml:50
1049 1049 msgid "PF13"
1050 1050 msgstr "PF13"
1051 1051  
1052   -#: ui/10functions.xml:313
  1052 +#: ui/10functions.xml:51
1053 1053 msgid "PF14"
1054 1054 msgstr "PF14"
1055 1055  
1056   -#: ui/10functions.xml:314
  1056 +#: ui/10functions.xml:52
1057 1057 msgid "PF15"
1058 1058 msgstr "PF15"
1059 1059  
1060   -#: ui/10functions.xml:315
  1060 +#: ui/10functions.xml:53
1061 1061 msgid "PF16"
1062 1062 msgstr "PF16"
1063 1063  
1064   -#: ui/10functions.xml:316
  1064 +#: ui/10functions.xml:54
1065 1065 msgid "PF17"
1066 1066 msgstr "PF17"
1067 1067  
1068   -#: ui/10functions.xml:317
  1068 +#: ui/10functions.xml:55
1069 1069 msgid "PF18"
1070 1070 msgstr "PF18"
1071 1071  
1072   -#: ui/10functions.xml:318
  1072 +#: ui/10functions.xml:56
1073 1073 msgid "PF19"
1074 1074 msgstr "PF19"
1075 1075  
1076   -#: ui/10functions.xml:299
  1076 +#: ui/10functions.xml:37
1077 1077 msgid "PF2"
1078 1078 msgstr "PF2"
1079 1079  
1080   -#: ui/10functions.xml:319
  1080 +#: ui/10functions.xml:57
1081 1081 msgid "PF20"
1082 1082 msgstr "PF20"
1083 1083  
1084   -#: ui/10functions.xml:320
  1084 +#: ui/10functions.xml:58
1085 1085 msgid "PF21"
1086 1086 msgstr "PF21"
1087 1087  
1088   -#: ui/10functions.xml:321
  1088 +#: ui/10functions.xml:59
1089 1089 msgid "PF22"
1090 1090 msgstr "PF22"
1091 1091  
1092   -#: ui/10functions.xml:322
  1092 +#: ui/10functions.xml:60
1093 1093 msgid "PF23"
1094 1094 msgstr "PF23"
1095 1095  
1096   -#: ui/10functions.xml:323
  1096 +#: ui/10functions.xml:61
1097 1097 msgid "PF24"
1098 1098 msgstr "PF24"
1099 1099  
1100   -#: ui/10functions.xml:300
  1100 +#: ui/10functions.xml:38
1101 1101 msgid "PF3"
1102 1102 msgstr "PF3"
1103 1103  
1104   -#: ui/10functions.xml:301
  1104 +#: ui/10functions.xml:39
1105 1105 msgid "PF4"
1106 1106 msgstr "PF4"
1107 1107  
1108   -#: ui/10functions.xml:302
  1108 +#: ui/10functions.xml:40
1109 1109 msgid "PF5"
1110 1110 msgstr "PF5"
1111 1111  
1112   -#: ui/10functions.xml:303
  1112 +#: ui/10functions.xml:41
1113 1113 msgid "PF6"
1114 1114 msgstr "PF6"
1115 1115  
1116   -#: ui/10functions.xml:304
  1116 +#: ui/10functions.xml:42
1117 1117 msgid "PF7"
1118 1118 msgstr "PF7"
1119 1119  
1120   -#: ui/10functions.xml:305
  1120 +#: ui/10functions.xml:43
1121 1121 msgid "PF8"
1122 1122 msgstr "PF8"
1123 1123  
1124   -#: ui/10functions.xml:306
  1124 +#: ui/10functions.xml:44
1125 1125 msgid "PF9"
1126 1126 msgstr "PF9"
1127 1127  
... ... @@ -1138,15 +1138,15 @@ msgstr &quot;Erro de interpretação em %s&quot;
1138 1138 msgid "Passthru Proxy: send error"
1139 1139 msgstr "Passthru Proxy: Erro ao enviar"
1140 1140  
1141   -#: ui/00default.xml:66
  1141 +#: ui/00default.xml:288
1142 1142 msgid "Paste"
1143 1143 msgstr "Colar"
1144 1144  
1145   -#: ui/00default.xml:67
  1145 +#: ui/00default.xml:289
1146 1146 msgid "Paste next"
1147 1147 msgstr "Colar próximo"
1148 1148  
1149   -#: ui/00default.xml:70
  1149 +#: ui/00default.xml:292
1150 1150 msgid "Paste text file"
1151 1151 msgstr "Colar arquivo texto"
1152 1152  
... ... @@ -1154,7 +1154,7 @@ msgstr &quot;Colar arquivo texto&quot;
1154 1154 msgid "Paste text file contents"
1155 1155 msgstr "Colar conteúdo de arquivo texto"
1156 1156  
1157   -#: ui/00default.xml:123
  1157 +#: ui/00default.xml:345
1158 1158 msgid "Paste with left margin"
1159 1159 msgstr "Colar com margem esquerda"
1160 1160  
... ... @@ -1170,7 +1170,7 @@ msgstr &quot;Caminho para os arquivos de dados da aplicação&quot;
1170 1170 msgid "Pink"
1171 1171 msgstr "Rosa"
1172 1172  
1173   -#: ui/00default.xml:188
  1173 +#: ui/00default.xml:410
1174 1174 msgid "Previous field"
1175 1175 msgstr "Campo anterior"
1176 1176  
... ... @@ -1178,11 +1178,11 @@ msgstr &quot;Campo anterior&quot;
1178 1178 msgid "Primary space:"
1179 1179 msgstr "Primary space:"
1180 1180  
1181   -#: ui/00default.xml:49
  1181 +#: ui/00default.xml:271
1182 1182 msgid "Print"
1183 1183 msgstr "Imprimir"
1184 1184  
1185   -#: ui/00default.xml:51
  1185 +#: ui/00default.xml:273
1186 1186 msgid "Print copy"
1187 1187 msgstr "Imprimir cópia"
1188 1188  
... ... @@ -1190,7 +1190,7 @@ msgstr &quot;Imprimir cópia&quot;
1190 1190 msgid "Print operation failed"
1191 1191 msgstr "Operação de impressão falhou"
1192 1192  
1193   -#: ui/00default.xml:50
  1193 +#: ui/00default.xml:272
1194 1194 msgid "Print selected"
1195 1195 msgstr "Imprimir seleção"
1196 1196  
... ... @@ -1198,7 +1198,7 @@ msgstr &quot;Imprimir seleção&quot;
1198 1198 msgid "Print selection box"
1199 1199 msgstr "Imprimir marca de seleção"
1200 1200  
1201   -#: print.c:754 ui/00default.xml:108
  1201 +#: print.c:754 ui/00default.xml:330
1202 1202 msgid "Print settings"
1203 1203 msgstr "Configurações de impressão"
1204 1204  
... ... @@ -1286,7 +1286,7 @@ msgstr &quot;RPQ: can&#39;t resolve &#39;%s&#39;: %s&quot;
1286 1286 msgid "RPQ: gethostbyname error"
1287 1287 msgstr "RPQ: Erro em gethostbyname"
1288 1288  
1289   -#: ui/00default.xml:54
  1289 +#: ui/00default.xml:276
1290 1290 msgid "Receive file"
1291 1291 msgstr "Receber arquivo"
1292 1292  
... ... @@ -1302,27 +1302,27 @@ msgstr &quot;Formato de registro&quot;
1302 1302 msgid "Red"
1303 1303 msgstr "Vermelho"
1304 1304  
1305   -#: ui/99debug.xml:476
  1305 +#: ui/99debug.xml:214
1306 1306 msgid "Reload buffer contents"
1307 1307 msgstr "Recarregar conteúdo do buffer"
1308 1308  
1309   -#: ui/00default.xml:75
  1309 +#: ui/00default.xml:297
1310 1310 msgid "Remove selection"
1311 1311 msgstr "Remover seleção"
1312 1312  
1313   -#: ui/00default.xml:76
  1313 +#: ui/00default.xml:298
1314 1314 msgid "Reselect"
1315 1315 msgstr "Reselecionar"
1316 1316  
1317   -#: ui/10keypad.xml:410
  1317 +#: ui/10keypad.xml:148
1318 1318 msgid "Reset"
1319 1319 msgstr "Reset"
1320 1320  
1321   -#: ui/00default.xml:122
  1321 +#: ui/00default.xml:344
1322 1322 msgid "Resize on alternate screen"
1323 1323 msgstr "Mudar tamanho do terminal em tela alternativa"
1324 1324  
1325   -#: ui/00default.xml:190
  1325 +#: ui/00default.xml:412
1326 1326 msgid "Return"
1327 1327 msgstr "Return"
1328 1328  
... ... @@ -1483,7 +1483,7 @@ msgstr &quot;&quot;
1483 1483 "SSL_write:\n"
1484 1484 "%s"
1485 1485  
1486   -#: ui/00default.xml:46
  1486 +#: ui/00default.xml:268
1487 1487 msgid "Save copy"
1488 1488 msgstr "Salvar cópia"
1489 1489  
... ... @@ -1491,7 +1491,7 @@ msgstr &quot;Salvar cópia&quot;
1491 1491 msgid "Save copy to file"
1492 1492 msgstr "Salvar cópia para arquivo"
1493 1493  
1494   -#: ui/00default.xml:44
  1494 +#: ui/00default.xml:266
1495 1495 msgid "Save screen"
1496 1496 msgstr "Salvar tela"
1497 1497  
... ... @@ -1499,7 +1499,7 @@ msgstr &quot;Salvar tela&quot;
1499 1499 msgid "Save screen to file"
1500 1500 msgstr "Salvar tela para arquivo"
1501 1501  
1502   -#: ui/00default.xml:45
  1502 +#: ui/00default.xml:267
1503 1503 msgid "Save selected"
1504 1504 msgstr "Salvar seleção"
1505 1505  
... ... @@ -1507,15 +1507,15 @@ msgstr &quot;Salvar seleção&quot;
1507 1507 msgid "Save selection to file"
1508 1508 msgstr "Salvar seleção para arquivo"
1509 1509  
1510   -#: ui/99debug.xml:468
  1510 +#: ui/99debug.xml:206
1511 1511 msgid "Screen Trace"
1512 1512 msgstr "Trace de tela"
1513 1513  
1514   -#: ui/00default.xml:114
  1514 +#: ui/00default.xml:336
1515 1515 msgid "Screen size"
1516 1516 msgstr "Tamanho da tela"
1517 1517  
1518   -#: ui/00default.xml:89
  1518 +#: ui/00default.xml:311
1519 1519 msgid "Scripts"
1520 1520 msgstr "Scripts"
1521 1521  
... ... @@ -1527,15 +1527,15 @@ msgstr &quot;Secondary space:&quot;
1527 1527 msgid "Secure connection was successful."
1528 1528 msgstr "Conexão segura efetuada com sucesso."
1529 1529  
1530   -#: ui/00default.xml:74
  1530 +#: ui/00default.xml:296
1531 1531 msgid "Select Field"
1532 1532 msgstr "Selecionar campo"
1533 1533  
1534   -#: ui/00default.xml:73
  1534 +#: ui/00default.xml:295
1535 1535 msgid "Select all"
1536 1536 msgstr "Selecionar tudo"
1537 1537  
1538   -#: ui/00default.xml:126
  1538 +#: ui/00default.xml:348
1539 1539 msgid "Select by rectangles"
1540 1540 msgstr "Seleção retangular"
1541 1541  
... ... @@ -1547,7 +1547,7 @@ msgstr &quot;Selecione arquivo a receber&quot;
1547 1547 msgid "Select file to send"
1548 1548 msgstr "Selecione arquivo a enviar"
1549 1549  
1550   -#: ui/00default.xml:111
  1550 +#: ui/00default.xml:333
1551 1551 msgid "Select font"
1552 1552 msgstr "Selecione fonte"
1553 1553  
... ... @@ -1571,7 +1571,7 @@ msgstr &quot;Certificado auto assinado&quot;
1571 1571 msgid "Self signed certificate in certificate chain"
1572 1572 msgstr "Certificado auto assinado na cadeia de certificados"
1573 1573  
1574   -#: ui/00default.xml:55
  1574 +#: ui/00default.xml:277
1575 1575 msgid "Send file"
1576 1576 msgstr "Enviar arquivo"
1577 1577  
... ... @@ -1583,7 +1583,7 @@ msgstr &quot;Enviar arquivo para o servidor&quot;
1583 1583 msgid "Send messages to syslog"
1584 1584 msgstr "Enviar mensagens para o log do sistema"
1585 1585  
1586   -#: ui/00default.xml:54
  1586 +#: ui/00default.xml:276
1587 1587 msgid "Send/Receive"
1588 1588 msgstr "Enviar/Receber"
1589 1589  
... ... @@ -1591,7 +1591,7 @@ msgstr &quot;Enviar/Receber&quot;
1591 1591 msgid "Session name"
1592 1592 msgstr "Nome da sessão"
1593 1593  
1594   -#: ui/00default.xml:92
  1594 +#: ui/00default.xml:314
1595 1595 msgid "Set hostname"
1596 1596 msgstr "Selecione servidor"
1597 1597  
... ... @@ -1607,19 +1607,19 @@ msgstr &quot;Desativa toggles&quot;
1607 1607 msgid "Set toggles ON"
1608 1608 msgstr "Ativa toggles"
1609 1609  
1610   -#: ui/00default.xml:107
  1610 +#: ui/00default.xml:329
1611 1611 msgid "Settings"
1612 1612 msgstr "Configurações"
1613 1613  
1614   -#: ui/00default.xml:129
  1614 +#: ui/00default.xml:351
1615 1615 msgid "Show Underline"
1616 1616 msgstr "Mostrar sublinhado"
1617 1617  
1618   -#: ui/99debug.xml:475
  1618 +#: ui/99debug.xml:213
1619 1619 msgid "Show test pattern"
1620 1620 msgstr "Mostrar padrão de teste"
1621 1621  
1622   -#: ui/00default.xml:131
  1622 +#: ui/00default.xml:353
1623 1623 msgid "Smart paste"
1624 1624 msgstr "Colar inteligente"
1625 1625  
... ... @@ -1898,15 +1898,15 @@ msgid &quot;&quot;
1898 1898 "This version of %s was built without support for secure sockets layer (SSL)."
1899 1899 msgstr "Esta versão do %s foi gerada sem suporte para conexões seguras (SSL)."
1900 1900  
1901   -#: ui/00default.xml:148
  1901 +#: ui/00default.xml:370
1902 1902 msgid "Toolbar"
1903 1903 msgstr "Barra de ferramentas"
1904 1904  
1905   -#: ui/99debug.xml:467
  1905 +#: ui/99debug.xml:205
1906 1906 msgid "Trace"
1907 1907 msgstr "Trace"
1908 1908  
1909   -#: ui/00default.xml:120
  1909 +#: ui/00default.xml:342
1910 1910 msgid "Track Cursor"
1911 1911 msgstr "Mostrar posição do cursor"
1912 1912  
... ... @@ -2113,7 +2113,7 @@ msgstr &quot;Unsupported passthru host session&quot;
2113 2113 msgid "Unsupported socks 4 proxy"
2114 2114 msgstr "Unsupported socks 4 proxy"
2115 2115  
2116   -#: ui/00default.xml:133
  2116 +#: ui/00default.xml:355
2117 2117 msgid "Use +/- for field navigation"
2118 2118 msgstr "Usar teclas +/- para navegar por campos"
2119 2119  
... ... @@ -2126,7 +2126,7 @@ msgstr &quot;Variável&quot;
2126 2126 msgid "Version %s - Revision %s"
2127 2127 msgstr "Versão %s - Revisão %s"
2128 2128  
2129   -#: ui/99debug.xml:470
  2129 +#: ui/99debug.xml:208
2130 2130 msgid "View Field Delimiters"
2131 2131 msgstr "Mostrar delimitadores de campo"
2132 2132  
... ... @@ -2154,7 +2154,7 @@ msgstr &quot;Europa ocidental (ISO 8859-1)&quot;
2154 2154 msgid "White"
2155 2155 msgstr "Branco"
2156 2156  
2157   -#: ui/00default.xml:159
  2157 +#: ui/00default.xml:381
2158 2158 msgid "Window"
2159 2159 msgstr "Janela"
2160 2160  
... ... @@ -2222,19 +2222,19 @@ msgstr &quot;_Procurar&quot;
2222 2222 msgid "_Color table:"
2223 2223 msgstr "Tabela de cores:"
2224 2224  
2225   -#: ui/00default.xml:102
  2225 +#: ui/00default.xml:324
2226 2226 msgid "_Connect"
2227 2227 msgstr "_Conectar"
2228 2228  
2229   -#: ui/00default.xml:103
  2229 +#: ui/00default.xml:325
2230 2230 msgid "_Disconnect"
2231 2231 msgstr "_Desconectar"
2232 2232  
2233   -#: ui/00default.xml:61
  2233 +#: ui/99debug.xml:200
2234 2234 msgid "_Edit"
2235 2235 msgstr "_Editar"
2236 2236  
2237   -#: ui/00default.xml:36
  2237 +#: ui/00default.xml:258
2238 2238 msgid "_File"
2239 2239 msgstr "_Arquivo"
2240 2240  
... ... @@ -2262,11 +2262,11 @@ msgstr &quot;Nome do _Host:&quot;
2262 2262 msgid "_Local file name:"
2263 2263 msgstr "Arquivo _local:"
2264 2264  
2265   -#: ui/00default.xml:92
  2265 +#: ui/00default.xml:314
2266 2266 msgid "_Network"
2267 2267 msgstr "_Rede"
2268 2268  
2269   -#: ui/00default.xml:117
  2269 +#: ui/00default.xml:339
2270 2270 msgid "_Options"
2271 2271 msgstr "_Opções"
2272 2272  
... ... @@ -2294,7 +2294,7 @@ msgstr &quot;Arquivo _texto&quot;
2294 2294 msgid "_To"
2295 2295 msgstr "_Para"
2296 2296  
2297   -#: ui/00default.xml:87
  2297 +#: ui/00default.xml:309
2298 2298 msgid "_View"
2299 2299 msgstr "_Exibir"
2300 2300  
... ...
pw3270.cbp
... ... @@ -279,7 +279,6 @@
279 279 <Unit filename="src/plugins/hllapi/testprogram.c">
280 280 <Option compilerVar="CC" />
281 281 </Unit>
282   - <Unit filename="src/plugins/remotectl/Makefile.in" />
283 282 <Unit filename="src/plugins/remotectl/client.h" />
284 283 <Unit filename="src/plugins/remotectl/packets.h" />
285 284 <Unit filename="src/plugins/remotectl/remotectl.h" />
... ... @@ -291,6 +290,7 @@
291 290 <Unit filename="src/plugins/rx3270/rx3270.cls" />
292 291 <Unit filename="src/plugins/rx3270/rx3270.h" />
293 292 <Unit filename="src/plugins/rx3270/rxapimain.cc" />
  293 + <Unit filename="src/plugins/rx3270/sample/object.rex" />
294 294 <Unit filename="src/plugins/rx3270/text.cc" />
295 295 <Unit filename="src/plugins/rx3270/typed_routines.cc" />
296 296 <Unit filename="src/pw3270/Makefile.in" />
... ...
pw3270.spec.in
... ... @@ -73,14 +73,14 @@ Requires: openssl shared-mime-info lib3270 = @PACKAGE_VERSION@
73 73 Provides: lib@PACKAGE@ = @PACKAGE_VERSION@ lib@PACKAGE@.so = @PACKAGE_VERSION@
74 74 Distribution: %_distro
75 75 BuildRequires: autoconf >= 2.61
76   -BuildRequires: automake
77   -BuildRequires: gcc-c++
78   -BuildRequires: sed
79   -BuildRequires: pkgconfig
80   -BuildRequires: %{_bldreq}
81   -BuildRequires: gettext-devel
82   -BuildRequires: findutils
83   -BuildRequires: coreutils
  76 +BuildRequires: automake
  77 +BuildRequires: gcc-c++
  78 +BuildRequires: sed
  79 +BuildRequires: pkgconfig
  80 +BuildRequires: %{_bldreq}
  81 +BuildRequires: gettext-devel
  82 +BuildRequires: findutils
  83 +BuildRequires: coreutils
84 84 BuildRequires: desktop-file-utils
85 85 BuildRequires: libreoffice-sdk
86 86  
... ... @@ -141,6 +141,19 @@ This package provides 3270 access object to StarBasic.
141 141  
142 142 Revision @PACKAGE_REVISION@ from @PACKAGE_SOURCE@
143 143  
  144 +%if 0%{?_ooRexx}
  145 +%package -n %{name}-rexx
  146 +Summary: %{name} extension & plugin for rexx scripting
  147 +Group: Development/Languages/Other
  148 +Requires: %{name} >= @PACKAGE_VERSION@
  149 +Requires: ooRexx
  150 +
  151 +%description -n %{name}-rexx
  152 +This package provides Rexx class and associated libraries
  153 +allowing rexx scripts to access tn3270e hosts.
  154 +
  155 +Revision @PACKAGE_REVISION@ from @PACKAGE_SOURCE@
  156 +%endif
144 157  
145 158 #---[ Build & Install ]-----------------------------------------------------------------------------------------------
146 159  
... ... @@ -153,7 +166,7 @@ autoconf
153 166 export CFLAGS="$RPM_OPT_FLAGS"
154 167 export CXXFLAGS="$RPM_OPT_FLAGS"
155 168 export FFLAGS="$RPM_OPT_FLAGS"
156   -export OFFICE_HOME=%{_libdir}/libreoffice
  169 +export OFFICE_HOME=%{_libdir}/libreoffice
157 170 export OO_SDK_HOME=%{_libdir}/libreoffice/sdk
158 171 %configure
159 172  
... ... @@ -223,6 +236,13 @@ rm -rf $RPM_BUILD_ROOT
223 236 %{_libdir}/libreoffice/share/extensions/%{name}/pw3270.uno.rdb
224 237 %{_libdir}/libreoffice/share/extensions/%{name}/pw3270.uno.so
225 238  
  239 +%if 0%{?_ooRexx}
  240 +%files -n %{name}-rexx
  241 +%{_rexxlibdir}/librx3270.so.@VERSION@
  242 +%{_rexxlibdir}/librx3270.so
  243 +%{_rexxclassdir}/rx3270.cls
  244 +%{_libdir}/@PACKAGE_NAME@-plugins/rx3270.so
  245 +%endif
226 246  
227 247 #---[ Scripts ]-------------------------------------------------------------------------------------------------------
228 248  
... ... @@ -242,3 +262,8 @@ exit 0
242 262 /sbin/ldconfig
243 263 exit 0
244 264  
  265 +%if 0%{?_ooRexx}
  266 +%postun -n %{name}-rexx
  267 +/sbin/ldconfig
  268 +exit 0
  269 +%endif
... ...
src/include/lib3270.h
... ... @@ -707,11 +707,12 @@
707 707 LIB3270_EXPORT int lib3270_in_sscp(H3270 *h);
708 708 LIB3270_EXPORT int lib3270_in_tn3270e(H3270 *h);
709 709 LIB3270_EXPORT int lib3270_in_e(H3270 *h);
710   - LIB3270_EXPORT int lib3270_lock_status(H3270 *h);
711   - LIB3270_EXPORT int lib3270_is_ready(H3270 *h);
712 710  
713   - #define lib3270_is_connected(h) lib3270_in_tn3270e(h)
  711 + LIB3270_EXPORT int lib3270_is_ready(H3270 *h);
  712 + LIB3270_EXPORT int lib3270_is_connected(H3270 *h);
  713 + LIB3270_EXPORT int lib3270_is_secure(H3270 *h);
714 714  
  715 + LIB3270_EXPORT LIB3270_MESSAGE lib3270_lock_status(H3270 *h);
715 716 LIB3270_EXPORT LIB3270_SSL_STATE lib3270_get_secure(H3270 *session);
716 717 LIB3270_EXPORT long lib3270_get_SSL_verify_result(H3270 *session);
717 718  
... ...
src/include/plugin.mak.in
... ... @@ -24,12 +24,21 @@
24 24 # erico.mendonca@gmail.com (Erico Mascarenhas de Mendonça)
25 25 #
26 26  
  27 +PACKAGE_NAME=@PACKAGE_NAME@
  28 +
27 29 #---[ Sources ]----------------------------------------------------------------
28 30  
29 31 DEPENDS=*.h ../../include/*.h ../../include/lib3270/*.h Makefile
30 32  
31 33 #---[ Paths ]------------------------------------------------------------------
32 34  
  35 +prefix=@prefix@
  36 +exec_prefix=@exec_prefix@
  37 +bindir=@bindir@
  38 +libdir=@libdir@
  39 +datarootdir=@datarootdir@
  40 +localedir=@localedir@
  41 +
33 42 ROOTDIR ?= .
34 43 OBJDIR ?= $(ROOTDIR)/.obj
35 44 BINDIR ?= $(ROOTDIR)/.bin
... ... @@ -50,6 +59,11 @@ CXX=@CXX@
50 59 LD=@CC@
51 60 MSGCAT=@MSGCAT@
52 61 XGETTEXT=@XGETTEXT@
  62 +LN_S=@LN_S@
  63 +
  64 +INSTALL=@INSTALL@
  65 +INSTALL_PROGRAM=@INSTALL_PROGRAM@
  66 +INSTALL_DATA=@INSTALL_DATA@
53 67  
54 68 #---[ Rules ]------------------------------------------------------------------
55 69 VERSION=@VERSION@
... ...
src/lib3270/screen.c
... ... @@ -536,7 +536,7 @@ LIB3270_EXPORT LIB3270_STATUS lib3270_get_program_message(H3270 *session)
536 536 * @return 0 if the terminal is ready (no message, keyboard unlocked), LIB3270_MESSAGE if not
537 537 *
538 538 */
539   -LIB3270_EXPORT int lib3270_lock_status(H3270 *hSession)
  539 +LIB3270_EXPORT LIB3270_MESSAGE lib3270_lock_status(H3270 *hSession)
540 540 {
541 541 CHECK_SESSION_HANDLE(hSession);
542 542  
... ...
src/lib3270/state.c
... ... @@ -92,6 +92,12 @@ LIB3270_EXPORT int lib3270_in_tn3270e(H3270 *h)
92 92 return (h->cstate == CONNECTED_TN3270E);
93 93 }
94 94  
  95 +LIB3270_EXPORT int lib3270_is_connected(H3270 *h)
  96 +{
  97 + CHECK_SESSION_HANDLE(h);
  98 + return (h->cstate == CONNECTED_TN3270E);
  99 +}
  100 +
95 101 LIB3270_EXPORT int lib3270_in_e(H3270 *h)
96 102 {
97 103 CHECK_SESSION_HANDLE(h);
... ...
src/lib3270/telnet.c
... ... @@ -3276,6 +3276,11 @@ LIB3270_EXPORT LIB3270_SSL_STATE lib3270_get_secure(H3270 *session)
3276 3276 return session->secure;
3277 3277 }
3278 3278  
  3279 +LIB3270_EXPORT int lib3270_is_secure(H3270 *hSession)
  3280 +{
  3281 + return lib3270_get_secure(hSession) == LIB3270_SSL_SECURE;
  3282 +}
  3283 +
3279 3284 LIB3270_EXPORT long lib3270_get_SSL_verify_result(H3270 *hSession)
3280 3285 {
3281 3286 CHECK_SESSION_HANDLE(hSession);
... ...
src/plugins/rx3270/Makefile.in
... ... @@ -43,6 +43,9 @@ CFLAGS=@REXX_CFLAGS@
43 43  
44 44 include ../../include/plugin.mak
45 45  
  46 +REXX_HOME=@REXX_HOME@
  47 +REXXLIBDIR=$(libdir)/ooRexx
  48 +
46 49 #---[ Debug Targets ]----------------------------------------------------------
47 50  
48 51 $(BINDBG)/$(PLUGIN_NAME): $(foreach SRC, $(basename $(PLUGIN_SRC)), $(OBJDBG)/$(SRC).o) $(BINDBG)$(DLL_NAME)
... ... @@ -67,7 +70,16 @@ $(BINRLS)$(DLL_NAME).$(VERSION): $(foreach SRC, $(basename $(EXTAPI_SRC)), $(OBJ
67 70 @$(MKDIR) `dirname $@`
68 71 $(CXX) $(DLL_FLAGS) @LDSOFLAGS@ $(LDFLAGS) -o $@ $^ $(LIBS) $(LIB3270_LIBS)
69 72  
70   -install:
  73 +install: $(BINRLS)$(DLL_NAME).$(VERSION) $(BINRLS)/$(PLUGIN_NAME)
  74 + @$(MKDIR) $(DESTDIR)$(libdir)/$(PACKAGE_NAME)-plugins
  75 + @$(INSTALL_PROGRAM) $(BINRLS)/$(PLUGIN_NAME) $(DESTDIR)$(libdir)/$(PACKAGE_NAME)-plugins
  76 +
  77 + @$(MKDIR) $(DESTDIR)$(REXXLIBDIR)
  78 + @$(INSTALL_PROGRAM) $(BINRLS)$(DLL_NAME).$(VERSION) $(DESTDIR)$(REXXLIBDIR)
  79 + @$(LN_S) @DLLPREFIX@$(MODULE_NAME)@DLLEXT@.$(VERSION) $(DESTDIR)$(REXXLIBDIR)/@DLLPREFIX@$(MODULE_NAME)@DLLEXT@
  80 +
  81 + @$(MKDIR) $(DESTDIR)$(REXX_HOME)
  82 + @$(INSTALL_PROGRAM) rx3270.cls $(DESTDIR)$(REXX_HOME)
71 83  
72 84 $(DEBDIR)/$(MODULE_NAME).install: Makefile
73 85 @$(MKDIR) `dirname $@`
... ...
src/plugins/rx3270/local.cc
... ... @@ -64,10 +64,10 @@
64 64 LIB3270_CSTATE get_cstate(void);
65 65 int disconnect(void);
66 66 int connect(const char *uri, bool wait = true);
67   - int is_connected(void);
68   - int is_ready(void);
  67 + bool is_connected(void);
  68 + bool is_ready(void);
69 69  
70   - int iterate(void);
  70 + int iterate(bool wait);
71 71 int wait(int seconds);
72 72 int wait_for_ready(int seconds);
73 73  
... ... @@ -455,26 +455,26 @@ int dynamic::connect(const char *uri, bool wait)
455 455 return _connect(hSession,uri,(int) wait);
456 456 }
457 457  
458   -int dynamic::is_connected(void)
  458 +bool dynamic::is_connected(void)
459 459 {
460 460 if(!hModule)
461 461 return -1;
462   - return _is_connected(hSession);
  462 + return _is_connected(hSession) != 0;
463 463 }
464 464  
465   -int dynamic::is_ready(void)
  465 +bool dynamic::is_ready(void)
466 466 {
467 467 if(!hModule)
468 468 return -1;
469   - return _is_ready(hSession);
  469 + return _is_ready(hSession) != 0;
470 470 }
471 471  
472   -int dynamic::iterate(void)
  472 +int dynamic::iterate(bool wait)
473 473 {
474 474 if(!hModule)
475 475 return -1;
476 476  
477   - _main_iterate(hSession,1);
  477 + _main_iterate(hSession,wait);
478 478  
479 479 return 0;
480 480 }
... ...
src/plugins/rx3270/pluginmain.cc
... ... @@ -42,10 +42,10 @@
42 42 LIB3270_CSTATE get_cstate(void);
43 43 int disconnect(void);
44 44 int connect(const char *uri, bool wait = true);
45   - int is_connected(void);
46   - int is_ready(void);
  45 + bool is_connected(void);
  46 + bool is_ready(void);
47 47  
48   - int iterate(void);
  48 + int iterate(bool wait);
49 49 int wait(int seconds);
50 50 int wait_for_ready(int seconds);
51 51  
... ... @@ -114,17 +114,17 @@
114 114 return lib3270_connect(hSession,uri,wait);
115 115 }
116 116  
117   - int plugin::is_connected(void)
  117 + bool plugin::is_connected(void)
118 118 {
119   - return lib3270_is_connected(hSession) ? 1 : 0;
  119 + return lib3270_is_connected(hSession) != 0;
120 120 }
121 121  
122   - int plugin::iterate(void)
  122 + int plugin::iterate(bool wait)
123 123 {
124 124 if(!lib3270_is_connected(hSession))
125 125 return ENOTCONN;
126 126  
127   - lib3270_main_iterate(hSession,1);
  127 + lib3270_main_iterate(hSession,wait);
128 128  
129 129 return 0;
130 130 }
... ... @@ -169,9 +169,9 @@
169 169 return lib3270_set_text_at(hSession,row,col,(const unsigned char *) str);
170 170 }
171 171  
172   - int plugin::is_ready(void)
  172 + bool plugin::is_ready(void)
173 173 {
174   - return lib3270_is_ready(hSession);
  174 + return lib3270_is_ready(hSession) != 0;
175 175 }
176 176  
177 177 int plugin::set_cursor_position(int row, int col)
... ...
src/plugins/rx3270/rexx_methods.cc
... ... @@ -25,6 +25,11 @@
25 25 * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
26 26 * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça)
27 27 *
  28 + *
  29 + * Referencias:
  30 + *
  31 + * * http://www.oorexx.org/docs/rexxpg/x2950.htm
  32 + *
28 33 */
29 34  
30 35 #include "rx3270.h"
... ... @@ -73,19 +78,19 @@ RexxMethod2(int, rx3270_method_sleep, CSELF, sessionPtr, int, seconds)
73 78 return hSession->wait(seconds);
74 79 }
75 80  
76   -RexxMethod1(int, rx3270_method_is_connected, CSELF, sessionPtr)
  81 +RexxMethod1(logical_t, rx3270_method_is_connected, CSELF, sessionPtr)
77 82 {
78 83 rx3270 *hSession = (rx3270 *) sessionPtr;
79 84 if(!hSession)
80   - return -1;
  85 + return false;
81 86 return hSession->is_connected();
82 87 }
83 88  
84   -RexxMethod1(int, rx3270_method_is_ready, CSELF, sessionPtr)
  89 +RexxMethod1(logical_t, rx3270_method_is_ready, CSELF, sessionPtr)
85 90 {
86 91 rx3270 *hSession = (rx3270 *) sessionPtr;
87 92 if(!hSession)
88   - return -1;
  93 + return false;
89 94 return hSession->is_ready();
90 95 }
91 96  
... ... @@ -266,3 +271,29 @@ RexxMethod3(int, rx3270_method_set_option, CSELF, sessionPtr, CSTRING, name, int
266 271 }
267 272  
268 273  
  274 +RexxMethod4(logical_t, rx3270_method_test, CSELF, sessionPtr, CSTRING, key, int, row, int, col)
  275 +{
  276 + rx3270 * hSession = (rx3270 *) sessionPtr;
  277 +
  278 + if(!hSession)
  279 + return false;
  280 +
  281 + if(!hSession->is_ready())
  282 + hSession->iterate(false);
  283 +
  284 + if(hSession->is_ready())
  285 + {
  286 + bool rc = false;
  287 + char * str = hSession->get_text_at(row,col,strlen(key));
  288 + if(str)
  289 + {
  290 + char * text = hSession->get_3270_string(key);
  291 + rc = (strcasecmp(str,text) == 0);
  292 + free(text);
  293 + }
  294 + free(str);
  295 + return rc;
  296 + }
  297 +
  298 + return false;
  299 +}
... ...
src/plugins/rx3270/rx3270.cls
... ... @@ -61,4 +61,5 @@
61 61 ::METHOD GETTEXTAT EXTERNAL "LIBRARY rx3270 rx3270_method_get_text_at"
62 62 ::METHOD SETTEXTAT EXTERNAL "LIBRARY rx3270 rx3270_method_set_text_at"
63 63 ::METHOD CMPTEXTAT EXTERNAL "LIBRARY rx3270 rx3270_method_cmp_text_at"
  64 +::METHOD TEST EXTERNAL "LIBRARY rx3270 rx3270_method_test"
64 65  
... ...
src/plugins/rx3270/rx3270.h
... ... @@ -93,6 +93,7 @@
93 93 REXX_METHOD_PROTOTYPE(rx3270_method_screen_trace);
94 94 REXX_METHOD_PROTOTYPE(rx3270_method_ds_trace);
95 95 REXX_METHOD_PROTOTYPE(rx3270_method_set_option);
  96 + REXX_METHOD_PROTOTYPE(rx3270_method_test);
96 97  
97 98 /*---[ Globals ]---------------------------------------------------------------------------------------------*/
98 99  
... ... @@ -130,9 +131,9 @@
130 131  
131 132 virtual int connect(const char *uri, bool wait = true) = 0;
132 133 virtual int disconnect(void) = 0;
133   - virtual int is_connected(void) = 0;
134   - virtual int is_ready(void) = 0;
135   - virtual int iterate(void) = 0;
  134 + virtual bool is_connected(void) = 0;
  135 + virtual bool is_ready(void) = 0;
  136 + virtual int iterate(bool wait = true) = 0;
136 137 virtual int wait(int seconds) = 0;
137 138 virtual int wait_for_ready(int seconds) = 0;
138 139 virtual int set_cursor_position(int row, int col) = 0;
... ...
src/plugins/rx3270/sample/object.rex
... ... @@ -2,14 +2,28 @@
2 2 use arg uri
3 3  
4 4 host = .rx3270~new("")
  5 +host~ScreenTrace(1)
5 6  
6   -if host~connect(uri) <> 0 then
  7 +if host~connect(uri,1) <> 0 then
7 8 do
8   - say "Erro ao conectar em "||uri
  9 + say "Error connecting to "||uri
9 10 return -1
10 11 end
11 12  
12   -host~sleep(20)
  13 +if host~WaitForReady(60) <> 0 then
  14 +do
  15 + say "Timeout waiting for terminal ready"
  16 +end
  17 +
  18 +say "Text(2,2,23)=["||host~GetTextAt(2,2,23)||"]"
  19 +say "Text(3,2,27)=["||host~GetTextAt(3,2,27)||"]"
  20 +
  21 +host~enter()
  22 +if host~WaitForReady(60) <> 0 then
  23 +do
  24 + say "Timeout waiting for terminal ready"
  25 +end
  26 +
13 27  
14 28 host~disconnect()
15 29  
... ...