Maemo(Meego)平台上进行Qt开发



在Maemo平台进行过开发的同窗们都知道Maemo平台的不少API都是经过Dbus来提供的。咱们一般须要经过DBus来请求一个服务。
那么如何经过Qt 来请求Maemo平台上提供的服务呢? 答案就是利用QtDBus

举个例子来讲,下面的DBus请求是用来提供打电话的服务(http://wiki.maemo.org/Phone_control):
dbus-send --system --type=method_call --print-reply --dest=com.nokia.csd.Call /com/nokia/csd/call com.nokia.csd.Call.CreateWith string:"$NUMBER" uint32:0

dbus-send 是maemo平台发送DBus请求的一个工具,如今咱们改用QtDBus来完成发送请求。html

1. 首先实例化一个QDBusInterface变量:session

 QDBusInterface *   phinterface = new QDBusInterface("com.nokia.csd.Call","/com/nokia/csd/call","com.nokia.csd.Call",QDBusConnection::systemBus(),this);工具

对比一下QDBusInterface 的声明:QDBusInterface ( const QString & service, const QString & path, const QString & interface , const QDBusConnection & connection, QObject * parent )ui

你就能够知道各个参数的意义了,不过有些服务多是用sessionBus.this

2. 接下来就是发送请求了:spa

phinterface->call("CreateWith",yournum,0);.net

call的声明为call ( const QString & method, const QVariant & arg1, ...),再对比下前面那个dbus-send 命令,聪明的你确定知道怎么作了。htm

很简单,一共只有两个步骤,请求其余的服务照着作就是了。开发

相关文章
相关标签/搜索