On Thu, 2007-08-16 at 20:26 +0200, Tomasz Torcz wrote: > On Thu, Aug 16, 2007 at 06:32:32PM +0100, Alex Jones wrote: > > > > On Thu, 2007-08-16 at 19:00 +0200, Nicolas Trangez wrote: > > > On Thu, 2007-08-16 at 18:05 +0100, Alex Jones wrote: > > > > media_player_proxy = dbus_g_proxy_new_for_name (connection, > > > > "org.gnome.Rhythmbox", > > > > "/org/gnome/Rhythmbox, > > > > "org.gnome.MediaPlayer"); // Any random interface here > > > > > > > > error = NULL; > > > > dbus_g_proxy_call (proxy, "Pause", &error, G_TYPE_INVALID, G_TYPE_INVALID); > > > Remains the issue: "I want to pause the currently playing music player. > > > Now I wonder what it's object path is." > > > You can hardly keep a list of all known object paths (RB, Totem, > > > Banshee, whatever) in your application-which-wants-to-pause-the-player. > > > > > > Nicolas > > > > We are getting hideously off topic, but this is something that can be > > stored in GConf as a "preferred media player" key: > > "Preferred" player is something different than "currently playing > player". Wanted to reply this but couldn't find out a good way to write it down :-) We should be able to get "a list of all objects on the bus implementing org.foo.Bar". But at this moment this is not possible, unless you use some central registration facility, as I demonstrated about a year ago. It's a pretty complex problem, which could be somewhat solved by keeping track of implemented interface information in the DBus daemon, but afaik that isn't done atm and I guess it won't be accepted either. Nicolas
Attachment:
signature.asc
Description: This is a digitally signed message part