From ab27b84734cf70d4281f0ad51b69564705bd720c Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Fri, 21 Dec 2018 13:34:57 -0200 Subject: [PATCH] Updating IPC object. --- src/linux/getproperties.c | 5 ++++- src/linux/gobject.c | 8 +------- src/plugin/start.c | 8 ++++++++ testscripts/introspect.sh | 7 +++++++ 4 files changed, 20 insertions(+), 8 deletions(-) create mode 100755 testscripts/introspect.sh diff --git a/src/linux/getproperties.c b/src/linux/getproperties.c index 31487ed..acac8e6 100644 --- a/src/linux/getproperties.c +++ b/src/linux/getproperties.c @@ -59,7 +59,10 @@ ipc3270_get_property (GDBusConnection *connection, if(proplist[ix].get && !g_ascii_strcasecmp(proplist[ix].name, property_name)) { // Found it! - int value = 0; // proplist[ix].get(IPC3270(user_data)->hSession); + int value = proplist[ix].get(IPC3270(user_data)->hSession); + + debug("%s=%d",property_name,value); + if(value > 0 || errno == 0) { return g_variant_new_int16((gint16) value); } diff --git a/src/linux/gobject.c b/src/linux/gobject.c index 17694a6..bc299c7 100644 --- a/src/linux/gobject.c +++ b/src/linux/gobject.c @@ -136,13 +136,7 @@ void ipc3270_set_session(GObject *object, H3270 *hSession, const char *name, GEr g_message("Got %s", object_name); - /* - gchar * widget_name = g_strdup_printf("%s:%c",gtk_widget_get_name(window),id); - v3270_set_session_name(terminal, widget_name); - g_free(widget_name); - - g_message("Got %s - %s", name, v3270_get_session_name(terminal)); - */ + lib3270_set_session_id(ipc->hSession, id); // Introspection data for the service we are exporting GString * introspection = g_string_new( diff --git a/src/plugin/start.c b/src/plugin/start.c index 62e3659..d0e1af9 100644 --- a/src/plugin/start.c +++ b/src/plugin/start.c @@ -72,9 +72,17 @@ gtk_dialog_run(GTK_DIALOG(dialog)); gtk_widget_destroy(dialog); + return 0; } + char id = lib3270_get_session_id(v3270_get_session(terminal)); + if(id) { + gchar * widget_name = g_strdup_printf("%s:%c",gtk_widget_get_name(window),id); + v3270_set_session_name(terminal, widget_name); + g_free(widget_name); + } + return 0; } diff --git a/testscripts/introspect.sh b/testscripts/introspect.sh new file mode 100755 index 0000000..f4860f1 --- /dev/null +++ b/testscripts/introspect.sh @@ -0,0 +1,7 @@ +#!/bin/bash +gdbus \ + introspect \ + --session \ + --dest=br.com.bb.pw3270.a \ + --object-path=/br/com/bb/tn3270 + -- libgit2 0.21.2