GNU bug report logs - #43252
27.1; DBus properties lack type hints or overrides

Previous Next

Package: emacs;

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

From: Hugh Daschbach <hugh <at> ccss.com>
To: Michael Albinus <michael.albinus <at> gmx.de>
Cc: 43252 <at> debbugs.gnu.org
Subject: bug#43252: 27.1; DBus properties lack type hints or overrides
Date: Thu, 10 Sep 2020 15:53:29 -0700
[Message part 1 (text/plain, inline)]
Michael Albinus writes:

> Michael Albinus <michael.albinus <at> gmx.de> writes:
>
> Hi Hugh,
>
>> Reading the BlueZ D-Bus GATT API description, you seem to need 
>> only
>> basic types and arrays of basic types as properties. So I will 
>> start
>> adding arrays of basic types. Other, more complex compound 
>> types will
>> follow later.

That's mostly true.  There is another BlueZ interface 
(advertising) that
take a byte keyed dictionary.  It isn't obvious from the 
documentation
https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/doc/advertising-api.txt.
But the Manufacturer ID described mentioned in the 
ManufacturerData
dictionary description is a byte value.

The property table in the BlueZ source code looks like:

	{ "ManufacturerData", "a{qv}", get_manufacturer_data, 
	NULL,
						manufacturer_data_exists 
						},

(https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/client/advertising.c#n465)

It isn't clear that there's a commitment to support such a data
structure.  The DBus info page says "Every dictionary entry has a 
string
as a key".


> I have pushed my recent work to master. dbus-register-property,
> dbus-get-property, dbus-get-all-properties and
> dbus-get-all-managed-objects shall work now for your byte
> array. dbus-set-property will follow tomorrow, as well as other 
> compound
> types but array.
>

With your latest work, I have successful tests for byte arrays, 
string
arrays, object arrays, boolean arrays, and string keyed 
dictionaries.

I haven't been able to verify property signatures programatically. 
I
have turned on dbus-debug and verified signatures reported by the
message formatter.  I assume introspection is in the queue.  With
introspection, we could extend the tests.

I assume I shouldn't care about tests that fail with debug turned 
on.

WRT byte keyed dictionaries, I've attached a failing test.  I 
don't know
if you want to look at it or not.

Still waiting for a response from assign <at> gnu.org.  I assume a 
delay of a
few days is to be expected.

Thanks again,
Hugh


[dbus-tests-dictionary.patch (text/x-patch, attachment)]

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.