Commit 9e0f89c5e3c9dbcdeb7a6235a1d12f96fbc4e81c
1 parent
e133a289
Exists in
master
and in
5 other branches
Incluindo opção de configuração para desativar o uso do registro windows, inicia…
…ndo implementação de código exemplo de uso
Showing
8 changed files
with
133 additions
and
29 deletions
Show diff stats
Makefile.in
| @@ -299,6 +299,10 @@ install-sdk: | @@ -299,6 +299,10 @@ install-sdk: | ||
| 299 | @$(INSTALL_DATA) lib3270.pc $(DESTDIR)/$(libdir)/pkgconfig | 299 | @$(INSTALL_DATA) lib3270.pc $(DESTDIR)/$(libdir)/pkgconfig |
| 300 | @$(INSTALL_DATA) pw3270.pc $(DESTDIR)/$(libdir)/pkgconfig | 300 | @$(INSTALL_DATA) pw3270.pc $(DESTDIR)/$(libdir)/pkgconfig |
| 301 | 301 | ||
| 302 | + @$(MKDIR) $(DESTDIR)$(datarootdir)/$(PACKAGE_NAME)/sample | ||
| 303 | + @$(INSTALL_DATA) src/sample/Makefile $(DESTDIR)$(datarootdir)/$(PACKAGE_NAME)/sample | ||
| 304 | + @$(INSTALL_DATA) src/sample/*.c $(DESTDIR)$(datarootdir)/$(PACKAGE_NAME)/sample | ||
| 305 | + | ||
| 302 | clean: | 306 | clean: |
| 303 | @rm -fr .obj | 307 | @rm -fr .obj |
| 304 | @rm -fr .bin | 308 | @rm -fr .bin |
configure.ac
| @@ -418,6 +418,7 @@ AC_CONFIG_FILES([ | @@ -418,6 +418,7 @@ AC_CONFIG_FILES([ | ||
| 418 | src/plugins/rx3270/Makefile | 418 | src/plugins/rx3270/Makefile |
| 419 | man/Makefile | 419 | man/Makefile |
| 420 | makegtkruntime.sh | 420 | makegtkruntime.sh |
| 421 | + src/sample/Makefile | ||
| 421 | ]) | 422 | ]) |
| 422 | 423 | ||
| 423 | dnl Output the generated config.status script. | 424 | dnl Output the generated config.status script. |
po/pt_BR.po
| @@ -5,7 +5,7 @@ msgid "" | @@ -5,7 +5,7 @@ msgid "" | ||
| 5 | msgstr "" | 5 | msgstr "" |
| 6 | "Project-Id-Version: pw3270 5.0\n" | 6 | "Project-Id-Version: pw3270 5.0\n" |
| 7 | "Report-Msgid-Bugs-To: \n" | 7 | "Report-Msgid-Bugs-To: \n" |
| 8 | -"POT-Creation-Date: 2013-01-30 10:26-0200\n" | 8 | +"POT-Creation-Date: 2013-02-15 16:38-0200\n" |
| 9 | "PO-Revision-Date: 2013-01-14 09:49-0200\n" | 9 | "PO-Revision-Date: 2013-01-14 09:49-0200\n" |
| 10 | "Last-Translator: Perry Werneck <perry.werneck@gmail.com>\n" | 10 | "Last-Translator: Perry Werneck <perry.werneck@gmail.com>\n" |
| 11 | "Language-Team: Português <>\n" | 11 | "Language-Team: Português <>\n" |
| @@ -130,12 +130,12 @@ msgid "<%s> requires a %s attribute" | @@ -130,12 +130,12 @@ msgid "<%s> requires a %s attribute" | ||
| 130 | msgstr "<%s> precisa do atributo %s" | 130 | msgstr "<%s> precisa do atributo %s" |
| 131 | 131 | ||
| 132 | #: uiparser/accelerator.c:41 uiparser/menubar.c:42 uiparser/toolbar.c:58 | 132 | #: uiparser/accelerator.c:41 uiparser/menubar.c:42 uiparser/toolbar.c:58 |
| 133 | -#: uiparser/popup.c:45 uiparser/scroll.c:43 uiparser/keypad.c:252 | 133 | +#: uiparser/popup.c:45 uiparser/scroll.c:43 uiparser/keypad.c:152 |
| 134 | #, c-format | 134 | #, c-format |
| 135 | msgid "<%s> should be on toplevel" | 135 | msgid "<%s> should be on toplevel" |
| 136 | msgstr "<%s> deve estar no primeiro nível" | 136 | msgstr "<%s> deve estar no primeiro nível" |
| 137 | 137 | ||
| 138 | -#: v3270/widget.c:295 | 138 | +#: v3270/widget.c:296 |
| 139 | msgid "" | 139 | msgid "" |
| 140 | "<b>Identity not verified</b>\n" | 140 | "<b>Identity not verified</b>\n" |
| 141 | "Disconnected from host" | 141 | "Disconnected from host" |
| @@ -143,7 +143,7 @@ msgstr "" | @@ -143,7 +143,7 @@ msgstr "" | ||
| 143 | "<b>Identidade não foi confirmada</b>\n" | 143 | "<b>Identidade não foi confirmada</b>\n" |
| 144 | "Desconectado do servidor" | 144 | "Desconectado do servidor" |
| 145 | 145 | ||
| 146 | -#: v3270/widget.c:300 v3270/security.c:370 | 146 | +#: v3270/widget.c:301 v3270/security.c:370 |
| 147 | msgid "" | 147 | msgid "" |
| 148 | "<b>Identity not verified</b>\n" | 148 | "<b>Identity not verified</b>\n" |
| 149 | "The connection is insecure" | 149 | "The connection is insecure" |
| @@ -151,7 +151,7 @@ msgstr "" | @@ -151,7 +151,7 @@ msgstr "" | ||
| 151 | "<b>Identidade não foi confirmada</b>\n" | 151 | "<b>Identidade não foi confirmada</b>\n" |
| 152 | "A conexão não é segura" | 152 | "A conexão não é segura" |
| 153 | 153 | ||
| 154 | -#: v3270/widget.c:305 | 154 | +#: v3270/widget.c:306 |
| 155 | msgid "" | 155 | msgid "" |
| 156 | "<b>Identity verified</b>\n" | 156 | "<b>Identity verified</b>\n" |
| 157 | "The connection is secure" | 157 | "The connection is secure" |
| @@ -159,7 +159,7 @@ msgstr "" | @@ -159,7 +159,7 @@ msgstr "" | ||
| 159 | "<b>Identidade verificada</b>\n" | 159 | "<b>Identidade verificada</b>\n" |
| 160 | "A conexão é segura" | 160 | "A conexão é segura" |
| 161 | 161 | ||
| 162 | -#: v3270/widget.c:320 | 162 | +#: v3270/widget.c:321 |
| 163 | #, c-format | 163 | #, c-format |
| 164 | msgid "<b>SSL state is undefined</b>Unexpected SSL status %ld" | 164 | msgid "<b>SSL state is undefined</b>Unexpected SSL status %ld" |
| 165 | msgstr "<b>Estado do SSL é indefinido</b>Estado SSL inesperado %ld" | 165 | msgstr "<b>Estado do SSL é indefinido</b>Estado SSL inesperado %ld" |
| @@ -315,7 +315,7 @@ msgstr "Tema de c_ores:" | @@ -315,7 +315,7 @@ msgstr "Tema de c_ores:" | ||
| 315 | msgid "C_urrent" | 315 | msgid "C_urrent" |
| 316 | msgstr "At_ual" | 316 | msgstr "At_ual" |
| 317 | 317 | ||
| 318 | -#: uiparser/parsefile.c:225 uiparser/keypad.c:146 | 318 | +#: uiparser/parsefile.c:225 |
| 319 | #, c-format | 319 | #, c-format |
| 320 | msgid "Can't accept unnamed %s" | 320 | msgid "Can't accept unnamed %s" |
| 321 | msgstr "Não posso aceitar elemento %s sem nome" | 321 | msgstr "Não posso aceitar elemento %s sem nome" |
| @@ -628,7 +628,7 @@ msgstr "Apagar até o final do campo" | @@ -628,7 +628,7 @@ msgstr "Apagar até o final do campo" | ||
| 628 | msgid "Erase to end of line" | 628 | msgid "Erase to end of line" |
| 629 | msgstr "Apagar até o final da linha" | 629 | msgstr "Apagar até o final da linha" |
| 630 | 630 | ||
| 631 | -#: print.c:234 v3270/widget.c:251 util.c:994 | 631 | +#: print.c:234 v3270/widget.c:252 util.c:994 |
| 632 | msgid "Error" | 632 | msgid "Error" |
| 633 | msgstr "Erro" | 633 | msgstr "Erro" |
| 634 | 634 | ||
| @@ -813,7 +813,7 @@ msgstr "IBM AS/400" | @@ -813,7 +813,7 @@ msgstr "IBM AS/400" | ||
| 813 | msgid "IBM S/390" | 813 | msgid "IBM S/390" |
| 814 | msgstr "IBM S/390" | 814 | msgstr "IBM S/390" |
| 815 | 815 | ||
| 816 | -#: v3270/widget.c:313 | 816 | +#: v3270/widget.c:314 |
| 817 | msgid "Identity not verified" | 817 | msgid "Identity not verified" |
| 818 | msgstr "Identity not verified" | 818 | msgstr "Identity not verified" |
| 819 | 819 | ||
| @@ -1984,7 +1984,7 @@ msgstr "Erro SSL <b>%ld</b> inesperado" | @@ -1984,7 +1984,7 @@ msgstr "Erro SSL <b>%ld</b> inesperado" | ||
| 1984 | msgid "Unexpected action attribute in <%s>" | 1984 | msgid "Unexpected action attribute in <%s>" |
| 1985 | msgstr "Atributo inesperado \"action\" em <%s>" | 1985 | msgstr "Atributo inesperado \"action\" em <%s>" |
| 1986 | 1986 | ||
| 1987 | -#: uiparser/keypad.c:190 | 1987 | +#: uiparser/keypad.c:67 |
| 1988 | #, c-format | 1988 | #, c-format |
| 1989 | msgid "Unexpected element <%s>" | 1989 | msgid "Unexpected element <%s>" |
| 1990 | msgstr "Elemento <%s> inesperado" | 1990 | msgstr "Elemento <%s> inesperado" |
| @@ -2017,7 +2017,7 @@ msgstr "Valor de cor inválido ou inesperado: \"%s\"" | @@ -2017,7 +2017,7 @@ msgstr "Valor de cor inválido ou inesperado: \"%s\"" | ||
| 2017 | msgid "Unexpected or unknown security status" | 2017 | msgid "Unexpected or unknown security status" |
| 2018 | msgstr "Unexpected or unknown security status" | 2018 | msgstr "Unexpected or unknown security status" |
| 2019 | 2019 | ||
| 2020 | -#: v3270/widget.c:875 | 2020 | +#: v3270/widget.c:876 |
| 2021 | msgid "" | 2021 | msgid "" |
| 2022 | "Unexpected signature in H3270 object, possible version mismatch in lib3270" | 2022 | "Unexpected signature in H3270 object, possible version mismatch in lib3270" |
| 2023 | msgstr "" | 2023 | msgstr "" |
| @@ -2294,7 +2294,7 @@ msgstr "um attributo \"label\"" | @@ -2294,7 +2294,7 @@ msgstr "um attributo \"label\"" | ||
| 2294 | msgid "a type or group attribute" | 2294 | msgid "a type or group attribute" |
| 2295 | msgstr "um atributo \"type\" ou \"group\"" | 2295 | msgstr "um atributo \"type\" ou \"group\"" |
| 2296 | 2296 | ||
| 2297 | -#: uiparser/script.c:75 uiparser/keypad.c:258 | 2297 | +#: uiparser/script.c:75 uiparser/keypad.c:158 |
| 2298 | #, c-format | 2298 | #, c-format |
| 2299 | msgid "action attribute is invalid for <%s>" | 2299 | msgid "action attribute is invalid for <%s>" |
| 2300 | msgstr "Atributo inesperado \"action\" em <%s>" | 2300 | msgstr "Atributo inesperado \"action\" em <%s>" |
pw3270.nsi.in
| @@ -160,6 +160,9 @@ Section /o "Software Development Kit" SecSDK | @@ -160,6 +160,9 @@ Section /o "Software Development Kit" SecSDK | ||
| 160 | file "/oname=$INSTDIR\sdk\include\lib3270\config.h" "src\include\lib3270\config.h" | 160 | file "/oname=$INSTDIR\sdk\include\lib3270\config.h" "src\include\lib3270\config.h" |
| 161 | file "/oname=$INSTDIR\sdk\include\lib3270\rules.mak" "src\include\rules.mak" | 161 | file "/oname=$INSTDIR\sdk\include\lib3270\rules.mak" "src\include\rules.mak" |
| 162 | 162 | ||
| 163 | + file "/oname=$INSTDIR\sdk\sample\Makefile" "src\sample\Makefile" | ||
| 164 | + file "/oname=$INSTDIR\sdk\sample\connect.c" "src\sample\connect.c" | ||
| 165 | + | ||
| 163 | SectionEnd | 166 | SectionEnd |
| 164 | 167 | ||
| 165 | # create a section to define what the uninstaller does. | 168 | # create a section to define what the uninstaller does. |
pw3270.spec.in
| @@ -170,10 +170,12 @@ rm -rf $RPM_BUILD_ROOT | @@ -170,10 +170,12 @@ rm -rf $RPM_BUILD_ROOT | ||
| 170 | %{_includedir}/lib3270/*.h | 170 | %{_includedir}/lib3270/*.h |
| 171 | %{_includedir}/lib3270.h | 171 | %{_includedir}/lib3270.h |
| 172 | %{_includedir}/pw3270.h | 172 | %{_includedir}/pw3270.h |
| 173 | -%{_datadir}/pw3270/ui/99debug.xml | 173 | +%{_datadir}/@PACKAGE_NAME@/ui/99debug.xml |
| 174 | %{_libdir}/pkgconfig/*.pc | 174 | %{_libdir}/pkgconfig/*.pc |
| 175 | %{_libdir}/lib3270.so | 175 | %{_libdir}/lib3270.so |
| 176 | %{_libdir}/libpw3270.so | 176 | %{_libdir}/libpw3270.so |
| 177 | +%dir %{_datadir}/@PACKAGE_NAME@/sample | ||
| 178 | +%{_datadir}/@PACKAGE_NAME@/sample/* | ||
| 177 | 179 | ||
| 178 | #---[ Scripts ]------------------------------------------------------------------------------------------------------- | 180 | #---[ Scripts ]------------------------------------------------------------------------------------------------------- |
| 179 | 181 |
src/pw3270/common/config.c
| @@ -572,8 +572,6 @@ gchar * filename_from_va(const gchar *first_element, va_list args) | @@ -572,8 +572,6 @@ gchar * filename_from_va(const gchar *first_element, va_list args) | ||
| 572 | 572 | ||
| 573 | #if defined( HAVE_WIN_REGISTRY ) | 573 | #if defined( HAVE_WIN_REGISTRY ) |
| 574 | 574 | ||
| 575 | -#error aqui | ||
| 576 | - | ||
| 577 | if(!result) | 575 | if(!result) |
| 578 | { | 576 | { |
| 579 | // No predefined datadir, search registry | 577 | // No predefined datadir, search registry |
| @@ -590,31 +588,31 @@ gchar * filename_from_va(const gchar *first_element, va_list args) | @@ -590,31 +588,31 @@ gchar * filename_from_va(const gchar *first_element, va_list args) | ||
| 590 | 588 | ||
| 591 | rc = RegOpenKeyEx(HKEY_LOCAL_MACHINE,path,0,KEY_QUERY_VALUE|KEY_WOW64_64KEY,&hKey); | 589 | rc = RegOpenKeyEx(HKEY_LOCAL_MACHINE,path,0,KEY_QUERY_VALUE|KEY_WOW64_64KEY,&hKey); |
| 592 | SetLastError(rc); | 590 | SetLastError(rc); |
| 593 | - | 591 | + |
| 594 | if(rc == ERROR_SUCCESS) | 592 | if(rc == ERROR_SUCCESS) |
| 595 | { | 593 | { |
| 596 | char data[4096]; | 594 | char data[4096]; |
| 597 | unsigned long datalen = sizeof(data); // data field length(in), data returned length(out) | 595 | unsigned long datalen = sizeof(data); // data field length(in), data returned length(out) |
| 598 | unsigned long datatype; // #defined in winnt.h (predefined types 0-11) | 596 | unsigned long datatype; // #defined in winnt.h (predefined types 0-11) |
| 599 | - | 597 | + |
| 600 | rc = RegQueryValueExA(hKey,NULL,NULL,&datatype,(LPBYTE) data,&datalen); | 598 | rc = RegQueryValueExA(hKey,NULL,NULL,&datatype,(LPBYTE) data,&datalen); |
| 601 | - if(rc == ERROR_SUCCESS) | ||
| 602 | - { | 599 | + if(rc == ERROR_SUCCESS) |
| 600 | + { | ||
| 603 | result = g_string_new(g_strchomp(data)); | 601 | result = g_string_new(g_strchomp(data)); |
| 604 | - } | ||
| 605 | - else | ||
| 606 | - { | 602 | + } |
| 603 | + else | ||
| 604 | + { | ||
| 607 | gchar *msg = g_win32_error_message(rc); | 605 | gchar *msg = g_win32_error_message(rc); |
| 608 | - g_message("Error \"%s\" when getting application datadir from registry",msg); | ||
| 609 | - g_free(msg); | 606 | + g_message("Error \"%s\" when getting application datadir from registry",msg); |
| 607 | + g_free(msg); | ||
| 610 | } | 608 | } |
| 611 | RegCloseKey(hKey); | 609 | RegCloseKey(hKey); |
| 612 | - } | ||
| 613 | - else | ||
| 614 | - { | 610 | + } |
| 611 | + else | ||
| 612 | + { | ||
| 615 | gchar *msg = g_win32_error_message(rc); | 613 | gchar *msg = g_win32_error_message(rc); |
| 616 | - g_message("Error \"%s\" when opening datadir key from registry",msg); | ||
| 617 | - g_free(msg); | 614 | + g_message("Error \"%s\" when opening datadir key from registry",msg); |
| 615 | + g_free(msg); | ||
| 618 | } | 616 | } |
| 619 | 617 | ||
| 620 | g_free(path); | 618 | g_free(path); |
| @@ -0,0 +1,45 @@ | @@ -0,0 +1,45 @@ | ||
| 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 | +# Contatos: | ||
| 22 | +# | ||
| 23 | +# perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) | ||
| 24 | +# erico.mendonca@gmail.com (Erico Mascarenhas de Mendonça) | ||
| 25 | +# licinio@bb.com.br (Licínio Luis Branco) | ||
| 26 | +# kraucer@bb.com.br (Kraucer Fernandes Mazuco) | ||
| 27 | +# | ||
| 28 | +# | ||
| 29 | + | ||
| 30 | +LIB3270_CFLAGS=`pkg-config --cflags lib3270` | ||
| 31 | +LIB3270_LIBS=`pkg-config --libs lib3270` | ||
| 32 | + | ||
| 33 | +EXEEXT=@EXEEXT@ | ||
| 34 | +MKDIR=@MKDIR_P@ | ||
| 35 | +CC=@CC@ | ||
| 36 | +LD=@CC@ | ||
| 37 | + | ||
| 38 | +#---[ Targets ]---------------------------------------------------------------- | ||
| 39 | + | ||
| 40 | +all: connect$(EXEEXT) | ||
| 41 | + | ||
| 42 | +connect$(EXEEXT): connect.c | ||
| 43 | + $(CC) $(CFLAGS) $(LIB3270_CFLAGS) -o $@ $^ $(LIB3270_LIBS) | ||
| 44 | + | ||
| 45 | + |
| @@ -0,0 +1,51 @@ | @@ -0,0 +1,51 @@ | ||
| 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., 51 Franklin | ||
| 19 | + * St, Fifth Floor, Boston, MA 02110-1301 USA | ||
| 20 | + * | ||
| 21 | + * Este programa está nomeado como main.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 | + * licinio@bb.com.br (Licínio Luis Branco) | ||
| 28 | + * kraucer@bb.com.br (Kraucer Fernandes Mazuco) | ||
| 29 | + * | ||
| 30 | + */ | ||
| 31 | + | ||
| 32 | + #include <stdio.h> | ||
| 33 | + #include <stdlib.h> | ||
| 34 | + #include <lib3270.h> | ||
| 35 | + | ||
| 36 | +/*--[ Implement ]------------------------------------------------------------------------------------*/ | ||
| 37 | + | ||
| 38 | + int main(int numpar, char *param[]) | ||
| 39 | + { | ||
| 40 | + H3270 *hSession; | ||
| 41 | + | ||
| 42 | + if(numpar != 1) | ||
| 43 | + { | ||
| 44 | + fprintf(stderr,"Inform host URI as argument\n"); | ||
| 45 | + exit(-1); | ||
| 46 | + } | ||
| 47 | + | ||
| 48 | + | ||
| 49 | + return 0; | ||
| 50 | + } | ||
| 51 | + |