diff -r d189ee25cf9d -r 3533d4323edc meetingrequest/mricalviewer/inc/cesmricalvieweremailasynccmd.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/meetingrequest/mricalviewer/inc/cesmricalvieweremailasynccmd.h Wed Sep 01 12:28:57 2010 +0100 @@ -0,0 +1,91 @@ +/* +* 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: Execuing email specific command asynchronously +* +*/ + + +#ifndef CESMRICALVIEWEREMAILASYNCCMD_H +#define CESMRICALVIEWEREMAILASYNCCMD_H + +#include "cesmricalviewerasynccommand.h" +// +#include "mesmricalviewerobserver.h" +#include "esmricalvieweropcodes.hrh" +#include "mesmricalviewercallback.h" +// + +class CFSMailClient; + + +/** + * Command for triggering asynchronous fs_email command into execution. + * FS_Email notifies after commad completion via MESMRIcalViewerObserver + * interface. + */ +NONSHARABLE_CLASS( CESMRIcalViewerEmailAsyncCmd ) : + public CESMRIcalViewerAsyncCommand, + public MESMRIcalViewerObserver + { +public: // Construction and destruction + + /** + * Creates and initializes new CESMRIcalViewerEmailAsyncCmd command. + * @param aOperation Operation to be executed. + * @param aCalSession Reference to calendar session. + * @param aCallback Reference to ESMRIcalViewer callback + */ + static CESMRIcalViewerEmailAsyncCmd* NewL( + TESMRIcalViewerOperationType aOperation, + CCalSession& aCalSession, + MESMRIcalViewerCallback& aCallback ); + + /** + * C++ Destructor + */ + ~CESMRIcalViewerEmailAsyncCmd(); + +public: // From MESMRIcalViewerObserver + void OperationCompleted( + MESMRIcalViewerObserver::TIcalViewerOperationResult aResult ); + void OperationError( + MESMRIcalViewerObserver::TIcalViewerOperationResult aResult ); + +public: // From MAgnEntryUiCallback + void ProcessCommandL(TInt aCommandId); + TInt ProcessCommandWithResultL( TInt aCommandId ); + TBool IsCommandAvailable( TInt aCommandId ); + +private: // From MESMRIcalViewerAsyncCommand + void ExecuteAsyncCommandL(); + void CancelAsyncCommand(); + +private: // Implementation + CESMRIcalViewerEmailAsyncCmd( + TESMRIcalViewerOperationType aOperation, + CCalSession& aCalSession, + MESMRIcalViewerCallback& aCallback ); + void ConstructL(); + +private: // Data + /// Own: Email operation to be executed + TESMRIcalViewerOperationType iOperation; + /// Ref: Reference to ESMRIcalViewer callback + MESMRIcalViewerCallback& iCallback; + }; + +#endif // CESMRICALVIEWEREMAILASYNCCMD_H + +// EOF +