--- 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__