Commit a7148ff49c7df704b89a394332f5035d61260798
1 parent
0fe8634c
Exists in
master
and in
5 other branches
Migrando plugin rexx para a classe de apoio
Showing
2 changed files
with
34 additions
and
60 deletions
Show diff stats
pw3270.cbp
| @@ -291,10 +291,7 @@ | @@ -291,10 +291,7 @@ | ||
| 291 | <Option compilerVar="CC" /> | 291 | <Option compilerVar="CC" /> |
| 292 | </Unit> | 292 | </Unit> |
| 293 | <Unit filename="src/plugins/rx3270/Makefile.in" /> | 293 | <Unit filename="src/plugins/rx3270/Makefile.in" /> |
| 294 | - <Unit filename="src/plugins/rx3270/exception.cc" /> | ||
| 295 | - <Unit filename="src/plugins/rx3270/local.cc" /> | ||
| 296 | <Unit filename="src/plugins/rx3270/pluginmain.cc" /> | 294 | <Unit filename="src/plugins/rx3270/pluginmain.cc" /> |
| 297 | - <Unit filename="src/plugins/rx3270/remote.cc" /> | ||
| 298 | <Unit filename="src/plugins/rx3270/rexx_methods.cc" /> | 295 | <Unit filename="src/plugins/rx3270/rexx_methods.cc" /> |
| 299 | <Unit filename="src/plugins/rx3270/rx3270.cc" /> | 296 | <Unit filename="src/plugins/rx3270/rx3270.cc" /> |
| 300 | <Unit filename="src/plugins/rx3270/rx3270.cls" /> | 297 | <Unit filename="src/plugins/rx3270/rx3270.cls" /> |
src/plugins/rx3270/typed_routines.cc
| @@ -133,47 +133,37 @@ RexxRoutine1(int, rx3270WaitForTerminalReady, int, seconds) | @@ -133,47 +133,37 @@ RexxRoutine1(int, rx3270WaitForTerminalReady, int, seconds) | ||
| 133 | 133 | ||
| 134 | RexxRoutine4(int, rx3270WaitForStringAt, int, row, int, col, CSTRING, key, int, timeout) | 134 | RexxRoutine4(int, rx3270WaitForStringAt, int, row, int, col, CSTRING, key, int, timeout) |
| 135 | { | 135 | { |
| 136 | - #warning REIMPLEMENTAR | ||
| 137 | -/* | ||
| 138 | - session * session = session::get_default(); | ||
| 139 | - time_t end = time(0) + timeout; | ||
| 140 | - char * text = session->get_3270_string(key); | ||
| 141 | - | ||
| 142 | - while(time(0) < end) | 136 | + try |
| 143 | { | 137 | { |
| 144 | - if(!session->is_connected()) | ||
| 145 | - { | ||
| 146 | - return ENOTCONN; | ||
| 147 | - } | ||
| 148 | - else if( !(session->wait_for_ready(1) || session->cmp_text_at(row,col,text)) ) | ||
| 149 | - { | ||
| 150 | - free(text); | ||
| 151 | - return 0; | ||
| 152 | - } | 138 | + return session::get_default()->wait_for_string_at(row,col,key,timeout); |
| 139 | + } | ||
| 140 | + catch(std::exception &e) | ||
| 141 | + { | ||
| 142 | + context->RaiseException1(Rexx_Error_Application_error,context->NewStringFromAsciiz(e.what())); | ||
| 153 | } | 143 | } |
| 154 | 144 | ||
| 155 | - free(text); | ||
| 156 | -*/ | ||
| 157 | return ETIMEDOUT; | 145 | return ETIMEDOUT; |
| 158 | 146 | ||
| 159 | } | 147 | } |
| 160 | 148 | ||
| 161 | RexxRoutine3(RexxStringObject, rx3270GetStringAt, int, row, int, col, int, sz) | 149 | RexxRoutine3(RexxStringObject, rx3270GetStringAt, int, row, int, col, int, sz) |
| 162 | { | 150 | { |
| 163 | - #warning REIMPLEMENTAR | ||
| 164 | -/* | ||
| 165 | - rx3270 * session = rx3270::get_default(); | ||
| 166 | - char * str = session->get_text_at(row,col,sz); | 151 | + try |
| 152 | + { | ||
| 153 | + string *str = session::get_default()->get_string_at(row,col,(int) sz); | ||
| 167 | 154 | ||
| 168 | - if(str) | 155 | + if(str) |
| 156 | + { | ||
| 157 | + RexxStringObject ret = context->String((CSTRING) str->c_str()); | ||
| 158 | + delete str; | ||
| 159 | + return ret; | ||
| 160 | + } | ||
| 161 | + } | ||
| 162 | + catch(std::exception &e) | ||
| 169 | { | 163 | { |
| 170 | - char * text = session->get_local_string(str); | ||
| 171 | - RexxStringObject ret = context->String((CSTRING) text); | ||
| 172 | - free(str); | ||
| 173 | - free(text); | ||
| 174 | - return ret; | 164 | + context->RaiseException1(Rexx_Error_Application_error,context->NewStringFromAsciiz(e.what())); |
| 175 | } | 165 | } |
| 176 | -*/ | 166 | + |
| 177 | return context->String(""); | 167 | return context->String(""); |
| 178 | } | 168 | } |
| 179 | 169 | ||
| @@ -184,23 +174,15 @@ RexxRoutine0(int, rx3270IsTerminalReady) | @@ -184,23 +174,15 @@ RexxRoutine0(int, rx3270IsTerminalReady) | ||
| 184 | 174 | ||
| 185 | RexxRoutine3(int, rx3270queryStringAt, int, row, int, col, CSTRING, key) | 175 | RexxRoutine3(int, rx3270queryStringAt, int, row, int, col, CSTRING, key) |
| 186 | { | 176 | { |
| 187 | - #warning Reimplementar | ||
| 188 | -/* | ||
| 189 | - int rc = 0; | ||
| 190 | - rx3270 * session = rx3270::get_default(); | ||
| 191 | - char * str = session->get_text_at(row,col,strlen(key)); | ||
| 192 | - | ||
| 193 | - if(str) | 177 | + try |
| 194 | { | 178 | { |
| 195 | - char * text = session->get_3270_string(key); | ||
| 196 | - rc = strcasecmp(str,text); | ||
| 197 | - free(text); | 179 | + return session::get_default()->cmp_string_at(row,col,key); |
| 180 | + } | ||
| 181 | + catch(std::exception &e) | ||
| 182 | + { | ||
| 183 | + context->RaiseException1(Rexx_Error_Application_error,context->NewStringFromAsciiz(e.what())); | ||
| 198 | } | 184 | } |
| 199 | 185 | ||
| 200 | - free(str); | ||
| 201 | - | ||
| 202 | - return rc; | ||
| 203 | -*/ | ||
| 204 | return -1; | 186 | return -1; |
| 205 | } | 187 | } |
| 206 | 188 | ||
| @@ -220,23 +202,18 @@ RexxRoutine2(int, rx3270SetCursorPosition, int, row, int, col) | @@ -220,23 +202,18 @@ RexxRoutine2(int, rx3270SetCursorPosition, int, row, int, col) | ||
| 220 | 202 | ||
| 221 | RexxRoutine3(int, rx3270SetStringAt, int, row, int, col, CSTRING, text) | 203 | RexxRoutine3(int, rx3270SetStringAt, int, row, int, col, CSTRING, text) |
| 222 | { | 204 | { |
| 223 | - #warning Reimplementar | ||
| 224 | -/* | ||
| 225 | - rx3270 * session = rx3270::get_default(); | ||
| 226 | - char * str = session->get_3270_string(text); | ||
| 227 | - int rc; | ||
| 228 | - | ||
| 229 | - rc = session->set_text_at(row,col,str); | ||
| 230 | - | ||
| 231 | - free(str); | ||
| 232 | - | ||
| 233 | - return rc; | ||
| 234 | -*/ | 205 | + try |
| 206 | + { | ||
| 207 | + return session::get_default()->set_string_at(row,col,text); | ||
| 208 | + } | ||
| 209 | + catch(std::exception &e) | ||
| 210 | + { | ||
| 211 | + context->RaiseException1(Rexx_Error_Application_error,context->NewStringFromAsciiz(e.what())); | ||
| 212 | + } | ||
| 235 | return -1; | 213 | return -1; |
| 236 | } | 214 | } |
| 237 | 215 | ||
| 238 | RexxRoutine0(int, rx3270CloseApplication) | 216 | RexxRoutine0(int, rx3270CloseApplication) |
| 239 | { | 217 | { |
| 240 | - session * session = session::get_default(); | ||
| 241 | - return session->quit(); | 218 | + return session::get_default()->quit(); |
| 242 | } | 219 | } |