comparison src/libaudclient/audctrl.c @ 3900:44ab3d6057da

implement audacious_get_tuple_field_data().
author William Pitcock <nenolod@atheme.org>
date Tue, 06 Nov 2007 12:23:24 -0600
parents f3341c2d6b9e
children 2bb32f15569e
comparison
equal deleted inserted replaced
3899:2c768d923bcf 3900:44ab3d6057da
962 * 962 *
963 * Return value: The requested field's data for the entry in the playlist at %pos position. 963 * Return value: The requested field's data for the entry in the playlist at %pos position.
964 **/ 964 **/
965 gchar *audacious_get_tuple_field_data(DBusGProxy *proxy, gchar *field, 965 gchar *audacious_get_tuple_field_data(DBusGProxy *proxy, gchar *field,
966 guint pos) { 966 guint pos) {
967 //XXX 967 GValue value;
968 g_clear_error(&error); 968 gchar *s = NULL;
969 return NULL; 969
970 } 970 org_atheme_audacious_song_tuple(proxy, pos, field, &value, &error);
971 971
972 g_clear_error(&error);
973
974 if (G_IS_VALUE(&value) == FALSE)
975 return NULL;
976
977 if (G_VALUE_HOLDS_STRING(&value))
978 s = g_strescape(g_value_get_string(&value), NULL);
979 else if (g_value_type_transformable(G_VALUE_TYPE(&value), G_TYPE_STRING))
980 {
981 GValue tmp_value = {};
982
983 g_value_init(&tmp_value, G_TYPE_STRING);
984 g_value_transform(&value, &tmp_value);
985
986 s = g_strescape(g_value_get_string(&tmp_value), NULL);
987
988 g_value_unset(&tmp_value);
989 }
990 else
991 s = g_strdup("<unknown type>");
992
993 g_value_unset(&value);
994
995 return s;
996 }
997