Skip to content

Commit

Permalink
tools/bluetooth-player: Add list command
Browse files Browse the repository at this point in the history
Add support for list command which can be used to list available players
  • Loading branch information
Vudentz committed Jun 10, 2013
1 parent ccc7d67 commit 37f085a
Showing 1 changed file with 35 additions and 24 deletions.
59 changes: 35 additions & 24 deletions tools/bluetooth-player.c
Original file line number Diff line number Diff line change
Expand Up @@ -289,12 +289,47 @@ static void cmd_rewind(int argc, char *argv[])
rl_printf("Rewind playback\n");
}

static char *player_description(GDBusProxy *proxy, const char *description)
{
const char *path;

path = g_dbus_proxy_get_path(proxy);

return g_strdup_printf("%s%s%sPlayer %s ",
description ? "[" : "",
description ? : "",
description ? "] " : "",
path);
}

static void print_player(GDBusProxy *proxy, const char *description)
{
char *str;

str = player_description(proxy, description);

rl_printf("%s%s\n", str, default_player == proxy ? "[default]" : "");

g_free(str);
}

static void cmd_list(int argc, char *arg[])
{
GSList *l;

for (l = players; l; l = g_slist_next(l)) {
GDBusProxy *proxy = l->data;
print_player(proxy, NULL);
}
}

static const struct {
const char *cmd;
const char *arg;
void (*func) (int argc, char *argv[]);
const char *desc;
} cmd_table[] = {
{ "list", NULL, cmd_list, "List available players" },
{ "play", NULL, cmd_play, "Start playback" },
{ "pause", NULL, cmd_pause, "Pause playback" },
{ "stop", NULL, cmd_stop, "Stop playback" },
Expand Down Expand Up @@ -515,30 +550,6 @@ static guint setup_standard_input(void)
return source;
}

static char *player_description(GDBusProxy *proxy, const char *description)
{
const char *path;

path = g_dbus_proxy_get_path(proxy);

return g_strdup_printf("%s%s%sPlayer %s ",
description ? "[" : "",
description ? : "",
description ? "] " : "",
path);
}

static void print_player(GDBusProxy *proxy, const char *description)
{
char *str;

str = player_description(proxy, description);

rl_printf("%s%s\n", str, default_player == proxy ? "[default]" : "");

g_free(str);
}

static void player_added(GDBusProxy *proxy)
{
players = g_slist_append(players, proxy);
Expand Down

0 comments on commit 37f085a

Please sign in to comment.