emailservices/emailserver/cmailhandlerplugin/inc/cmailcpssettings.h
branchRCL_3
changeset 8 e1b6206813b4
parent 2 5253a20d2a1e
child 10 f5907b1a1053
--- a/emailservices/emailserver/cmailhandlerplugin/inc/cmailcpssettings.h	Tue Feb 02 00:02:40 2010 +0200
+++ b/emailservices/emailserver/cmailhandlerplugin/inc/cmailcpssettings.h	Fri Feb 19 22:37:30 2010 +0200
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2008 - 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* Copyright (c) 2008 - 20010 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"
@@ -20,6 +20,7 @@
 #define CMAILCPSSETTINGS_H_
 
 class CRepository;
+class CMailExternalAccount;
 
 /*
  * Callback interface for observer
@@ -79,6 +80,13 @@
     RArray<TFSMailMsgId>& Mailboxes();
 
     /**
+     * Gets array of external mailboxes from widget settings
+     * @param aAccounts on completion, contains the necessary information of
+     * external mailboxes that currently should have a widget
+     */
+    void GetExtMailboxesL( RPointerArray<CMailExternalAccount>& aAccounts );
+
+    /**
      * Adds mailbox to widget settings
      * Method ensures that same mailbox is not added again, if it happens
      * to exist already in the settings. If already exists, method simply returns without
@@ -150,9 +158,10 @@
     TInt32 Configuration();
 
     /**
-     * 
+     * Return total number of all native mailboxes in the system
      */
-    TInt GetTotalMailboxCount();
+    TInt TotalIntMailboxCount();
+
 
     /**
      * 
@@ -169,6 +178,16 @@
      */    
     void RemoveFromContentIdListL( const TDesC& aContentId );
 
+    /**
+     *
+     */
+    void ToggleWidgetNewMailIconL( TBool aIconOn, const TFSMailMsgId& aMailBox ); 
+
+    /**
+     *
+     */    
+    TBool GetNewMailState( const TFSMailMsgId& aMailBox );
+    
 protected:
     /**
      * From CActive
@@ -228,6 +247,13 @@
      * @param aKeys array of keys
      */
     void GetMailboxNonZeroKeysL( RArray<TUint32>& aKeys );
+    
+    /**
+     * Gets all the external mailbox identifiers
+     * @param on completion, contains an array of cenrep keys that have an external
+     * account specified (i.e. not empty) 
+     */
+    void GetExtMailboxNonZeroKeysL( RArray<TUint32>& aKeys );
 
     /**
      * 
@@ -240,6 +266,8 @@
      */	
     TUint32 GetSettingToAssociate();
     
+    CMailExternalAccount* GetExtMailboxL( TInt aKey );
+    
 private: // data
     // reference to mailclient
     CFSMailClient&            iMailClient;