diff -r 989d2f495d90 -r fc9cf246af83 serviceproviders/sapi_messaging/messagingservice/src/messagingservice.cpp --- a/serviceproviders/sapi_messaging/messagingservice/src/messagingservice.cpp Fri Jul 03 15:51:24 2009 +0100 +++ b/serviceproviders/sapi_messaging/messagingservice/src/messagingservice.cpp Thu Aug 27 07:43:07 2009 +0300 @@ -20,6 +20,7 @@ #include #include #include +#include #include "messageheader.h" #include "messagingservice.h" @@ -96,6 +97,18 @@ { CMessageDetail* detailObj = NULL; + CMsvEntry * messageEntry = iMsgServerSession->GetEntryL( aMessageParam->TemplateId() ); + + CleanupStack::PushL(messageEntry); + + if ( aMessageParam->MessageType() == KSenduiMtmSmsUid && + messageEntry->Entry().iMtm == KSenduiMtmMmsUid ) + { + User::Leave( KErrNotSupported ); + } + + CleanupStack::PopAndDestroy(messageEntry); + detailObj = CMessageDetail::NewL( *iMsgServerSession ); CleanupStack::PushL( detailObj ); @@ -204,7 +217,7 @@ // EXPORT_C void CMessagingService::GetIdListL( CFilterParamInfo* aFilterParams, TMsvId /*aFolderId*/, - CMsgCallbackBase* /*aCallback*/, + CMsgCallbackBase* aCallback, CMsvEntrySelection*& aEntrySelection ) { // Hard coding for Inbox/Draft @@ -215,9 +228,19 @@ CleanupStack::PushL( obj ); + obj->SetInputParamsL(aCallback,this); + + if ( aCallback ) + { + AddAsyncObjL( aCallback->iTransactionId,obj); + } + obj->GetIdListL( folderId, aFilterParams, aEntrySelection ); - CleanupStack::PopAndDestroy( obj ); + CleanupStack::Pop( obj ); + + if ( !aCallback ) + delete obj; } EXPORT_C void CMessagingService::GetNextHeaderL( CFilterParamInfo* aFilterParams,