Re: [PATCH v4 1/6] att: add remote btd_device to ATT read/write callbacks

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

 



Hey Johan,

On Wed, Mar 21, 2012 at 14:43, Johan Hedberg <johan.hedberg@xxxxxxxxx> wrote:
>> > On Mon, Mar 19, 2012, Arik Nemtsov wrote:
>> >> -     uint8_t (*read_cb)(struct attribute *a, gpointer user_data);
>> >> -     uint8_t (*write_cb)(struct attribute *a, gpointer user_data);
>> >> +     uint8_t (*read_cb)(struct attribute *a, gpointer user_data,
>> >> +                             gpointer device);
>> >> +     uint8_t (*write_cb)(struct attribute *a, gpointer user_data,
>> >> +                             gpointer device);
>> >
>> > Why is device a gpointer and not a struct btd_device *?
>>
>> Well att.h is a self contained include file (also used in gatttool for
>> example).
>
> How then could any of these callbacks receive a pointer to btd_device
> when used in gatttool? And if they're not used in gatttool it seems like
> some refactoring may be in place here (i.e. there should be be a
> library-like .h file and then something else for stuff which is bound to
> bluetoothd-internal constructs (like btd_device).

They are not used in gatttool. I guess you're right - we can move the
"struct attribute" definition to some other file, which will include
device.h. Any comments on naming?
How about attrib/att-bluez.h ?

>
>> That means there would have to be at least a forward declaration for
>> btd_device.  If we go down that road, it gets tricky, since we depend
>> on the include order of att.h and device.h. This can maybe be solved
>> with ifdef tricks, but I thinking leaving att.h self contained is the
>> better option here.
>
> In general we try to avoid double-include protections in internal .h
> files. The convention is that .c files just have to include the
> dependencies.

Ok.

Regards,
Arik
--
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