Commit 1938b3a0ac71efac22c6d196193bacdaa022c090

Authored by perry.werneck@gmail.com
1 parent 68e48178

Implementando vários métodos para apagamento de tela

src/classlib/local.cc
... ... @@ -152,7 +152,11 @@
152 152 int (*_set_host_charset)(H3270 *hSession, const char *name);
153 153 const char * (*_get_host_charset)(H3270 *hSession);
154 154 int (*_print)(H3270 *hSession);
  155 + int (*_erase)(H3270 *hSession);
155 156 int (*_erase_eof)(H3270 *hSession);
  157 + int (*_erase_eol)(H3270 *hSession);
  158 + int (*_erase_input)(H3270 *hSession);
  159 +
156 160 const char * (*_ebc2asc)(H3270 *hSession, unsigned char *buffer, int sz);
157 161 const char * (*_asc2ebc)(H3270 *hSession, unsigned char *buffer, int sz);
158 162  
... ... @@ -205,7 +209,12 @@
205 209 { (void **) & _get_display_charset, "lib3270_get_display_charset" },
206 210 { (void **) & _set_host_charset, "lib3270_set_host_charset" },
207 211 { (void **) & _get_host_charset, "lib3270_get_host_charset" },
  212 +
  213 + { (void **) & _erase, "lib3270_erase" },
208 214 { (void **) & _erase_eof, "lib3270_eraseeof" },
  215 + { (void **) & _erase_eol, "lib3270_eraseeol" },
  216 + { (void **) & _erase_input, "lib3270_eraseinput" },
  217 +
209 218 { (void **) & _print, "lib3270_print" },
210 219 { (void **) & _ebc2asc, "lib3270_ebc2asc" },
211 220 { (void **) & _asc2ebc, "lib3270_asc2ebc" },
... ... @@ -409,11 +418,26 @@
409 418 return string(_get_host_charset(hSession));
410 419 }
411 420  
  421 + int erase(void)
  422 + {
  423 + return _erase(hSession);
  424 + }
  425 +
412 426 int erase_eof(void)
413 427 {
414 428 return _erase_eof(hSession);
415 429 }
416 430  
  431 + int erase_eol(void)
  432 + {
  433 + return _erase_eol(hSession);
  434 + }
  435 +
  436 + int erase_input(void)
  437 + {
  438 + return _erase_input(hSession);
  439 + }
  440 +
417 441 int print(void)
418 442 {
419 443 return _print(hSession);
... ...
src/classlib/session.cc
... ... @@ -528,6 +528,29 @@
528 528 }
529 529 #endif // WIN32
530 530  
  531 + int session::erase(int mode) {
  532 +
  533 + switch(mode) {
  534 + case 0:
  535 + erase();
  536 + break;
  537 +
  538 + case 1:
  539 + erase_eof();
  540 + break;
  541 +
  542 + case 2:
  543 + erase_eol();
  544 + break;
  545 +
  546 + case 3:
  547 + erase_input();
  548 + break;
  549 +
  550 + }
  551 + }
  552 +
  553 +
531 554 }
532 555  
533 556  
... ...
src/include/pw3270/class.h
... ... @@ -206,7 +206,14 @@
206 206  
207 207 // Actions
208 208 virtual int quit(void) = 0;
  209 +
  210 + int erase(int mode);
  211 +
  212 + virtual int erase(void) = 0;
209 213 virtual int erase_eof(void) = 0;
  214 + virtual int erase_eol(void) = 0;
  215 + virtual int erase_input(void) = 0;
  216 +
210 217 virtual int print(void) = 0;
211 218  
212 219 // Field management
... ...