rx3270.cls
6.76 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
/*-- REXX -----------------------------------------------------------------------*/
/* */
/* "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270 */
/* (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a */
/* aplicativos mainframe. Registro no INPI sob o nome G3270. */
/* */
/* Copyright (C) <2008> <Banco do Brasil S.A.> */
/* */
/* Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob */
/* os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela */
/* Free Software Foundation. */
/* */
/* Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER */
/* GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO */
/* A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para */
/* obter mais detalhes. */
/* */
/* Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este */
/* programa; se não, escreva para a Free Software Foundation, Inc., 59 Temple */
/* Place, Suite 330, Boston, MA, 02111-1307, USA */
/* */
/* Contatos: */
/* */
/* perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) */
/* erico.mendonca@gmail.com (Erico Mascarenhas Mendonça) */
/* licinio@bb.com.br (Licínio Luis Branco) */
/* */
/*-------------------------------------------------------------------------------*/
::requires "rx3270" LIBRARY
/*-------------------------------------------------------------------------------*/
/* 3270 class */
/*-------------------------------------------------------------------------------*/
::class rx3270 public subclass object
::METHOD INIT EXTERNAL "LIBRARY rx3270 rx3270_method_init"
::METHOD UNINIT EXTERNAL "LIBRARY rx3270 rx3270_method_uninit"
::METHOD VERSION EXTERNAL "LIBRARY rx3270 rx3270_method_version"
::METHOD REVISION EXTERNAL "LIBRARY rx3270 rx3270_method_revision"
::METHOD CONNECT EXTERNAL "LIBRARY rx3270 rx3270_method_connect"
::METHOD DISCONNECT EXTERNAL "LIBRARY rx3270 rx3270_method_disconnect"
::METHOD SLEEP EXTERNAL "LIBRARY rx3270 rx3270_method_sleep"
::METHOD CONNECTED EXTERNAL "LIBRARY rx3270 rx3270_method_is_connected"
::METHOD READY EXTERNAL "LIBRARY rx3270 rx3270_method_is_ready"
::METHOD WAITFORREADY EXTERNAL "LIBRARY rx3270 rx3270_method_wait_for_ready"
::METHOD SETCURSOR EXTERNAL "LIBRARY rx3270 rx3270_method_set_cursor"
::METHOD GETCURSORADDR EXTERNAL "LIBRARY rx3270 rx3270_method_get_cursor_addr"
::METHOD SETCURSORADDR EXTERNAL "LIBRARY rx3270 rx3270_method_set_cursor_addr"
::METHOD ENTER EXTERNAL "LIBRARY rx3270 rx3270_method_enter"
::METHOD PFKEY EXTERNAL "LIBRARY rx3270 rx3270_method_pfkey"
::METHOD PAKEY EXTERNAL "LIBRARY rx3270 rx3270_method_pakey"
::METHOD ERASE EXTERNAL "LIBRARY rx3270 rx3270_method_erase"
::METHOD ERASEEOF EXTERNAL "LIBRARY rx3270 rx3270_method_erase_eof"
::METHOD ERASEEOL EXTERNAL "LIBRARY rx3270 rx3270_method_erase_eol"
::METHOD ERASEINPUT EXTERNAL "LIBRARY rx3270 rx3270_method_erase_input"
::METHOD OPTION EXTERNAL "LIBRARY rx3270 rx3270_method_set_option"
::METHOD EVENTTRACE EXTERNAL "LIBRARY rx3270 rx3270_method_event_trace"
::METHOD SCREENTRACE EXTERNAL "LIBRARY rx3270 rx3270_method_screen_trace"
::METHOD DSTRACE EXTERNAL "LIBRARY rx3270 rx3270_method_ds_trace"
::METHOD GETTEXTAT EXTERNAL "LIBRARY rx3270 rx3270_method_get_text_at"
::METHOD SETTEXTAT EXTERNAL "LIBRARY rx3270 rx3270_method_set_text_at"
::METHOD CMPTEXTAT EXTERNAL "LIBRARY rx3270 rx3270_method_cmp_text_at"
::METHOD GET EXTERNAL "LIBRARY rx3270 rx3270_method_get_text"
::METHOD INPUT EXTERNAL "LIBRARY rx3270 rx3270_method_input_text"
::METHOD WAITFORTEXTAT EXTERNAL "LIBRARY rx3270 rx3270_method_wait_for_text_at"
::METHOD TEST EXTERNAL "LIBRARY rx3270 rx3270_method_test"
::METHOD GETFIELDSTART EXTERNAL "LIBRARY rx3270 rx3270_method_get_field_start"
::METHOD GETFIELDLEN EXTERNAL "LIBRARY rx3270 rx3270_method_get_field_len"
::METHOD GETNEXTUNPROTECTED EXTERNAL "LIBRARY rx3270 rx3270_method_get_next_unprotected"
::METHOD GETISPROTECTED EXTERNAL "LIBRARY rx3270 rx3270_method_get_is_protected"
::METHOD GETISPROTECTEDAT EXTERNAL "LIBRARY rx3270 rx3270_method_get_is_protected_at"
::METHOD GETSELECTION EXTERNAL "LIBRARY rx3270 rx3270_method_get_selection"
::METHOD SETSELECTION EXTERNAL "LIBRARY rx3270 rx3270_method_set_selection"
::METHOD GETCLIPBOARD EXTERNAL "LIBRARY rx3270 rx3270_method_get_clipboard"
::METHOD SETCLIPBOARD EXTERNAL "LIBRARY rx3270 rx3270_method_set_clipboard"
::METHOD POPUP EXTERNAL "LIBRARY rx3270 rx3270_method_popup"
::METHOD GETFILENAME EXTERNAL "LIBRARY rx3270 rx3270_method_get_filename"
::METHOD GETDISPLAYCHARSET EXTERNAL "LIBRARY rx3270 rx3270_method_get_display_charset"
::METHOD GETHOSTCHARSET EXTERNAL "LIBRARY rx3270 rx3270_method_get_host_charset"
::METHOD SETHOSTCHARSET EXTERNAL "LIBRARY rx3270 rx3270_method_set_host_charset"
::METHOD SETUNLOCKDELAY EXTERNAL "LIBRARY rx3270 rx3270_method_set_unlock_delay"
::method waitForStringAt
use arg row, col, key, timeout
if datatype(timeout) <> "NUM"
then timeout = 60
return self~WaitForTextAt(row,col,key,timeout)
::method getScreenContent
return self~get()
::method queryStringAt
use arg row, col, key
return self~GetTextAt(row,col,length(key)) == key
::method waitForTerminalReady
use arg timeout
return self~WaitForReady(timeout)
::method isTerminalReady
return self~ready()
::method setStringAt
use arg row, col, str
return self~SetTextAt(row,col,str)
::method getStringAt
use arg row, col, size
return self~GetTextAt(row,col,size)
::method sendEnterKey
return self~enter()
::method sendPFKey
use arg key
return self~pfKey(key)
::method setCursorPosition
use arg row, col
return self~SetCursor(row,col)
::method getScreenContentAt
use arg row, col, size
return self~GetTextAt(row,col,size)