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());
}
No related wiki articles found