instantmsgindicatorplugin/inc/instantmsgindicatorpluginimplementation.h
changeset 0 5e5d6b214f4f
child 14 9fdee5e1da30
equal deleted inserted replaced
-1:000000000000 0:5e5d6b214f4f
       
     1 /*
       
     2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description: this class is the implementation of the plugin
       
    15 *
       
    16 */
       
    17 // This file defines the API for imstatuspaneindicator.dll
       
    18 
       
    19 #ifndef __INSTANTMSGINDICATORPLUGINIMPLEMENTATION_H__
       
    20 #define __INSTNATMSGINDICATORPLUGINIMPLEMENTATION_H__
       
    21 
       
    22 //  Include Files
       
    23 
       
    24 #include <e32base.h>	// CBase
       
    25 #include <e32std.h>	 // TBuf
       
    26 #include <cinstantmsgindicator.h>
       
    27 #include "instantmsgindicatoruids.h"
       
    28 
       
    29 
       
    30 //Forward Declarations
       
    31 
       
    32 class CAknSmallIndicator;
       
    33 class CIMAlertManager;
       
    34 //  Class Definitions
       
    35 
       
    36 class CInstantMsgIndicatorPluginImplementation : public CInstantMsgIndicator
       
    37     {
       
    38 public:
       
    39   // new functions
       
    40     
       
    41        /**
       
    42 		 * NewLC two phase constructor.
       
    43 		 * @param aServiceId, service id
       
    44 		 */
       
    45     static CInstantMsgIndicatorPluginImplementation* NewL( );
       
    46     
       
    47         /**
       
    48 		 * NewLC two phase constructor.
       
    49 		 * @param aServiceId, service id
       
    50 		 */
       
    51     static CInstantMsgIndicatorPluginImplementation* NewLC( );
       
    52     
       
    53        /**
       
    54 		 * c++ default destructor
       
    55 		 */
       
    56     virtual ~CInstantMsgIndicatorPluginImplementation();
       
    57 
       
    58 public: 
       
    59 
       
    60 
       
    61         /**
       
    62 		 * sets/resets the status pane indicator
       
    63 		 * @param aNewMessages, new message count
       
    64 		 * @param aSeriveId, service id.
       
    65 		 * @param aSenderId, message sender id.
       
    66 		 * @param aMultipleSender, count of number of P-2_p chats.
       
    67 		 */
       
    68      void MessageInfoL(TInt aNewMessages, TInt aSeriveId, const TDesC& aSenderId, TInt aMultipleSender);
       
    69  
       
    70 
       
    71     
       
    72 private: // new functions
       
    73 
       
    74 
       
    75         /**
       
    76 		 * C++ constructor.
       
    77 		 */
       
    78         CInstantMsgIndicatorPluginImplementation();
       
    79     
       
    80         /**
       
    81 		 * Second phase construction
       
    82 		 * ConstructL
       
    83 		 */
       
    84         void ConstructL();
       
    85         
       
    86         /*
       
    87          * Show IM indicator.
       
    88          */
       
    89         void ShowIMIndicatorL(TInt aNewMessages, TInt aSeriveId, const TDesC& aSenderId, TInt aMultipleSender);
       
    90 
       
    91         /*
       
    92          * play the msg tone.
       
    93          */
       
    94         void PlayMsgToneL(TInt aNewMessages,TInt aSeriveId);
       
    95 private: // data
       
    96     
       
    97     // owned, object of status indicator.
       
    98     CAknSmallIndicator* iIndicator;
       
    99 
       
   100     CIMAlertManager* iIMAlertMgr;
       
   101     };
       
   102 
       
   103 #endif  // __INSTANTMSGINDICATORPLUGINIMPLEMENTATION_H__
       
   104