emailservices/emailcommon/inc/cmailboxstateext.h
changeset 43 99bcbff212ad
parent 20 ecc8def7944a
equal deleted inserted replaced
42:139d4b7b2938 43:99bcbff212ad
     1 /*
     1 /*
     2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
     2 * Copyright (c) 2009 - 2010 Nokia Corporation and/or its subsidiary(-ies). 
     3 * All rights reserved.
     3 * All rights reserved.
     4 * This component and the accompanying materials are made available
     4 * This component and the accompanying materials are made available
     5 * under the terms of "Eclipse Public License v1.0"
     5 * under the terms of "Eclipse Public License v1.0"
     6 * which accompanies this distribution, and is available
     6 * which accompanies this distribution, and is available
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
     9 * Initial Contributors:
     9 * Initial Contributors:
    10 * Nokia Corporation - initial contribution.
    10 * Nokia Corporation - initial contribution.
    11 *
    11 *
    12 * Contributors:
    12 * Contributors:
    13 *
    13 *
    14 * Description:  Message extension interface
    14 * Description:  Mailbox state extension for notifying email protocol plugins
       
    15 *               about application state changes.
    15 *
    16 *
    16 */
    17 */
    17 
    18 
    18 #ifndef CMAILBOXSTATEEXT_H
    19 #ifndef CMAILBOXSTATEEXT_H
    19 #define CMAILBOXSTATEEXT_H
    20 #define CMAILBOXSTATEEXT_H
    28 * Data providider interface.
    29 * Data providider interface.
    29 */
    30 */
    30 class MEmailMailboxState
    31 class MEmailMailboxState
    31 {
    32 {
    32 public:
    33 public:
       
    34 // <qmail>
    33     /**
    35     /**
    34     * Returns currently active folder and related mailbox that
    36     * Returns currently active folder and related mailbox that
    35     * is currently being used.
    37     * is currently being used.
    36     * @param aActiveMailboxId id of currently active mailbox 
    38     * @param aActiveMailboxId id of currently active mailbox
       
    39     * 
    37     * @param aActiveFolderId id of currently active mail folder
    40     * @param aActiveFolderId id of currently active mail folder
       
    41     *        If aActiveFolderId.IsNullId() returns true there is no active
       
    42     *        folder. This happens if e.g. email applications is closed. 
    38     * @return Symbian OS error code
    43     * @return Symbian OS error code
    39     */
    44     */
    40     virtual TInt GetActiveFolderId( 
    45     virtual TInt GetActiveFolderId( 
    41         TFSMailMsgId& aActiveMailboxId,
    46         TFSMailMsgId& aActiveMailboxId,
    42         TFSMailMsgId& aActiveFolderId ) const = 0;
    47         TFSMailMsgId& aActiveFolderId ) const = 0;
       
    48 // </qmail>    
    43 };
    49 };
    44 
    50 
    45 /**
    51 /**
    46  * Extension interface for passing UI context data to protocol plugins. 
    52  * Extension interface for passing UI context data to protocol plugins. 
    47  */
    53  */
    48 class CMailboxStateExtension : public CEmailExtension
    54 class CMailboxStateExtension : public CEmailExtension
    49 {
    55 {
    50 public:
    56 public:
    51     
    57     
    52     /**
    58     /**
    53      * Sets data provider interface
    59      * Sets data provider interface.
    54      * @param aDataProvider data provider
    60      * @param aDataProvider data provider.
    55      */
    61      */
    56     virtual void SetStateDataProvider( MEmailMailboxState* aDataProvider ) = 0;
    62     virtual void SetStateDataProvider( MEmailMailboxState* aDataProvider ) = 0;
       
    63 // <qmail>    
       
    64     /**
       
    65     * Notification that folder has changed in email application.
       
    66     * @param aActiveMailboxId id of the mailbox container the folder
       
    67     * @param aActiveFolderId currently active folder id or null id if
       
    68     *        there's currently no active folder (e.g. application is closed)
       
    69     */
       
    70     virtual void NotifyActiveFolderChanged(
       
    71         const TFSMailMsgId& aActiveMailboxId,
       
    72         const TFSMailMsgId& aActiveFolderId) = 0;
       
    73 // </qmail>
    57 
    74 
    58 protected:    
    75 protected:    
    59     inline CMailboxStateExtension();
    76     inline CMailboxStateExtension();
    60 
    77 
    61 protected:
    78 protected:
    64 
    81 
    65 inline CMailboxStateExtension::CMailboxStateExtension() :
    82 inline CMailboxStateExtension::CMailboxStateExtension() :
    66          CEmailExtension( KEmailMailboxStateExtensionUid )
    83          CEmailExtension( KEmailMailboxStateExtensionUid )
    67     {
    84     {
    68     }
    85     }
    69          
    86 
    70 #endif // CMAILBOXSTATEEXT_H
    87 #endif // CMAILBOXSTATEEXT_H