Commit 913e61021dcef7b2715717248c81ef1543eb5879

Authored by perry.werneck@gmail.com
1 parent 25907e2e

Small fixes in the API

src/classlib/local.cc
@@ -425,7 +425,7 @@ @@ -425,7 +425,7 @@
425 425
426 int set_host(const char *uri) 426 int set_host(const char *uri)
427 { 427 {
428 - return _set_host(hSession,uri) != NULL ? 1 : 0; 428 + return (_set_host(hSession,uri) == NULL) ? 0 : 1;
429 } 429 }
430 430
431 int disconnect(void) 431 int disconnect(void)
src/include/lib3270.h
@@ -244,18 +244,24 @@ @@ -244,18 +244,24 @@
244 */ 244 */
245 typedef enum lib3270_option 245 typedef enum lib3270_option
246 { 246 {
247 - LIB3270_OPTION_DEFAULTS = 0x0000,  
248 - LIB3270_OPTION_AS400 = 0x0001, /**< Prefix every PF with PA1 */ 247 + /* Host types */
  248 + LIB3270_OPTION_AS400 = 0x0001, /**< AS400 host - Prefix every PF with PA1 */
249 LIB3270_OPTION_TSO = 0x0002, /**< Host is TSO? */ 249 LIB3270_OPTION_TSO = 0x0002, /**< Host is TSO? */
250 - LIB3270_OPTION_SSL = 0x0004, 250 + LIB3270_OPTION_S390 = 0x0006, /**< Host is S390? (TSO included) */
  251 +
  252 + /* Other options */
  253 + LIB3270_OPTION_SSL = 0x0010, /**< Secure connection ? */
  254 +
251 255
252 LIB3270_OPTION_WAIT = 0x8000 /**< Wait for session ready on connect ? */ 256 LIB3270_OPTION_WAIT = 0x8000 /**< Wait for session ready on connect ? */
253 } LIB3270_OPTION; 257 } LIB3270_OPTION;
254 258
  259 + #define LIB3270_OPTION_HOST_TYPE 0x0007
  260 + #define LIB3270_OPTION_DEFAULTS LIB3270_OPTION_S390
255 261
256 // LIB3270_OPTION_COLOR8 = 0x0001, /**< If active, pw3270 will respond to a Query(Color) with a list of 8 supported colors. */ 262 // LIB3270_OPTION_COLOR8 = 0x0001, /**< If active, pw3270 will respond to a Query(Color) with a list of 8 supported colors. */
257 263
258 - #define LIB3270_OPTION_DEFAULT 0 264 +// #define LIB3270_OPTION_DEFAULT 0
259 #define LIB3270_OPTION_COUNT 3 265 #define LIB3270_OPTION_COUNT 3
260 266
261 typedef struct _lib3270_option_entry 267 typedef struct _lib3270_option_entry
@@ -1045,7 +1051,9 @@ @@ -1045,7 +1051,9 @@
1045 LIB3270_EXPORT int lib3270_clear_operator_error(H3270 *hSession); 1051 LIB3270_EXPORT int lib3270_clear_operator_error(H3270 *hSession);
1046 1052
1047 LIB3270_EXPORT void lib3270_set_options(H3270 *hSession, LIB3270_OPTION opt); 1053 LIB3270_EXPORT void lib3270_set_options(H3270 *hSession, LIB3270_OPTION opt);
  1054 +
1048 LIB3270_EXPORT int lib3270_set_color_type(H3270 *hSession, unsigned short colortype); 1055 LIB3270_EXPORT int lib3270_set_color_type(H3270 *hSession, unsigned short colortype);
  1056 + LIB3270_EXPORT unsigned short lib3270_get_color_type(H3270 *hSession);
1049 1057
1050 LIB3270_EXPORT const LIB3270_OPTION_ENTRY * lib3270_get_option_list(void); 1058 LIB3270_EXPORT const LIB3270_OPTION_ENTRY * lib3270_get_option_list(void);
1051 1059
src/include/lib3270/session.h
@@ -101,7 +101,7 @@ @@ -101,7 +101,7 @@
101 int oerr_lock : 1; 101 int oerr_lock : 1;
102 int unlock_delay : 1; 102 int unlock_delay : 1;
103 int auto_reconnect_inprogress : 1; 103 int auto_reconnect_inprogress : 1;
104 - int colors : 5; 104 + unsigned int colors : 5;
105 int apl_mode : 1; 105 int apl_mode : 1;
106 int icrnl : 1; 106 int icrnl : 1;
107 int inlcr : 1; 107 int inlcr : 1;
src/include/pw3270/v3270.h
@@ -227,8 +227,13 @@ @@ -227,8 +227,13 @@
227 LIB3270_EXPORT const gchar * v3270_get_ssl_status_message(GtkWidget *widget); 227 LIB3270_EXPORT const gchar * v3270_get_ssl_status_message(GtkWidget *widget);
228 LIB3270_EXPORT void v3270_popup_security_dialog(GtkWidget *widget); 228 LIB3270_EXPORT void v3270_popup_security_dialog(GtkWidget *widget);
229 229
  230 + // File transfer
230 LIB3270_EXPORT gint v3270_transfer_file(GtkWidget *widget, LIB3270_FT_OPTION options, const gchar *local, const gchar *remote, int lrecl, int blksize, int primspace, int secspace, int dft); 231 LIB3270_EXPORT gint v3270_transfer_file(GtkWidget *widget, LIB3270_FT_OPTION options, const gchar *local, const gchar *remote, int lrecl, int blksize, int primspace, int secspace, int dft);
231 232
  233 + // Auxiliary widgets
  234 + LIB3270_EXPORT GtkWidget * v3270_host_select_new(GtkWidget *widget);
  235 +
  236 +
232 G_END_DECLS 237 G_END_DECLS
233 238
234 #endif // V3270_H_INCLUDED 239 #endif // V3270_H_INCLUDED
src/lib3270/options.c
@@ -77,6 +77,16 @@ LIB3270_EXPORT void lib3270_set_options(H3270 *hSession, LIB3270_OPTION opt) @@ -77,6 +77,16 @@ LIB3270_EXPORT void lib3270_set_options(H3270 *hSession, LIB3270_OPTION opt)
77 hSession->options = opt; 77 hSession->options = opt;
78 } 78 }
79 79
  80 +LIB3270_EXPORT unsigned short lib3270_get_color_type(H3270 *hSession)
  81 +{
  82 + CHECK_SESSION_HANDLE(hSession);
  83 +
  84 + trace("******************* %d",hSession->colors);
  85 +
  86 + return hSession->mono ? 2 : hSession->colors;
  87 +}
  88 +
  89 +
80 LIB3270_EXPORT int lib3270_set_color_type(H3270 *hSession, unsigned short colortype) 90 LIB3270_EXPORT int lib3270_set_color_type(H3270 *hSession, unsigned short colortype)
81 { 91 {
82 CHECK_SESSION_HANDLE(hSession); 92 CHECK_SESSION_HANDLE(hSession);
src/lib3270/session.c
@@ -303,6 +303,9 @@ static void lib3270_session_init(H3270 *hSession, const char *model, const char @@ -303,6 +303,9 @@ static void lib3270_session_init(H3270 *hSession, const char *model, const char
303 hSession->saved_wraparound_mode = 1; 303 hSession->saved_wraparound_mode = 1;
304 hSession->once_cset = -1; 304 hSession->once_cset = -1;
305 hSession->state = LIB3270_ANSI_STATE_DATA; 305 hSession->state = LIB3270_ANSI_STATE_DATA;
  306 + hSession->options = LIB3270_OPTION_DEFAULTS;
  307 + hSession->colors = 16;
  308 + hSession->m3279 = 1;
306 309
307 for(f=0;f<4;f++) 310 for(f=0;f<4;f++)
308 hSession->csd[f] = hSession->saved_csd[f] = LIB3270_ANSI_CSD_US; 311 hSession->csd[f] = hSession->saved_csd[f] = LIB3270_ANSI_CSD_US;
src/pw3270/hostdialog.c
@@ -39,7 +39,7 @@ @@ -39,7 +39,7 @@
39 LIB3270_OPTION option; 39 LIB3270_OPTION option;
40 } host_type[] = 40 } host_type[] =
41 { 41 {
42 - { "S390", N_( "IBM S/390" ), LIB3270_OPTION_TSO }, 42 + { "S390", N_( "IBM S/390" ), LIB3270_OPTION_S390 },
43 { "AS400", N_( "IBM AS/400" ), LIB3270_OPTION_AS400 }, 43 { "AS400", N_( "IBM AS/400" ), LIB3270_OPTION_AS400 },
44 { "TSO", N_( "Other (TSO)" ), LIB3270_OPTION_TSO }, 44 { "TSO", N_( "Other (TSO)" ), LIB3270_OPTION_TSO },
45 { "VM/CMS", N_( "Other (VM/CMS)" ), 0 } 45 { "VM/CMS", N_( "Other (VM/CMS)" ), 0 }
src/pw3270/v3270/widget.c
@@ -1552,6 +1552,12 @@ int v3270_set_session_color_type(GtkWidget *widget, unsigned short colortype) @@ -1552,6 +1552,12 @@ int v3270_set_session_color_type(GtkWidget *widget, unsigned short colortype)
1552 return lib3270_set_color_type(GTK_V3270(widget)->host,colortype); 1552 return lib3270_set_color_type(GTK_V3270(widget)->host,colortype);
1553 } 1553 }
1554 1554
  1555 +unsigned short v3270_get_session_color_type(GtkWidget *widget)
  1556 +{
  1557 + g_return_val_if_fail(GTK_IS_V3270(widget),-1);
  1558 + return lib3270_get_color_type(GTK_V3270(widget)->host);
  1559 +}
  1560 +
1555 gboolean v3270_is_connected(GtkWidget *widget) 1561 gboolean v3270_is_connected(GtkWidget *widget)
1556 { 1562 {
1557 g_return_val_if_fail(GTK_IS_V3270(widget),FALSE); 1563 g_return_val_if_fail(GTK_IS_V3270(widget),FALSE);