Qt に DBus サービスを実装する必要があります。このサービスは、特定の仕様に従うかなり複雑なデータを返す必要があります。データは基本的に、テスト済みの一連のマップ、配列、構造、およびその他のバリアントです。
これらすべてをメソッドからの返信に詰め込む便利な方法が見つかりません。QDBusArgument
これにはクラスを使用できるはずです。たとえば、文字列の配列を作成するには、次のようにする必要があります。
QDBusArgument arg;
arg.beginArray( qMetaTypeId<QString>());
arg << "Hello" << "World";
arg.endArray();
QVariant var = arg.asVariant();
しかし、それはうまくいきません。QList
手動でバリアントの sを苦労して構築する必要があるようです。確かにもっと良い方法がありますか?