+231
−0
Loading
Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more
This does 2 things. 1. refactor the work of DBus interface registration to a separated struct, i.e. InterfaceManager. 2. delay the DBus interface registration until the api is ready. The reason why (2) is needed is because in many implementations, our APIs assume the underlying libbluetooth API is ready when the DBus method is called. If we register the API to DBus before it is ready, there is a tiny window that clients could poke the API and cause crash or get an unexpected result of it. (1) is just to make implement (2) easier. Bug: 299431339 Test: mma -j 32 Test: verify adapter/media/battery interfaces are there via gdbus Test: perform mouse, kbd, headset CUJ on brya/skolas Tag: #floss Change-Id: If532032bf29b796e4fc46a68b90fa9ebc6a0756e