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 | ... | ... |