Forum: Italian Ruby user group Problema con dbus

Posted by Walter Valenti (Guest)
on 2010-03-06 16:52
(Received via mailing list)
Ciao, premetto che conosco ancora poco Ruby.

Sto provando l'interfacciamento con dbus (su una Debian 'squeeze').

Questo è il codice di esempio: 
http://trac.luon.net/data/ruby-dbus/tutorial/basic_client.html

require 'dbus'
bus = DBus::SessionBus.instance
rb_service = bus.service("org.gnome.Rhythmbox")
rb_player = rb_service.object("/org/gnome/Rhythmbox/Player")
rb_player_iface = rb_player["org.gnome.Rhythmbox.Player"]
puts rb_player_iface.getPlayingUri


Il risultato è: 
undefined method 'getPlayingUri'  for nil:Class (NoMethodError)


E' un bug o cosa ?

Grazie
Walter
Posted by Alessandro Scolavino (ninjinka)
on 2010-03-06 20:23
Walter Valenti wrote:

> rb_player_iface = rb_player["org.gnome.Rhythmbox.Player"]
> puts rb_player_iface.getPlayingUri
> 

se fai puts rb_player.inspect cosa stampa?
Posted by Walter Valenti (waltervalenti)
on 2010-03-08 15:06
Alessandro Scolavino wrote:
> Walter Valenti wrote:
> 
>> rb_player_iface = rb_player["org.gnome.Rhythmbox.Player"]
>> puts rb_player_iface.getPlayingUri
>> 
> 
> se fai puts rb_player.inspect cosa stampa?

Problema risolto.

require 'dbus'
bus = DBus::SessionBus.instance
rb_service = bus.service("org.gnome.Rhythmbox")
rb_player = rb_service.object("/org/gnome/Rhythmbox/Player")
rb_player.introspect #### mancava questo !!!!!!!!!!!!
rb_player_iface = rb_player["org.gnome.Rhythmbox.Player"]
puts rb_player_iface.getPlayingUri
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.