idlefw/plugins/mcsplugin/handler/inc/mcspluginhandler.h
branchRCL_3
changeset 8 d0529222e3f0
parent 0 79c6a41cd166
--- a/idlefw/plugins/mcsplugin/handler/inc/mcspluginhandler.h	Tue Feb 02 00:23:10 2010 +0200
+++ b/idlefw/plugins/mcsplugin/handler/inc/mcspluginhandler.h	Fri Feb 19 23:07:29 2010 +0200
@@ -20,8 +20,10 @@
 
 #include <mcsmenuhandlerplugin.h>
 
+
 #include <e32base.h>
 #include <viewcli.h> // For CVwsSessionWrapper
+#include <msvapi.h>  // For MMsvSessionObserver
 #ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
 #include <viewclipartner.h>
 #endif
@@ -31,6 +33,7 @@
 
 class CEikonEnv;
 class CVwsSessionWrapper;
+class CMsvSession;
 
 /**
  *  @ingroup group_mcsplugin
@@ -39,7 +42,7 @@
  *
  *  @since S60 9.1
 */
-NONSHARABLE_CLASS( CMCSPluginHandler ): public CMenuHandlerPlugin
+NONSHARABLE_CLASS( CMCSPluginHandler ): public CMenuHandlerPlugin, public MMsvSessionObserver
     {
 
 public:     // construction
@@ -92,10 +95,29 @@
         const TDesC8& aCommand,
         const TDesC8& aParams,
         TRequestStatus& aStatus );
-        
+
+public:     // from MMsvSessionObserver
+
+    /**
+     * Handles an event from the message server.
+     * Not used, but must be defined to be able to use the messaging server.
+     *
+     * @since S60 v3.2
+     * @param aEvent Indicates the event type.
+     * @param aArg1 Event type-specific argument value
+     * @param aArg2 Event type-specific argument value
+     * @param aArg3 Event type-specific argument value
+     */
+    void HandleSessionEventL( TMsvSessionEvent aEvent, TAny* aArg1, TAny* aArg2, 
+        TAny* aArg3 );
+
+    
+    
 private:    // internal
 
     void LaunchShortcutL( CMenuItem& aItem );
+    
+    TInt GetEmailAccountCountL();
 
 private:    // data
     
@@ -107,6 +129,12 @@
      */
     CVwsSessionWrapper* iVwsSession;
 
+    /**
+     * Message server session
+     * Own.
+     */
+    CMsvSession* iMsvSession;
+
     };
 
 #endif // __MCSPLUGINHANDLER_H__