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 | 291 | <Option compilerVar="CC" /> |
| 292 | 292 | </Unit> |
| 293 | 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 | 294 | <Unit filename="src/plugins/rx3270/pluginmain.cc" /> |
| 297 | - <Unit filename="src/plugins/rx3270/remote.cc" /> | |
| 298 | 295 | <Unit filename="src/plugins/rx3270/rexx_methods.cc" /> |
| 299 | 296 | <Unit filename="src/plugins/rx3270/rx3270.cc" /> |
| 300 | 297 | <Unit filename="src/plugins/rx3270/rx3270.cls" /> | ... | ... |
src/plugins/rx3270/typed_routines.cc
| ... | ... | @@ -133,47 +133,37 @@ RexxRoutine1(int, rx3270WaitForTerminalReady, int, seconds) |
| 133 | 133 | |
| 134 | 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 | 145 | return ETIMEDOUT; |
| 158 | 146 | |
| 159 | 147 | } |
| 160 | 148 | |
| 161 | 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 | 167 | return context->String(""); |
| 178 | 168 | } |
| 179 | 169 | |
| ... | ... | @@ -184,23 +174,15 @@ RexxRoutine0(int, rx3270IsTerminalReady) |
| 184 | 174 | |
| 185 | 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 | 186 | return -1; |
| 205 | 187 | } |
| 206 | 188 | |
| ... | ... | @@ -220,23 +202,18 @@ RexxRoutine2(int, rx3270SetCursorPosition, int, row, int, col) |
| 220 | 202 | |
| 221 | 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 | 213 | return -1; |
| 236 | 214 | } |
| 237 | 215 | |
| 238 | 216 | RexxRoutine0(int, rx3270CloseApplication) |
| 239 | 217 | { |
| 240 | - session * session = session::get_default(); | |
| 241 | - return session->quit(); | |
| 218 | + return session::get_default()->quit(); | |
| 242 | 219 | } | ... | ... |