emailservices/emailclientapi/inc/emailclientapiimpl.h
branchRCL_3
changeset 63 d189ee25cf9d
parent 16 4ce476e64c59
child 64 3533d4323edc
--- a/emailservices/emailclientapi/inc/emailclientapiimpl.h	Thu Aug 19 09:38:05 2010 +0300
+++ b/emailservices/emailclientapi/inc/emailclientapiimpl.h	Tue Aug 31 15:04:17 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* Copyright (c) 2010 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"
@@ -19,10 +19,10 @@
 #define EMAILCLIENTAPIIMPL_H
 
 
-#include <ecom/implementationinformation.h> 
+#include <implementationinformation.h> 
 #include "emailapiutils.h"
-#include "cfsmailcommon.h"
-#include "mfsmaileventobserver.h"    
+#include "CFSMailCommon.h"
+#include "MFSMailEventObserver.h"    
 #include <memailclientapi.h>
 #include "emailclientpluginmanager.h"
 
@@ -35,13 +35,13 @@
 class CFSMailPlugin;
 class TFSMailMsgId;
 class CEmailMailboxCache;
-class CFSClientAPI;
+class CFSMailClient;
 
 /**
 *  "Framework" class including plugin management
 * @since S60 v5.2
 */
-NONSHARABLE_CLASS( CEmailClientApi ) : public CBase, public MEmailClientApi, public MEmailClientPluginManager
+NONSHARABLE_CLASS( CEmailClientApi ) : public CBase, public MEmailClientApi
 {
 public:
     /**
@@ -56,30 +56,27 @@
      CEmailClientApi();       
 
 public: // from MEmailInterface
-    virtual TEmailTypeId InterfaceId() const;
+    TEmailTypeId InterfaceId() const;
     
-    virtual void Release();
+    void Release();
     
 public: // from MEmailClientApi
 
     /** @see MEmailClientApi */   
-    virtual MEmailMailbox* MailboxL( const TMailboxId& aId );
+    MEmailMailbox* MailboxL( const TMailboxId& aId );
    
     /** @see MEmailClientApi */   
-    virtual MEmailMailbox* MailboxL( const TPtrC& aAddress );
+    MEmailMailbox* MailboxL( const TPtrC& aAddress );
            
     /**
     * Gets all mailboxes in pointer array. It is recommended to free other
     * mailboxes besides needed one to optimise memory usage.
     */    
-    virtual TInt GetMailboxesL( RMailboxPtrArray& aMailboxes );
+    TInt GetMailboxesL( RMailboxPtrArray& aMailboxes );
     
     /**
     */
-    virtual void LaunchEmailL( const TLaunchPolicy aPolicy );
-    
-public: // from MEmailPluginManager
-    virtual CFSMailPlugin* GetPluginByUid(TUid aUid);    
+    void LaunchEmailL( const TLaunchPolicy aPolicy );
 
 public: // new methods
 
@@ -186,67 +183,6 @@
         // current iterator index
         TInt iIndex;
     };
-#if 0 // Not supported    
-    /**
-     * Internal helper class for handling events related to mailboxes
-     *(adding/removal/rename).
-     */
-    class CObserverHandler : public CBase, public MFSMailEventObserver
-    {
-    public:
-        static CObserverHandler* NewL( const RPluginDataArray& aArray  );
-        ~CObserverHandler();
-        CObserverHandler( const RPluginDataArray& aArray );
-        void ConstructL();
-        void AddObserverL( MMailboxEventObserver& aObserver );
-        void RemoveObserver( MMailboxEventObserver& aObserver );
-        
-    public: // from MFSMailEventObserver
-
-        virtual void EventL(TFSMailEvent aEvent, TFSMailMsgId aMailbox, TAny* aParam1, TAny* aParam2, TAny* aParam3);
-    
-    private: // new methods
-        
-        // used for finding oberver
-        static TBool Equals( const MMailboxEventObserver& a1, const MMailboxEventObserver& a2 );
-        
-        // Plugins needed when first observer subscribes events
-        void ClaimPluginsAndStartObservingL();
-        
-        // plugins can be released when last observer removed
-        void ReleasePlugins();
-                
-    private: // data
-
-        // Plugin refCount is incremented by one while any observer is 
-        // registered. This prevents plugin unloading if no other entity uses 
-        // the plugin. 
-        class TEntry
-        {
-        public:
-            inline TEntry( CPluginData& aData ) : iData( aData ), iPlugin( NULL ) {}
-            CPluginData& iData;    
-            
-            // claimed from same object where iData refers to
-            CFSMailPlugin* iPlugin;
-        };
-        
-        // plugin entry array
-        RArray<CObserverHandler::TEntry>     iEntryArray;
-        
-        // reference to CEmailClientApi::iPluginDataArray
-        const RPluginDataArray&              iPluginDataArray;
-        
-        // registered observers
-        RPointerArray<MMailboxEventObserver> iMailboxObservers;
-    };
-#endif    
-    /**
-     * Returns reference to observer handler.
-     */
-#if 0 // Not supported    
-    CEmailClientApi::CObserverHandler& ObserverHandlerL();
-#endif    
     
 private:
     // plugin data array for all protocol plugins
@@ -257,18 +193,12 @@
     
     // book keeping of loaded plugins
     RArray<TPluginData> iLoadedPluginsArray;
-    
-#if 0 // Not supported    
-    // orchestrates event monitoring and related plugin references
-    CEmailClientApi::CObserverHandler*   iObserverHandler;
-    
-#endif
-    
+       
     // Mailbox ids are cached when first time listed. Related plugin uid
     // is include in the cache.
     CEmailMailboxCache* iMailboxCache;
 
-    CFSClientAPI* iClientAPI;
+    CFSMailClient* iMailClient;
     
 };
 
@@ -299,4 +229,4 @@
 
 #endif // EMAILCLIENTAPIIMPL_H
 
-// End of file.
+// End of file