Commit 33a76c40e4d31d209b4749cc10d103a89e96afc1

Authored by perry.werneck@gmail.com
1 parent 9d11af33

API rexx comeca a funcionar

src/plugins/rx3270/Makefile.in
@@ -28,8 +28,8 @@ @@ -28,8 +28,8 @@
28 28
29 MODULE_NAME=rx3270 29 MODULE_NAME=rx3270
30 DEPENDS=*.h ../../include/*.h ../../include/lib3270/*.h Makefile 30 DEPENDS=*.h ../../include/*.h ../../include/lib3270/*.h Makefile
31 -PLUGIN_SRC=pluginmain.c  
32 -EXTAPI_SRC=rxapimain.c 31 +PLUGIN_SRC=pluginmain.cc
  32 +EXTAPI_SRC=rxapimain.cc
33 33
34 #---[ Tools ]------------------------------------------------------------------ 34 #---[ Tools ]------------------------------------------------------------------
35 35
@@ -48,22 +48,22 @@ include ../../include/plugin.mak @@ -48,22 +48,22 @@ include ../../include/plugin.mak
48 $(BINDBG)/$(PLUGIN_NAME): $(foreach SRC, $(basename $(PLUGIN_SRC)), $(OBJDBG)/$(SRC).o) $(BINDBG)$(DLL_NAME) 48 $(BINDBG)/$(PLUGIN_NAME): $(foreach SRC, $(basename $(PLUGIN_SRC)), $(OBJDBG)/$(SRC).o) $(BINDBG)$(DLL_NAME)
49 @echo " CCLD `basename $@`" 49 @echo " CCLD `basename $@`"
50 @$(MKDIR) `dirname $@` 50 @$(MKDIR) `dirname $@`
51 - @$(LD) $(DLL_FLAGS) $(LDSOFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS) $(PW3270_LIBS) $(GTK_LIBS) 51 + @$(CXX) $(DLL_FLAGS) $(LDSOFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS) $(PW3270_LIBS) $(GTK_LIBS)
52 52
53 $(BINDBG)$(DLL_NAME): $(foreach SRC, $(basename $(EXTAPI_SRC)), $(OBJDBG)/$(SRC)@OBJEXT@) 53 $(BINDBG)$(DLL_NAME): $(foreach SRC, $(basename $(EXTAPI_SRC)), $(OBJDBG)/$(SRC)@OBJEXT@)
54 @echo " CCLD `basename $@`" 54 @echo " CCLD `basename $@`"
55 @$(MKDIR) `dirname $@` 55 @$(MKDIR) `dirname $@`
56 - @$(LD) $(DLL_FLAGS) $(LDFLAGS) @DBGRPATH@ @LDSOFLAGS@ -o $@ $^ $(LIBS) $(LIB3270_LIBS) 56 + @$(CXX) $(DLL_FLAGS) $(LDFLAGS) @DBGRPATH@ @LDSOFLAGS@ -o $@ $^ $(LIBS) $(LIB3270_LIBS)
57 57
58 #---[ Release Targets ]-------------------------------------------------------- 58 #---[ Release Targets ]--------------------------------------------------------
59 59
60 $(BINRLS)/$(PLUGIN_NAME): $(foreach SRC, $(basename $(PLUGIN_SRC)), $(OBJRLS)/$(SRC).o) $(BINRLS)$(DLL_NAME) 60 $(BINRLS)/$(PLUGIN_NAME): $(foreach SRC, $(basename $(PLUGIN_SRC)), $(OBJRLS)/$(SRC).o) $(BINRLS)$(DLL_NAME)
61 @echo " CCLD `basename $@`" 61 @echo " CCLD `basename $@`"
62 @$(MKDIR) `dirname $@` 62 @$(MKDIR) `dirname $@`
63 - @$(LD) $(DLL_FLAGS) $(LDSOFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS) $(PW3270_LIBS) $(GTK_LIBS) 63 + @$(CXX) $(DLL_FLAGS) $(LDSOFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS) $(PW3270_LIBS) $(GTK_LIBS)
64 64
65 $(BINRLS)$(DLL_NAME): $(foreach SRC, $(basename $(EXTAPI_SRC)), $(OBJRLS)/$(SRC).o) 65 $(BINRLS)$(DLL_NAME): $(foreach SRC, $(basename $(EXTAPI_SRC)), $(OBJRLS)/$(SRC).o)
66 @echo " CCLD `basename $@`" 66 @echo " CCLD `basename $@`"
67 @$(MKDIR) `dirname $@` 67 @$(MKDIR) `dirname $@`
68 - @$(LD) $(DLL_FLAGS) $(LDSOFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS) $(LIB3270_LIBS) 68 + @$(CXX) $(DLL_FLAGS) $(LDSOFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS) $(LIB3270_LIBS)
69 69
src/plugins/rx3270/pluginmain.c
@@ -1,43 +0,0 @@ @@ -1,43 +0,0 @@
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 pluginmain.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 - #include <pw3270/plugin.h>  
31 - #include "rx3270.h"  
32 -  
33 -/*--[ Implement ]------------------------------------------------------------------------------------*/  
34 -  
35 - LIB3270_EXPORT int pw3270_plugin_init(GtkWidget *window)  
36 - {  
37 - return 0;  
38 - }  
39 -  
40 - LIB3270_EXPORT int pw3270_plugin_deinit(GtkWidget *window)  
41 - {  
42 - return 0;  
43 - }  
src/plugins/rx3270/pluginmain.cc 0 → 100644
@@ -0,0 +1,43 @@ @@ -0,0 +1,43 @@
  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 pluginmain.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 + #include <pw3270/plugin.h>
  31 + #include "rx3270.h"
  32 +
  33 +/*--[ Implement ]------------------------------------------------------------------------------------*/
  34 +
  35 + LIB3270_EXPORT int pw3270_plugin_init(GtkWidget *window)
  36 + {
  37 + return 0;
  38 + }
  39 +
  40 + LIB3270_EXPORT int pw3270_plugin_deinit(GtkWidget *window)
  41 + {
  42 + return 0;
  43 + }
src/plugins/rx3270/rx3270.h
@@ -48,8 +48,4 @@ @@ -48,8 +48,4 @@
48 48
49 /*--[ Prototipes ]-------------------------------------------------------------------------------------------*/ 49 /*--[ Prototipes ]-------------------------------------------------------------------------------------------*/
50 50
51 - LIB3270_EXPORT REXX_TYPED_ROUTINE_PROTOTYPE(rx3270version);  
52 -  
53 -  
54 -  
55 #endif // RX3270_H_INCLUDED 51 #endif // RX3270_H_INCLUDED
src/plugins/rx3270/rxapimain.c
@@ -1,109 +0,0 @@ @@ -1,109 +0,0 @@
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 rxapimain.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 "rx3270.h"  
39 -  
40 -#if defined WIN32  
41 - BOOL WINAPI DllMain(HANDLE hinst, DWORD dwcallpurpose, LPVOID lpvResvd);  
42 - static int librx3270_loaded(void);  
43 - static int librx3270_unloaded(void);  
44 -#else  
45 - int librx3270_loaded(void) __attribute__((constructor));  
46 - int librx3270_unloaded(void) __attribute__((destructor));  
47 -#endif  
48 -/*--[ Implement ]------------------------------------------------------------------------------------*/  
49 -  
50 -#if defined WIN32  
51 -BOOL WINAPI DllMain(HANDLE hinst, DWORD dwcallpurpose, LPVOID lpvResvd)  
52 -{  
53 -// Trace("%s - Library %s",__FUNCTION__,(dwcallpurpose == DLL_PROCESS_ATTACH) ? "Loaded" : "Unloaded");  
54 -  
55 - switch(dwcallpurpose)  
56 - {  
57 - case DLL_PROCESS_ATTACH:  
58 - librx3270_loaded();  
59 - break;  
60 -  
61 - case DLL_PROCESS_DETACH:  
62 - librx3270_unloaded();  
63 - break;  
64 - }  
65 - return TRUE;  
66 -}  
67 -#endif  
68 -  
69 -int librx3270_loaded(void)  
70 -{  
71 - trace("%s %04x",__FUNCTION__,REXX_CURRENT_INTERPRETER_VERSION);  
72 - return 0;  
73 -}  
74 -  
75 -int librx3270_unloaded(void)  
76 -{  
77 - trace("%s",__FUNCTION__);  
78 - return 0;  
79 -}  
80 -  
81 -RexxRoutine0(CSTRING, rx3270version)  
82 -{  
83 - return "Teste";  
84 -}  
85 -  
86 -  
87 -// now build the actual entry list  
88 -RexxRoutineEntry rx3270_functions[] =  
89 -{  
90 - REXX_TYPED_ROUTINE(rx3270version, rx3270version),  
91 - REXX_LAST_METHOD()  
92 -};  
93 -  
94 -RexxPackageEntry rx3270_package_entry =  
95 -{  
96 - STANDARD_PACKAGE_HEADER  
97 - REXX_CURRENT_INTERPRETER_VERSION, // anything after 4.0.0 will work  
98 - "RX3270", // name of the package  
99 - "5.0", // package information  
100 - NULL, // no load/unload functions  
101 - NULL,  
102 - rx3270_functions, // the exported functions  
103 - NULL // no methods in rxmath.  
104 -};  
105 -  
106 -// package loading stub.  
107 -OOREXX_GET_PACKAGE(rx3270);  
108 -  
109 -  
src/plugins/rx3270/rxapimain.cc 0 → 100644
@@ -0,0 +1,120 @@ @@ -0,0 +1,120 @@
  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 rxapimain.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 "rx3270.h"
  39 +
  40 +#if defined WIN32
  41 + BOOL WINAPI DllMain(HANDLE hinst, DWORD dwcallpurpose, LPVOID lpvResvd);
  42 + static int librx3270_loaded(void);
  43 + static int librx3270_unloaded(void);
  44 +#else
  45 + int librx3270_loaded(void) __attribute__((constructor));
  46 + int librx3270_unloaded(void) __attribute__((destructor));
  47 +#endif
  48 +/*--[ Implement ]------------------------------------------------------------------------------------*/
  49 +
  50 +#if defined WIN32
  51 +BOOL WINAPI DllMain(HANDLE hinst, DWORD dwcallpurpose, LPVOID lpvResvd)
  52 +{
  53 +// Trace("%s - Library %s",__FUNCTION__,(dwcallpurpose == DLL_PROCESS_ATTACH) ? "Loaded" : "Unloaded");
  54 +
  55 + switch(dwcallpurpose)
  56 + {
  57 + case DLL_PROCESS_ATTACH:
  58 + librx3270_loaded();
  59 + break;
  60 +
  61 + case DLL_PROCESS_DETACH:
  62 + librx3270_unloaded();
  63 + break;
  64 + }
  65 + return TRUE;
  66 +}
  67 +#endif
  68 +
  69 +int librx3270_loaded(void)
  70 +{
  71 + trace("%s %04x",__FUNCTION__,REXX_CURRENT_INTERPRETER_VERSION);
  72 + return 0;
  73 +}
  74 +
  75 +int librx3270_unloaded(void)
  76 +{
  77 + trace("%s",__FUNCTION__);
  78 + return 0;
  79 +}
  80 +
  81 +RexxRoutine0(CSTRING, rx3270version)
  82 +{
  83 + return "Teste";
  84 +}
  85 +
  86 +
  87 +// now build the actual entry list
  88 +RexxRoutineEntry rx3270_functions[] =
  89 +{
  90 + REXX_TYPED_ROUTINE(rx3270version, rx3270version),
  91 + REXX_LAST_METHOD()
  92 +};
  93 +
  94 +RexxPackageEntry rx3270_package_entry =
  95 +{
  96 + STANDARD_PACKAGE_HEADER
  97 + REXX_CURRENT_INTERPRETER_VERSION, // anything after 4.0.0 will work
  98 + "pw3270", // name of the package
  99 + "5.0", // package information
  100 + NULL, // no load/unload functions
  101 + NULL,
  102 + rx3270_functions, // the exported functions
  103 + NULL // no methods in rxmath.
  104 +};
  105 +
  106 +// package loading stub.
  107 +/*
  108 +OOREXX_GET_PACKAGE(rx3270);
  109 +*/
  110 +
  111 +BEGIN_EXTERN_C()
  112 +LIB3270_EXPORT RexxPackageEntry * RexxEntry RexxGetPackage(void)
  113 +{
  114 + trace("%s struct size=%d ****************************************************",__FUNCTION__,(int) sizeof(RexxPackageEntry));
  115 + return &rx3270_package_entry;
  116 +}
  117 +END_EXTERN_C()
  118 +
  119 +
  120 +