Commit ff35e951888c94bdd964c44e9fb1d1205576d6f2
1 parent
331a69dd
Exists in
master
and in
5 other branches
Dialogo de seleção de host não estava lendo a configuração corretamente
Showing
5 changed files
with
56 additions
and
17 deletions
Show diff stats
src/classlib/local.cc
src/include/lib3270.h
| ... | ... | @@ -419,6 +419,25 @@ |
| 419 | 419 | LIB3270_EXPORT const char * lib3270_get_hostname(H3270 *h); |
| 420 | 420 | |
| 421 | 421 | /** |
| 422 | + * Get servic or port for the connect/reconnect operations. | |
| 423 | + * | |
| 424 | + * @param h Session handle. | |
| 425 | + * | |
| 426 | + * @return Pointer to service name (internal data, do not change it) | |
| 427 | + * | |
| 428 | + */ | |
| 429 | + LIB3270_EXPORT const char * lib3270_get_srvcname(H3270 *h); | |
| 430 | + | |
| 431 | + | |
| 432 | + /** | |
| 433 | + * Get connection options. | |
| 434 | + * | |
| 435 | + * @param h Session handle. | |
| 436 | + * | |
| 437 | + */ | |
| 438 | + LIB3270_EXPORT LIB3270_CONNECT_OPTION lib3270_get_connect_options(H3270 *h); | |
| 439 | + | |
| 440 | + /** | |
| 422 | 441 | * Get URL of the hostname for the connect/reconnect operations. |
| 423 | 442 | * |
| 424 | 443 | * @param h Session handle. |
| ... | ... | @@ -630,15 +649,6 @@ |
| 630 | 649 | */ |
| 631 | 650 | LIB3270_EXPORT int lib3270_toggle(H3270 *h, LIB3270_TOGGLE ix); |
| 632 | 651 | |
| 633 | - /** | |
| 634 | - * Check if the active connection is secure. | |
| 635 | - * | |
| 636 | - * @param h Session handle. | |
| 637 | - * | |
| 638 | - * @return Non 0 if the connection is SSL secured, 0 if not. | |
| 639 | - */ | |
| 640 | - LIB3270_EXPORT int lib3270_get_ssl_state(H3270 *h); | |
| 641 | - | |
| 642 | 652 | /** Callback table |
| 643 | 653 | * |
| 644 | 654 | * Structure with GUI unblocking I/O calls, used to replace the lib3270´s internal ones. | ... | ... |
src/lib3270/host.c
| ... | ... | @@ -582,6 +582,18 @@ LIB3270_EXPORT const char * lib3270_get_hostname(H3270 *h) |
| 582 | 582 | return h->host.current; |
| 583 | 583 | } |
| 584 | 584 | |
| 585 | +LIB3270_EXPORT const char * lib3270_get_srvcname(H3270 *h) | |
| 586 | +{ | |
| 587 | + CHECK_SESSION_HANDLE(h); | |
| 588 | + return h->host.srvc; | |
| 589 | +} | |
| 590 | + | |
| 591 | +LIB3270_EXPORT LIB3270_CONNECT_OPTION lib3270_get_connect_options(H3270 *h) | |
| 592 | +{ | |
| 593 | + CHECK_SESSION_HANDLE(h); | |
| 594 | + return h->host.opt; | |
| 595 | +} | |
| 596 | + | |
| 585 | 597 | LIB3270_EXPORT const char * lib3270_get_host(H3270 *h) |
| 586 | 598 | { |
| 587 | 599 | CHECK_SESSION_HANDLE(h); | ... | ... |
src/plugins/rx3270/pluginmain.cc
| ... | ... | @@ -781,7 +781,7 @@ const char * plugin::asc2ebc(unsigned char *str, int sz) |
| 781 | 781 | |
| 782 | 782 | int plugin::set_host(const char *uri) |
| 783 | 783 | { |
| 784 | - return lib3270_set_host(hSession,uri) != NULL; | |
| 784 | + return lib3270_set_host(hSession,uri) != NULL ? 1 : 0; | |
| 785 | 785 | } |
| 786 | 786 | |
| 787 | 787 | const char * plugin::ebc2asc(unsigned char *str, int sz) | ... | ... |
src/pw3270/hostdialog.c
| ... | ... | @@ -133,8 +133,8 @@ |
| 133 | 133 | void hostname_action(GtkAction *action, GtkWidget *widget) |
| 134 | 134 | { |
| 135 | 135 | const gchar * title = g_object_get_data(G_OBJECT(action),"title"); |
| 136 | - gchar * cfghost = get_string_from_config("host","uri",""); | |
| 137 | - gchar * hostname; | |
| 136 | +// gchar * cfghost = get_string_from_config("host","uri",""); | |
| 137 | +// gchar * hostname; | |
| 138 | 138 | gchar * ptr; |
| 139 | 139 | gboolean again = TRUE; |
| 140 | 140 | int iHostType = 0; |
| ... | ... | @@ -353,6 +353,24 @@ |
| 353 | 353 | gtk_widget_show_all(GTK_WIDGET(table)); |
| 354 | 354 | #endif |
| 355 | 355 | |
| 356 | + gchar *uri = get_string_from_config("host","uri",""); | |
| 357 | + | |
| 358 | + if(uri && *uri && lib3270_set_host(v3270_get_session(widget),uri)) | |
| 359 | + { | |
| 360 | + H3270 *hSession = v3270_get_session(widget); | |
| 361 | + gtk_entry_set_text(host,lib3270_get_hostname(hSession)); | |
| 362 | + gtk_entry_set_text(port,lib3270_get_srvcname(hSession)); | |
| 363 | + gtk_toggle_button_set_active(sslcheck,(lib3270_get_connect_options(hSession) & LIB3270_CONNECT_OPTION_SSL) ? TRUE : FALSE); | |
| 364 | + } | |
| 365 | + else | |
| 366 | + { | |
| 367 | + gtk_entry_set_text(host,""); | |
| 368 | + gtk_entry_set_text(port,"telnet"); | |
| 369 | + } | |
| 370 | + | |
| 371 | + g_free(uri); | |
| 372 | + | |
| 373 | +/* | |
| 356 | 374 | hostname = cfghost; |
| 357 | 375 | |
| 358 | 376 | trace("hostname=[%s]",hostname); |
| ... | ... | @@ -382,8 +400,7 @@ |
| 382 | 400 | { |
| 383 | 401 | gtk_entry_set_text(port,"23"); |
| 384 | 402 | } |
| 385 | - | |
| 386 | - gtk_entry_set_text(host,hostname); | |
| 403 | +*/ | |
| 387 | 404 | |
| 388 | 405 | while(again) |
| 389 | 406 | { |
| ... | ... | @@ -430,7 +447,7 @@ |
| 430 | 447 | #endif |
| 431 | 448 | } |
| 432 | 449 | |
| 433 | - g_free(hostname); | |
| 450 | +// g_free(hostname); | |
| 434 | 451 | break; |
| 435 | 452 | |
| 436 | 453 | case GTK_RESPONSE_REJECT: |
| ... | ... | @@ -441,6 +458,6 @@ |
| 441 | 458 | |
| 442 | 459 | gtk_widget_destroy(dialog); |
| 443 | 460 | |
| 444 | - g_free(cfghost); | |
| 461 | +// g_free(cfghost); | |
| 445 | 462 | } |
| 446 | 463 | ... | ... |