diff -r 000000000000 -r 72b543305e3a email/imum/Mtms/Src/SmtpPreCreationOpBase.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/email/imum/Mtms/Src/SmtpPreCreationOpBase.cpp Thu Dec 17 08:44:11 2009 +0200 @@ -0,0 +1,125 @@ +/* +* Copyright (c) 2006 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: +* Class implementation file +* +*/ + +#include + +#include "SmtpPreCreationOpBase.h" +#include "EmailPreCreation.h" +#include "ImumMtmLogging.h" + + + +CSmtpPreCreationOpBase::~CSmtpPreCreationOpBase() + { + IMUM_CONTEXT( CSmtpPreCreationOpBase::~CSmtpPreCreationOpBase, 0, KImumMtmLog ); + IMUM_IN(); + + Cancel(); + delete iOperation; + delete iPreCreate; + delete iMtmStore; + delete iMailboxApi; + iMailboxApi = NULL; + IMUM_OUT(); + } + + +const TDesC8& CSmtpPreCreationOpBase::ProgressL() + { + IMUM_CONTEXT( CSmtpPreCreationOpBase::ProgressL, 0, KImumMtmLog ); + IMUM_IN(); + + if(iOperation) + { + IMUM_OUT(); + return iOperation->ProgressL(); + } + IMUM_OUT(); + return iProgress; + } + + +void CSmtpPreCreationOpBase::DoCancel() + { + IMUM_CONTEXT( CSmtpPreCreationOpBase::DoCancel, 0, KImumMtmLog ); + IMUM_IN(); + + if(iOperation) + { + iOperation->Cancel(); + } + // complete observer and itself + TRequestStatus* status = &iObserverRequestStatus; + User::RequestComplete(status, KErrCancel); + status = &iStatus; + if( ( *status ) == KRequestPending ) + { + User::RequestComplete(status, KErrCancel); + } + IMUM_OUT(); + + } + + +void CSmtpPreCreationOpBase::CompleteObserver() + { + IMUM_CONTEXT( CSmtpPreCreationOpBase::CompleteObserver, 0, KImumMtmLog ); + IMUM_IN(); + + TRequestStatus* status = &iObserverRequestStatus; + User::RequestComplete(status, KErrNone); + IMUM_OUT(); + } + + +void CSmtpPreCreationOpBase::CompleteThis() + { + IMUM_CONTEXT( CSmtpPreCreationOpBase::CompleteThis, 0, KImumMtmLog ); + IMUM_IN(); + + TRequestStatus* status = &iStatus; + User::RequestComplete(status, KErrNone); + IMUM_OUT(); + } + + +CSmtpPreCreationOpBase::CSmtpPreCreationOpBase(CMsvSession& aMsvSession, TInt aPriority, TRequestStatus& aObserverRequestStatus) +: CMsvOperation(aMsvSession, aPriority, aObserverRequestStatus) + { + IMUM_CONTEXT( CSmtpPreCreationOpBase::CSmtpPreCreationOpBase, 0, KImumMtmLog ); + IMUM_IN(); + + CActiveScheduler::Add(this); + IMUM_OUT(); + } + + +void CSmtpPreCreationOpBase::ConstructL() + { + IMUM_CONTEXT( CSmtpPreCreationOpBase::ConstructL, 0, KImumMtmLog ); + IMUM_IN(); + + iMailboxApi = CreateEmailApiL( &iMsvSession ); + iPreCreate = CEmailPreCreation::NewL( *iMailboxApi ); + iMtmStore = CMtmStore::NewL(iMsvSession); + iObserverRequestStatus = KRequestPending; + IMUM_OUT(); + } + + +