Commit 49ef3fabd2378a4d610224c992aa82b4b61b7183
1 parent
77a07d94
Exists in
master
and in
1 other branch
D-Bus object path and interface name should be fixed, just the service name can change.
Showing
3 changed files
with
9 additions
and
8 deletions
Show diff stats
src/ipc3270c/linux/main.c
@@ -61,7 +61,8 @@ | @@ -61,7 +61,8 @@ | ||
61 | guint result; | 61 | guint result; |
62 | char session_id = 0; | 62 | char session_id = 0; |
63 | char id = 'a'; | 63 | char id = 'a'; |
64 | - const gchar * name = "pw3270"; | 64 | + gchar * ptr; |
65 | + const gchar * name = v3270_get_session_name(terminal); | ||
65 | 66 | ||
66 | connection = dbus_g_bus_get_private(DBUS_BUS_SESSION, g_main_context_default(), &error); | 67 | connection = dbus_g_bus_get_private(DBUS_BUS_SESSION, g_main_context_default(), &error); |
67 | if(error) | 68 | if(error) |
@@ -92,6 +93,8 @@ | @@ -92,6 +93,8 @@ | ||
92 | gboolean has_owner = FALSE; | 93 | gboolean has_owner = FALSE; |
93 | 94 | ||
94 | service_name = g_strdup_printf("br.com.bb.%s.%c",name,(int) id); | 95 | service_name = g_strdup_printf("br.com.bb.%s.%c",name,(int) id); |
96 | + for(ptr=service_name;*ptr;ptr++) | ||
97 | + *ptr = g_ascii_tolower(*ptr); | ||
95 | 98 | ||
96 | org_freedesktop_DBus_name_has_owner(proxy, service_name, &has_owner, NULL); | 99 | org_freedesktop_DBus_name_has_owner(proxy, service_name, &has_owner, NULL); |
97 | 100 | ||
@@ -132,14 +135,11 @@ | @@ -132,14 +135,11 @@ | ||
132 | 135 | ||
133 | if(session_id) | 136 | if(session_id) |
134 | { | 137 | { |
135 | - g_autofree gchar * path = g_strdup_printf("/br/com/bb/%s",name); | ||
136 | - g_autofree gchar * session = g_strdup_printf("%s:%c",name,g_ascii_toupper(session_id)); | ||
137 | 138 | ||
138 | - // pw3270_set_session_name(window,session); | ||
139 | - v3270_set_session_name(terminal,session); | 139 | + g_autofree gchar * session = g_strdup_printf("%s:%c",name,g_ascii_toupper(session_id)); |
140 | 140 | ||
141 | + static const gchar * path = "/br/com/bb/pw3270"; | ||
141 | g_message("DBUS service path is %s, session name is %s",path,session); | 142 | g_message("DBUS service path is %s, session name is %s",path,session); |
142 | - | ||
143 | pw3270_dbus_register_object(connection,proxy,PW3270_TYPE_DBUS,&dbus_glib_pw3270_dbus_object_info,path); | 143 | pw3270_dbus_register_object(connection,proxy,PW3270_TYPE_DBUS,&dbus_glib_pw3270_dbus_object_info,path); |
144 | 144 | ||
145 | } | 145 | } |
src/ipc3270c/windows/main.c
@@ -598,7 +598,7 @@ | @@ -598,7 +598,7 @@ | ||
598 | LIB3270_EXPORT int pw3270_plugin_start(GtkWidget *window, GtkWidget *terminal) | 598 | LIB3270_EXPORT int pw3270_plugin_start(GtkWidget *window, GtkWidget *terminal) |
599 | { | 599 | { |
600 | char id; | 600 | char id; |
601 | - const gchar * name = gtk_widget_get_name(window); | 601 | + const gchar * name = v3270_get_session_name(terminal); |
602 | 602 | ||
603 | for(id='A';id < 'Z';id++) | 603 | for(id='A';id < 'Z';id++) |
604 | { | 604 | { |
src/testprograms/ipc3270c.c
@@ -130,6 +130,7 @@ | @@ -130,6 +130,7 @@ | ||
130 | GModule * module = NULL; | 130 | GModule * module = NULL; |
131 | 131 | ||
132 | gtk_widget_set_name(window,session_name); | 132 | gtk_widget_set_name(window,session_name); |
133 | + v3270_set_session_name(terminal, session_name); | ||
133 | 134 | ||
134 | // Setup tabs | 135 | // Setup tabs |
135 | gtk_notebook_append_page(GTK_NOTEBOOK(notebook),terminal,gtk_label_new(v3270_get_session_name(terminal))); | 136 | gtk_notebook_append_page(GTK_NOTEBOOK(notebook),terminal,gtk_label_new(v3270_get_session_name(terminal))); |
@@ -211,7 +212,7 @@ int main (int argc, char **argv) { | @@ -211,7 +212,7 @@ int main (int argc, char **argv) { | ||
211 | 212 | ||
212 | static const GOptionEntry app_options[] = { | 213 | static const GOptionEntry app_options[] = { |
213 | { "plugin-path", 'P', 0, G_OPTION_ARG_STRING, &plugin_path, "Path for plugin search", NULL }, | 214 | { "plugin-path", 'P', 0, G_OPTION_ARG_STRING, &plugin_path, "Path for plugin search", NULL }, |
214 | - { "install", 'S', 0, G_OPTION_ARG_STRING, &session_name, "Session name", "pw3270" }, | 215 | + { "session-name", 'S', 0, G_OPTION_ARG_STRING, &session_name, "Session name", "pw3270" }, |
215 | { "module", 'm', 0, G_OPTION_ARG_STRING, &plugin_name, "Module name", "ipc3270c." G_MODULE_SUFFIX }, | 216 | { "module", 'm', 0, G_OPTION_ARG_STRING, &plugin_name, "Module name", "ipc3270c." G_MODULE_SUFFIX }, |
216 | 217 | ||
217 | { NULL } | 218 | { NULL } |