Commit 1580e85ea7ca6e61454293347d47638cc172fedd
1 parent
3f54fda9
Exists in
master
Reimplementando módulo ooRexx
Showing
4 changed files
with
235 additions
and
2 deletions
Show diff stats
@@ -0,0 +1,42 @@ | @@ -0,0 +1,42 @@ | ||
1 | +/* | ||
2 | + * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270 | ||
3 | + * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a | ||
4 | + * aplicativos mainframe. Registro no INPI sob o nome G3270. | ||
5 | + * | ||
6 | + * Copyright (C) <2008> <Banco do Brasil S.A.> | ||
7 | + * | ||
8 | + * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob | ||
9 | + * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela | ||
10 | + * Free Software Foundation. | ||
11 | + * | ||
12 | + * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER | ||
13 | + * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO | ||
14 | + * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para | ||
15 | + * obter mais detalhes. | ||
16 | + * | ||
17 | + * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este | ||
18 | + * programa; se não, escreva para a Free Software Foundation, Inc., 59 Temple | ||
19 | + * Place, Suite 330, Boston, MA, 02111-1307, USA | ||
20 | + * | ||
21 | + * Este programa está nomeado como rexx_methods.cc e possui - linhas de código. | ||
22 | + * | ||
23 | + * Contatos: | ||
24 | + * | ||
25 | + * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) | ||
26 | + * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça) | ||
27 | + * | ||
28 | + * | ||
29 | + * Referencias: | ||
30 | + * | ||
31 | + * * http://www.oorexx.org/docs/rexxpg/x2950.htm | ||
32 | + * | ||
33 | + */ | ||
34 | + | ||
35 | + #include "private.h" | ||
36 | + | ||
37 | + | ||
38 | +/*---[ Implement ]----------------------------------------------------------------------------------*/ | ||
39 | + | ||
40 | + | ||
41 | + | ||
42 | + |
src/private.h
@@ -126,8 +126,6 @@ | @@ -126,8 +126,6 @@ | ||
126 | REXX_METHOD_PROTOTYPE(rx3270_method_set_host_charset); | 126 | REXX_METHOD_PROTOTYPE(rx3270_method_set_host_charset); |
127 | REXX_METHOD_PROTOTYPE(rx3270_method_set_unlock_delay); | 127 | REXX_METHOD_PROTOTYPE(rx3270_method_set_unlock_delay); |
128 | 128 | ||
129 | -/*---[ Globals ]---------------------------------------------------------------------------------------------*/ | ||
130 | - | ||
131 | /*--[ 3270 Session ]-----------------------------------------------------------------------------------------*/ | 129 | /*--[ 3270 Session ]-----------------------------------------------------------------------------------------*/ |
132 | 130 | ||
133 | #ifdef __cplusplus | 131 | #ifdef __cplusplus |
@@ -0,0 +1,185 @@ | @@ -0,0 +1,185 @@ | ||
1 | +/* | ||
2 | + * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270 | ||
3 | + * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a | ||
4 | + * aplicativos mainframe. Registro no INPI sob o nome G3270. | ||
5 | + * | ||
6 | + * Copyright (C) <2008> <Banco do Brasil S.A.> | ||
7 | + * | ||
8 | + * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob | ||
9 | + * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela | ||
10 | + * Free Software Foundation. | ||
11 | + * | ||
12 | + * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER | ||
13 | + * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO | ||
14 | + * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para | ||
15 | + * obter mais detalhes. | ||
16 | + * | ||
17 | + * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este | ||
18 | + * programa; se não, escreva para a Free Software Foundation, Inc., 59 Temple | ||
19 | + * Place, Suite 330, Boston, MA, 02111-1307, USA | ||
20 | + * | ||
21 | + * Este programa está nomeado como rx3270.c e possui - linhas de código. | ||
22 | + * | ||
23 | + * Contatos: | ||
24 | + * | ||
25 | + * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) | ||
26 | + * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça) | ||
27 | + * | ||
28 | + */ | ||
29 | + | ||
30 | + /* | ||
31 | + * | ||
32 | + * Reference: | ||
33 | + * | ||
34 | + * http://www.oorexx.org/docs/rexxpg/x2950.htm | ||
35 | + * | ||
36 | + */ | ||
37 | + | ||
38 | + #include "private.h" | ||
39 | + | ||
40 | +/*--[ Globals ]--------------------------------------------------------------------------------------*/ | ||
41 | + | ||
42 | +/*--[ Implement ]------------------------------------------------------------------------------------*/ | ||
43 | + | ||
44 | +// now build the actual entry list | ||
45 | +RexxRoutineEntry rx3270_functions[] = | ||
46 | +{ | ||
47 | + REXX_TYPED_ROUTINE(rx3270version, rx3270version), | ||
48 | + REXX_TYPED_ROUTINE(rx3270QueryCState, rx3270QueryCState), | ||
49 | + REXX_TYPED_ROUTINE(rx3270Disconnect, rx3270Disconnect), | ||
50 | + REXX_TYPED_ROUTINE(rx3270Connect, rx3270Connect), | ||
51 | + REXX_TYPED_ROUTINE(rx3270isConnected, rx3270isConnected), | ||
52 | + REXX_TYPED_ROUTINE(rx3270WaitForEvents, rx3270WaitForEvents), | ||
53 | + REXX_TYPED_ROUTINE(rx3270Sleep, rx3270Sleep), | ||
54 | + REXX_TYPED_ROUTINE(rx3270SendENTERKey, rx3270SendENTERKey), | ||
55 | + REXX_TYPED_ROUTINE(rx3270SendPFKey, rx3270SendPFKey), | ||
56 | + REXX_TYPED_ROUTINE(rx3270SendPAKey, rx3270SendPAKey), | ||
57 | + REXX_TYPED_ROUTINE(rx3270WaitForTerminalReady, rx3270WaitForTerminalReady), | ||
58 | + REXX_TYPED_ROUTINE(rx3270WaitForStringAt, rx3270WaitForStringAt), | ||
59 | + REXX_TYPED_ROUTINE(rx3270GetStringAt, rx3270GetStringAt), | ||
60 | + REXX_TYPED_ROUTINE(rx3270IsTerminalReady, rx3270IsTerminalReady), | ||
61 | + REXX_TYPED_ROUTINE(rx3270queryStringAt, rx3270queryStringAt), | ||
62 | + REXX_TYPED_ROUTINE(rx3270SetStringAt, rx3270SetStringAt), | ||
63 | + REXX_TYPED_ROUTINE(rx3270CloseApplication, rx3270CloseApplication), | ||
64 | + | ||
65 | + REXX_TYPED_ROUTINE(rx3270Erase, rx3270Erase), | ||
66 | + REXX_TYPED_ROUTINE(rx3270EraseEOF, rx3270EraseEOF), | ||
67 | + REXX_TYPED_ROUTINE(rx3270EraseEOL, rx3270EraseEOL), | ||
68 | + REXX_TYPED_ROUTINE(rx3270EraseInput, rx3270EraseInput), | ||
69 | + | ||
70 | + REXX_TYPED_ROUTINE(rx3270IsProtected, rx3270IsProtected), | ||
71 | + REXX_TYPED_ROUTINE(rx3270IsProtectedAt, rx3270IsProtectedAt), | ||
72 | + REXX_TYPED_ROUTINE(rx3270SetUnlockDelay, rx3270SetUnlockDelay), | ||
73 | + | ||
74 | + REXX_TYPED_ROUTINE(ebc2asc, ebc2asc), | ||
75 | + REXX_TYPED_ROUTINE(asc2ebc, asc2ebc), | ||
76 | + | ||
77 | + | ||
78 | + // rx3270Popup | ||
79 | + REXX_LAST_METHOD() | ||
80 | +}; | ||
81 | + | ||
82 | +RexxMethodEntry rx3270_methods[] = | ||
83 | +{ | ||
84 | + REXX_METHOD(rx3270_method_version, rx3270_method_version ), | ||
85 | + REXX_METHOD(rx3270_method_revision, rx3270_method_revision ), | ||
86 | + REXX_METHOD(rx3270_method_init, rx3270_method_init ), | ||
87 | + REXX_METHOD(rx3270_method_uninit, rx3270_method_uninit ), | ||
88 | + REXX_METHOD(rx3270_method_connect, rx3270_method_connect ), | ||
89 | + REXX_METHOD(rx3270_method_disconnect, rx3270_method_disconnect ), | ||
90 | + REXX_METHOD(rx3270_method_sleep, rx3270_method_sleep ), | ||
91 | + REXX_METHOD(rx3270_method_is_connected, rx3270_method_is_connected ), | ||
92 | + REXX_METHOD(rx3270_method_is_ready, rx3270_method_is_ready ), | ||
93 | + REXX_METHOD(rx3270_method_wait_for_ready, rx3270_method_wait_for_ready ), | ||
94 | + REXX_METHOD(rx3270_method_set_cursor, rx3270_method_set_cursor ), | ||
95 | + REXX_METHOD(rx3270_method_set_cursor, rx3270_method_get_cursor_addr ), | ||
96 | + REXX_METHOD(rx3270_method_set_cursor, rx3270_method_set_cursor_addr ), | ||
97 | + REXX_METHOD(rx3270_method_enter, rx3270_method_enter ), | ||
98 | + REXX_METHOD(rx3270_method_enter, rx3270_method_erase ), | ||
99 | + REXX_METHOD(rx3270_method_enter, rx3270_method_erase_eof ), | ||
100 | + REXX_METHOD(rx3270_method_enter, rx3270_method_erase_eol ), | ||
101 | + REXX_METHOD(rx3270_method_enter, rx3270_method_erase_input ), | ||
102 | + REXX_METHOD(rx3270_method_pfkey, rx3270_method_pfkey ), | ||
103 | + REXX_METHOD(rx3270_method_pakey, rx3270_method_pakey ), | ||
104 | + REXX_METHOD(rx3270_method_get_text, rx3270_method_get_text ), | ||
105 | + REXX_METHOD(rx3270_method_get_text_at, rx3270_method_get_text_at ), | ||
106 | + REXX_METHOD(rx3270_method_set_text_at, rx3270_method_set_text_at ), | ||
107 | + REXX_METHOD(rx3270_method_cmp_text_at, rx3270_method_cmp_text_at ), | ||
108 | + REXX_METHOD(rx3270_method_event_trace, rx3270_method_event_trace ), | ||
109 | + REXX_METHOD(rx3270_method_screen_trace, rx3270_method_screen_trace ), | ||
110 | + REXX_METHOD(rx3270_method_ds_trace, rx3270_method_ds_trace ), | ||
111 | + REXX_METHOD(rx3270_method_set_option, rx3270_method_set_option ), | ||
112 | + REXX_METHOD(rx3270_method_test, rx3270_method_test ), | ||
113 | + REXX_METHOD(rx3270_method_wait_for_text_at, rx3270_method_wait_for_text_at ), | ||
114 | + | ||
115 | + REXX_METHOD(rx3270_method_get_field_len, rx3270_method_get_field_len ), | ||
116 | + REXX_METHOD(rx3270_method_get_field_start, rx3270_method_get_field_start ), | ||
117 | + REXX_METHOD(rx3270_method_get_next_unprotected, rx3270_method_get_next_unprotected ), | ||
118 | + | ||
119 | + REXX_METHOD(rx3270_method_get_is_protected, rx3270_method_get_is_protected ), | ||
120 | + REXX_METHOD(rx3270_method_get_is_protected_at, rx3270_method_get_is_protected_at ), | ||
121 | + | ||
122 | + REXX_METHOD(rx3270_method_get_selection, rx3270_method_get_selection ), | ||
123 | + REXX_METHOD(rx3270_method_set_selection, rx3270_method_set_selection ), | ||
124 | + REXX_METHOD(rx3270_method_get_clipboard, rx3270_method_get_clipboard ), | ||
125 | + REXX_METHOD(rx3270_method_set_clipboard, rx3270_method_set_clipboard ), | ||
126 | + | ||
127 | + REXX_METHOD(rx3270_method_erase, rx3270_method_erase ), | ||
128 | + REXX_METHOD(rx3270_method_erase_eof, rx3270_method_erase_eof ), | ||
129 | + REXX_METHOD(rx3270_method_erase_eol, rx3270_method_erase_eol ), | ||
130 | + REXX_METHOD(rx3270_method_erase_input, rx3270_method_erase_input ), | ||
131 | + | ||
132 | + REXX_METHOD(rx3270_method_popup, rx3270_method_popup ), | ||
133 | + REXX_METHOD(rx3270_method_get_filename, rx3270_method_get_filename ), | ||
134 | + | ||
135 | + REXX_METHOD(rx3270_method_get_cursor_addr, rx3270_method_get_cursor_addr ), | ||
136 | + REXX_METHOD(rx3270_method_set_cursor_addr, rx3270_method_set_cursor_addr ), | ||
137 | + REXX_METHOD(rx3270_method_input_text, rx3270_method_input_text ), | ||
138 | + | ||
139 | + REXX_METHOD(rx3270_method_get_display_charset, rx3270_method_get_display_charset ), | ||
140 | + REXX_METHOD(rx3270_method_set_display_charset, rx3270_method_set_display_charset ), | ||
141 | + | ||
142 | + REXX_METHOD(rx3270_method_get_host_charset, rx3270_method_get_host_charset ), | ||
143 | + REXX_METHOD(rx3270_method_set_host_charset, rx3270_method_set_host_charset ), | ||
144 | + | ||
145 | + REXX_METHOD(rx3270_method_set_unlock_delay, rx3270_method_set_unlock_delay ), | ||
146 | + | ||
147 | + REXX_LAST_METHOD() | ||
148 | +}; | ||
149 | + | ||
150 | +RexxPackageEntry rx3270_package_entry = | ||
151 | +{ | ||
152 | + STANDARD_PACKAGE_HEADER | ||
153 | + REXX_CURRENT_INTERPRETER_VERSION, // anything after 4.0.0 will work | ||
154 | + "rx3270", // name of the package | ||
155 | + PACKAGE_VERSION, // package information | ||
156 | + NULL, // no load/unload functions | ||
157 | + NULL, | ||
158 | + rx3270_functions, // the exported functions | ||
159 | + rx3270_methods // no methods in rx3270. | ||
160 | +}; | ||
161 | + | ||
162 | +// package loading stub. | ||
163 | +/* | ||
164 | +OOREXX_GET_PACKAGE(rx3270); | ||
165 | +*/ | ||
166 | + | ||
167 | +BEGIN_EXTERN_C() | ||
168 | + | ||
169 | +LIB3270_EXPORT void rx3270_set_package_option(RexxOption *option) | ||
170 | +{ | ||
171 | + static const RexxLibraryPackage package = { "rx3270", &rx3270_package_entry }; | ||
172 | + | ||
173 | + option->optionName = REGISTER_LIBRARY; | ||
174 | + option->option = (void *) &package; | ||
175 | + | ||
176 | +} | ||
177 | + | ||
178 | +LIB3270_EXPORT RexxPackageEntry * RexxEntry RexxGetPackage(void) | ||
179 | +{ | ||
180 | + return &rx3270_package_entry; | ||
181 | +} | ||
182 | + | ||
183 | +END_EXTERN_C() | ||
184 | + | ||
185 | + |