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 } | ... | ... |