--- /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 <coedef.h>
+#include <w32std.h>
+#include <bldvariant.hrh>
+#include <MSVSTD.H>
+#include <CMailMessageView.h>
+#include <MMailAppUiInterface.h>
+#include <MAgnEntryUi.h>
+#include <CMailMessage.h>
+
+// 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<CCalEntry> 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