--- 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 <msvstd.h>
#include <msvapi.h>
#include <msvids.h>
+#include <senduiconsts.h>
#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,