diff -r 000000000000 -r 72b543305e3a email/mail/PluginSrc/icalviewer/uisrc/CICalViewer.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/email/mail/PluginSrc/icalviewer/uisrc/CICalViewer.h Thu Dec 17 08:44:11 2009 +0200 @@ -0,0 +1,152 @@ +/* +* Copyright (c) 2002-2004 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: Message Vcal view +* +*/ + + +#ifndef __CMAILMESSAGEICALVIEW_H +#define __CMAILMESSAGEICALVIEW_H + +#include +#include +#include +#include +#include +#include +#include +#include + +// FORWARD DECLARATIONS +class CEikMenuPane; +class CICalEngine; +class CMailMessage; +class CMailMessageView; +class MMailMessageView; +class MMailAppUiInterface; +class CIdle; +class TMsvEmailEntry; +class CCalenImporter; +class CICalViewerView; +class CICalAttaLoader; + +// CLASS DECLARATION + +/** +* Mail message ical viewer +* ICal message viewer plug-in. +* @since Series 60 3.0 +*/ +class CICalViewer : public CMailMessageView, MAgnEntryUiCallback + { + public: // Constructors and destructor + + /** + * NewL + * Called from the ECOM plug-in framework. + */ + static CICalViewer* NewL(); + + /** + * Destructor. + */ + ~CICalViewer(); + + + private: // constructors + + void ConstructL(); + CICalViewer(); + + public: // from MMailMessageView + + void ViewMessageL( + RFileReadStream& aReadStream, + MMailAppUiInterface& aUICallBack); + void ViewMessageL( + CMailMessage& aMessage, + MMailAppUiInterface& aUICallBack, + TUint& aParam); + void DynInitMenuPaneL(TInt aResourceId,CEikMenuPane* aMenuPane); + TBool HandleCommandL(TInt aCommand); + TKeyResponse HandleKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType); + const TDesC& ResourceFile(); + + void MessageLoadL(TInt aState, CMailMessage& aMessage); + + private: // From MAgnEntryUiCallback + + TBool IsCommandAvailable( TInt aCommandId ); + + TInt ProcessCommandWithResultL( TInt aCommandId ); + + void ProcessCommandL( TInt aCommandId ); + + private: + void CreateControlsL(); + void CreateListBoxL(); + void DoOMRViewerLaunchL(); + void DoViewMessageL( TUid aMtmUid ); + void DoGetCorrectDllDriveL( TFileName& aDriveName ); + void ParseMessageToCalEntryL(CMailMessage& aMessage); + static TInt IdleTimerCallbackL(TAny* iCalViewer); + + private: + // Ref to app UI + MMailAppUiInterface* iAppUi; + + // own: readstream for ical message + RReadStream iStream; + + // own: idle callback to launch omr viewers + CIdle* iIdleLauncher; + + // own: MR View control + CICalViewerView* iICalView; + + // own: attachment loader + CICalAttaLoader* iAttaLoad; + + // own: parsed Meeting Request entry + RPointerArray iEntries; + + // own: entry ui in params for MAgnEntryUI + MAgnEntryUi::TAgnEntryUiInParams* iEntryUiInParams; + + // own: entry ui out params for MAgnEntryUI + MAgnEntryUi::TAgnEntryUiOutParams* iEntryUiOutParams; + + // own: resource file, placed in heap due to large size + HBufC* iResourceFile; + + // For parameter parsing to entry ui params + TMsvEmailEntry iMsg; + + // Calender session + CCalSession* iSession; + + // CAgnEntryUI return value + TInt iRetVal; + + // CalenImporter + CCalenImporter* iImporter; + + // Internal status flag + TUint32 iFlags; + + }; + +#endif // CMailMessageVcalView_H + +// End of File