Commit ee9b978d2b9552de494a2f5f1022df583561e060

Authored by Perry Werneck
1 parent cbf1f7c1

Implementando novo mecanismo no plugin java.

Showing 1 changed file with 1 additions and 293 deletions   Show diff stats
src/java/plugin.cc
... ... @@ -68,300 +68,8 @@
68 68 static GStaticMutex mutex = G_STATIC_MUTEX_INIT;
69 69 #endif // GTK_CHECK_VERSION
70 70  
71   -/*--[ Plugin session object ]--------------------------------------------------------------------------------*/
72   -
73 71 using namespace std;
74 72  
75   - class plugin : public PW3270_NAMESPACE::session
76   - {
77   - private:
78   - H3270 * hSession;
79   -
80   - public:
81   - plugin(H3270 *hSession) : PW3270_NAMESPACE::session() {
82   - this->hSession = hSession;
83   - }
84   -
85   - virtual ~plugin() {
86   - trace("%s",__FUNCTION__);
87   - }
88   -
89   - const string get_version(void) {
90   - return string(lib3270_get_version());
91   - }
92   -
93   - LIB3270_CSTATE get_cstate(void) {
94   - return lib3270_get_connection_state(hSession);
95   - }
96   -
97   - LIB3270_MESSAGE get_program_message(void) {
98   - return lib3270_get_program_message(hSession);
99   - }
100   -
101   - LIB3270_SSL_STATE get_secure(void) {
102   - return lib3270_get_secure(hSession);
103   - }
104   -
105   - int disconnect(void) {
106   - lib3270_disconnect(hSession);
107   - return 0;
108   - }
109   -
110   - int connect(void) {
111   - return lib3270_connect(hSession,0);
112   - }
113   -
114   - bool is_connected(void) {
115   - return lib3270_is_connected(hSession);
116   - }
117   -
118   - int iterate(bool wait) {
119   - if(!lib3270_is_connected(hSession))
120   - return ENOTCONN;
121   -
122   - lib3270_main_iterate(hSession,wait);
123   -
124   - return 0;
125   -
126   - }
127   -
128   - int wait(int seconds) {
129   - return lib3270_wait(hSession,seconds);
130   - }
131   -
132   - int wait_for_ready(int seconds) {
133   - return lib3270_wait_for_ready(hSession,seconds);
134   - }
135   -
136   - bool is_ready(void) {
137   - return lib3270_is_ready(hSession) != 0;
138   - }
139   -
140   - void logva(const char *fmt, va_list args) {
141   - lib3270_write_va_log(hSession,"JAVA",fmt,args);
142   - }
143   -
144   - string get_text(int baddr, size_t len) {
145   -
146   - string rc;
147   - char * ptr = lib3270_get_text(hSession,baddr,len);
148   -
149   - if(ptr)
150   - {
151   - rc.assign(ptr);
152   - lib3270_free(ptr);
153   - }
154   -
155   - return rc;
156   - }
157   -
158   - string get_text_at(int row, int col, size_t sz) {
159   -
160   - string rc;
161   - char * ptr = lib3270_get_text_at(hSession,row,col,(int) sz);
162   -
163   - if(ptr)
164   - {
165   - rc.assign(ptr);
166   - lib3270_free(ptr);
167   - }
168   -
169   - return rc;
170   -
171   - }
172   -
173   - int cmp_text_at(int row, int col, const char *text) {
174   - return lib3270_cmp_text_at(hSession,row,col,text);
175   - }
176   -
177   - int set_text_at(int row, int col, const char *str) {
178   - return lib3270_set_text_at(hSession,row,col,(const unsigned char *) str);
179   - }
180   -
181   - int set_cursor_position(int row, int col) {
182   - return lib3270_set_cursor_position(hSession,row,col);
183   - }
184   -
185   - int set_cursor_addr(int addr) {
186   - return lib3270_set_cursor_address(hSession,addr);
187   - }
188   -
189   - int get_cursor_addr(void) {
190   - return lib3270_get_cursor_address(hSession);
191   - }
192   -
193   - int emulate_input(const char *str) {
194   - return lib3270_emulate_input(hSession, str, -1, 1);
195   - }
196   -
197   - int set_toggle(LIB3270_TOGGLE ix, bool value) {
198   - return lib3270_set_toggle(hSession,ix,(int) value);
199   - }
200   -
201   - int enter(void) {
202   - return lib3270_enter(hSession);
203   - }
204   -
205   - int pfkey(int key) {
206   - return lib3270_pfkey(hSession,key);
207   - }
208   -
209   - int pakey(int key) {
210   - return lib3270_pakey(hSession,key);
211   - }
212   -
213   - int erase(void) {
214   - return lib3270_erase(hSession);
215   - }
216   -
217   - int erase_eof(void) {
218   - return lib3270_eraseeof(hSession);
219   - }
220   -
221   - int erase_eol(void) {
222   - return lib3270_eraseeol(hSession);
223   - }
224   -
225   - int erase_input(void) {
226   - return lib3270_eraseinput(hSession);
227   - }
228   -
229   - int print(void) {
230   - return lib3270_print(hSession);
231   - }
232   -
233   - int get_field_start(int baddr = -1) {
234   - return lib3270_get_field_start(hSession,baddr);
235   - }
236   -
237   - int get_field_len(int baddr = -1) {
238   - return lib3270_get_field_len(hSession,baddr);
239   - }
240   -
241   - int get_next_unprotected(int baddr = -1) {
242   - return lib3270_get_next_unprotected(hSession,baddr);
243   - }
244   -
245   - int get_is_protected(int baddr = -1) {
246   - return lib3270_get_is_protected(hSession,baddr);
247   - }
248   -
249   - int get_is_protected_at(int row, int col) {
250   - return lib3270_get_is_protected_at(hSession,row,col);
251   - }
252   -
253   - int set_copy(const char *text) {
254   - v3270_set_copy(GTK_WIDGET(lib3270_get_user_data(hSession)),text);
255   - return 0;
256   - }
257   -
258   - string get_copy(void) {
259   -
260   - string rc;
261   - gchar * ptr = v3270_get_copy(GTK_WIDGET(lib3270_get_user_data(hSession)));
262   -
263   - if(ptr)
264   - {
265   - rc.assign(ptr);
266   - g_free(ptr);
267   - }
268   -
269   - return rc;
270   -
271   - }
272   -
273   - string get_clipboard(void) {
274   -
275   - string rc;
276   - gchar * ptr = gtk_clipboard_wait_for_text(gtk_widget_get_clipboard(pw3270_get_toplevel(),GDK_SELECTION_CLIPBOARD));
277   -
278   - if(ptr)
279   - {
280   - rc.assign(ptr);
281   - g_free(ptr);
282   - }
283   -
284   - return rc;
285   -
286   - }
287   -
288   - int set_clipboard(const char *text) {
289   - gtk_clipboard_set_text(gtk_widget_get_clipboard(pw3270_get_toplevel(),GDK_SELECTION_CLIPBOARD),(gchar *) text, -1);
290   - return 0;
291   - }
292   -
293   - void free(void *ptr) {
294   - g_free(ptr);
295   - }
296   -
297   - int popup_dialog(LIB3270_NOTIFY id , const char *title, const char *message, const char *fmt, ...) {
298   - va_list args;
299   - va_start(args, fmt);
300   - lib3270_popup_va(hSession, id, title, message, fmt, args);
301   - va_end(args);
302   - return 0;
303   - }
304   -
305   - string file_chooser_dialog(int action, const char *title, const char *extension, const char *filename) {
306   - string rc;
307   - gchar * ptr = pw3270_file_chooser((GtkFileChooserAction) action, "java", title, filename, extension);
308   -
309   - if(ptr)
310   - {
311   - rc.assign((char *) ptr);
312   - g_free(ptr);
313   - }
314   -
315   - return rc;
316   - }
317   -
318   - int set_host_charset(const char *charset) {
319   - return lib3270_set_host_charset(hSession,charset);
320   - }
321   -
322   - string get_host_charset(void) {
323   - return string(lib3270_get_host_charset(hSession));
324   - }
325   -
326   - string get_display_charset(void) {
327   - return string(lib3270_get_display_charset(hSession));
328   - }
329   -
330   - const char * asc2ebc(unsigned char *str, int sz = -1) {
331   - return lib3270_asc2ebc(hSession,str,sz);
332   - }
333   -
334   - const char * ebc2asc(unsigned char *str, int sz = -1) {
335   - return lib3270_ebc2asc(hSession,str,sz);
336   - }
337   -
338   - int set_url(const char *uri) {
339   - return lib3270_set_url(hSession,uri) != NULL ? 1 : 0;
340   - }
341   -
342   - int file_transfer(LIB3270_FT_OPTION options, const gchar *local, const gchar *remote, int lrecl = 0, int blksize = 0, int primspace = 0, int secspace = 0, int dft = 4096) {
343   - /*
344   - return v3270_transfer_file(v3270_get_default_widget(),options,local,remote,lrecl,blksize,primspace,secspace,dft);
345   - */
346   - return EINVAL;
347   - }
348   -
349   - void set_unlock_delay(unsigned short ms)
350   - {
351   - lib3270_set_unlock_delay(hSession, ms);
352   - }
353   -
354   - int quit(void) {
355   - gtk_main_quit();
356   - return 0;
357   - }
358   -
359   - int action(const char *name) {
360   - return lib3270_action(hSession,name);
361   - }
362   -
363   - };
364   -
365 73  
366 74 /*---[ Implement ]----------------------------------------------------------------------------------*/
367 75  
... ... @@ -398,7 +106,7 @@ using namespace PW3270_NAMESPACE;
398 106 extern "C" {
399 107  
400 108 static PW3270_NAMESPACE::session * factory(const char *name) {
401   - return new plugin(lib3270_get_default_session_handle());
  109 + return session::create_local(lib3270_get_default_session_handle());
402 110 }
403 111  
404 112 LIB3270_EXPORT int pw3270_plugin_start(GtkWidget *window, GtkWidget *terminal) {
... ...