Commit 49ef3fabd2378a4d610224c992aa82b4b61b7183

Authored by Perry Werneck
1 parent 77a07d94
Exists in master and in 1 other branch develop

D-Bus object path and interface name should be fixed, just the service name can change.

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