diff --git a/tools/bluetooth-player.c b/tools/bluetooth-player.c
index b22de27..0ab8cab 100644
--- a/tools/bluetooth-player.c
+++ b/tools/bluetooth-player.c
static DBusConnection *dbus_conn;
static GDBusProxy *default_player;
-static GSList *players = NULL;
-static GSList *folders = NULL;
-static GSList *items = NULL;
+static GList *players = NULL;
+static GList *folders = NULL;
+static GList *items = NULL;
static void connect_handler(DBusConnection *connection, void *user_data)
{
bt_shell_printf("Play successful\n");
}
-static GDBusProxy *find_item(const char *path)
-{
- GSList *l;
-
- for (l = items; l; l = g_slist_next(l)) {
- GDBusProxy *proxy = l->data;
-
- if (strcmp(path, g_dbus_proxy_get_path(proxy)) == 0)
- return proxy;
- }
-
- return NULL;
-}
-
static void cmd_play_item(int argc, char *argv[])
{
GDBusProxy *proxy;
- proxy = find_item(argv[1]);
+ proxy = g_dbus_proxy_lookup(items, NULL, argv[1],
+ BLUEZ_MEDIA_ITEM_INTERFACE);
if (proxy == NULL) {
bt_shell_printf("Item %s not available\n", argv[1]);
return;
static void cmd_list(int argc, char *arg[])
{
- GSList *l;
+ GList *l;
- for (l = players; l; l = g_slist_next(l)) {
+ for (l = players; l; l = g_list_next(l)) {
GDBusProxy *proxy = l->data;
print_player(proxy, NULL);
}
}
-static GDBusProxy *find_player(const char *path)
-{
- GSList *l;
-
- for (l = players; l; l = g_slist_next(l)) {
- GDBusProxy *proxy = l->data;
-
- if (strcmp(path, g_dbus_proxy_get_path(proxy)) == 0)
- return proxy;
- }
-
- return NULL;
-}
-
static void print_iter(const char *label, const char *name,
DBusMessageIter *iter)
{
print_iter("\t", name, &iter);
}
-static GDBusProxy *find_folder(const char *path)
-{
- GSList *l;
-
- for (l = folders; l; l = g_slist_next(l)) {
- GDBusProxy *proxy = l->data;
-
- if (strcmp(path, g_dbus_proxy_get_path(proxy)) == 0)
- return proxy;
- }
-
- return NULL;
-}
-
static void cmd_show_item(int argc, char *argv[])
{
GDBusProxy *proxy;
- proxy = find_item(argv[1]);
+ proxy = g_dbus_proxy_lookup(items, NULL, argv[1],
+ BLUEZ_MEDIA_ITEM_INTERFACE);
if (!proxy) {
bt_shell_printf("Item %s not available\n", argv[1]);
return;
proxy = default_player;
} else {
- proxy = find_player(argv[1]);
+ proxy = g_dbus_proxy_lookup(players, NULL, argv[1],
+ BLUEZ_MEDIA_PLAYER_INTERFACE);
if (!proxy) {
bt_shell_printf("Player %s not available\n", argv[1]);
return;
print_property(proxy, "Position");
print_property(proxy, "Track");
- folder = find_folder(g_dbus_proxy_get_path(proxy));
+ folder = g_dbus_proxy_lookup(folders, NULL,
+ g_dbus_proxy_get_path(proxy),
+ BLUEZ_MEDIA_FOLDER_INTERFACE);
if (folder == NULL)
return;
dbus_message_iter_get_basic(&iter, &path);
- item = find_item(path);
+ item = g_dbus_proxy_lookup(items, NULL, path,
+ BLUEZ_MEDIA_ITEM_INTERFACE);
if (item == NULL)
return;
{
GDBusProxy *proxy;
- proxy = find_player(argv[1]);
+ proxy = g_dbus_proxy_lookup(players, NULL, argv[1],
+ BLUEZ_MEDIA_PLAYER_INTERFACE);
if (proxy == NULL) {
bt_shell_printf("Player %s not available\n", argv[1]);
return;
if (check_default_player() == FALSE)
return;
- proxy = find_folder(g_dbus_proxy_get_path(default_player));
+ proxy = g_dbus_proxy_lookup(folders, NULL,
+ g_dbus_proxy_get_path(default_player),
+ BLUEZ_MEDIA_FOLDER_INTERFACE);
if (proxy == NULL) {
bt_shell_printf("Operation not supported\n");
return;
if (check_default_player() == FALSE)
return;
- proxy = find_folder(g_dbus_proxy_get_path(default_player));
+ proxy = g_dbus_proxy_lookup(folders, NULL,
+ g_dbus_proxy_get_path(default_player),
+ BLUEZ_MEDIA_FOLDER_INTERFACE);
if (proxy == NULL) {
bt_shell_printf("Operation not supported\n");
return;
if (check_default_player() == FALSE)
return;
- proxy = find_folder(g_dbus_proxy_get_path(default_player));
+ proxy = g_dbus_proxy_lookup(folders, NULL,
+ g_dbus_proxy_get_path(default_player),
+ BLUEZ_MEDIA_FOLDER_INTERFACE);
if (proxy == NULL) {
bt_shell_printf("Operation not supported\n");
return;
{
GDBusProxy *proxy;
- proxy = find_item(argv[1]);
+ proxy = g_dbus_proxy_lookup(items, NULL, argv[1],
+ BLUEZ_MEDIA_ITEM_INTERFACE);
if (proxy == NULL) {
bt_shell_printf("Item %s not available\n", argv[1]);
return;
static void player_added(GDBusProxy *proxy)
{
- players = g_slist_append(players, proxy);
+ players = g_list_append(players, proxy);
if (default_player == NULL)
default_player = proxy;
static void folder_added(GDBusProxy *proxy)
{
- folders = g_slist_append(folders, proxy);
+ folders = g_list_append(folders, proxy);
print_folder(proxy, COLORED_NEW);
}
static void item_added(GDBusProxy *proxy)
{
- items = g_slist_append(items, proxy);
+ items = g_list_append(items, proxy);
print_item(proxy, COLORED_NEW);
}
if (default_player == proxy)
default_player = NULL;
- players = g_slist_remove(players, proxy);
+ players = g_list_remove(players, proxy);
}
static void folder_removed(GDBusProxy *proxy)
{
- folders = g_slist_remove(folders, proxy);
+ folders = g_list_remove(folders, proxy);
print_folder(proxy, COLORED_DEL);
}
static void item_removed(GDBusProxy *proxy)
{
- items = g_slist_remove(items, proxy);
+ items = g_list_remove(items, proxy);
print_item(proxy, COLORED_DEL);
}