With the audio plugin split there is no longer a need to have a .conf
file and anyway any configuration should be put in main.conf under
plugin name group.
It was defined four hook types and they are run before/after the first
part of default command processing and send event. Note that hook return
will define if the emulator will process/send next events (calling the
default_cmd_completion() function or not).
Now like cmd_command(), cmd_status() directly uses send_packet() instead
of send_event(), consequently cmd_status() must build the hci packet
without help of send_event(). With this change the events sent by
default_cmd() no more use send_event(), who is a good place to run hooks
for BTDEV_HOOK_POST_EVT. And the functions cmd_command() and
cmd_status() can run hooks for BTDEV_HOOK_POST_CMD.
Now except for command complete event and command status event, all
other are handled by default_cmd_completion(). With this we can easily
add hooks in some points.
Previously, if no callback was given to gatt_write_char(), it was
assumed that a "Write Without Response" (which uses Write Command)
should be used instead of Write Request.
This "shortcut" is unnecessary (there is gatt_write_cmd() for the
situations where Write Without Response is required) and just duplicates
code.
This commit also fixes the few places where gatt_write_cmd() should be
used.
The old name referred to the underlying ATT PDU (Find Information
Request and Find Information Response) and not to the actual GATT
procedure (Discover All Characteristic Descriptors).
Passing the special character single quote:
$gatttool -I
[ ][ ][LE]> '
Segmentation fault (core dumped)
Checking g_shell_parse_argv fail status (return FALSE on failure), works
fine.
We are currently compiling gdbus 3 times: one for tests, one for
bluetoothd and another for obexd.
$ ls gdbus/*watch.o
gdbus/bluetoothd-watch.o gdbus/obexd-watch.o gdbus/watch.o
Instead of prepending $(gdbus_sources) to several _SOURCES variable, use
a convenience library.
Previously the value of "authorize" was essentially ignored in the
settings table. This wasn't very noticeable since almost all profiles
use the default true value. Since the default value of "authorize" is
true it cannot be left out from the default settings table entries
(leaving it out would set it implicitly to false).
According to open() manual one should include <sys/stat.h>.
This fix build with bionic library:
target thumb C: libbluetoothd <= external/bluetooth/bluez/src/attrib-server.c
external/bluetooth/bluez/src/attrib-server.c: In function 'write_value':
external/bluetooth/bluez/src/attrib-server.c:922:26: error: 'S_IRUSR'
undeclared (first use in this function)
external/bluetooth/bluez/src/attrib-server.c:922:26: note: each undeclared
identifier is reported only once for each function it appears in
external/bluetooth/bluez/src/attrib-server.c:922:36: error: 'S_IWUSR'
undeclared (first use in this function)