tools/obexctl: Add generator for session/transfer 33/205033/1
authorERAMOTO Masaya <eramoto.masaya@jp.fujitsu.com>
Thu, 28 Dec 2017 05:44:23 +0000 (14:44 +0900)
committerAmit Purwar <amit.purwar@samsung.com>
Mon, 29 Apr 2019 04:15:07 +0000 (09:45 +0530)
Change-Id: I4c4470c84bab90759a0b1ac1199503f82c4cf5bf
Signed-off-by: Amit Purwar <amit.purwar@samsung.com>
tools/obexctl.c

index d72f33e..70be9c1 100755 (executable)
@@ -83,6 +83,27 @@ static void disconnect_handler(DBusConnection *connection, void *user_data)
        bt_shell_set_prompt(PROMPT_OFF);
 }
 
+static char *generic_generator(const char *text, int state, GList *source)
+{
+       static int index = 0;
+
+       if (!state) {
+               index = 0;
+       }
+
+       return g_dbus_proxy_path_lookup(source, &index, text);
+}
+
+static char *session_generator(const char *text, int state)
+{
+       return generic_generator(text, state, sessions);
+}
+
+static char *transfer_generator(const char *text, int state)
+{
+       return generic_generator(text, state, transfers);
+}
+
 static void connect_reply(DBusMessage *message, void *user_data)
 {
        DBusError error;
@@ -1786,14 +1807,21 @@ static const struct bt_shell_menu main_menu = {
        .name = "main",
        .entries = {
        { "connect",      "<dev> [uuid]", cmd_connect, "Connect session" },
-       { "disconnect",   "[session]", cmd_disconnect, "Disconnect session" },
+       { "disconnect",   "[session]", cmd_disconnect, "Disconnect session",
+                                               session_generator },
        { "list",         NULL,       cmd_list, "List available sessions" },
-       { "show",         "[session]", cmd_show, "Session information" },
-       { "select",       "<session>", cmd_select, "Select default session" },
-       { "info",         "<object>", cmd_info, "Object information" },
-       { "cancel",       "<transfer>", cmd_cancel, "Cancel transfer" },
-       { "suspend",      "<transfer>", cmd_suspend, "Suspend transfer" },
-       { "resume",       "<transfer>", cmd_resume, "Resume transfer" },
+       { "show",         "[session]", cmd_show, "Session information",
+                                               session_generator },
+       { "select",       "<session>", cmd_select, "Select default session",
+                                               session_generator },
+       { "info",         "<object>", cmd_info, "Object information",
+                                               transfer_generator },
+       { "cancel",       "<transfer>", cmd_cancel, "Cancel transfer",
+                                               transfer_generator },
+       { "suspend",      "<transfer>", cmd_suspend, "Suspend transfer",
+                                               transfer_generator },
+       { "resume",       "<transfer>", cmd_resume, "Resume transfer",
+                                               transfer_generator },
        { "send",         "<file>",   cmd_send, "Send file" },
        { "pull",         "<file>",   cmd_pull,
                                        "Pull Vobject & stores in file" },