QTとDBUSを使ってファイルシステムをマウントしたいのですが。この小さなスニペットを使用して、「DeviceAdded」のシグナルをサブスクライブしました。
void DBusWatcher::deviceAdded(const QDBusObjectPath &o) {
QDBusMessage call = QDBusMessage::createMethodCall("org.freedesktop.UDisks", o.path(), "org.freedesktop.DBus.Properties", "GetAll");
QList<QVariant> args;
args.append("org.freedesktop.UDisks.Device");
call.setArguments(args);
QDBusPendingReply<QVariantMap> reply = DBusConnection::systemBus().asyncCall(call);
reply.waitForFinished();
QVariantMap map = reply.value();
// ...
}
それはかなりうまくいきます。私の質問は、どうすればこれをマウントできますか?私が持っているのはこのようなものだけです-そしてそれはまったく機能しません-そしてエラーはありません。
QDBusMessage call = QDBusMessage::createMethodCall("org.freedesktop.UDisks", "dont know what to put here!", "org.freedesktop.UDisks.Device", "FilesystemMount");
そして今、QDBusConnection :: systemBus()でどのアクションを使用する必要がありますか:call、asyncCall、callWithCallback?createMethodCallの2番目の引数として何を入力する必要がありますか?何も機能しません!本当におもしろい!