QtDbus昇格dbus-sendとdbus-monitorの使用

2391 ワード

dbus-sendとdbus-monitorはよく使われるdbusコマンドラインテスト、リスニングツールの例1、dbus-sendを利用してリモートサーバのmethodを呼び出す.コマンドが長すぎるため3行に分かれている.
dbus-send --session --dest=com.123.display --type=method_call --print-reply 
/com/123/display com.123.display.setDisplay
byte:0x01 byte:0x01 byte:0x01 byte:0x01 byte:0x01

送信タイプがセッションであることを指定し、リモートサーバ名を–destで指定します.–typeはsignalかmethod_かを指定します.call,–print-replayは、受信メッセージを印刷することを示し、/com/123/displayはdbusサーバのpath、comである.123.display.setDisplayはinterfaceです.name,interfaceの名前はcom.123.display、method関数名はsetDisplayで、全部で5バイト転送されました.dbus-sendではbyteがucharです.2、dbus-sendを利用してsignalを送信する
dbus-send --session --type=signal /com/123/camera com.123.camera.onCamera byte:0x01

サーバ名を指定せず、戻りパラメータがなければ追加する必要はありません–print-reply 3、dbus-sendはバイト配列を送信することもできます
dbus-send --session --type=signal /com/123/camera com.123.display.pasStateData 
array:byte:0x01,0x01,0x01,0x01,0x01,0x01,0x01

4、dbus-monitorを利用してメッセージを傍受する
dbus-monitor interface=com.123.display

ここでは傍受のinterfaceをcomと指定する.123.display