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,7 +152,11 @@
152 int (*_set_host_charset)(H3270 *hSession, const char *name); 152 int (*_set_host_charset)(H3270 *hSession, const char *name);
153 const char * (*_get_host_charset)(H3270 *hSession); 153 const char * (*_get_host_charset)(H3270 *hSession);
154 int (*_print)(H3270 *hSession); 154 int (*_print)(H3270 *hSession);
  155 + int (*_erase)(H3270 *hSession);
155 int (*_erase_eof)(H3270 *hSession); 156 int (*_erase_eof)(H3270 *hSession);
  157 + int (*_erase_eol)(H3270 *hSession);
  158 + int (*_erase_input)(H3270 *hSession);
  159 +
156 const char * (*_ebc2asc)(H3270 *hSession, unsigned char *buffer, int sz); 160 const char * (*_ebc2asc)(H3270 *hSession, unsigned char *buffer, int sz);
157 const char * (*_asc2ebc)(H3270 *hSession, unsigned char *buffer, int sz); 161 const char * (*_asc2ebc)(H3270 *hSession, unsigned char *buffer, int sz);
158 162
@@ -205,7 +209,12 @@ @@ -205,7 +209,12 @@
205 { (void **) & _get_display_charset, "lib3270_get_display_charset" }, 209 { (void **) & _get_display_charset, "lib3270_get_display_charset" },
206 { (void **) & _set_host_charset, "lib3270_set_host_charset" }, 210 { (void **) & _set_host_charset, "lib3270_set_host_charset" },
207 { (void **) & _get_host_charset, "lib3270_get_host_charset" }, 211 { (void **) & _get_host_charset, "lib3270_get_host_charset" },
  212 +
  213 + { (void **) & _erase, "lib3270_erase" },
208 { (void **) & _erase_eof, "lib3270_eraseeof" }, 214 { (void **) & _erase_eof, "lib3270_eraseeof" },
  215 + { (void **) & _erase_eol, "lib3270_eraseeol" },
  216 + { (void **) & _erase_input, "lib3270_eraseinput" },
  217 +
209 { (void **) & _print, "lib3270_print" }, 218 { (void **) & _print, "lib3270_print" },
210 { (void **) & _ebc2asc, "lib3270_ebc2asc" }, 219 { (void **) & _ebc2asc, "lib3270_ebc2asc" },
211 { (void **) & _asc2ebc, "lib3270_asc2ebc" }, 220 { (void **) & _asc2ebc, "lib3270_asc2ebc" },
@@ -409,11 +418,26 @@ @@ -409,11 +418,26 @@
409 return string(_get_host_charset(hSession)); 418 return string(_get_host_charset(hSession));
410 } 419 }
411 420
  421 + int erase(void)
  422 + {
  423 + return _erase(hSession);
  424 + }
  425 +
412 int erase_eof(void) 426 int erase_eof(void)
413 { 427 {
414 return _erase_eof(hSession); 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 int print(void) 441 int print(void)
418 { 442 {
419 return _print(hSession); 443 return _print(hSession);
src/classlib/session.cc
@@ -528,6 +528,29 @@ @@ -528,6 +528,29 @@
528 } 528 }
529 #endif // WIN32 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,7 +206,14 @@
206 206
207 // Actions 207 // Actions
208 virtual int quit(void) = 0; 208 virtual int quit(void) = 0;
  209 +
  210 + int erase(int mode);
  211 +
  212 + virtual int erase(void) = 0;
209 virtual int erase_eof(void) = 0; 213 virtual int erase_eof(void) = 0;
  214 + virtual int erase_eol(void) = 0;
  215 + virtual int erase_input(void) = 0;
  216 +
210 virtual int print(void) = 0; 217 virtual int print(void) = 0;
211 218
212 // Field management 219 // Field management