BlueZが提供するC言語ファイル記述子で動作

BlueZが提供するC言語ファイル記述子で動作

org.bluez.Profile1で作業しようとしていますBlueZ 5.44。 DBusメソッドを介して新しいデバイスに接続するときにNewConnection使用できるファイル記述子を取得します。私はこのファイルディスクリプタがどの状態にあるのか、そしてファイルディスクリプタを読み書きするために何をすべきかは非常に混乱しています。単に電話をかけるとread/write私は期待どおりに動作しません。

ファイルにテスト/テストプロファイル、次のPythonコード行が表示されます。

self.fd = fd.take()

take私はこの方法に対応するLinux Cを見つけようとしています。読み書きにfdを使用できるように、Cコードでこのfdを設定する方法についての提案は非常に役立ちます!

ありがとう

ベストアンサー1

私の問題は結局gdbus-codegen私が使っていたツールにありました。ツールを使用すると、各fdパラメータは実際にはインデックスGUnixFDList(オブジェクトのドキュメント)です。ここ)。GUnixFDListメソッドを渡すには、NewConnectionxmlでメソッドにコメントを付ける必要がありましたorg.gtk.GDBus.C.UnixFDここ

おすすめ記事