meetingrequest/mrtasks/src/cesmrforwardasfsmailtask.cpp
branchRCL_3
changeset 16 4ce476e64c59
parent 13 0396474f30f5
child 17 8592a65ad3fb
--- a/meetingrequest/mrtasks/src/cesmrforwardasfsmailtask.cpp	Mon Mar 15 12:39:10 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,296 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Implementation for forwarding mr as email
-*
-*/
-
-#include "emailtrace.h"
-#include "cesmrforwardasfsmailtask.h"
-
-#include <caluser.h>
-#include <calentry.h>
-#include <bautils.h>
-#include <coemain.h>
-#include <f32file.h>
-#include <coeaui.h>
-//<cmail>
-#include "FreestyleEmailUiConstants.h"
-//</cmail>
-#include "tesmrinputparams.h"
-
-#include "cesmrcaldbmgr.h"
-#include "mesmrmeetingrequestentry.h"
-#include "cesmrmailplaitextformatter.h"
-#include "cesmrcalimportexporter.h"
-#include "cesmrfsemailmanager.h"
-#include "cesmrcaluserutil.h"
-#include "esmrinternaluid.h"
-#include "esmrhelper.h"
-
-// Unnamed namespace for local definitions
-namespace {
-
-//<cmail> remove hardcoded paths
-// Literal for temporary iCal meeting path
-//_LIT( KTemporaryIcsPath, "c:\\temp\\" ); //codescanner::driveletters
-//</cmail>
-
-// Literal for temporary iCal meeting file
-//<cmail> remove hardcoded paths
-//_LIT( KTemporaryIcsFullName, 
-//	  "c:\\temp\\meeting.ics" ); //codescanner::driveletters
-_LIT( KTemporaryIcsName, "temp\\meeting.ics" );
-//</cmail>
-
-#ifdef _DEBUG
-
-// Literal for panics
-_LIT( KESMRForwardAsFSMail, "ESMRForwardAsFSMail" );
-
-// Panic codes
-enum TESMRForwardAsFSMailPanic
-    {
-    EESMRForwardAsFSMailCoeNull,
-    EESMRForwardAsFSMailAppUiNull,
-    EESMRForwardCannotBeTriggeredFromMail
-    };
-
-// ---------------------------------------------------------------------------
-// Raises system panic.
-// ---------------------------------------------------------------------------
-//
-void Panic( TESMRForwardAsFSMailPanic aPanic )
-    {
-    User::Panic( KESMRForwardAsFSMail, aPanic );
-    }
-
-#endif // _DEBUG
-
-}
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CESMRForwardAsFSMailTask::CESMRForwardAsFSMailTask
-// ---------------------------------------------------------------------------
-//
-CESMRForwardAsFSMailTask::CESMRForwardAsFSMailTask(
-        MESMRCalDbMgr& aCalDbMgr,
-        MESMRMeetingRequestEntry& aEntry,
-        CMRMailboxUtils& aMRMailboxUtils )
-:   CESMRTaskBase( aCalDbMgr, aEntry, aMRMailboxUtils )
-    {
-    FUNC_LOG;
-    //do nothing
-    }
-
-// ---------------------------------------------------------------------------
-// CESMRForwardAsFSMailTask::~CESMRForwardAsFSMailTask
-// ---------------------------------------------------------------------------
-//
-CESMRForwardAsFSMailTask::~CESMRForwardAsFSMailTask()
-    {
-    FUNC_LOG;
-    delete iEntryToSend;
-    delete iCaluserUtil;
-    delete iEmailMgr;
-    }
-
-// ---------------------------------------------------------------------------
-// CESMRForwardAsFSMailTask::NewL
-// ---------------------------------------------------------------------------
-//
-CESMRForwardAsFSMailTask* CESMRForwardAsFSMailTask::NewL(
-        MESMRCalDbMgr& aCalDbMgr,
-        MESMRMeetingRequestEntry& aEntry,
-        CMRMailboxUtils& aMRMailboxUtils )
-    {
-    FUNC_LOG;
-    CESMRForwardAsFSMailTask* self =
-        new (ELeave) CESMRForwardAsFSMailTask(
-            aCalDbMgr,
-            aEntry,
-            aMRMailboxUtils );
-
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CESMRForwardAsFSMailTask::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CESMRForwardAsFSMailTask::ConstructL()
-    {
-    FUNC_LOG;
-    BaseConstructL();
-    iEmailMgr = CESMRFSEMailManager::NewL( MailboxUtils() );
-    }
-
-// ---------------------------------------------------------------------------
-// CESMRForwardAsFSMailTask::ExecuteTaskL
-// ---------------------------------------------------------------------------
-//
-void CESMRForwardAsFSMailTask::ExecuteTaskL()
-    {
-    FUNC_LOG;
-    iEntryToSend = ESMREntry().ValidateEntryL();
-    iCaluserUtil = CESMRCalUserUtil::NewL( *iEntryToSend );
-
-    TESMRInputParams startupparams;
-    TBool isEmail = ESMREntry().StartupParameters(startupparams);
-
-    // This command cannot be triggered from email
-    __ASSERT_DEBUG( !isEmail, Panic(EESMRForwardCannotBeTriggeredFromMail) );
-
-    if(isEmail)
-        {
-        // This command cannot be triggered from email
-        User::Leave( KErrNotSupported );
-        }
-
-    // Create mail message:
-    ConstructMailL();
-
-    // Save the message to drafts folder:
-    iEmailMgr->StoreMessageToDraftsFolderL();
-
-    // Launch FS EMail Editor:
-    LaunchFSEmailEditorL();
-    }
-
-// ---------------------------------------------------------------------------
-// CESMRSendMRFSMailTask::ConstructMailL
-// ---------------------------------------------------------------------------
-//
-void CESMRForwardAsFSMailTask::ConstructMailL()
-    {
-    FUNC_LOG;
-    // create text formatter:
-    CESMRMailPlainTextFormatter* textFormatter =
-            CESMRMailPlainTextFormatter::NewLC(MailboxUtils());
-
-    // Prepare email manager for sending
-    CCalUser *mailboxUser = iEntryToSend->PhoneOwnerL();
-    iEmailMgr->PrepareForSendingL(
-            ESMRHelper::AddressWithoutMailtoPrefix(mailboxUser->Address() ) );
-
-    // set the email subject:
-    HBufC* subject =
-            textFormatter->Subject16LC(
-                    *iEntryToSend,
-                    ETrue,
-                    EFalse );
-    iEmailMgr->SetSubjectL(*subject);
-    CleanupStack::PopAndDestroy(subject);
-    subject = NULL;
-
-    iEmailMgr->CreateTextPlainPartL( KNullDesC() );
-
-    CreateTemporaryMeetingFileL();
-    iEmailMgr->StoreMessageToDraftsFolderL();
-
-    CleanupStack::PopAndDestroy( textFormatter );
-    }
-
-// ---------------------------------------------------------------------------
-// CESMRSendMRFSMailTask::CreateTemporaryMeetingFileL
-// ---------------------------------------------------------------------------
-//
-void CESMRForwardAsFSMailTask::CreateTemporaryMeetingFileL()
-    {
-    FUNC_LOG;
-    CCoeEnv* coe = CCoeEnv::Static();
-
-    __ASSERT_DEBUG( coe, Panic(EESMRForwardAsFSMailCoeNull) );
-
-    if ( !coe )
-        {
-        User::Leave( KErrNotSupported );
-        }
-
-    RFs& fs = coe->FsSession();
-
-    // Ensure that path exists
-    //<cmail> hardcoded paths removal
-    /*TInt err = fs.MkDirAll( KTemporaryIcsPath );
-    if ( KErrAlreadyExists != err )
-        {
-        User::LeaveIfError( err );
-        }*/
-    //</cmail>
-
-    RFile calendarFile;
-    //<cmail>hard coded paths removal
-    TFileName fileName(KTemporaryIcsName);
-    User::LeaveIfError(ESMRHelper::CreateAndAppendPrivateDirToFileName(fileName));
-    TInt err = calendarFile.Replace(
-                fs,
-                fileName,
-                EFileWrite );
-    //</cmail>
-    if ( KErrNone != err )
-        User::LeaveIfError( err );
-
-    CleanupClosePushL( calendarFile );
-
-    CESMRCalImportExporter* calExporter = CESMRCalImportExporter::NewLC();
-    HBufC8* calendarText = calExporter->ExportToICal8LC( *iEntryToSend );
-
-    calendarFile.Write( *calendarText );
-    calendarFile.Flush();
-
-    // calendarText, calExporter and calendarFile
-    CleanupStack::PopAndDestroy( 3, & calendarFile);
-    iEmailMgr->SetAttachmentL( fileName );//<cmail>
-    }
-
-// ---------------------------------------------------------------------------
-// CESMRSendMRFSMailTask::LaunchFSEmailEditorL
-// ---------------------------------------------------------------------------
-//
-TInt CESMRForwardAsFSMailTask::LaunchFSEmailEditorL()
-    {
-    FUNC_LOG;
-    CCoeEnv* coe = CCoeEnv::Static();
-    __ASSERT_DEBUG( coe, Panic(EESMRForwardAsFSMailCoeNull) );
-
-    CCoeAppUi* appui = coe->AppUi();
-    __ASSERT_DEBUG( appui, Panic(EESMRForwardAsFSMailAppUiNull) );
-
-    // fill params
-    TEditorLaunchParams params;
-    params.iActivatedExternally = ETrue;
-    params.iMailboxId = iEmailMgr->MailboxId();
-    params.iFolderId = iEmailMgr->MessageFolderId();
-    params.iMsgId = iEmailMgr->MessageId();
-
-    TVwsViewId viewId(
-            KFSEmailUiUid,
-            MailEditorId );
-    TUid editorCommand = TUid::Uid( KEditorCmdOpen );
-    TPckgC<TEditorLaunchParams> buf( params );
-
-    appui->ActivateViewL(
-            viewId,
-            editorCommand,
-            buf );
-
-    return KErrNone;
-    }
-
-//EOF
-