summaryrefslogtreecommitdiff
path: root/tools/obexctl.c
diff options
context:
space:
mode:
authorLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2013-10-10 10:36:25 +0300
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2013-10-15 16:50:21 +0300
commitfb27a707427b04e1bd3c73aa3a3dce57385e89d6 (patch)
treeeb1b3ded9a33c70cf68b12bed616e1043d2ade42 /tools/obexctl.c
parent8348e53d250ebede40dee2cb1b2c703f2ef29e97 (diff)
downloadbluez-fb27a707427b04e1bd3c73aa3a3dce57385e89d6.tar.gz
tools/obexctl: Add destination info to prompt
Diffstat (limited to 'tools/obexctl.c')
-rw-r--r--tools/obexctl.c30
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);
}