mncnnotification.h

Go to the documentation of this file.
00001 /*
00002 * ============================================================================
00003 *  Name     : MNcnNotification.h
00004 *  Part of  : Ncn Notification API
00005 *
00006 *  Description:
00007 *       Public ECom notification API for NcnList.
00008 *  Version:
00009 *
00010 *  Copyright (C) 2006 Nokia Corporation.
00011 *  This material, including documentation and any related
00012 *  computer programs, is protected by copyright controlled by
00013 *  Nokia Corporation. All rights are reserved. Copying,
00014 *  including reproducing, storing,  adapting or translating, any
00015 *  or all of this material requires the prior written consent of
00016 *  Nokia Corporation. This material also contains confidential
00017 *  information which may not be disclosed to others without the
00018 *  prior written consent of Nokia Corporation.
00019 * ============================================================================
00020 */
00021 
00022 #ifndef __MNCNNOTIFICATION_H__
00023 #define __MNCNNOTIFICATION_H__
00024 
00025 //  INCLUDES
00026 #include <e32base.h>
00027 #include <msvstd.h>
00028 #include <bamdesca.h>
00029 #include <ecom/ECom.h>
00030 #include <ecom/EComResolverParams.h>
00031 
00032 // FORWARD DECLARATIONS
00033 
00034 // UID of this interface
00035 const TUid KNcnNotificationInterfaceUid = {0x101f8855};
00036 
00037 // CLASS DECLARATION
00038 
00082 class MNcnNotification
00083     {
00084     private: // Enumerations
00088         enum TIndicationTypeBits
00089             {
00090             /* Icon bit */
00091             EIndicationIconBit = 0x1,
00092 
00093             /* Tone bit */
00094             EIndicationToneBit = 0x2,
00095 
00096             /* Soft note bit */
00097             EIndicationSoftNoteBit = 0x4
00098             };
00099 
00100     public: // Enumerations
00104         enum TIndicationType
00105             {
00106             /* Icon indication */
00107             EIndicationIcon = EIndicationIconBit,
00108 
00109             /* Normal indication */
00110             EIndicationNormal = EIndicationIconBit | EIndicationToneBit | EIndicationSoftNoteBit,
00111 
00112             /* Tone and icon indication */
00113             EIndicationToneAndIcon = EIndicationIconBit | EIndicationToneBit
00114             };
00115 
00116     public: // Constructor and destructor
00117 
00128         static MNcnNotification* CreateMNcnNotificationL();
00129 
00133         virtual ~MNcnNotification();
00134 
00135     public: // Interface
00136 
00154         virtual TInt NewMessages( const TMsvId& aMailBox,
00155                                   TIndicationType aIndicationType,
00156                                   const MDesCArray& aInfo ) = 0;
00157 
00168         virtual TInt MarkUnread( const TMsvId& aMailBox ) = 0;
00169 
00170     private: // data
00171 
00172         // for ECom to identify plug-in instance
00173         TUid iDtor_ID_Key;
00174     };
00175 
00176 #include <MNcnNotification.inl>
00177 
00178 // __MNCNNOTIFICATION_H__
00179 #endif
00180 
00181 // End of File

Copyright © Nokia Corporation 2001-2008
Back to top