GNU bug report logs -
#43252
27.1; DBus properties lack type hints or overrides
Previous Next
Reported by: Hugh Daschbach <hugh <at> ccss.com>
Date: Mon, 7 Sep 2020 00:55:02 UTC
Severity: normal
Found in version 27.1
Done: Michael Albinus <michael.albinus <at> gmx.de>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Hugh Daschbach <hugh <at> ccss.com> writes:
Hi Hugh,
> The attached script generates two boolean properties, then issues a
> GetManagedObjects method call. The two properties are not returned,
> though they are in the registered objects table.
Thanks for the heads up. There was still a small thinko in
dbus-managed-objects-handler which I haven't noticed, because in my
tests I have registered both methods and properties in parallel. I've
pushed a fix to master, including extension of dbus-tests.el (which
shall prevent this problem to reappear silently).
> The script also drops an elisp ‘dbus-get-all-managed-objects’ request
> in
> the *scratch* buffer. If I execute that, I get a similar failure to
> #43251. That may not be surprising.
Sure. I haven't worked on this yet.
> I’m working an a more comprehensive test that registers the variety of
> types I need to support. I’ll post that when I have something worth
> looking at. I’d like to present that in a form compatible with
> dbus-test.el rather than throw more one off scripts at you. So give
> me
> a bit.
That would be great! I'll happily add your tests to
dbus-tests.el. However, this would be a contribution to Emacs. For
contributions exceeding ~15 lines, every contributor shall sign the
legal papers from the FSF. Would you be willing to do?
> I think the mechanism you implemented works well for simple types. Is
> there a mechanism to specify the signature for an empty compound type?
> I need arrays and dictionaries of various types.
Until now, the implementation allows only basic D-Bus types for
properties. Nobody has asked for more so far :-)
I could extend this for complex types. Since this will require internal
changes of data structures, it might take some days.
An empty array could be specified by the element's signature, like
(:array :signature "{sv}"). See the D-Bus manual via
(info "(dbus) Type Conversion")
> For something like a byte array, I expect I’ll need to interleave the
> :byte type between each value in the array. Correct?
Yes.
> Thanks,
> Hugh
Best regards, Michael.
This bug report was last modified 4 years and 229 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.