dbus-glib on debian lenny.

Fujitaka Daidouji fujitaka.daidouji at gmail.com
Tue Apr 14 18:43:01 PDT 2009

I have been tring to awhile now to figure this out. Tring to recieve track
information from banshee-1. The field type is Dict of {String, variant}
CurrentTrack. <-- So far I have not been successful on get information from
it. This is what I tried. The for outputs the keys from the hashtable, but
not values beside it. All the values are things like @ < ( symbols.

#include <stdio.h>
#include <dbus/dbus-glib.h>
#include <string.h>

 banshee_hash_str(GHashTable *table, const char *key, char *dest)
       GValue* value = (GValue*) g_hash_table_lookup(table, key);
       //if (value != NULL && G_VALUE_HOLDS_STRING(value)) {
       strncpy(dest, g_value_get_string(value),


static void print_hash_value (gpointer key, gpointer val, gpointer data)
  printf ("%s -> %s\n", (char *) key, (char *) val);

int main (int argc, char **argv)
  DBusGConnection *connection;
  GError *error;
  DBusGProxy *proxy;
  GHashTable* table;

 struct TrackInfo {
 char *album;
 struct TrackInfo ti;

  g_type_init ();

  error = NULL;
  connection = dbus_g_bus_get (DBUS_BUS_SESSION,
  if (connection == NULL)
      g_printerr ("Failed to open connection to bus: %s\n",
      g_error_free (error);
      exit (1);

  /* Create a proxy object for the "bus driver" (name
"org.bansheeproject.Banshee") */

  proxy = dbus_g_proxy_new_for_name (connection,



  /* Call GetCurrentTrack method, wait for reply */
  error = NULL;

  if (!dbus_g_proxy_call (proxy, "GetCurrentTrack", &error, G_TYPE_INVALID,
                           dbus_g_type_get_map("GHashTable", G_TYPE_STRING,
G_TYPE_VALUE), &table,

      g_printerr ("Error: %s\n", error->message);
      g_error_free (error);
      exit (1);

  /* Print the results */
g_hash_table_foreach (table, print_hash_value, NULL);
//banshee_hash_str(table, "album", ti->album);

  g_object_unref (proxy);

  return 0;

Using to compile it:
gcc `pkg-config --libs --cflags glib-2.0 dbus-glib-1` spammer.c

Maby someone can help me on this. Thanks.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freedesktop.org/archives/dbus/attachments/20090414/50356e99/attachment.htm 

More information about the dbus mailing list