我在DBus上运行一个守护进程,它为启动应用程序提供服务。我想将两个字符串传递给此服务API(appPath,appArgs)。我已经用DBus注册了服务和对象路径。
我的服务方法被调用,但我在服务中没有正确接收参数()。这是我从我的适配器类
中做的call(QDBus::Block, QLatin1String("LaunchApp"), appPath, appArgs);
这就是我的界面的样子。
" <interface name=\"com.company.AppLauncher\" >\n"
" <method name=\"LaunchApp\">\n"
" <arg name=\"appPath\" type=\"s\" direction=\"in\"/>\n"
" <arg name=\"appArgs\" type=\"s\" direction=\"in\"/>\n"
" </method> \n"
我如何实现这一目标?
答案 0 :(得分:1)
我用它来调用具有不同类型参数的方法:
QString appPath("somepath");
QString appArgs("somargs");
QList<QVariant> argumentList;
QVariant argument;
argument.setValue(appPath);
argumentList.append(argument);
argument.setValue(appArgs);
argumentList.append(argument);
callWithArgumentList(QDBus::Block,"LaunchApp",argumentList);