diff --git a/Makefile.in b/Makefile.in
index 0e32efa..d7dfee8 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -155,6 +155,8 @@ debian/lib3270-dev.install: Makefile
@echo "$(includedir)/lib3270.h" > $@
@echo "$(includedir)/lib3270" >> $@
@echo "$(datarootdir)/@PACKAGE_NAME@/ui/99debug.xml" >> $@
+ @echo "$(datarootdir)/@PACKAGE_NAME@/sample/*.c" >> $@
+ @echo "$(datarootdir)/@PACKAGE_NAME@/sample/Makefile" >> $@
@echo "$(libdir)/pkgconfig/*.pc" >> $@
@echo "$(includedir)/pw3270.h" >> $@
@echo "$(includedir)/pw3270" >> $@
diff --git a/configure.ac b/configure.ac
index 335c33e..0f4fb73 100644
--- a/configure.ac
+++ b/configure.ac
@@ -66,6 +66,7 @@ AC_PATH_TOOL([VALGRIND], [valgrind], [no])
AC_PATH_TOOL([MAKENSIS], [makensis], [no])
AC_PATH_TOOL([WINDRES], [windres], [no])
+AC_PATH_TOOL([DBUSBINDINGTOOL],[dbus-binding-tool],[no])
AC_CHECK_PROGS(GZIP,[gzip],no)
export GZIP;
@@ -328,10 +329,10 @@ AC_CHECK_HEADER(malloc.h, AC_DEFINE(HAVE_MALLOC_H,,[do we have malloc.h?]))
AC_CHECK_FUNCS(getaddrinfo, AC_DEFINE(HAVE_GETADDRINFO) )
-#--[ GTK 2/3 check ]------------------------------------------------------------------------------------------------------------------------------------------
-
PKG_CHECK_EXISTS
+#--[ GTK 2/3 check ]------------------------------------------------------------------------------------------------------------------------------------------
+
PKG_CHECK_MODULES( [GTK], [gtk+-3.0 gmodule-2.0], [ GTK_VERSION="3.0" ], [ PKG_CHECK_MODULES( [GTK], [gtk+-2.0 >= 2.14 gthread-2.0 gmodule-2.0], [ GTK_VERSION="2.0" ] ) ], [ ] )
AC_SUBST(GTK_LIBS)
@@ -339,6 +340,18 @@ AC_SUBST(GTK_CFLAGS)
AC_SUBST(GTK_VERSION)
AC_SUBST(GTK_MODVERSION,`pkg-config --modversion gtk+-$GTK_VERSION`)
+#--[ GLIB check ]---------------------------------------------------------------------------------------------------------------------------------------------
+
+PKG_CHECK_MODULES( [GLIB], [glib-2.0], AC_DEFINE(HAVE_GLIB) )
+AC_SUBST(GLIB_LIBS)
+AC_SUBST(GLIB_CFLAGS)
+
+#--[ Check DBUS ]---------------------------------------------------------------------------------------------------------------------------------------------
+
+PKG_CHECK_MODULES( [DBUS], [dbus-glib-1], AC_DEFINE(HAVE_DBUS) )
+AC_SUBST(DBUS_LIBS)
+AC_SUBST(DBUS_CFLAGS)
+
#--[ SSL ]----------------------------------------------------------------------------------------------------------------------------------------------------
PKG_CHECK_MODULES( [LIBSSL], [libssl], AC_DEFINE(HAVE_LIBSSL), AC_MSG_NOTICE([libssl not present.]) )
@@ -416,6 +429,7 @@ AC_CONFIG_FILES([
src/tools/Makefile
src/plugins/remotectl/Makefile
src/plugins/rx3270/Makefile
+ src/plugins/dbus/Makefile
man/Makefile
makegtkruntime.sh
src/sample/Makefile
diff --git a/pw3270.cbp b/pw3270.cbp
index 8f38842..45c532d 100644
--- a/pw3270.cbp
+++ b/pw3270.cbp
@@ -220,6 +220,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/plugins/dbus/Makefile.in b/src/plugins/dbus/Makefile.in
new file mode 100644
index 0000000..e1c2fdf
--- /dev/null
+++ b/src/plugins/dbus/Makefile.in
@@ -0,0 +1,117 @@
+#
+# "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
+#
+# Contatos:
+#
+# perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
+# erico.mendonca@gmail.com (Erico Mascarenhas de Mendonça)
+# licinio@bb.com.br (Licínio Luis Branco)
+# kraucer@bb.com.br (Kraucer Fernandes Mazuco)
+#
+
+#---[ Sources ]----------------------------------------------------------------
+
+MODULE_NAME=pw3270dbus
+DEPENDS=Makefile dbus-glue.h
+PLUGIN_SRC=main.c
+DAEMON_SRC=daemon.c gobject.c
+
+#---[ Paths ]------------------------------------------------------------------
+
+ROOTDIR ?= .
+OBJDIR ?= $(ROOTDIR)/.obj
+BINDIR ?= $(ROOTDIR)/.bin
+BINDBG ?= $(BINDIR)/Debug
+BINRLS ?= $(BINDIR)/Release
+
+OBJDBG = $(OBJDIR)/Debug
+OBJRLS = $(OBJDIR)/Release
+OBJEXT = o
+
+#---[ Tools ]------------------------------------------------------------------
+
+MKDIR=@MKDIR_P@
+CC=@CC@
+LD=@CC@
+DBUSBINDINGTOOL=@DBUSBINDINGTOOL@
+
+#---[ Flags ]------------------------------------------------------------------
+
+DLL_FLAGS=-shared
+DEBUG_CFLAGS=-DDEBUG=1 -g -Wall
+
+LIB3270_CFLAGS ?= `pkg-config --cflags lib3270`
+DBUS_CFLAGS=@DBUS_CFLAGS@
+GLIB_CFLAGS=@GLIB_CFLAGS@
+
+LIB3270_LIBS ?= `pkg-config --libs lib3270`
+DBUS_LIBS=@DBUS_LIBS@
+GLIB_LIBS=@GLIB_LIBS@
+
+#---[ Rules ]------------------------------------------------------------------
+
+$(OBJDBG)/%.o: %.c $(DEPENDS)
+ @echo " CC `basename $@`"
+ @$(MKDIR) `dirname $@`
+ @$(CC) $(CFLAGS) $(DBUS_CFLAGS) $(GLIB_CFLAGS) $(DEBUG_CFLAGS) $(LIB3270_CFLAGS) -o $@ -c $<
+
+$(OBJRLS)/%.o: %.c $(DEPENDS)
+ @echo " CC `basename $@`"
+ @$(MKDIR) `dirname $@`
+ @$(CC) $(CFLAGS) $(DBUS_CFLAGS) $(GLIB_CFLAGS) $(LIB3270_CFLAGS) -o $@ -c $<
+
+
+#---[ Release targets ]--------------------------------------------------------
+
+Release: $(BINRLS)/plugins/$(MODULE_NAME).so
+
+$(BINRLS)/plugins/$(MODULE_NAME).so: $(foreach SRC, $(basename $(PLUGIN_SRC)), $(OBJRLS)/$(SRC).o)
+ @echo " CCLD `basename $@`"
+ @$(MKDIR) `dirname $@`
+ @$(LD) $(DLL_FLAGS) -Wl,-soname,`basename $@` $(LDFLAGS) -o $@ $^ $(LIBS)
+
+#---[ Debug targets ]----------------------------------------------------------
+
+Debug: $(BINDBG)/plugins/$(MODULE_NAME).so $(BINDBG)/libhllapi.so
+
+$(BINDBG)/plugins/$(MODULE_NAME).so: $(foreach SRC, $(basename $(PLUGIN_SRC)), $(OBJDBG)/$(SRC).o)
+ @echo " CCLD `basename $@`"
+ @$(MKDIR) `dirname $@`
+ @$(LD) $(DLL_FLAGS) -Wl,-soname,`basename $@` $(LDFLAGS) -o $@ $^ $(LIBS) $(LIB3270_LIBS) $(GLIB_LIBS)
+
+#---[ Misc targets ]-----------------------------------------------------------
+
+debug-service: $(BINDBG)/@PACKAGE_NAME@d
+
+dbus-glue.h: pw3270dbus.xml
+ @$(DBUSBINDINGTOOL) --mode=glib-server --output=$@ --prefix=pw3270_dbus $^
+
+$(BINDBG)/@PACKAGE_NAME@d: $(foreach SRC, $(basename $(DAEMON_SRC)), $(OBJDBG)/$(SRC).o)
+ @echo " CCLD `basename $@`"
+ @$(MKDIR) `dirname $@`
+ @$(CC) $(CFLAGS) -o $@ $^ $(DBUS_LIBS) $(GLIB_LIBS) $(LIB3270_LIBS)
+
+cleandebug-service: clean
+
+clean:
+ @rm -fr $(OBJDIR)
+ @rm -fr $(BINDIR)
+ @rm -f dbus-glue.h
+ @find . -name "*~" -exec rm -f {} \;
diff --git a/src/plugins/dbus/daemon.c b/src/plugins/dbus/daemon.c
new file mode 100644
index 0000000..3580c96
--- /dev/null
+++ b/src/plugins/dbus/daemon.c
@@ -0,0 +1,104 @@
+/*
+ * "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., 51 Franklin
+ * St, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Este programa está nomeado como daemon.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)
+ * licinio@bb.com.br (Licínio Luis Branco)
+ * kraucer@bb.com.br (Kraucer Fernandes Mazuco)
+ *
+ * Referencias:
+ *
+ * https://live.gnome.org/DBusGlibBindings
+ *
+ */
+
+#include
+#include
+#include
+#include
+
+#include "service.h"
+#include "dbus-glue.h"
+
+/*---[ Globals ]---------------------------------------------------------------------------------*/
+
+ static DBusGConnection * connection = NULL;
+ static DBusGProxy * proxy = NULL;
+
+/*---[ Implement ]-------------------------------------------------------------------------------*/
+
+static gpointer dbus_register_object (DBusGConnection *connection,DBusGProxy *proxy,GType object_type,const DBusGObjectInfo *info,const gchar *path)
+{
+ GObject *object = g_object_new (object_type, NULL);
+ dbus_g_object_type_install_info (object_type, info);
+ dbus_g_connection_register_g_object (connection, path, object);
+ return object;
+}
+
+static int initialize(void)
+{
+ GError * error = NULL;
+ guint result;
+
+ connection = dbus_g_bus_get_private(DBUS_BUS_SESSION, g_main_context_default(), &error);
+ if(error)
+ {
+ g_message("Error \"%s\" getting session dbus",error->message);
+ g_error_free(error);
+ return -1;
+ }
+
+ proxy = dbus_g_proxy_new_for_name(connection,DBUS_SERVICE_DBUS,DBUS_PATH_DBUS,DBUS_INTERFACE_DBUS);
+
+ org_freedesktop_DBus_request_name(proxy, PW3270_DBUS_SERVICE, DBUS_NAME_FLAG_DO_NOT_QUEUE, &result, &error);
+
+ dbus_register_object(connection,proxy,PW3270_TYPE_DBUS,&dbus_glib_pw3270_dbus_object_info,PW3270_DBUS_SERVICE_PATH);
+
+ return 0;
+}
+
+int main(int numpar, char *param[])
+{
+ GMainLoop *loop;
+
+ g_type_init ();
+
+ if (!g_thread_supported ())
+ g_thread_init (NULL);
+
+ dbus_g_thread_init ();
+
+ loop = g_main_loop_new (NULL, FALSE);
+
+ if(initialize())
+ return -1;
+
+
+ g_main_loop_run(loop);
+
+ return 0;
+}
+
+
+
diff --git a/src/plugins/dbus/gobject.c b/src/plugins/dbus/gobject.c
new file mode 100644
index 0000000..9e995eb
--- /dev/null
+++ b/src/plugins/dbus/gobject.c
@@ -0,0 +1,78 @@
+/*
+ * "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., 51 Franklin
+ * St, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Este programa está nomeado como gobject.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)
+ * licinio@bb.com.br (Licínio Luis Branco)
+ * kraucer@bb.com.br (Kraucer Fernandes Mazuco)
+ *
+ * Referencias:
+ *
+ * https://live.gnome.org/DBusGlibBindings
+ *
+ */
+
+#include
+#include
+#include
+#include
+
+#include
+
+#include "service.h"
+
+/*---[ Globals ]---------------------------------------------------------------------------------*/
+
+
+/*---[ Implement ]-------------------------------------------------------------------------------*/
+
+G_DEFINE_TYPE(PW3270Dbus, pw3270_dbus, G_TYPE_OBJECT)
+
+static void pw3270_dbus_finalize(GObject *object)
+{
+ G_OBJECT_CLASS(pw3270_dbus_parent_class)->finalize (object);
+}
+
+
+static void pw3270_dbus_class_init(PW3270DbusClass *klass)
+{
+ GObjectClass *object_class;
+ object_class = G_OBJECT_CLASS (klass);
+ object_class->finalize = pw3270_dbus_finalize;
+}
+
+static void pw3270_dbus_init(PW3270Dbus *object)
+{
+
+}
+
+PW3270Dbus * pw3270_dbus_new(void)
+{
+ return g_object_new(PW3270_TYPE_DBUS, NULL);
+}
+
+void pw3270_dbus_get_revision(PW3270Dbus *object, DBusGMethodInvocation *context)
+{
+ dbus_g_method_return(context,PACKAGE_REVISION);
+}
diff --git a/src/plugins/dbus/main.c b/src/plugins/dbus/main.c
new file mode 100644
index 0000000..1cd8c93
--- /dev/null
+++ b/src/plugins/dbus/main.c
@@ -0,0 +1,86 @@
+/*
+ * "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., 51 Franklin
+ * St, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Este programa está nomeado como main.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)
+ * licinio@bb.com.br (Licínio Luis Branco)
+ * kraucer@bb.com.br (Kraucer Fernandes Mazuco)
+ *
+ */
+
+#include
+#include
+#include
+#include
+
+#include
+#include
+
+#include "service.h"
+#include "dbus-glue.h"
+
+/*---[ Globals ]---------------------------------------------------------------------------------*/
+
+ static DBusGConnection * connection = NULL;
+ static DBusGProxy * proxy = NULL;
+
+/*---[ Implement ]-------------------------------------------------------------------------------*/
+
+ static gpointer dbus_register_object (DBusGConnection *connection,DBusGProxy *proxy,GType object_type,const DBusGObjectInfo *info,const gchar *path)
+ {
+ GObject *object = g_object_new (object_type, NULL);
+ dbus_g_object_type_install_info (object_type, info);
+ dbus_g_connection_register_g_object (connection, path, object);
+ return object;
+ }
+
+ LIB3270_EXPORT int pw3270_plugin_init(GtkWidget *window)
+ {
+
+ GError * error = NULL;
+ guint result;
+
+ connection = dbus_g_bus_get_private(DBUS_BUS_SESSION, g_main_context_default(), &error);
+ if(error)
+ {
+ # Popup Error
+ g_message("Error \"%s\" getting session dbus",error->message);
+ g_error_free(error);
+ return -1;
+ }
+
+ proxy = dbus_g_proxy_new_for_name(connection,DBUS_SERVICE_DBUS,DBUS_PATH_DBUS,DBUS_INTERFACE_DBUS);
+
+ org_freedesktop_DBus_request_name(proxy, PW3270_DBUS_SERVICE, DBUS_NAME_FLAG_DO_NOT_QUEUE, &result, &error);
+
+ dbus_register_object(connection,proxy,PW3270_TYPE_DBUS,&dbus_glib_pw3270_dbus_object_info,PW3270_DBUS_SERVICE_PATH);
+
+ return 0;
+ }
+
+ LIB3270_EXPORT int pw3270_plugin_deinit(GtkWidget *window)
+ {
+
+ return 0;
+ }
diff --git a/src/plugins/dbus/pw3270dbus.cbp b/src/plugins/dbus/pw3270dbus.cbp
new file mode 100644
index 0000000..b1e0614
--- /dev/null
+++ b/src/plugins/dbus/pw3270dbus.cbp
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/plugins/dbus/pw3270dbus.xml b/src/plugins/dbus/pw3270dbus.xml
new file mode 100644
index 0000000..5de6d0c
--- /dev/null
+++ b/src/plugins/dbus/pw3270dbus.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/plugins/dbus/service.h b/src/plugins/dbus/service.h
new file mode 100644
index 0000000..934e086
--- /dev/null
+++ b/src/plugins/dbus/service.h
@@ -0,0 +1,42 @@
+#ifndef _PW3270_DBUS_SERVICE_H
+
+ #define _PW3270_DBUS_SERVICE_H
+
+ #include
+ #include
+ #include
+ #include
+
+ #define PW3270_DBUS_SERVICE_PATH "/br/com/bb/pw3270"
+ #define PW3270_DBUS_SERVICE "br.com.bb.pw3270"
+
+ #define PW3270_TYPE_DBUS (pw3270_dbus_get_type ())
+ #define PW3270_DBUS(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), PW3270_TYPE_DBUS, PW3270Dbus))
+ #define PW3270_DBUS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PW3270_TYPE_DBUS, PW3270DbusClass))
+ #define IS_PW3270_DBUS(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), PW3270_TYPE_DBUS))
+ #define IS_PW3270_DBUS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PW3270_TYPE_DBUS))
+ #define PW3270_DBUS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PW3270_TYPE_DBUS, PW3270DbusClass))
+
+ G_BEGIN_DECLS
+
+ typedef struct _PW3270Dbus PW3270Dbus;
+ typedef struct _PW3270DbusClass PW3270DbusClass;
+
+ struct _PW3270Dbus
+ {
+ GObject parent;
+ };
+
+ struct _PW3270DbusClass
+ {
+ GObjectClass parent;
+ };
+
+ PW3270Dbus * pw3270_dbus_new (void);
+ GType pw3270_dbus_get_type (void);
+
+ void pw3270_dbus_get_revision(PW3270Dbus *object, DBusGMethodInvocation *context);
+
+ G_END_DECLS
+
+#endif // _PW3270_DBUS_SERVICE_H
diff --git a/src/plugins/dbus/test.sh b/src/plugins/dbus/test.sh
new file mode 100755
index 0000000..564b808
--- /dev/null
+++ b/src/plugins/dbus/test.sh
@@ -0,0 +1,3 @@
+#!/bin/bash
+dbus-send --session --print-reply --dest=br.com.bb.pw3270 /br/com/bb/pw3270 br.com.bb.pw3270.getRevision
+
diff --git a/src/sample/connect.c b/src/sample/connect.c
index 367360a..0e82fc0 100644
--- a/src/sample/connect.c
+++ b/src/sample/connect.c
@@ -18,7 +18,7 @@
* programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin
* St, Fifth Floor, Boston, MA 02110-1301 USA
*
- * Este programa está nomeado como main.c e possui - linhas de código.
+ * Este programa está nomeado como connect.c e possui - linhas de código.
*
* Contatos:
*
--
libgit2 0.21.2