mobilemessaging/smsui/viewerinc/MsgSmsViewerAppUi.h
changeset 0 72b543305e3a
child 18 fbb813aef148
equal deleted inserted replaced
-1:000000000000 0:72b543305e3a
       
     1 /*
       
     2 * Copyright (c) 2002 - 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:  
       
    15 *      Sms Viewer
       
    16 *
       
    17 */
       
    18 
       
    19 
       
    20 
       
    21 #ifndef MSGSMSVIEWERAPPUI_H
       
    22 #define MSGSMSVIEWERAPPUI_H
       
    23 
       
    24 //  INCLUDES
       
    25 #include <MsgEditorAppUi.h>             // CMsgEditorAppUi
       
    26 #include <msgbiocontrolObserver.h>
       
    27 #include <RPbkViewResourceFile.h>
       
    28 #include <PhCltTypes.h>                 // PhCltTypes
       
    29 #include "MsgSmsViewerPan.h"            // panic-codes
       
    30 #include <centralrepository.h>
       
    31 #include <cenrepnotifyhandler.h>
       
    32 
       
    33 #include <AknNaviDecoratorObserver.h>
       
    34 
       
    35 #ifdef RD_SCALABLE_UI_V2
       
    36 #include <akntoolbarobserver.h>
       
    37 #endif
       
    38 // FUNCTION PROTOTYPES
       
    39 GLREF_C void Panic(TMsgSmsPanic aPanic); 
       
    40 
       
    41 // FORWARD DECLARATIONS
       
    42 class CAknNavigationDecorator;
       
    43 class CAknNavigationControlContainer;
       
    44 class CSmsSettings;
       
    45 class CFindItemMenu;
       
    46 class CAiwServiceHandler;
       
    47 class CAiwGenericParamList;
       
    48 class CGmsWrapper;
       
    49 class CMsgBioBodyControl;
       
    50 class CEikRichTextEditor;
       
    51 class CSmsHeader;
       
    52 class CMsgVoIPExtension;
       
    53 class CSendUi;
       
    54 class CMsgExpandableControl;
       
    55 class CAknLocalScreenClearer;
       
    56 #ifdef RD_MSG_FAST_PREV_NEXT
       
    57 class CMessageIterator;
       
    58 #endif
       
    59 #ifdef RD_SCALABLE_UI_V2
       
    60 class CAknToolbar;
       
    61 #endif
       
    62 
       
    63 // CLASS DECLARATION
       
    64 
       
    65 /**
       
    66 *  CMsgSmsViewerAppUi
       
    67 *  Inherited from CMsgEditorAppUi
       
    68 */
       
    69 class CMsgSmsViewerAppUi : public CMsgEditorAppUi,
       
    70                            public MMsgBioControlObserver,
       
    71                            public MMsvSingleOpWatcher,
       
    72 						   #ifdef RD_SCALABLE_UI_V2
       
    73 						     public MAknToolbarObserver,             //toolbar
       
    74 						   #endif
       
    75                            public MCenRepNotifyHandlerCallback,
       
    76                            public MAknNaviDecoratorObserver    
       
    77    
       
    78     {
       
    79     public:  // Constructors and destructor
       
    80         
       
    81         /**
       
    82         * C++ default constructor.
       
    83         */
       
    84         CMsgSmsViewerAppUi();
       
    85 
       
    86         /**
       
    87         * Destructor.
       
    88         */
       
    89         virtual ~CMsgSmsViewerAppUi();
       
    90 
       
    91 #ifdef RD_MSG_FAST_PREV_NEXT
       
    92         /**
       
    93         * Change message viewed to a new one
       
    94         */
       
    95         void EntryChangedL();
       
    96 #endif // RD_MSG_FAST_PREV_NEXT
       
    97         /**
       
    98         * From MMsgEditorObserver. Calls DoEditorObserverL()
       
    99         *
       
   100         * For passing events from Base Editor to AudioMessage
       
   101         */
       
   102         void EditorObserver(
       
   103             TMsgEditorObserverFunc aFunc,
       
   104             TAny* aArg1,
       
   105             TAny* aArg2,
       
   106             TAny* aArg3 );
       
   107         void DoEditorObserverL(
       
   108             TMsgEditorObserverFunc aFunc,
       
   109             TAny* aArg1,
       
   110             TAny* aArg2,
       
   111             TAny* aArg3 );
       
   112     protected: // New functions
       
   113   
       
   114         /**
       
   115         * Check if text body part is focused
       
   116         * @return TBool about is body focused
       
   117         */
       
   118         virtual TBool IsBodyFocused() const;        
       
   119         
       
   120           /**
       
   121         * Check if sender part is focused
       
   122         * @return TBool about is body focused
       
   123         */
       
   124         virtual TBool IsSenderFocused() const;          
       
   125         
       
   126         /**
       
   127         * Confirm and delete message
       
   128         */
       
   129         virtual void DoFileDeleteL();
       
   130         
       
   131         /**
       
   132         * Return a pointer to document-object
       
   133         * @return CMsgSmsEditorDocument* a pointer to CMsgSmsViewerDocument-object
       
   134         */        
       
   135         virtual CMsgSmsViewerDocument* Document() const;
       
   136         
       
   137          /**
       
   138          * Adds bio-specific menu-items, if needed. Called from DynInitMenuPane.
       
   139          * @param aMenupane A pointer to the menu pane
       
   140          */
       
   141         virtual void AddBioCommandsToMenuL(CEikMenuPane* aMenuPane);
       
   142 
       
   143          /**
       
   144          * Launches dialog and moves entry from folder to folder.
       
   145          */      
       
   146         virtual void DoMoveEntryL();
       
   147 
       
   148          /**
       
   149          * Searches text for selected item
       
   150          * @param aCommand transfers the command to find item dialog
       
   151          */
       
   152         virtual void DoSearchL(TInt aCommand);
       
   153 
       
   154          /**
       
   155          * Activates phoneclient and starts calling to sender
       
   156          */
       
   157         virtual void DoCallBackToSenderL();
       
   158      
       
   159           /**
       
   160          * For creating contacts to phonebook.
       
   161          * @param aCommand a menu command id
       
   162          */
       
   163         virtual void DoCreateContactCardL( TInt aCommand );
       
   164 
       
   165         /**
       
   166         * Launch msg info dialog
       
   167         */
       
   168         virtual void DoMessageInfoL();
       
   169 
       
   170         /**
       
   171         * Separate the LaunchBioViewL from LaunchViewL to have own function to BIO-launch 
       
   172         * @param aTMsvEntry uid of the TMsvEntry in question
       
   173         */
       
   174         virtual void LaunchBioViewL( const TMsvEntry& aTMsvEntry );
       
   175         
       
   176         /**
       
   177         * Separate the SmsBasedMsgHandlingL from LaunchViewL to have own function for Sms based msg handling. 
       
   178         * @param BioType of the TMsvEntry in question
       
   179         * @param aStore current message entry's msg store
       
   180         */
       
   181         virtual void SmsBasedMsgHandlingL( TInt32 aBioType, CMsvStore* aStore );
       
   182 
       
   183         /**
       
   184          * Returns options menu permission of bio control.
       
   185          * @return permissions (the flags are in MMsgBioControl.h)
       
   186          */
       
   187         virtual TUint32 OptionsMenuPermissionsBioL();
       
   188 
       
   189         /**
       
   190         * Returns a pointer to current textbody
       
   191         * @param aView pointer to CMsgEditorView
       
   192         * @return reference to CEikRichTextEditor
       
   193         */
       
   194         virtual CEikRichTextEditor& BodyEditor() const;
       
   195 
       
   196         /**
       
   197         * Returns a pointer to current biobody
       
   198         * @param aView pointer to CMsgEditorView
       
   199         * @return reference to CMsgBioBodyControl
       
   200         */
       
   201         virtual CMsgBioBodyControl& BioBody() const;
       
   202 
       
   203         /**
       
   204         * The non-bio dynamic handling of opening options-menu
       
   205         * @param aMenuPane pointer to CEikMenuPane
       
   206         */
       
   207         virtual void DynInitNonBioOptionsMenuL( CEikMenuPane* aMenuPane );
       
   208 
       
   209         /**
       
   210         * The non-bio dynamic handling of opening context-menu
       
   211         * @param aMenuPane pointer to CEikMenuPane
       
   212         */
       
   213         virtual void DynInitNonBioContextMenuL( CEikMenuPane* aMenuPane );
       
   214 
       
   215         /**
       
   216         * The bio message dynamic option menu opening.
       
   217         * @param aMenuId menu resource ID (different between GSM and CDMA)
       
   218         * @param aMenuPane pointer to CEikMenuPane
       
   219         */
       
   220         virtual void DynInitBioOptionsMenuL(
       
   221             TInt aMenuId,
       
   222             CEikMenuPane* aMenuPane );
       
   223 
       
   224         /**
       
   225         * The bio message dynamic context menu opening.
       
   226         * @param aMenuPane pointer to CEikMenuPane
       
   227         */
       
   228         virtual void DynInitBioContextMenuL( CEikMenuPane* aMenuPane );
       
   229 
       
   230         /**
       
   231         * Forwarding of GMS message.
       
   232         * @param aTarget
       
   233         */
       
   234         virtual void ForwardGmsL(TMsvId aTarget);
       
   235 
       
   236         /**
       
   237         * Replying to a GMS message.
       
   238         * @param aTarget
       
   239         */
       
   240         virtual void ReplyGmsL(TMsvId aTarget);
       
   241 
       
   242         /**
       
   243         * Actual forwarding or replying to GMS message.
       
   244         * @param aTarget
       
   245         * aForward ETrue if forwarding, and EFalse if replying.
       
   246         */
       
   247         virtual void DoFwdRepGmsL(TMsvId aTarget, TBool aForward);
       
   248 
       
   249         /**
       
   250         * For saving class 0 entry (actually making it visible)
       
   251         * @param aShowNotes for showing / not showing notes during save
       
   252         */
       
   253         virtual void SaveClass0SmsL( TBool aShowNotes );
       
   254 
       
   255         /**
       
   256         * Approximates the needed disksize for forwards or replies the current sms.
       
   257         * aForward ETrue if forwarding, and EFalse if replying.
       
   258         * @return TInt approximation
       
   259         */
       
   260         virtual TInt ApproximateReplyForwardSize( TBool aForward );
       
   261        
       
   262         /**
       
   263         * Checks diskspace and forwards or replies the current sms.
       
   264         * aForward ETrue if forwarding, and EFalse if replying.
       
   265         */
       
   266         virtual void CheckDiskAndReplyForwardL( TBool aForward );
       
   267 
       
   268         /**
       
   269         * Launches help application
       
   270         */
       
   271         virtual void LaunchHelpL();
       
   272 
       
   273         /**
       
   274         * Returns a help context array.
       
   275         * @param aHelpContext 
       
   276         * @return CArrayFix<TCoeHelpContext>*
       
   277         */
       
   278         virtual CArrayFix<TCoeHelpContext>* CreateHelpContextArrayL(const TCoeHelpContext& aHelpContext ) const;
       
   279 
       
   280         /**
       
   281         * Handles SEND-key
       
   282         */
       
   283         virtual void DoHandleSendKeyL();
       
   284 
       
   285         /**
       
   286         * Set the state of automatic highlighting
       
   287         * @param aSwitchON, ETrue if automatic highlighting is to used, otherwise EFalse
       
   288         */
       
   289         virtual void SetAutomaticHighlightL( const TBool aSwitchON );
       
   290 
       
   291         /**
       
   292         * Reads the shared data value used to initialize automatic highlighting
       
   293         * @return TBool, ETrue if automatic highlighting is to be used
       
   294         */
       
   295         virtual void ReadAutoHlSharedDataValueAndSetNotifyL();
       
   296 
       
   297         /** 
       
   298         * From MMsvSingleOpWatcher
       
   299         * @since 2.6
       
   300         */
       
   301         virtual void OpCompleted(
       
   302             CMsvSingleOpWatcher& aOpWatcher,
       
   303             TInt aCompletionCode );
       
   304 
       
   305         /**
       
   306         * Called by OpCompleted.
       
   307         * @since 2.6
       
   308         * @param aOperation
       
   309         * @param aCompletionCode
       
   310         */
       
   311         virtual void DoOperationCompletedL(
       
   312             CMsvOperation* aOperation,
       
   313             TInt aCompletionCode );
       
   314 
       
   315         /**
       
   316         * Adds the subject field to view
       
   317         * @since 2.6
       
   318         */
       
   319         void AddSubjectControlL();
       
   320 
       
   321         /**
       
   322         * Sets the content of subject field
       
   323         * @since 2.6
       
   324         * @param aText, text content to be inserted
       
   325         */
       
   326         void SetSubjectL( const TDesC& aText );
       
   327 
       
   328         /**
       
   329         * Returns the pointer to the subject control
       
   330         * @since 2.6
       
   331         * @return CMsgExpandableControl, pointer to the subject control
       
   332         */
       
   333         CMsgExpandableControl* SubjectControl() const;
       
   334 
       
   335         /**
       
   336         * Initializes AIW contact card create menu item
       
   337         * @since 3.1U
       
   338         * @param aMenuId menu resource ID
       
   339         * @param aMenuPane pointer to CEikMenuPane
       
   340         */
       
   341         void InitAiwContactCardMenuL( TInt aMenuId, CEikMenuPane* aMenuPane );
       
   342 
       
   343         /**
       
   344         * Initializes AIW contact card sub-menu
       
   345         * @since 3.1U
       
   346         * @param aMenuPane pointer to CEikMenuPane
       
   347         */
       
   348         void InitAiwContactCardSubMenuL( CEikMenuPane* aMenuPane );
       
   349 
       
   350         /**
       
   351         * Initializes AIW create contact card command parameter list
       
   352         * @since 3.1U
       
   353         * @param aParamList parameter list to initialize
       
   354         */
       
   355         void InitAiwContactCardParamL( CAiwGenericParamList& aParamList ) const;
       
   356 
       
   357         
       
   358     protected: // Functions from base classes
       
   359         
       
   360         /**
       
   361         * From MsgEditorAppUi 
       
   362         */
       
   363         virtual void DoMsgSaveExitL();
       
   364             
       
   365          /**
       
   366         * From MMsgEditorLauncher 
       
   367         */
       
   368         virtual void LaunchViewL();
       
   369 
       
   370         /**
       
   371         * From CCoeAppUi 
       
   372         * @param aKeyEvent look from CCoeAppUi
       
   373         * @param aType look from CCoeAppUi
       
   374         * @return TKeyResponse look from CCoeAppUi
       
   375         */
       
   376         virtual TKeyResponse HandleKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aType);
       
   377 
       
   378         /**
       
   379         * From CEikAppUi 
       
   380         * @param aCommand look from CEikAppUi
       
   381         */
       
   382         virtual void HandleCommandL(TInt aCommand);
       
   383 
       
   384         /**
       
   385         * From MEikMenuObserver 
       
   386         * @param aMenuId look from MEikMenuObserver
       
   387         * @param aMenuPane look from MEikMenuObserver
       
   388         */
       
   389         virtual void DynInitMenuPaneL(TInt aMenuId, CEikMenuPane* aMenuPane);
       
   390 
       
   391         /**
       
   392          * From MMsgBioControlObserver
       
   393          * @return An index number that can be used as a starting index for Bio
       
   394          *         Control specific commands.
       
   395          */
       
   396         virtual TInt FirstFreeCommand() const; 
       
   397 
       
   398         /**
       
   399          * From MMsgBioControlObserver
       
   400          * The Bio Control can request the editor application to carry out
       
   401          * specific commands.
       
   402          * @param aCommand The command to be handled.
       
   403          * @return KerrNone or KerrNotSupported
       
   404          */
       
   405         virtual TInt RequestHandleCommandL(TMsgCommands aCommand); 
       
   406 
       
   407         /**
       
   408          * From  MMsgBioControlObserver
       
   409          * Returns ETrue or EFalse whether a requested aCommand is supported
       
   410          * by the BIO message editor or not. This command should be used
       
   411          * before requesting command handling by RequestHandleCommand().
       
   412          * @param aCommand The command
       
   413          * @return ETrue if command is support and EFalse if not.
       
   414          */
       
   415         virtual TBool IsCommandSupported(TMsgCommands aCommand) const; 
       
   416 
       
   417         /**
       
   418          * From CMsgEditorAppUi
       
   419          * This handles the case if sms entry currently viewed is suddenly deleted from MSGS
       
   420          */
       
   421         virtual void HandleEntryDeletedL();
       
   422 
       
   423         /**
       
   424         * From CCoeAppUi
       
   425         * Returns help context
       
   426         */
       
   427         virtual CArrayFix<TCoeHelpContext>* HelpContextL() const;  
       
   428 
       
   429         /**
       
   430         * From MCenRepNotifyHandlerCallback
       
   431         * Handles the incoming notifications of key changes
       
   432         * @since Series60 3.0
       
   433         * @param aId, Key that has changed
       
   434         * @param aNewValue, New value of the key    
       
   435         */
       
   436         void HandleNotifyInt( TUint32 aId, TInt aNewValue );
       
   437 
       
   438         /**
       
   439         * From MCenRepNotifyHandlerCallback
       
   440         * Handles the notifier errors
       
   441         * @since Series60 3.0
       
   442         * @param aId, Key that has changed
       
   443         * @param aNewValue, New value of the key    
       
   444         */
       
   445         void HandleNotifyError( 
       
   446             TUint32 aId, 
       
   447             TInt aError, 
       
   448             CCenRepNotifyHandler* aHandler );
       
   449 
       
   450         /**
       
   451         * Reply to sender via MMS or Email
       
   452         * @since Series 60 2.6
       
   453         * @param aCase, reply via MMS, email, audiomsg or unieditor
       
   454         */
       
   455         virtual void  DoReplyViaL( TInt aCase );
       
   456         
       
   457         /**
       
   458         * From MAknNaviDecoratorObserver
       
   459         * Handles the events coming from arrow presses
       
   460         *  related to next/previous message
       
   461         */
       
   462         void HandleNaviDecoratorEventL( TInt aEventID );            
       
   463         
       
   464         /**
       
   465         * Actual Reply or Forward
       
   466         * @since Series 60 5.0
       
   467         * @param aForward, reply or forward
       
   468         */
       
   469         void DoReplyFwdL( TBool aForward );
       
   470             
       
   471     protected:
       
   472 
       
   473         /**
       
   474         * By default Symbian OS constructor is private.
       
   475         */
       
   476         virtual void ConstructL();
       
   477 
       
   478     private: // new functions
       
   479 
       
   480         /**
       
   481         * ConstructL() without calling base class construct
       
   482         */
       
   483         void ConstructMembersL();
       
   484 
       
   485         /**
       
   486         * Initialize member data to a default state
       
   487         */
       
   488         void InitMembers();
       
   489 
       
   490         /**
       
   491         * Delete member data
       
   492         */
       
   493         void DestructMembers();
       
   494         /**
       
   495         * Set title icon
       
   496         */
       
   497         void SetTitleIconL();
       
   498         
       
   499         /**
       
   500         * Handle resource change
       
   501         */
       
   502         void HandleResourceChangeL( TInt aType );
       
   503         
       
   504         /**
       
   505         * Set title icon size
       
   506         */
       
   507         void SetTitleIconSize();
       
   508 #ifdef RD_MSG_FAST_PREV_NEXT
       
   509     private: // from CMsgEditorAppUi
       
   510         /**
       
   511         * Check if message can fast opened
       
   512         */
       
   513         TBool CanFastOpenL( const CMessageIterator& aIterator );
       
   514 #endif // RD_MSG_FAST_PREV_NEXT
       
   515         
       
   516         /**
       
   517          * From MAknNaviDecoratorObserver
       
   518          * Handles the events coming from arrow presses
       
   519          *  related to next/previous message
       
   520          */
       
   521 
       
   522 #ifdef RD_SCALABLE_UI_V2
       
   523 #ifndef RD_MSG_NAVIPANE_IMPROVEMENT
       
   524          void HandleNaviDecoratorEventL( TInt aEventID );   
       
   525 #endif
       
   526 #endif
       
   527       
       
   528 #ifdef RD_SCALABLE_UI_V2
       
   529 
       
   530          /**
       
   531           * From MAknToolbarObserver
       
   532           * Should be used to set the properties of some toolbar components 
       
   533           * before it is drawn.
       
   534           * @param aResourceId The resource ID for particular toolbar
       
   535           * @param aToolbar The toolbar object pointer
       
   536           */
       
   537          //virtual void DynInitToolbarL(   TInt            aResourceId, 
       
   538          //                                CAknToolbar*    aToolbar );
       
   539          
       
   540          /**
       
   541           * From MAknToolbarObserver
       
   542           * Handles toolbar events for a certain toolbar item.
       
   543           * @param aCommand The command ID of some toolbar item.
       
   544           */
       
   545          virtual void OfferToolbarEventL( TInt aCommand );
       
   546 #endif
       
   547          /**
       
   548           * This is quick launch based on already existing view. Hence this function should  
       
   549           * be called only for Proper SMS Text message for fast and optimized navigation.
       
   550           * In case called for any bio-type messages, this will leave with KErrCancel so that 
       
   551           * caller will TRAP the leave and call LaunchViewL() for complete launch.
       
   552           * @param None
       
   553           */
       
   554          void QuicklaunchViewL();
       
   555          
       
   556          /**
       
   557           * This will set the body text and update the control fields if any changes
       
   558           * as compared to previous SMS message. 
       
   559           * This function is called only for non-bio text messages for fast preview during navigation
       
   560           * @param aStore current message entry's msg store
       
   561           */
       
   562          void QuickSmsMsgNaviHandlingL( CMsvStore* aStore );
       
   563          
       
   564     protected:     // Data
       
   565 
       
   566         // Note:
       
   567         // When adding data members, add initialization into InitMembers().
       
   568         // Add construct/destruct into ConstructMembersL()/DestructMembers()
       
   569         // functions if needed. Those functions are called during
       
   570         // construction/destruction and also during fast open of prev/next
       
   571         // message.
       
   572 
       
   573         TBool                               iFullyConstructed;
       
   574         TPhCltTelephoneNumber	            iNumber;          // phoneclient
       
   575         TPhCltNameBuffer                    iRecipientstring; // phoneclient
       
   576 
       
   577         // Boolean flags combined into a bitmap. Type bool is used instead of
       
   578         // TBool as it's type safe
       
   579         struct
       
   580             {
       
   581             bool iBioMsg:1;
       
   582             bool iGms:1;   // picture msg
       
   583             bool iIrBt:1;  // infrared or bluetooth message
       
   584             bool iValidSenderNumber:1;
       
   585             bool iHelpFeatureSupported:1;
       
   586             bool iAutomaticHlInitialized:1;
       
   587             bool iVoIPNumber:1;    // VoIP supported
       
   588             bool iAudioMsgSupported:1;
       
   589             bool iSmsRestrictedMode:1;
       
   590             bool iAutomaticHlValue:1;
       
   591             bool iAutoLockEnabled:1;
       
   592 
       
   593             // GMS variation
       
   594             bool iSmartMsgSmsGmsMessageReceiving:1;
       
   595             bool iSmartMsgSmsGmsMessageSending:1;
       
   596             
       
   597             // Email flags
       
   598             // Email feature supported
       
   599             bool iEmailFeatureSupported:1;
       
   600             // Email specific Subject control
       
   601             // When created, it will newer be removed
       
   602             bool iEmailSubjectControlPresent:1;
       
   603             // If the message TP-PID is set to interworking with email, the
       
   604             // message  is marked as Email message
       
   605             bool iIsEmailMessage:1;
       
   606             } iFlags;
       
   607 
       
   608         CAknNavigationControlContainer*     iNaviPane;
       
   609         TInt                                iControlId;
       
   610         CEikButtonGroupContainer*           iClass0CBA;       // for Class0 softbuttons
       
   611         CFindItemMenu*                      iFindItemMenu;    // find item
       
   612         CAiwServiceHandler*                 iAiwServiceHandler; // for create contact card
       
   613         CGmsWrapper*                        iGmsModel;
       
   614         CSmsHeader*                         iSmsHeader;
       
   615         CMsvSingleOpWatcher*                iViewerOperation;   // MessageInfo operation
       
   616         // Contains VoIP profile counter.
       
   617         CMsgVoIPExtension*                  iMsgVoIPExtension;
       
   618         CSendUi*                            iSendUi;
       
   619         // Central Repository session
       
   620         CRepository*                        iCenRepSession;
       
   621         // Notifier to listen changes of offline state
       
   622         CCenRepNotifyHandler*               iNotifier;
       
   623         CAknLocalScreenClearer*    					iScreenClearer;
       
   624 #ifdef RD_SCALABLE_UI_V2
       
   625         CAknToolbar*                iToolbar;
       
   626 #endif
       
   627         // SMS Icon
       
   628         CGulIcon* iAppIcon;
       
   629         TInt                                iTypeMsg; //for saving the PDU type of prev sms
       
   630 
       
   631     };
       
   632 #endif // MSGSMSVIEWERAPPUI_H
       
   633 //  End of File