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

很簡單,一共只有兩個步驟,請求其餘的服務照着作就是了。開發

相關文章
相關標籤/搜索