在Symbian系統裏,Messaging屬於很複雜的一個模塊,涉及到的概念非常多。這裏只是介紹一些簡單的,及常用的概念。至於其它一些概念,如果以後有機會再另起文闡述。
1. Messaging包含什麼
Symbian系統將與消息收發相關的內容都抽象到了Messaging這個模塊。像短信、彩信、電子郵件等。具體表現在手機上就是“信息”這個菜單裏面的內容。Messaging實現了SMS, MMS, POP, SMTP等協議,並將它們封閉到MTM的框架當中。同時,開發者也可以用Messaging模塊的框架實現自己的協議。
2. 什麼是MTM
MTM是Symbian定義的一個Messaging框架。通過這個框架,你可以實現自己的通信協議,UI,及Client Application。這個框架限定了你能做什麼,你必須做什麼。
3. 什麼是Entry
Entry是Messaging中很基本的一個概念,表示一個條目。它可以是信息,目錄,甚至服務(協議)。這些在Symbian中都被抽象成一個Entry。所有的Entry被組織成一個樹形結構。
4. 基本數據結構
CMsvEntry: Entry類。這個類封裝了Entry的基本操作,包括拷貝,移動,刪除等。該類的每一個對象就表示樹形結構中的一個Entry。通過它的類方法,可以遍歷到樹形結構中的每一個Entry。
TMsvId:爲了更方便地表示一個Entry, Symbian將每一個Entry都對應一個ID。ID的類型就是TMsvId。例如Root就對應KMsvRootIndexEntryId。
CMsvStore:消息存儲類,保存了Entry的數據,保存的數據格式取決於消息服務,服務數據項使用消息存儲保存服務配置信息,文件夾數據項不使用消息存儲。
TMsvEntry:爲了節省內存和快速檢索消息,消息服務器把數據項的一些概要信息(標題,日期,類型,ID等)寫到消息索引中,當消息服務器啓動時將索引裝載到RAM中直到消息服務器關閉,Symbian提供了TMsvEntry類表示數據項的索引。每一個Entry都有一個對應的TMsvEntry索引對象。
CMsvSession:會話類,建立消息客戶端和服務端之間的通信。
MMsvSessionObserver:會話觀察者類,一個Session可以註冊一個或多個Observer。Observer提供了響應特定事件的接口,當Session有該事件發生時,會通知對應的Observer。