Re: mesh: org.bluez.mesh.Element.MessageReceived method does not provide destination address

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Michal, Brian,
On Mon, 2019-09-30 at 09:18 +0200, michal.lowas-rzechonek@xxxxxxxxxxx
wrote:
> Brian, Inga,
> 
> On 09/27, Gix, Brian wrote:
> > > For a single MessageReceived() method, the cleanest way is to
> > > have the
> > > subscription address parameter as a variant (suggested by Michal)
> > > or as
> > > a dictionary.
> > > An array introduces an extra consideration of byte ordering for
> > > group
> > > addresses.
> > 
> > If variants are easy to sort in scripting languages like python3,
> > than I
> > suppose I could live with this.
> 
> Last time I checked, it was C that had issues with  any type of
> 'dynamic' typing, so I wouldn't worry about client languages.
> Handling
> D-Bus variants in python is trivial.
> 
> > Or is this still a two step process of:
> > 1. Determining the u16 vs u128
> > 1.1 unmarshalling the correct type...
> > 
> > What would the signature of the method look like?
> 
> Something like this:
> 
> 	void MessageReceived(uint16 source, uint16 key_index,
> 					 variant destination,
> array{byte} data)
> 
> and on the Python side, the handling would look somewhat like this
> (since Python doesn't do overloading, at all):
> 
> class ElementInterface:
> 	def MessageReceived(source, key_index, destination, data):
> 	    if type(destination) == dbus.types.UINT16:
> 	        group_destination = destination
> 	    elif type(destination) == dbus.types.ARRAY:
> 	        virtual_destination = uuid.UUID(destination)
> 	    else:
> 	        raise DBusError('Unrecoenized destination type')
> 
> > > What I mostly about is that the represenation of the subscription
> > > address in the MessageReceived() method corresponds to the
> > > representation in the configuration dictionaries for the Attach()
> > > and
> > > UpdateModelConfiguration() methods.
> 
> Agreed.
> 


I am fine with this version.
Regards,
Inga

Attachment: smime.p7s
Description: S/MIME cryptographic signature


[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux