meetingrequest/mrcmailremoteattachmentplugin/inc/cmrcmailremoteattachmentplugin.h
branchRCL_3
changeset 12 4ce476e64c59
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/meetingrequest/mrcmailremoteattachmentplugin/inc/cmrcmailremoteattachmentplugin.h	Wed Mar 31 21:08:33 2010 +0300
@@ -0,0 +1,70 @@
+/*
+ * 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:  
+ *
+ */
+
+#ifndef CMRCMAILREMOTEATTPLUGIN_H
+#define CMRCMAILREMOTEATTPLUGIN_H
+
+#include <e32base.h>
+#include "ccalremoteattachmentapi.h"
+
+class CFSMailClient;
+class CMRCmailRemoteAttachmentPluginAttinfoFetcher;
+
+/**
+ * CMRCmailRemoteAttachmentPlugin is responsible for handling
+ * MR attachment downloading from MR email messages.
+ */
+NONSHARABLE_CLASS( CMRCmailRemoteAttachmentPlugin ) : 
+        public CCalRemoteAttachmentApi
+    {
+public: // Construction and destruction
+    /**
+     * Creates and initializes new CMRCmailRemoteAttachmentPlugin object.
+     * @return Pointer to CMRCmailRemoteAttachmentPlugin
+     */
+    static CMRCmailRemoteAttachmentPlugin* NewL();
+    
+    /**
+     * C++ destructor
+     */
+    ~CMRCmailRemoteAttachmentPlugin();
+    
+protected: // From CCalRemoteAttachmentApi
+    void AttachmentInfo(
+            MCalRemoteAttachmentInfo& aAttachmentInfo,
+            MDesCArray& aAttachmentUrlArray ) const;
+    
+    void DownloadAttachmentsL(
+                const RPointerArray<MCalRemoteAttachment>& aAttachments,
+                RPointerArray<MCalRemoteAttachmentOperation>& aOperations,
+                MCalRemoteAttachmentOperationObserver& aObserver );    
+
+private: // Implementation
+    CMRCmailRemoteAttachmentPlugin();
+    void ConstructL();
+    
+private:
+    /// Own: Pointer to CMAIL client object.
+    CFSMailClient* iMailClient;
+    /// Own: Attachment information fetcher
+    CMRCmailRemoteAttachmentPluginAttinfoFetcher* iAttinfoFetcher;
+    };
+
+#endif // CMRCMAILREMOTEATTPLUGIN_H
+
+// EOF
+