一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

MeeGo Touch服務(wù)框架

介紹

用戶進(jìn)程接口被稱這個(gè)服務(wù)框架是這樣的一種IPC機(jī)制,這個(gè)機(jī)制允許應(yīng)用單元簡便地使用或者服務(wù)于一個(gè)接口。在這個(gè)文檔,用為“使用者”,而提供者進(jìn)程接口被稱為“提供者”。

這個(gè)服務(wù)框架的目的如下:

  • 為了提供一個(gè)可簡單使用的IPC機(jī)制

  • 為了確保在服務(wù)的使用者和提供者之間沒有運(yùn)行時(shí)二進(jìn)制依賴關(guān)系               

  • 為了允許用戶在使用一個(gè)接口時(shí)不用擔(dān)心選擇或者連接到一個(gè)接口時(shí)的具體邏輯

  • 為了允許用戶能查詢提供者的列表,并且能從中選擇一個(gè)

基本的服務(wù)機(jī)制

上圖展示了當(dāng)一個(gè)服務(wù)端的用戶(SU)使用一個(gè)接口(IF)時(shí)將發(fā)生什么.

  • 服務(wù)端使用者舉例,一個(gè)接口去請求服務(wù)映射器給出實(shí)現(xiàn)那個(gè)接口的服務(wù)提供者的名稱

  • 這個(gè)服務(wù)器映射器維護(hù)著一張服務(wù)和接口之間的映射關(guān)系表(通過查看dbus服務(wù)目錄,通常為/usr/share/dbus-1/services這個(gè)目錄)同時(shí)服務(wù)器映射器還有一套選擇服務(wù)的規(guī)則.它選擇一個(gè)服務(wù),然后將服務(wù)的名稱返回給SU的接口. 

  • SU的接口接著創(chuàng)建一個(gè)正當(dāng)?shù)膁bus連接到一個(gè)已經(jīng)給出名稱的服務(wù),然后調(diào)用一個(gè)合適的方法

當(dāng)IF有一個(gè)新的SP時(shí),服務(wù)映射器就會(huì)發(fā)送一個(gè)信號(hào)給適當(dāng)?shù)腟U接口通知他們,或者如果IF沒有更多的SP,SU也會(huì)發(fā)送通知。當(dāng)有事件發(fā)生時(shí),應(yīng)用程序?qū)?huì)通過連接到在IF中的一個(gè)信號(hào)得到通知并采取相應(yīng)的動(dòng)作。例如,一個(gè)圖片應(yīng)用程序可能希望允許一個(gè)用戶通過EMAIL去發(fā)送一個(gè)照片,它可以監(jiān)聽“沒有更多的SP給IF”這個(gè)信號(hào),從而知道什么時(shí)候去使這個(gè)操作失效。

服務(wù)框架的典型使用案例

  • 從一個(gè)應(yīng)用程序的界面啟動(dòng)或顯示另一個(gè)應(yīng)用程序的指定畫面。

  • 在設(shè)備上得到一個(gè)有效的視頻內(nèi)容的列表或者縮略圖

  • 啟動(dòng)一個(gè)網(wǎng)頁瀏覽器顯示指定的頁面               

  • 從一個(gè)有效的內(nèi)容里選擇或者顯示指定圖片

  • 顯示最近的聯(lián)系人記錄

  • 顯示2042年第13個(gè)星期五的日程安排

服務(wù)框架不應(yīng)該被使用做一般的IPC通訊或者例如介于兩個(gè)小程序之間的通訊,這些應(yīng)該使用其他方法來完成,例如,使用像DuiValueSpace一樣可以提供數(shù)值改變通知的數(shù)據(jù)后端的方法。

用法

作為一個(gè)服務(wù)提供者(SP)

SP的開發(fā)者需要準(zhǔn)備2樣?xùn)|西:

二進(jìn)制文件

當(dāng)一個(gè)服務(wù)端用戶應(yīng)用程序試圖連接到這個(gè)服務(wù)時(shí),這個(gè)二進(jìn)制文件將被加載(如果它沒有正在運(yùn)行)。

接口

服務(wù)端用戶應(yīng)用程序的開發(fā)者需要的文件包括如下內(nèi)容:

  • duiservicefwbaseif.h/cpp文件,這些文件對(duì)于所有的接口層都是通用的
    duiservicefwbaseif.h文件是libdui-dev包的一部分,duiservicefwbaseif.cpp會(huì)被編譯到libdui,所以他們都是libdui0包的一部分

  • 需要給接口提供XML文件,頭文件,庫和一個(gè).serveice文件

接口特定的頭文件和接口的XML文件將共同成為maemo-interfaces-dev包的一部分,然后相應(yīng)的cpp文件需要編譯到接口特定的庫文件里面,這些庫又是maemo-interfaces包的一部分。.service文件也將會(huì)成為maemo-interfaces包的一部分。

二進(jìn)制文件

  • 創(chuàng)建一個(gè)用于定義接口的XML文件.

如果你希望一個(gè)方法連接到當(dāng)前的應(yīng)用,你可以添加一個(gè)chainTask="true"屬性到這個(gè)方法標(biāo)簽。如果你希望一個(gè)方法是異步的,你可以添加一個(gè)asyncTask="true"屬性到這個(gè)方法的標(biāo)簽里。注意這些方法必須不含有任何的'out'參數(shù)。

例如:

代碼
<!DOCTYPE node PUBLIC"-//freedesktop//DTD D-BUS Object Introspection 1.0//EN""http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<node>
<interfacename="com.nokia.TextProcessorInterface">
<methodname="reverse" chainTask="true">
<arg name="message"type="s" direction="in"/>
<arg name=""type="s" direction="out"/>
</method>
<method name="blinkScreen"asyncTask="true">
<arg name="message"type="s" direction="in"/>
</method>
</interface>
</node>

it知識(shí)庫MeeGo Touch服務(wù)框架,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产91综合 | 成人毛片在线视频 | 色综合色狠狠天天综合色 | 亚洲最大免费视频网 | 欧美精品片在线观看网站 | 激情中文网 | 成年女人免费v片 | 中文字幕一二三四 | 91精选视频 | 播放久久国产乱子伦精品 | 狠狠穞老司机的福67194 | 久久精品无码一区二区日韩av | 亚洲香蕉久久一区二区三区四区 | 青草精品视频 | 五月天堂婷婷 | 中文字幕一区二区精品区 | 激情婷婷在线 | 重福利影院 | 亚洲美女影院 | o欧美人与禽交 | 亚洲免费三区 | 高清不卡一区二区三区 | a加勒比一本东京 | 亚洲第一页中文字幕 | 精品国产免费第一区二区三区日韩 | 五月丁香六月综合缴清无码 | eeuss影院www在线观看手机 | 久久国产精品免费一区二区三区 | 国产精品一区二区久久精品涩爱 | 久久美女免费视频 | 免费伊人 | 日本韩国欧美在线 | 91在线精品老司机免费播放 | 91中文字幕视频 | 亚洲伦理中文字幕一区 | 色在线视频免费 | 国产成人精品系列在线观看 | 99视频精品全部国产盗摄视频 | 国产在线麻豆自在拍91精品 | 亚洲xx站| 日韩美女在线视频 |