-
Notifications
You must be signed in to change notification settings - Fork 48
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
service side: interface must be optional for methods if unambiguous #45
Comments
Thanks for the report!
It is true that
|
As the error message is trying to tell you (Interface "" of ... does not exist), ruby-dbus requires method names to be qualified with the interface name. So this works:
Also, ruby-dbus as the caller is able to fill in the interface from the introspection data (see PR #35), but as I've just realized on rereading the specification, that's a wrong place to fix it since the service should handlle it:
So I will fix that. |
Funny thing, the newest release of the DBus specification (0.23 from yesterday) no longer requires that a missing interface works. It is discussed in bug#68597. But I'll fix it anyway. |
If I create the service from the example, I get the following on the command line
╰─➤ qdbus org.ruby.service /org/ruby/MyInstance
signal void org.ruby.SampleInterface.SomethingJustHappened(QString toto, uint tutu)
method void org.ruby.SampleInterface.hello(QString name, QString name2)
method void org.ruby.SampleInterface.test_variant(QDBusVariant stuff)
method QString org.ruby.AnotherInterface.Reverse(QString instr)
method void org.ruby.AnotherInterface.ThatsALongMethodNameIThink()
Notice there is no introspect method. Also, I can't call any of the methods, I get the following error:
╰─➤ qdbus org.ruby.service /org/ruby/MyInstance Reverse "yay"
Error: org.freedesktop.DBus.Error.UnknownMethod
Interface "" of object "/org/ruby/MyInstance" doesn't exist
I have created multiple service, in different applications, but still keep getting this error. When the method genuinely doesn't exist, there is another different error saying it cannot be found.
The text was updated successfully, but these errors were encountered: