Add useful missing interfaces - #8
Conversation
|
Hello @jlucier Biggest issue is that BlueZ does not provide the D-Bus XML introspection. This means we have to rely on extracting introspection from running Bluez which might not have all interfaces active or write them by hand using documentation which is very time consuming. |
|
@igo95862 I'm writing the ones I need by hand, it's not a problem. I'll mark the PR "ready for review" when I'm finished and I'm confident the interfaces are all working. Hopefully after that it can be merged. I was wondering if there was a better way to make the same interfaces available for both async and blocking. From what I've seen, there is not and the must simply be re-declared. |
I was experimenting with using |
|
@igo95862 I believe I have finished. I have my system working using these new interfaces and believe them all to be correct. This is ready for review and a merge if you see fit. Thanks. |
|
Sorry, I completely forgot about this. I will try to review it soon. |
|
I left comment about the issues I identified. By the way I had an idea to build a parser of the upstream interface documentation: https://raw.githubusercontent.com/bluez/bluez/refs/heads/master/doc/org.bluez.Agent.rst This way the interfaces won't have to be written by hand. |
|
@igo95862 Should be all resolved now! |
igo95862
left a comment
There was a problem hiding this comment.
Missing return type hints in sdbus_async/bluez/agent_api.py.
I'm working with this library to create an RFCOMM server. I'm adding missing interfaces as I'm needing them. Please let me know if there is a better way to create blocking and async interfaces than copying the code (though, that's what I've seen in python-sdbus-networkmanager as well).
I'll continue adding / editing until I have my application fully functional. So far I have:
ProfileInterfaceAsyncto default exportsAgentInterfaceAsyncAdapterInterfaceAgentManagerInterfaceProfileInterfaceProfileManagerInterface