diff options
author | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2013-10-10 10:36:25 +0300 |
---|---|---|
committer | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2013-10-15 16:50:21 +0300 |
commit | fb27a707427b04e1bd3c73aa3a3dce57385e89d6 (patch) | |
tree | eb1b3ded9a33c70cf68b12bed616e1043d2ade42 /tools/obexctl.c | |
parent | 8348e53d250ebede40dee2cb1b2c703f2ef29e97 (diff) | |
download | bluez-fb27a707427b04e1bd3c73aa3a3dce57385e89d6.tar.gz |
tools/obexctl: Add destination info to prompt
Diffstat (limited to 'tools/obexctl.c')
-rw-r--r-- | tools/obexctl.c | 30 |
1 files changed, 27 insertions, 3 deletions
diff --git a/tools/obexctl.c b/tools/obexctl.c index 931ff261b..0491b514d 100644 --- a/tools/obexctl.c +++ b/tools/obexctl.c @@ -424,6 +424,29 @@ static void cmd_show(int argc, char *argv[]) print_property(proxy, "Target"); } +static void set_default_session(GDBusProxy *proxy) +{ + char *desc; + DBusMessageIter iter; + + default_session = proxy; + + if (proxy == NULL) { + desc = g_strdup(PROMPT_ON); + goto done; + } + + if (g_dbus_proxy_get_property(proxy, "Destination", &iter)) + dbus_message_iter_get_basic(&iter, &desc); + + desc = g_strdup_printf(COLOR_BLUE "[%s]" COLOR_OFF "# ", desc); + +done: + rl_set_prompt(desc); + rl_redisplay(); + g_free(desc); +} + static void cmd_select(int argc, char *argv[]) { GDBusProxy *proxy; @@ -442,7 +465,8 @@ static void cmd_select(int argc, char *argv[]) if (default_session == proxy) return; - default_session = proxy, + set_default_session(proxy); + print_proxy(proxy, "Session", NULL); } @@ -2069,7 +2093,7 @@ static void session_added(GDBusProxy *proxy) sessions = g_slist_append(sessions, proxy); if (default_session == NULL) - default_session = proxy; + set_default_session(proxy); print_proxy(proxy, "Session", COLORED_NEW); } @@ -2220,7 +2244,7 @@ static void session_removed(GDBusProxy *proxy) print_proxy(proxy, "Session", COLORED_DEL); if (default_session == proxy) - default_session = NULL; + set_default_session(NULL); sessions = g_slist_remove(sessions, proxy); } |