Re: [PATCH v2 2/2] Emit Adapter.PropertyChanged when UUIDs change

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

 



Hi Johan and Luiz,

Johan Hedberg wrote:
> Hi Luiz,
> 
> On Mon, Mar 29, 2010, Luiz Augusto von Dentz wrote:
>> On Mon, Mar 29, 2010 at 11:29 AM, Marcel Holtmann <marcel@xxxxxxxxxxxx> wrote:
>>> Hi Johan,
>>>
>>>>> Emitting Adapter.PropertyChanged signal when UUIDs change. D-Bus message
>>>>> to inform that adapter properties changed.
>>>>> ---
>>>>>  src/adapter.c       |   75 ++++++++++++++++++++++++++++++++++++++++++++------
>>>>>  src/adapter.h       |    1 +
>>>>>  src/sdpd-database.c |    3 ++
>>>>>  3 files changed, 70 insertions(+), 9 deletions(-)
>>>> Thanks for the patches. In principle they look good, but I haven't
>>>> applied them yet due to one thing that looks a bit strange: both the SDP
>>>> server record UUID (0x1000) as well as the public browse group UUID
>>>> (0x1001) always show up in the UUIDs list. I wonder if there'd be any
>>>> clean way to avoid getting them into the list. Marcel, do you have any
>>>> idea about this or is it even a problem that these UUIDs are always in
>>>> the list?
>>> these UUIDs are always in the server, but not in the public browse group
>>> and we skip them on purpose. The only reason why they are always present
>>> is that the specification requires it.
>> IMO, it should be the same list as we export in extended inquiry
>> response, so perhaps we could use the data from
>> create_ext_inquiry_response which already filter those away. Perhaps
>> some refactoring could also be done since this code seems to be called
>> multiple times in case of new services because it also changes class
>> which then triggers create_ext_inquiry_response again.

I'm not so sure about it but create_ext_inquiry_response list all
services to any adapters. Shouldn't it list just services per
adapter(access_db)?

> 
> That makes quite a lot sense, and is actually what I was chatting with
> Marcel about earlier today on irc. The EIR UUIDs list does have a few
> restrictions though that the Adapter UUIDs property doesn't have, such
> as a maximum limit on the amount of UUIDs (since EIR data is quite
> limited in size), so the lists will not always be exactly the same.
> 
> You can see the creation of the EIR list in the for-loop of the
> create_ext_inquiry_response function in sdpd-service.c. The most
> important part for the Adapter UUIDs property would be the following
> code snippet which also answers the original question I had about how to
> best get rid of the unnecessary UUIDs:
> 
>        if (rec->svclass.value.uuid16 < 0x1100)
>                continue;
>        if (rec->svclass.value.uuid16 == PNP_INFO_SVCLASS_ID)
>                continue;
> 
> In addition those there's also the duplicate UUID check which I think
> the original patch was missing. So, if the same code could somehow be
> reused for EIR and the Adapter UUIDs property it'd be great. However, if
> it's too messy, the above two filters and the duplicate UUID check
> should at least be applied to the Adapter UUIDs property.

Great! That's the piece of code I was trying to find. I'll try
re-organize this code.

Thanks,
Alecrim.
--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[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