diff -r 613943a21004 -r 9386f31cc85b btobexprofiles/obexreceiveservices/btmsgviewer/src/btmsgviewerutils.cpp --- a/btobexprofiles/obexreceiveservices/btmsgviewer/src/btmsgviewerutils.cpp Tue Aug 31 15:25:10 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,166 +0,0 @@ -/* - * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "Eclipse Public License v1.0"" - * which accompanies this distribution, and is available - * at the URL "http://www.eclipse.org/legal/epl-v10.html". - * - * Initial Contributors: - * Nokia Corporation - initial contribution. - * - * Contributors: - * - * Description: - * - */ - -#include -#include -#include "btmsgviewerutils.h" - -const TInt32 KUidMsgTypeBtTInt32 = 0x10009ED5; - - -CBtMsgViewerUtils* CBtMsgViewerUtils::NewL() - { - CBtMsgViewerUtils* me = new (ELeave) CBtMsgViewerUtils(); - CleanupStack::PushL(me); - me->ConstructL(); - CleanupStack::Pop(me); - return me; - } - -CBtMsgViewerUtils::CBtMsgViewerUtils() - { - - } - -void CBtMsgViewerUtils::ConstructL() - { - iMsvSession = CMsvSession::OpenSyncL(*this); - } - -CBtMsgViewerUtils::~CBtMsgViewerUtils() - { - if ( iMsvSession ) - { - delete iMsvSession; - } - delete iMimeType; - } - -HBufC* CBtMsgViewerUtils::GetMessagePath(TInt aMessageId, TInt aError) - { - HBufC* fileName = NULL; - TRAP(aError, fileName = HBufC::NewL(KMaxPath)); - if(aError < KErrNone) - { - return fileName; - } - - TRAP(aError, GetMessagePathL(fileName->Des(), aMessageId)); - return fileName; - } - -void CBtMsgViewerUtils::GetMessagePathL(TPtr aMsgPath, const TInt aMessageId) - { - CMsvEntry* messageEntry = iMsvSession->GetEntryL(aMessageId); - CleanupStack::PushL(messageEntry); //1st push - - TMsvEntry entry = messageEntry->Entry(); - if(entry.MtmData1() == KUidMsgTypeBtTInt32) - { - CMsvStore* store = messageEntry->ReadStoreL(); - CleanupStack::PushL(store); //2nd push - - //get file handle for the attachment & the complete path of the file - RFile attachmentFile; - attachmentFile = store->AttachmentManagerL().GetAttachmentFileL(0); - CleanupClosePushL(attachmentFile); //3rd push - User::LeaveIfError(attachmentFile.FullName(aMsgPath)); - CleanupStack::PopAndDestroy(&attachmentFile); - StoreMessageMimeTypeL(aMsgPath); - - //mark attachment as Read - TMsvEntry attachEntry = messageEntry->Entry(); - attachEntry.SetUnread(EFalse); - messageEntry->ChangeL(attachEntry); - - CleanupStack::PopAndDestroy(store); - CleanupStack::PopAndDestroy(messageEntry); - } - else - { - CMsvEntry* attachmentEntry = iMsvSession->GetEntryL((*messageEntry)[0].Id()); - CleanupStack::PushL(attachmentEntry); //2nd push - - CMsvStore* store = attachmentEntry->ReadStoreL(); - CleanupStack::PushL(store); //3rd push - - //get file handle for the attachment & the complete path of the file - RFile attachmentFile; - attachmentFile = store->AttachmentManagerL().GetAttachmentFileL(0); - CleanupClosePushL(attachmentFile); - User::LeaveIfError(attachmentFile.FullName(aMsgPath)); - CleanupStack::PopAndDestroy(&attachmentFile); - StoreMessageMimeTypeL(aMsgPath); - - //mark attachment as Read - TMsvEntry attachEntry = attachmentEntry->Entry(); - attachEntry.SetUnread(EFalse); - attachmentEntry->ChangeL(attachEntry); - - CleanupStack::PopAndDestroy(store); - CleanupStack::PopAndDestroy(attachmentEntry); - CleanupStack::PopAndDestroy(messageEntry); - } - } - -void CBtMsgViewerUtils::HandleSessionEventL(TMsvSessionEvent aEvent, TAny* aArg1, - TAny* aArg2, TAny* aArg3) - { - (void) aEvent; - (void) aArg1; - (void) aArg2; - (void) aArg3; - } - -void CBtMsgViewerUtils::StoreMessageMimeTypeL(TPtr aMsgPath) - { - RFs rfs; - RFile file; - - User::LeaveIfError(rfs.Connect()); - - User::LeaveIfError(rfs.ShareProtected()); - - User::LeaveIfError(file.Open(rfs, aMsgPath, EFileShareReadersOrWriters | EFileRead)); - - TDataRecognitionResult dataType; - RApaLsSession apaSession; - - if(apaSession.Connect() == KErrNone) - { - if (apaSession.RecognizeData(file, dataType) == KErrNone) - { - if(iMimeType) - { - delete iMimeType; - iMimeType = NULL; - } - - iMimeType = dataType.iDataType.Des8().AllocL(); - - rfs.Close(); - apaSession.Close(); - } - } - - rfs.Close(); - } - -HBufC8* CBtMsgViewerUtils::GetMimeType() - { - return iMimeType; - }