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 28  
29 29 MODULE_NAME=rx3270
30 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 34 #---[ Tools ]------------------------------------------------------------------
35 35  
... ... @@ -48,22 +48,22 @@ include ../../include/plugin.mak
48 48 $(BINDBG)/$(PLUGIN_NAME): $(foreach SRC, $(basename $(PLUGIN_SRC)), $(OBJDBG)/$(SRC).o) $(BINDBG)$(DLL_NAME)
49 49 @echo " CCLD `basename $@`"
50 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 53 $(BINDBG)$(DLL_NAME): $(foreach SRC, $(basename $(EXTAPI_SRC)), $(OBJDBG)/$(SRC)@OBJEXT@)
54 54 @echo " CCLD `basename $@`"
55 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 58 #---[ Release Targets ]--------------------------------------------------------
59 59  
60 60 $(BINRLS)/$(PLUGIN_NAME): $(foreach SRC, $(basename $(PLUGIN_SRC)), $(OBJRLS)/$(SRC).o) $(BINRLS)$(DLL_NAME)
61 61 @echo " CCLD `basename $@`"
62 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 65 $(BINRLS)$(DLL_NAME): $(foreach SRC, $(basename $(EXTAPI_SRC)), $(OBJRLS)/$(SRC).o)
66 66 @echo " CCLD `basename $@`"
67 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   -/*
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 @@
  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 48  
49 49 /*--[ Prototipes ]-------------------------------------------------------------------------------------------*/
50 50  
51   - LIB3270_EXPORT REXX_TYPED_ROUTINE_PROTOTYPE(rx3270version);
52   -
53   -
54   -
55 51 #endif // RX3270_H_INCLUDED
... ...
src/plugins/rx3270/rxapimain.c
... ... @@ -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 @@
  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 +
... ...