Dear linux-bluetooth community,
I am writing a bluetooth client in C which receives notifications from
a bluetooth device (server). I am able to call StartNotify() from the
bluez api and the Notifying property changes to true. However, I am
not sure how I should listen for the notifications, or where.
There are several questions:
a) How do I provide a callback function to this?
b) async or sync method call? Does it matter?
c) Do I need the main loop to do this and why?
Here's my source code https://pastebin.com/KEGTatsL
Is there an example? I tried looking at the different files such as
client in bluez kernel source and gatttool source, but I couldn't
figure this out.
Many thanks,
Regards,
Mihai
Hi Mihai,
On Sun, Feb 21, 2021 at 9:13 AM Mihai Emilian <[email protected]> wrote:
>
> Dear linux-bluetooth community,
>
> I am writing a bluetooth client in C which receives notifications from
> a bluetooth device (server). I am able to call StartNotify() from the
> bluez api and the Notifying property changes to true. However, I am
> not sure how I should listen for the notifications, or where.
>
> There are several questions:
> a) How do I provide a callback function to this?
> b) async or sync method call? Does it matter?
> c) Do I need the main loop to do this and why?
You will need to subscribe for signals, e.g. using g_signal_connect:
https://www.freedesktop.org/software/gstreamer-sdk/data/docs/latest/gio/GDBusProxy.html
Signals are async so typically that would be handled by a mainloop.
> Here's my source code https://pastebin.com/KEGTatsL
>
> Is there an example? I tried looking at the different files such as
> client in bluez kernel source and gatttool source, but I couldn't
> figure this out.
>
> Many thanks,
> Regards,
> Mihai
--
Luiz Augusto von Dentz