天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

MeeGo Touch服務框架

介紹

用戶進程接口被稱這個服務框架是這樣的一種IPC機制,這個機制允許應用單元簡便地使用或者服務于一個接口。在這個文檔,用為“使用者”,而提供者進程接口被稱為“提供者”。

這個服務框架的目的如下:

  • 為了提供一個可簡單使用的IPC機制

  • 為了確保在服務的使用者和提供者之間沒有運行時二進制依賴關系               

  • 為了允許用戶在使用一個接口時不用擔心選擇或者連接到一個接口時的具體邏輯

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

基本的服務機制

上圖展示了當一個服務端的用戶(SU)使用一個接口(IF)時將發生什么.

  • 服務端使用者舉例,一個接口去請求服務映射器給出實現那個接口的服務提供者的名稱

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

  • SU的接口接著創建一個正當的dbus連接到一個已經給出名稱的服務,然后調用一個合適的方法

當IF有一個新的SP時,服務映射器就會發送一個信號給適當的SU接口通知他們,或者如果IF沒有更多的SP,SU也會發送通知。當有事件發生時,應用程序將會通過連接到在IF中的一個信號得到通知并采取相應的動作。例如,一個圖片應用程序可能希望允許一個用戶通過EMAIL去發送一個照片,它可以監聽“沒有更多的SP給IF”這個信號,從而知道什么時候去使這個操作失效。

服務框架的典型使用案例

  • 從一個應用程序的界面啟動或顯示另一個應用程序的指定畫面。

  • 在設備上得到一個有效的視頻內容的列表或者縮略圖

  • 啟動一個網頁瀏覽器顯示指定的頁面               

  • 從一個有效的內容里選擇或者顯示指定圖片

  • 顯示最近的聯系人記錄

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

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

用法

作為一個服務提供者(SP)

SP的開發者需要準備2樣東西:

二進制文件

當一個服務端用戶應用程序試圖連接到這個服務時,這個二進制文件將被加載(如果它沒有正在運行)。

接口

服務端用戶應用程序的開發者需要的文件包括如下內容:

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

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

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

二進制文件

  • 創建一個用于定義接口的XML文件.

如果你希望一個方法連接到當前的應用,你可以添加一個chainTask="true"屬性到這個方法標簽。如果你希望一個方法是異步的,你可以添加一個asyncTask="true"屬性到這個方法的標簽里。注意這些方法必須不含有任何的'out'參數。

例如:

代碼
<!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知識庫MeeGo Touch服務框架,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 91久久偷偷看嫩草影院无费 | 99视频精品全部免费免费观 | 小sao货水好多真紧h的视频 | 天天影视香色欲综合网 | 久久精品天天中文字幕 | 国产精品美女久久久网站动漫 | 男人插女人动态 | 清晨紧湿爱运动h高h | 日韩欧美一区二区三区免费看 | 国产亚洲精品久久777777 | 最近日本MV字幕免费观看在线 | 久久se视频精品视频在线 | 久久精品国产欧美成人 | 免费精品美女久久久久久久久 | 激情内射亚州一区二区三区爱妻 | 美女也烦恼主题曲 | 亚洲精品国产熟女久久久 | 亚洲一卡二卡三卡四卡2021麻豆 | 芳草地在线观看免费视频 | 色丁香婷婷综合缴情综 | 久久精麻豆亚洲AV国产品 | 521人成a天堂v | 欧美视频 亚洲视频 | gay吊粗大双龙 | 麻豆精品传媒卡一卡二传媒短视频 | 国内精品久久人妻无码HD浪潮 | 极品网红液液酱粉嫩福利照子凌酱 | 美女脱三角裤 | 亚洲 欧美 中文字幕 在线 | 亚洲中文字幕欧美自拍一区 | 免费在线视频一区 | 国产精品久久久久影院色老大 | 被送到黑人性奴俱乐部 | 综合人妻久久一区二区精品 | 日本漫画母亲口工子全彩 | 伊人色啪啪天天综合婷婷 | 美国z0069| hdsexvideos中国明星 | 簧片高清在线观看 | 日韩欧美一区二区三区免费观看 | 伊人久久大香线蕉综合bd高清 |