Commit 69ab4e638710bc0e7a3d3f7e1260976ef6c14b29

Authored by Perry Werneck
1 parent 3cba5f2a

Implementando set_unlock_delay na API ooRexx.

src/plugins/rx3270/rexx_methods.cc
@@ -619,3 +619,21 @@ RexxMethod1(RexxStringObject, rx3270_method_get_display_charset, CSELF, sessionP @@ -619,3 +619,21 @@ RexxMethod1(RexxStringObject, rx3270_method_get_display_charset, CSELF, sessionP
619 return context->String(ret.c_str()); 619 return context->String(ret.c_str());
620 } 620 }
621 621
  622 +RexxMethod2(int, rx3270_method_set_unlock_delay, CSELF, sessionPtr, int, delay)
  623 +{
  624 + session *hSession = (session *) sessionPtr;
  625 +
  626 + if(!hSession)
  627 + return -1;
  628 +
  629 + try
  630 + {
  631 + hSession->set_unlock_delay((unsigned short) delay);
  632 + }
  633 + catch(std::exception &e)
  634 + {
  635 + context->RaiseException1(Rexx_Error_Application_error,context->NewStringFromAsciiz(e.what()));
  636 + }
  637 +
  638 + return 0;
  639 +}
src/plugins/rx3270/rx3270.cls
@@ -97,6 +97,7 @@ @@ -97,6 +97,7 @@
97 ::METHOD GETDISPLAYCHARSET EXTERNAL "LIBRARY rx3270 rx3270_method_get_display_charset" 97 ::METHOD GETDISPLAYCHARSET EXTERNAL "LIBRARY rx3270 rx3270_method_get_display_charset"
98 ::METHOD GETHOSTCHARSET EXTERNAL "LIBRARY rx3270 rx3270_method_get_host_charset" 98 ::METHOD GETHOSTCHARSET EXTERNAL "LIBRARY rx3270 rx3270_method_get_host_charset"
99 ::METHOD SETHOSTCHARSET EXTERNAL "LIBRARY rx3270 rx3270_method_set_host_charset" 99 ::METHOD SETHOSTCHARSET EXTERNAL "LIBRARY rx3270 rx3270_method_set_host_charset"
  100 +::METHOD SETUNLOCKDELAY EXTERNAL "LIBRARY rx3270 rx3270_method_set_unlock_delay"
100 101
101 ::method waitForStringAt 102 ::method waitForStringAt
102 use arg row, col, key, timeout 103 use arg row, col, key, timeout
src/plugins/rx3270/rx3270.h
@@ -93,6 +93,7 @@ @@ -93,6 +93,7 @@
93 93
94 REXX_TYPED_ROUTINE_PROTOTYPE(rx3270IsProtected); 94 REXX_TYPED_ROUTINE_PROTOTYPE(rx3270IsProtected);
95 REXX_TYPED_ROUTINE_PROTOTYPE(rx3270IsProtectedAt); 95 REXX_TYPED_ROUTINE_PROTOTYPE(rx3270IsProtectedAt);
  96 + REXX_TYPED_ROUTINE_PROTOTYPE(rx3270SetUnlockDelay);
96 97
97 REXX_METHOD_PROTOTYPE(rx3270_method_version); 98 REXX_METHOD_PROTOTYPE(rx3270_method_version);
98 REXX_METHOD_PROTOTYPE(rx3270_method_revision); 99 REXX_METHOD_PROTOTYPE(rx3270_method_revision);
@@ -141,6 +142,7 @@ @@ -141,6 +142,7 @@
141 REXX_METHOD_PROTOTYPE(rx3270_method_get_display_charset); 142 REXX_METHOD_PROTOTYPE(rx3270_method_get_display_charset);
142 REXX_METHOD_PROTOTYPE(rx3270_method_get_host_charset); 143 REXX_METHOD_PROTOTYPE(rx3270_method_get_host_charset);
143 REXX_METHOD_PROTOTYPE(rx3270_method_set_host_charset); 144 REXX_METHOD_PROTOTYPE(rx3270_method_set_host_charset);
  145 + REXX_METHOD_PROTOTYPE(rx3270_method_set_unlock_delay);
144 146
145 /*---[ Globals ]---------------------------------------------------------------------------------------------*/ 147 /*---[ Globals ]---------------------------------------------------------------------------------------------*/
146 148
src/plugins/rx3270/rxapimain.cc
@@ -75,8 +75,9 @@ RexxRoutineEntry rx3270_functions[] = @@ -75,8 +75,9 @@ RexxRoutineEntry rx3270_functions[] =
75 REXX_TYPED_ROUTINE(rx3270EraseEOL, rx3270EraseEOL), 75 REXX_TYPED_ROUTINE(rx3270EraseEOL, rx3270EraseEOL),
76 REXX_TYPED_ROUTINE(rx3270EraseInput, rx3270EraseInput), 76 REXX_TYPED_ROUTINE(rx3270EraseInput, rx3270EraseInput),
77 77
78 - REXX_TYPED_ROUTINE(rx3270Erase, rx3270IsProtected),  
79 - REXX_TYPED_ROUTINE(rx3270Erase, rx3270IsProtectedAt), 78 + REXX_TYPED_ROUTINE(rx3270IsProtected, rx3270IsProtected),
  79 + REXX_TYPED_ROUTINE(rx3270IsProtectedAt, rx3270IsProtectedAt),
  80 + REXX_TYPED_ROUTINE(rx3270SetUnlockDelay, rx3270SetUnlockDelay),
80 81
81 REXX_TYPED_ROUTINE(ebc2asc, ebc2asc), 82 REXX_TYPED_ROUTINE(ebc2asc, ebc2asc),
82 REXX_TYPED_ROUTINE(asc2ebc, asc2ebc), 83 REXX_TYPED_ROUTINE(asc2ebc, asc2ebc),
@@ -88,65 +89,67 @@ RexxRoutineEntry rx3270_functions[] = @@ -88,65 +89,67 @@ RexxRoutineEntry rx3270_functions[] =
88 89
89 RexxMethodEntry rx3270_methods[] = 90 RexxMethodEntry rx3270_methods[] =
90 { 91 {
91 - REXX_METHOD(rx3270_method_version, rx3270_method_version ),  
92 - REXX_METHOD(rx3270_method_revision, rx3270_method_revision ),  
93 - REXX_METHOD(rx3270_method_init, rx3270_method_init ),  
94 - REXX_METHOD(rx3270_method_uninit, rx3270_method_uninit ),  
95 - REXX_METHOD(rx3270_method_connect, rx3270_method_connect ),  
96 - REXX_METHOD(rx3270_method_disconnect, rx3270_method_disconnect ),  
97 - REXX_METHOD(rx3270_method_sleep, rx3270_method_sleep ),  
98 - REXX_METHOD(rx3270_method_is_connected, rx3270_method_is_connected ),  
99 - REXX_METHOD(rx3270_method_is_ready, rx3270_method_is_ready ),  
100 - REXX_METHOD(rx3270_method_wait_for_ready, rx3270_method_wait_for_ready ),  
101 - REXX_METHOD(rx3270_method_set_cursor, rx3270_method_set_cursor ),  
102 - REXX_METHOD(rx3270_method_set_cursor, rx3270_method_get_cursor_addr ),  
103 - REXX_METHOD(rx3270_method_set_cursor, rx3270_method_set_cursor_addr ),  
104 - REXX_METHOD(rx3270_method_enter, rx3270_method_enter ),  
105 - REXX_METHOD(rx3270_method_enter, rx3270_method_erase ),  
106 - REXX_METHOD(rx3270_method_enter, rx3270_method_erase_eof ),  
107 - REXX_METHOD(rx3270_method_enter, rx3270_method_erase_eol ),  
108 - REXX_METHOD(rx3270_method_enter, rx3270_method_erase_input ),  
109 - REXX_METHOD(rx3270_method_pfkey, rx3270_method_pfkey ),  
110 - REXX_METHOD(rx3270_method_pakey, rx3270_method_pakey ),  
111 - REXX_METHOD(rx3270_method_get_text, rx3270_method_get_text ),  
112 - REXX_METHOD(rx3270_method_get_text_at, rx3270_method_get_text_at ),  
113 - REXX_METHOD(rx3270_method_set_text_at, rx3270_method_set_text_at ),  
114 - REXX_METHOD(rx3270_method_cmp_text_at, rx3270_method_cmp_text_at ),  
115 - REXX_METHOD(rx3270_method_event_trace, rx3270_method_event_trace ),  
116 - REXX_METHOD(rx3270_method_screen_trace, rx3270_method_screen_trace ),  
117 - REXX_METHOD(rx3270_method_ds_trace, rx3270_method_ds_trace ),  
118 - REXX_METHOD(rx3270_method_set_option, rx3270_method_set_option ),  
119 - REXX_METHOD(rx3270_method_test, rx3270_method_test ),  
120 - REXX_METHOD(rx3270_method_wait_for_text_at, rx3270_method_wait_for_text_at ),  
121 -  
122 - REXX_METHOD(rx3270_method_get_field_len, rx3270_method_get_field_len ),  
123 - REXX_METHOD(rx3270_method_get_field_start, rx3270_method_get_field_start ),  
124 - REXX_METHOD(rx3270_method_get_next_unprotected, rx3270_method_get_next_unprotected ),  
125 -  
126 - REXX_METHOD(rx3270_method_get_is_protected, rx3270_method_get_is_protected ),  
127 - REXX_METHOD(rx3270_method_get_is_protected_at, rx3270_method_get_is_protected_at ),  
128 -  
129 - REXX_METHOD(rx3270_method_get_selection, rx3270_method_get_selection ),  
130 - REXX_METHOD(rx3270_method_set_selection, rx3270_method_set_selection ),  
131 - REXX_METHOD(rx3270_method_get_clipboard, rx3270_method_get_clipboard ),  
132 - REXX_METHOD(rx3270_method_set_clipboard, rx3270_method_set_clipboard ),  
133 -  
134 - REXX_METHOD(rx3270_method_erase, rx3270_method_erase ),  
135 - REXX_METHOD(rx3270_method_erase_eof, rx3270_method_erase_eof ),  
136 - REXX_METHOD(rx3270_method_erase_eol, rx3270_method_erase_eol ),  
137 - REXX_METHOD(rx3270_method_erase_input, rx3270_method_erase_input ),  
138 -  
139 - REXX_METHOD(rx3270_method_popup, rx3270_method_popup ),  
140 - REXX_METHOD(rx3270_method_get_filename, rx3270_method_get_filename ),  
141 -  
142 - REXX_METHOD(rx3270_method_get_cursor_addr, rx3270_method_get_cursor_addr ),  
143 - REXX_METHOD(rx3270_method_set_cursor_addr, rx3270_method_set_cursor_addr ),  
144 - REXX_METHOD(rx3270_method_input_text, rx3270_method_input_text ), 92 + REXX_METHOD(rx3270_method_version, rx3270_method_version ),
  93 + REXX_METHOD(rx3270_method_revision, rx3270_method_revision ),
  94 + REXX_METHOD(rx3270_method_init, rx3270_method_init ),
  95 + REXX_METHOD(rx3270_method_uninit, rx3270_method_uninit ),
  96 + REXX_METHOD(rx3270_method_connect, rx3270_method_connect ),
  97 + REXX_METHOD(rx3270_method_disconnect, rx3270_method_disconnect ),
  98 + REXX_METHOD(rx3270_method_sleep, rx3270_method_sleep ),
  99 + REXX_METHOD(rx3270_method_is_connected, rx3270_method_is_connected ),
  100 + REXX_METHOD(rx3270_method_is_ready, rx3270_method_is_ready ),
  101 + REXX_METHOD(rx3270_method_wait_for_ready, rx3270_method_wait_for_ready ),
  102 + REXX_METHOD(rx3270_method_set_cursor, rx3270_method_set_cursor ),
  103 + REXX_METHOD(rx3270_method_set_cursor, rx3270_method_get_cursor_addr ),
  104 + REXX_METHOD(rx3270_method_set_cursor, rx3270_method_set_cursor_addr ),
  105 + REXX_METHOD(rx3270_method_enter, rx3270_method_enter ),
  106 + REXX_METHOD(rx3270_method_enter, rx3270_method_erase ),
  107 + REXX_METHOD(rx3270_method_enter, rx3270_method_erase_eof ),
  108 + REXX_METHOD(rx3270_method_enter, rx3270_method_erase_eol ),
  109 + REXX_METHOD(rx3270_method_enter, rx3270_method_erase_input ),
  110 + REXX_METHOD(rx3270_method_pfkey, rx3270_method_pfkey ),
  111 + REXX_METHOD(rx3270_method_pakey, rx3270_method_pakey ),
  112 + REXX_METHOD(rx3270_method_get_text, rx3270_method_get_text ),
  113 + REXX_METHOD(rx3270_method_get_text_at, rx3270_method_get_text_at ),
  114 + REXX_METHOD(rx3270_method_set_text_at, rx3270_method_set_text_at ),
  115 + REXX_METHOD(rx3270_method_cmp_text_at, rx3270_method_cmp_text_at ),
  116 + REXX_METHOD(rx3270_method_event_trace, rx3270_method_event_trace ),
  117 + REXX_METHOD(rx3270_method_screen_trace, rx3270_method_screen_trace ),
  118 + REXX_METHOD(rx3270_method_ds_trace, rx3270_method_ds_trace ),
  119 + REXX_METHOD(rx3270_method_set_option, rx3270_method_set_option ),
  120 + REXX_METHOD(rx3270_method_test, rx3270_method_test ),
  121 + REXX_METHOD(rx3270_method_wait_for_text_at, rx3270_method_wait_for_text_at ),
  122 +
  123 + REXX_METHOD(rx3270_method_get_field_len, rx3270_method_get_field_len ),
  124 + REXX_METHOD(rx3270_method_get_field_start, rx3270_method_get_field_start ),
  125 + REXX_METHOD(rx3270_method_get_next_unprotected, rx3270_method_get_next_unprotected ),
  126 +
  127 + REXX_METHOD(rx3270_method_get_is_protected, rx3270_method_get_is_protected ),
  128 + REXX_METHOD(rx3270_method_get_is_protected_at, rx3270_method_get_is_protected_at ),
  129 +
  130 + REXX_METHOD(rx3270_method_get_selection, rx3270_method_get_selection ),
  131 + REXX_METHOD(rx3270_method_set_selection, rx3270_method_set_selection ),
  132 + REXX_METHOD(rx3270_method_get_clipboard, rx3270_method_get_clipboard ),
  133 + REXX_METHOD(rx3270_method_set_clipboard, rx3270_method_set_clipboard ),
  134 +
  135 + REXX_METHOD(rx3270_method_erase, rx3270_method_erase ),
  136 + REXX_METHOD(rx3270_method_erase_eof, rx3270_method_erase_eof ),
  137 + REXX_METHOD(rx3270_method_erase_eol, rx3270_method_erase_eol ),
  138 + REXX_METHOD(rx3270_method_erase_input, rx3270_method_erase_input ),
  139 +
  140 + REXX_METHOD(rx3270_method_popup, rx3270_method_popup ),
  141 + REXX_METHOD(rx3270_method_get_filename, rx3270_method_get_filename ),
  142 +
  143 + REXX_METHOD(rx3270_method_get_cursor_addr, rx3270_method_get_cursor_addr ),
  144 + REXX_METHOD(rx3270_method_set_cursor_addr, rx3270_method_set_cursor_addr ),
  145 + REXX_METHOD(rx3270_method_input_text, rx3270_method_input_text ),
145 146
146 REXX_METHOD(rx3270_method_get_display_charset, rx3270_method_get_display_charset ), 147 REXX_METHOD(rx3270_method_get_display_charset, rx3270_method_get_display_charset ),
147 REXX_METHOD(rx3270_method_get_host_charset, rx3270_method_get_host_charset ), 148 REXX_METHOD(rx3270_method_get_host_charset, rx3270_method_get_host_charset ),
148 REXX_METHOD(rx3270_method_set_host_charset, rx3270_method_set_host_charset ), 149 REXX_METHOD(rx3270_method_set_host_charset, rx3270_method_set_host_charset ),
149 150
  151 + REXX_METHOD(rx3270_method_set_unlock_delay, rx3270_method_set_unlock_delay ),
  152 +
150 REXX_LAST_METHOD() 153 REXX_LAST_METHOD()
151 }; 154 };
152 155
src/plugins/rx3270/typed_routines.cc
@@ -306,3 +306,18 @@ RexxRoutine2(int, rx3270IsProtectedAt, int, row, int, col) @@ -306,3 +306,18 @@ RexxRoutine2(int, rx3270IsProtectedAt, int, row, int, col)
306 306
307 return -1; 307 return -1;
308 } 308 }
  309 +
  310 +RexxRoutine1(int, rx3270SetUnlockDelay, int, delay)
  311 +{
  312 + try
  313 + {
  314 + session::get_default()->set_unlock_delay((unsigned short) delay);
  315 + }
  316 + catch(std::exception &e)
  317 + {
  318 + context->RaiseException1(Rexx_Error_Application_error,context->NewStringFromAsciiz(e.what()));
  319 + }
  320 +
  321 + return 0;
  322 +}
  323 +