From 33a76c40e4d31d209b4749cc10d103a89e96afc1 Mon Sep 17 00:00:00 2001 From: perry.werneck@gmail.com Date: Thu, 11 Oct 2012 20:21:25 +0000 Subject: [PATCH] API rexx comeca a funcionar --- src/plugins/rx3270/Makefile.in | 12 ++++++------ src/plugins/rx3270/pluginmain.c | 43 ------------------------------------------- src/plugins/rx3270/pluginmain.cc | 43 +++++++++++++++++++++++++++++++++++++++++++ src/plugins/rx3270/rx3270.h | 4 ---- src/plugins/rx3270/rxapimain.c | 109 ------------------------------------------------------------------------------------------------------------- src/plugins/rx3270/rxapimain.cc | 120 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 169 insertions(+), 162 deletions(-) delete mode 100644 src/plugins/rx3270/pluginmain.c create mode 100644 src/plugins/rx3270/pluginmain.cc delete mode 100644 src/plugins/rx3270/rxapimain.c create mode 100644 src/plugins/rx3270/rxapimain.cc diff --git a/src/plugins/rx3270/Makefile.in b/src/plugins/rx3270/Makefile.in index 16ffaa2..03e01f6 100644 --- a/src/plugins/rx3270/Makefile.in +++ b/src/plugins/rx3270/Makefile.in @@ -28,8 +28,8 @@ MODULE_NAME=rx3270 DEPENDS=*.h ../../include/*.h ../../include/lib3270/*.h Makefile -PLUGIN_SRC=pluginmain.c -EXTAPI_SRC=rxapimain.c +PLUGIN_SRC=pluginmain.cc +EXTAPI_SRC=rxapimain.cc #---[ Tools ]------------------------------------------------------------------ @@ -48,22 +48,22 @@ include ../../include/plugin.mak $(BINDBG)/$(PLUGIN_NAME): $(foreach SRC, $(basename $(PLUGIN_SRC)), $(OBJDBG)/$(SRC).o) $(BINDBG)$(DLL_NAME) @echo " CCLD `basename $@`" @$(MKDIR) `dirname $@` - @$(LD) $(DLL_FLAGS) $(LDSOFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS) $(PW3270_LIBS) $(GTK_LIBS) + @$(CXX) $(DLL_FLAGS) $(LDSOFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS) $(PW3270_LIBS) $(GTK_LIBS) $(BINDBG)$(DLL_NAME): $(foreach SRC, $(basename $(EXTAPI_SRC)), $(OBJDBG)/$(SRC)@OBJEXT@) @echo " CCLD `basename $@`" @$(MKDIR) `dirname $@` - @$(LD) $(DLL_FLAGS) $(LDFLAGS) @DBGRPATH@ @LDSOFLAGS@ -o $@ $^ $(LIBS) $(LIB3270_LIBS) + @$(CXX) $(DLL_FLAGS) $(LDFLAGS) @DBGRPATH@ @LDSOFLAGS@ -o $@ $^ $(LIBS) $(LIB3270_LIBS) #---[ Release Targets ]-------------------------------------------------------- $(BINRLS)/$(PLUGIN_NAME): $(foreach SRC, $(basename $(PLUGIN_SRC)), $(OBJRLS)/$(SRC).o) $(BINRLS)$(DLL_NAME) @echo " CCLD `basename $@`" @$(MKDIR) `dirname $@` - @$(LD) $(DLL_FLAGS) $(LDSOFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS) $(PW3270_LIBS) $(GTK_LIBS) + @$(CXX) $(DLL_FLAGS) $(LDSOFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS) $(PW3270_LIBS) $(GTK_LIBS) $(BINRLS)$(DLL_NAME): $(foreach SRC, $(basename $(EXTAPI_SRC)), $(OBJRLS)/$(SRC).o) @echo " CCLD `basename $@`" @$(MKDIR) `dirname $@` - @$(LD) $(DLL_FLAGS) $(LDSOFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS) $(LIB3270_LIBS) + @$(CXX) $(DLL_FLAGS) $(LDSOFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS) $(LIB3270_LIBS) diff --git a/src/plugins/rx3270/pluginmain.c b/src/plugins/rx3270/pluginmain.c deleted file mode 100644 index 2f37440..0000000 --- a/src/plugins/rx3270/pluginmain.c +++ /dev/null @@ -1,43 +0,0 @@ -/* - * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270 - * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a - * aplicativos mainframe. Registro no INPI sob o nome G3270. - * - * Copyright (C) <2008> - * - * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob - * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela - * Free Software Foundation. - * - * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER - * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO - * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para - * obter mais detalhes. - * - * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este - * programa; se não, escreva para a Free Software Foundation, Inc., 59 Temple - * Place, Suite 330, Boston, MA, 02111-1307, USA - * - * Este programa está nomeado como pluginmain.c e possui - linhas de código. - * - * Contatos: - * - * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) - * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça) - * - */ - - #include - #include "rx3270.h" - -/*--[ Implement ]------------------------------------------------------------------------------------*/ - - LIB3270_EXPORT int pw3270_plugin_init(GtkWidget *window) - { - return 0; - } - - LIB3270_EXPORT int pw3270_plugin_deinit(GtkWidget *window) - { - return 0; - } diff --git a/src/plugins/rx3270/pluginmain.cc b/src/plugins/rx3270/pluginmain.cc new file mode 100644 index 0000000..2f37440 --- /dev/null +++ b/src/plugins/rx3270/pluginmain.cc @@ -0,0 +1,43 @@ +/* + * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270 + * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a + * aplicativos mainframe. Registro no INPI sob o nome G3270. + * + * Copyright (C) <2008> + * + * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob + * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela + * Free Software Foundation. + * + * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER + * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO + * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para + * obter mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este + * programa; se não, escreva para a Free Software Foundation, Inc., 59 Temple + * Place, Suite 330, Boston, MA, 02111-1307, USA + * + * Este programa está nomeado como pluginmain.c e possui - linhas de código. + * + * Contatos: + * + * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) + * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça) + * + */ + + #include + #include "rx3270.h" + +/*--[ Implement ]------------------------------------------------------------------------------------*/ + + LIB3270_EXPORT int pw3270_plugin_init(GtkWidget *window) + { + return 0; + } + + LIB3270_EXPORT int pw3270_plugin_deinit(GtkWidget *window) + { + return 0; + } diff --git a/src/plugins/rx3270/rx3270.h b/src/plugins/rx3270/rx3270.h index c978040..4aaaa36 100644 --- a/src/plugins/rx3270/rx3270.h +++ b/src/plugins/rx3270/rx3270.h @@ -48,8 +48,4 @@ /*--[ Prototipes ]-------------------------------------------------------------------------------------------*/ - LIB3270_EXPORT REXX_TYPED_ROUTINE_PROTOTYPE(rx3270version); - - - #endif // RX3270_H_INCLUDED diff --git a/src/plugins/rx3270/rxapimain.c b/src/plugins/rx3270/rxapimain.c deleted file mode 100644 index 8a79113..0000000 --- a/src/plugins/rx3270/rxapimain.c +++ /dev/null @@ -1,109 +0,0 @@ -/* - * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270 - * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a - * aplicativos mainframe. Registro no INPI sob o nome G3270. - * - * Copyright (C) <2008> - * - * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob - * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela - * Free Software Foundation. - * - * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER - * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO - * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para - * obter mais detalhes. - * - * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este - * programa; se não, escreva para a Free Software Foundation, Inc., 59 Temple - * Place, Suite 330, Boston, MA, 02111-1307, USA - * - * Este programa está nomeado como rxapimain.c e possui - linhas de código. - * - * Contatos: - * - * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) - * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça) - * - */ - - /* - * - * Reference: - * - * http://www.oorexx.org/docs/rexxpg/x2950.htm - * - */ - - #include "rx3270.h" - -#if defined WIN32 - BOOL WINAPI DllMain(HANDLE hinst, DWORD dwcallpurpose, LPVOID lpvResvd); - static int librx3270_loaded(void); - static int librx3270_unloaded(void); -#else - int librx3270_loaded(void) __attribute__((constructor)); - int librx3270_unloaded(void) __attribute__((destructor)); -#endif -/*--[ Implement ]------------------------------------------------------------------------------------*/ - -#if defined WIN32 -BOOL WINAPI DllMain(HANDLE hinst, DWORD dwcallpurpose, LPVOID lpvResvd) -{ -// Trace("%s - Library %s",__FUNCTION__,(dwcallpurpose == DLL_PROCESS_ATTACH) ? "Loaded" : "Unloaded"); - - switch(dwcallpurpose) - { - case DLL_PROCESS_ATTACH: - librx3270_loaded(); - break; - - case DLL_PROCESS_DETACH: - librx3270_unloaded(); - break; - } - return TRUE; -} -#endif - -int librx3270_loaded(void) -{ - trace("%s %04x",__FUNCTION__,REXX_CURRENT_INTERPRETER_VERSION); - return 0; -} - -int librx3270_unloaded(void) -{ - trace("%s",__FUNCTION__); - return 0; -} - -RexxRoutine0(CSTRING, rx3270version) -{ - return "Teste"; -} - - -// now build the actual entry list -RexxRoutineEntry rx3270_functions[] = -{ - REXX_TYPED_ROUTINE(rx3270version, rx3270version), - REXX_LAST_METHOD() -}; - -RexxPackageEntry rx3270_package_entry = -{ - STANDARD_PACKAGE_HEADER - REXX_CURRENT_INTERPRETER_VERSION, // anything after 4.0.0 will work - "RX3270", // name of the package - "5.0", // package information - NULL, // no load/unload functions - NULL, - rx3270_functions, // the exported functions - NULL // no methods in rxmath. -}; - -// package loading stub. -OOREXX_GET_PACKAGE(rx3270); - - diff --git a/src/plugins/rx3270/rxapimain.cc b/src/plugins/rx3270/rxapimain.cc new file mode 100644 index 0000000..39fe135 --- /dev/null +++ b/src/plugins/rx3270/rxapimain.cc @@ -0,0 +1,120 @@ +/* + * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270 + * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a + * aplicativos mainframe. Registro no INPI sob o nome G3270. + * + * Copyright (C) <2008> + * + * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob + * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela + * Free Software Foundation. + * + * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER + * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO + * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para + * obter mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este + * programa; se não, escreva para a Free Software Foundation, Inc., 59 Temple + * Place, Suite 330, Boston, MA, 02111-1307, USA + * + * Este programa está nomeado como rxapimain.c e possui - linhas de código. + * + * Contatos: + * + * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) + * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça) + * + */ + + /* + * + * Reference: + * + * http://www.oorexx.org/docs/rexxpg/x2950.htm + * + */ + + #include "rx3270.h" + +#if defined WIN32 + BOOL WINAPI DllMain(HANDLE hinst, DWORD dwcallpurpose, LPVOID lpvResvd); + static int librx3270_loaded(void); + static int librx3270_unloaded(void); +#else + int librx3270_loaded(void) __attribute__((constructor)); + int librx3270_unloaded(void) __attribute__((destructor)); +#endif +/*--[ Implement ]------------------------------------------------------------------------------------*/ + +#if defined WIN32 +BOOL WINAPI DllMain(HANDLE hinst, DWORD dwcallpurpose, LPVOID lpvResvd) +{ +// Trace("%s - Library %s",__FUNCTION__,(dwcallpurpose == DLL_PROCESS_ATTACH) ? "Loaded" : "Unloaded"); + + switch(dwcallpurpose) + { + case DLL_PROCESS_ATTACH: + librx3270_loaded(); + break; + + case DLL_PROCESS_DETACH: + librx3270_unloaded(); + break; + } + return TRUE; +} +#endif + +int librx3270_loaded(void) +{ + trace("%s %04x",__FUNCTION__,REXX_CURRENT_INTERPRETER_VERSION); + return 0; +} + +int librx3270_unloaded(void) +{ + trace("%s",__FUNCTION__); + return 0; +} + +RexxRoutine0(CSTRING, rx3270version) +{ + return "Teste"; +} + + +// now build the actual entry list +RexxRoutineEntry rx3270_functions[] = +{ + REXX_TYPED_ROUTINE(rx3270version, rx3270version), + REXX_LAST_METHOD() +}; + +RexxPackageEntry rx3270_package_entry = +{ + STANDARD_PACKAGE_HEADER + REXX_CURRENT_INTERPRETER_VERSION, // anything after 4.0.0 will work + "pw3270", // name of the package + "5.0", // package information + NULL, // no load/unload functions + NULL, + rx3270_functions, // the exported functions + NULL // no methods in rxmath. +}; + +// package loading stub. +/* +OOREXX_GET_PACKAGE(rx3270); +*/ + +BEGIN_EXTERN_C() +LIB3270_EXPORT RexxPackageEntry * RexxEntry RexxGetPackage(void) +{ + trace("%s struct size=%d ****************************************************",__FUNCTION__,(int) sizeof(RexxPackageEntry)); + return &rx3270_package_entry; +} +END_EXTERN_C() + + + -- libgit2 0.21.2