Namespaces

Variants
Actions

Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries over the next few weeks. Thanks for all your past and future contributions.

怎样才能知道某一种消息类型(MTM)

From Wiki
Jump to: navigation, search
Article Metadata

兼容于
平台: S60 1st Edition, S60 2nd Edition

文章
关键词: CMsvSession, CClientMtmRegistry
huwell 在 29 Jun 2007 创建
最后由 hamishwillee 在 22 Nov 2011 编辑
* 开发伙伴平台:

60系列开发平台 1.0/2.0


  • 概述

可以通过检查消息服务器来找到某一个MTM是否已綺连接。

通常情况下客户端应用程序不需要知道某一类型的MTM模块是否 已綺连接到了服务器程序。服务器程序会自动地装载或者卸载 需要的MTM模块,并且其实没有直接的函数可以查找相关的消息。 尽管如此,你仍然可以通过使用CClientMtmRegistry类来查找 MTM模块是否已綺被使用。这和查询某一个特定的MTM模块是否 已綺连接到了服务器效果是一样的。


  • 解决方案

首先,连接到消息服务器,打开一个客户端进程:

CMsvSession* session = CMsvSession::OpenAsyncL(*this);


创建一个CClientMtmRegistry类的对象:

CClientMtmRegistry* mtmReg;
mtmReg = CClientMtmRegistry::NewL(*session);
/* list of known MTM Uid
KUidMsgTypeSMS
KUidMsgTypeMultimedia
KUidMsgTypePOP3
KUidMsgTypeIMAP4
KUidMsgTypeSMTP
*/

if (mtmReg->IsPresent(KUidMsgTypePOP3))
{
// POP3 MTM is present
}
if (mtmReg->IsInUse(KUidMsgTypePOP3))
{
// POP3 MTM is in use
}


如果某一个MTM的UID是未知的,可以用下面的裚环来获取。

TInt mtmCount = mtmReg->NumRegisteredMtmDlls();
 
for (TInt i=0; i<mtmCount; i++)
{
TUid mtmUid = mtmReg->MtmTypeUid(i);
 
const CMtmDllInfo* mtmInfo;
 
mtmInfo = &(iMtmReg->RegisteredMtmDllInfo(mtmUid));
 
TBuf8<256> info;
 
info.Copy(mtmInfo->HumanReadableName());
}
This page was last modified on 22 November 2011, at 00:31.
51 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×