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 | 61 | guint result; |
62 | 62 | char session_id = 0; |
63 | 63 | char id = 'a'; |
64 | - const gchar * name = "pw3270"; | |
64 | + gchar * ptr; | |
65 | + const gchar * name = v3270_get_session_name(terminal); | |
65 | 66 | |
66 | 67 | connection = dbus_g_bus_get_private(DBUS_BUS_SESSION, g_main_context_default(), &error); |
67 | 68 | if(error) |
... | ... | @@ -92,6 +93,8 @@ |
92 | 93 | gboolean has_owner = FALSE; |
93 | 94 | |
94 | 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 | 99 | org_freedesktop_DBus_name_has_owner(proxy, service_name, &has_owner, NULL); |
97 | 100 | |
... | ... | @@ -132,14 +135,11 @@ |
132 | 135 | |
133 | 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 | 142 | g_message("DBUS service path is %s, session name is %s",path,session); |
142 | - | |
143 | 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 | 598 | LIB3270_EXPORT int pw3270_plugin_start(GtkWidget *window, GtkWidget *terminal) |
599 | 599 | { |
600 | 600 | char id; |
601 | - const gchar * name = gtk_widget_get_name(window); | |
601 | + const gchar * name = v3270_get_session_name(terminal); | |
602 | 602 | |
603 | 603 | for(id='A';id < 'Z';id++) |
604 | 604 | { | ... | ... |
src/testprograms/ipc3270c.c
... | ... | @@ -130,6 +130,7 @@ |
130 | 130 | GModule * module = NULL; |
131 | 131 | |
132 | 132 | gtk_widget_set_name(window,session_name); |
133 | + v3270_set_session_name(terminal, session_name); | |
133 | 134 | |
134 | 135 | // Setup tabs |
135 | 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 | 212 | |
212 | 213 | static const GOptionEntry app_options[] = { |
213 | 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 | 216 | { "module", 'm', 0, G_OPTION_ARG_STRING, &plugin_name, "Module name", "ipc3270c." G_MODULE_SUFFIX }, |
216 | 217 | |
217 | 218 | { NULL } | ... | ... |