Commit 83bd5a968fb8af87ae046a91d40b20c91976796e

Authored by perry.werneck@gmail.com
1 parent 9046f9ed

Atualizando tratamento do loop de mensagems no modo texto

src/include/lib3270.h
@@ -565,6 +565,25 @@ @@ -565,6 +565,25 @@
565 */ 565 */
566 LIB3270_EXPORT int lib3270_call_thread(int(*callback)(H3270 *h, void *), H3270 *h, void *parm); 566 LIB3270_EXPORT int lib3270_call_thread(int(*callback)(H3270 *h, void *), H3270 *h, void *parm);
567 567
  568 +
  569 + /**
  570 + * Run main iteration.
  571 + *
  572 + * Run lib3270 internal iterations, check for network inputs, process signals.
  573 + *
  574 + * @param wait Wait for signal if not available.
  575 + *
  576 + */
  577 + LIB3270_EXPORT void lib3270_main_iterate(int wait);
  578 +
  579 + /**
  580 + * Wait for "N" seconds keeping main loop active.
  581 + *
  582 + * @param seconds Number of seconds to wait.
  583 + *
  584 + */
  585 + LIB3270_EXPORT int lib3270_wait(int seconds);
  586 +
568 /** 587 /**
569 * Get the session's widget. 588 * Get the session's widget.
570 * 589 *
src/lib3270/XtGlue.c
@@ -970,13 +970,13 @@ LIB3270_EXPORT int lib3270_call_thread(int(*callback)(H3270 *h, void *), H3270 * @@ -970,13 +970,13 @@ LIB3270_EXPORT int lib3270_call_thread(int(*callback)(H3270 *h, void *), H3270 *
970 return rc; 970 return rc;
971 } 971 }
972 972
973 -void RunPendingEvents(int wait) 973 +LIB3270_EXPORT void lib3270_main_iterate(int wait)
974 { 974 {
975 if(callbacks->RunPendingEvents) 975 if(callbacks->RunPendingEvents)
976 callbacks->RunPendingEvents(wait); 976 callbacks->RunPendingEvents(wait);
977 } 977 }
978 978
979 -int Wait(int seconds) 979 +LIB3270_EXPORT int lib3270_wait(seconds)
980 { 980 {
981 time_t end; 981 time_t end;
982 982
@@ -988,7 +988,7 @@ int Wait(int seconds) @@ -988,7 +988,7 @@ int Wait(int seconds)
988 988
989 while(time(0) < end) 989 while(time(0) < end)
990 { 990 {
991 - RunPendingEvents(1); 991 + lib3270_main_iterate(1);
992 } 992 }
993 993
994 return 0; 994 return 0;
src/lib3270/api.h
@@ -431,11 +431,11 @@ @@ -431,11 +431,11 @@
431 #define Toggled(ix) lib3270_get_toggle(NULL,ix) 431 #define Toggled(ix) lib3270_get_toggle(NULL,ix)
432 #define CallAndWait(c,h,p) lib3270_call_thread(c,h,p) 432 #define CallAndWait(c,h,p) lib3270_call_thread(c,h,p)
433 433
434 - LOCAL_EXTERN void RunPendingEvents(int wait);  
435 - LOCAL_EXTERN int Wait(int seconds); 434 +// #define RunPendingEvents(x) lib3270_main_iterate(x)
  435 +// #define Wait(s) lib3270_wait(x)
436 436
437 - LOCAL_EXTERN int ctlr_get_cols(void) __attribute__ ((deprecated));  
438 - LOCAL_EXTERN int ctlr_get_rows(void) __attribute__ ((deprecated)); 437 +// LOCAL_EXTERN int ctlr_get_cols(void) __attribute__ ((deprecated));
  438 +// LOCAL_EXTERN int ctlr_get_rows(void) __attribute__ ((deprecated));
439 439
440 /* Screen calls */ 440 /* Screen calls */
441 LOCAL_EXTERN void screen_resume(H3270 *session); 441 LOCAL_EXTERN void screen_resume(H3270 *session);
src/lib3270/host.c
@@ -618,7 +618,7 @@ int lib3270_connect(H3270 *h, const char *n, int wait) @@ -618,7 +618,7 @@ int lib3270_connect(H3270 *h, const char *n, int wait)
618 618
619 CHECK_SESSION_HANDLE(h); 619 CHECK_SESSION_HANDLE(h);
620 620
621 - RunPendingEvents(0); 621 + lib3270_main_iterate(0);
622 622
623 if(h->auto_reconnect_inprogress) 623 if(h->auto_reconnect_inprogress)
624 return EAGAIN; 624 return EAGAIN;
@@ -634,7 +634,7 @@ int lib3270_connect(H3270 *h, const char *n, int wait) @@ -634,7 +634,7 @@ int lib3270_connect(H3270 *h, const char *n, int wait)
634 { 634 {
635 while(!IN_ANSI && !IN_3270) 635 while(!IN_ANSI && !IN_3270)
636 { 636 {
637 - RunPendingEvents(1); 637 + lib3270_main_iterate(1);
638 638
639 if(!PCONNECTED) 639 if(!PCONNECTED)
640 { 640 {
src/lib3270/lib3270.cbp
@@ -7,20 +7,22 @@ @@ -7,20 +7,22 @@
7 <Option compiler="gcc" /> 7 <Option compiler="gcc" />
8 <Build> 8 <Build>
9 <Target title="Debug"> 9 <Target title="Debug">
10 - <Option output=".bin\Debug\lib3270" prefix_auto="1" extension_auto="1" />  
11 - <Option object_output=".obj\Debug\" />  
12 - <Option type="3" /> 10 + <Option output=".bin/Debug/lib3270" prefix_auto="1" extension_auto="1" />
  11 + <Option object_output=".obj/Debug/" />
  12 + <Option type="1" />
13 <Option compiler="gcc" /> 13 <Option compiler="gcc" />
14 - <Option createDefFile="1" />  
15 - <Option createStaticLib="1" /> 14 + <Option use_console_runner="0" />
16 <Compiler> 15 <Compiler>
17 <Add option="-g" /> 16 <Add option="-g" />
18 <Add option="-DDEBUG=1" /> 17 <Add option="-DDEBUG=1" />
19 </Compiler> 18 </Compiler>
  19 + <Linker>
  20 + <Add library="pthread" />
  21 + </Linker>
20 </Target> 22 </Target>
21 <Target title="Release"> 23 <Target title="Release">
22 - <Option output=".bin\Release\lib3270" prefix_auto="1" extension_auto="1" />  
23 - <Option object_output=".obj\Release\" /> 24 + <Option output=".bin/Release/lib3270" prefix_auto="1" extension_auto="1" />
  25 + <Option object_output=".obj/Release/" />
24 <Option type="3" /> 26 <Option type="3" />
25 <Option compiler="gcc" /> 27 <Option compiler="gcc" />
26 <Option createDefFile="1" /> 28 <Option createDefFile="1" />
@@ -33,8 +35,8 @@ @@ -33,8 +35,8 @@
33 </Linker> 35 </Linker>
34 </Target> 36 </Target>
35 <Target title="testprogram"> 37 <Target title="testprogram">
36 - <Option output=".bin\Debug\lib3270" prefix_auto="1" extension_auto="1" />  
37 - <Option object_output=".obj\testprogram\" /> 38 + <Option output=".bin/Debug/lib3270" prefix_auto="1" extension_auto="1" />
  39 + <Option object_output=".obj/testprogram/" />
38 <Option type="1" /> 40 <Option type="1" />
39 <Option compiler="gcc" /> 41 <Option compiler="gcc" />
40 <Option use_console_runner="0" /> 42 <Option use_console_runner="0" />
@@ -51,10 +53,11 @@ @@ -51,10 +53,11 @@
51 <Add option="-Wmissing-declarations" /> 53 <Add option="-Wmissing-declarations" />
52 <Add option="-Wall" /> 54 <Add option="-Wall" />
53 <Add option="-DLIB3270=1" /> 55 <Add option="-DLIB3270=1" />
54 - <Add directory="..\include" />  
55 - <Add directory="..\include\lib3270" /> 56 + <Add directory="../include" />
  57 + <Add directory="../include/lib3270" />
56 </Compiler> 58 </Compiler>
57 - <Unit filename="..\include\lib3270\config.h.in" /> 59 + <Unit filename="../include/lib3270/config.h.in" />
  60 + <Unit filename="3270ds.h" />
58 <Unit filename="Makefile.in" /> 61 <Unit filename="Makefile.in" />
59 <Unit filename="X11keysym.h" /> 62 <Unit filename="X11keysym.h" />
60 <Unit filename="XtGlue.c"> 63 <Unit filename="XtGlue.c">
@@ -68,6 +71,7 @@ @@ -68,6 +71,7 @@
68 <Option compilerVar="CC" /> 71 <Option compilerVar="CC" />
69 </Unit> 72 </Unit>
70 <Unit filename="ansic.h" /> 73 <Unit filename="ansic.h" />
  74 + <Unit filename="api.h" />
71 <Unit filename="apl.c"> 75 <Unit filename="apl.c">
72 <Option compilerVar="CC" /> 76 <Option compilerVar="CC" />
73 </Unit> 77 </Unit>
@@ -165,6 +169,9 @@ @@ -165,6 +169,9 @@
165 <Option compilerVar="CC" /> 169 <Option compilerVar="CC" />
166 </Unit> 170 </Unit>
167 <Unit filename="seec.h" /> 171 <Unit filename="seec.h" />
  172 + <Unit filename="selection.c">
  173 + <Option compilerVar="CC" />
  174 + </Unit>
168 <Unit filename="sf.c"> 175 <Unit filename="sf.c">
169 <Option compilerVar="CC" /> 176 <Option compilerVar="CC" />
170 </Unit> 177 </Unit>
@@ -181,9 +188,9 @@ @@ -181,9 +188,9 @@
181 <Unit filename="telnetc.h" /> 188 <Unit filename="telnetc.h" />
182 <Unit filename="testprogram.c"> 189 <Unit filename="testprogram.c">
183 <Option compilerVar="CC" /> 190 <Option compilerVar="CC" />
184 - <Option target="testprogram" />  
185 </Unit> 191 </Unit>
186 <Unit filename="tn3270e.h" /> 192 <Unit filename="tn3270e.h" />
  193 + <Unit filename="toggle.h" />
187 <Unit filename="toggles.c"> 194 <Unit filename="toggles.c">
188 <Option compilerVar="CC" /> 195 <Option compilerVar="CC" />
189 </Unit> 196 </Unit>