securitydialogs/simlockui/inc/SimLockUIAppui.h
branchRCL_3
changeset 22 03674e5abf46
equal deleted inserted replaced
21:09b1ac925e3f 22:03674e5abf46
       
     1 /*
       
     2 * ============================================================================
       
     3 *  Name         : SimLockUIAppUI.h
       
     4 *  Part of      : Sim Lock UI Application
       
     5 *  Description  : SimLock UI Application UI Header
       
     6 *  Version      : 
       
     7 *  
       
     8 * Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).
       
     9 * All rights reserved.
       
    10 * This component and the accompanying materials are made available
       
    11 * under the terms of "Eclipse Public License v1.0"
       
    12 * which accompanies this distribution, and is available
       
    13 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
    14 *
       
    15 * Initial Contributors:
       
    16 * Nokia Corporation - initial contribution.
       
    17 *
       
    18 * Contributors:
       
    19 *
       
    20 * Description:   Build info file for Ado domain appinstall 
       
    21 * ============================================================================
       
    22 */
       
    23 
       
    24 #ifndef __SIMLOCKUI_APPUI_H__
       
    25 #define __SIMLOCKUI_APPUI_H__
       
    26 
       
    27 // System includes
       
    28 #include <aknappui.h>
       
    29 #include <aknnotedialog.h>  // CAknNoteDialog::TTone
       
    30 #include <e32property.h>    // RProperty.
       
    31 
       
    32 
       
    33 // FORWARD DECLARATIONS
       
    34 class RProperty;
       
    35 // User includes
       
    36 #include "simlockuibackgroundcontrol.h" // CSimLockUIBackgroundControl::TBackgroundText
       
    37 
       
    38 // Forward reference
       
    39 class CSimLockUIBackgroundControl;
       
    40 class CSimLockDataHandlingDelegate;
       
    41 class CAknInformationNote;
       
    42 class CSimLockTelephonyProxy;
       
    43 
       
    44 //const TUid KSimLockProperty={0x2000B0FC};
       
    45 /**
       
    46  *  CSimLockUIAppUi
       
    47  *
       
    48  *  An instance of class CSimLockUIAppUi is the UserInterface part of the AVKON
       
    49  *  application framework for the SimLockUI example application
       
    50  *
       
    51  *  @lib avkon.lib
       
    52  *  @lib eikcore.lib
       
    53  *  @lib eiksrv.lib
       
    54  */
       
    55 class CSimLockUIAppUi : public CAknAppUi
       
    56     {
       
    57 public: // Constructor/Destructor
       
    58 
       
    59     /**
       
    60      * CSimLockUIAppUi
       
    61      * Perform the first phase of two phase construction.
       
    62      * This needs to be public due to the way the framework constructs the AppUi
       
    63      *
       
    64      * @param aSimLockDelegate Sim Lock UI Delegate (ownership not transferred)
       
    65      */
       
    66     CSimLockUIAppUi( CSimLockDataHandlingDelegate& aSimLockDelegate );
       
    67 
       
    68     /**
       
    69      * ConstructL
       
    70      * Perform the second phase construction of a CSimLockUIAppUi object
       
    71      * this needs to be public due to the way the framework constructs the AppUi
       
    72      */
       
    73     void ConstructL();
       
    74 
       
    75     /**
       
    76      * ~CSimLockUIAppUi
       
    77      * Destroy the object and release all memory objects
       
    78      */
       
    79     virtual ~CSimLockUIAppUi();
       
    80 
       
    81 private: // Private Data Type(s)
       
    82 
       
    83     /**
       
    84      * Indicate which background text to use
       
    85      */
       
    86     enum TBackgroundText
       
    87         {
       
    88         EBackgroundTextEmpty,
       
    89         EBackgroundTextMain,
       
    90         EBackgroundTextUnlockComplete,
       
    91         EBackgroundTextUnlockFailed,
       
    92         EBackgroundTextUnlockIncorrect
       
    93         };
       
    94 
       
    95 private: // from CAknAppUi
       
    96     /**
       
    97      * @see CAknAppUi::HandleCommandL
       
    98      */
       
    99     virtual void HandleCommandL( TInt aCommand );
       
   100 
       
   101     /**
       
   102      * @see CAknAppUi::HandleForegroundEventL
       
   103      */
       
   104     virtual void HandleForegroundEventL( TBool aForeground );
       
   105 
       
   106 private: // Private Function Declarations
       
   107 
       
   108     /**
       
   109      * ProcessSimUnlockDialogsL
       
   110      * Process the series of dialogs that control the Sim Unlock process
       
   111      *
       
   112      * @return  Indicates whether or not application flow should continue
       
   113      */
       
   114     TBool ProcessSimUnlockDialogsL();
       
   115 
       
   116     /**
       
   117      * CreateBackgroundControlL
       
   118      * Create the background control for SimLock UI.  Background contains the default
       
   119      * background image for the current skin and text indicating to the user the
       
   120      * current stage in the unlock process.
       
   121      *
       
   122      */
       
   123     void CreateBackgroundControlL();
       
   124 
       
   125     /**
       
   126      * CheckLockStateL
       
   127      * Check the state of the lock and display a dialog if it is either
       
   128      * unlocked or there are no lock attempts remaining.
       
   129      *
       
   130      * @return  Indicates whether or not application flow should continue
       
   131      */
       
   132     TBool CheckLockStateL() const;
       
   133 
       
   134     /**
       
   135      * DisplayIntroductionDialogL
       
   136      * Display introduction dialog
       
   137      *
       
   138      * @return  Indicates whether or not application flow should continue
       
   139      */
       
   140     TBool DisplayIntroductionDialogL();
       
   141 
       
   142     /**
       
   143      * PromptForPasswordL
       
   144      * Handle scenario where unlock attempt failed.  Prompt user about whether or
       
   145      * not to continue
       
   146      *
       
   147      * @param   aPassword Descriptor to receive password
       
   148      * @return  Indicates whether or not application flow should continue
       
   149      */
       
   150     TBool PromptForPasswordL( TDes& aPassword );
       
   151 
       
   152     /**
       
   153      * CompletePromptForPasswordL
       
   154      * Ask for second password and check for call in progress
       
   155      *
       
   156      * @param   aPassword original password entered
       
   157      * @param   aNewPassword Descriptor where 2nd password is to be inserted
       
   158      * @return  Indicates whether or not application flow should continue
       
   159      */
       
   160     TBool CompletePromptForPasswordL( const TDesC& aPassword, TDes& aNewPassword );
       
   161 
       
   162     /**
       
   163      * AttemptToUnlockSimL
       
   164      * Ask for second password and check for call in progress
       
   165      *
       
   166      * @param   aPassword the Sim Lock password
       
   167      * @return  Indicates whether or not application flow should continue
       
   168      */
       
   169     TBool AttemptToUnlockSimL( const TDesC& aPassword );
       
   170 
       
   171     /**
       
   172      * HandleUnlockFailedL
       
   173      * Handle scenario where unlock attempt failed.  Prompt user about whether or
       
   174      * not to continue
       
   175      *
       
   176      * @return  Indicates whether or not application flow should continue
       
   177      */
       
   178     TBool HandleUnlockFailedL();
       
   179 
       
   180     /**
       
   181     /**
       
   182      * ShowInformationNoteL
       
   183      * Show an information note
       
   184      *
       
   185      * @param   aResourceId indicates what resource is displayed
       
   186      * @return  Indicates whether or not application flow should continue 
       
   187      */
       
   188     TInt ShowInformationNoteL( TInt aResourceId ) const;
       
   189 
       
   190     /**
       
   191      * SetBackgroundText
       
   192      * Change text in background control
       
   193      *
       
   194      * @param aText indicates type of text
       
   195      */
       
   196     void SetBackgroundTextL( TBackgroundText aText );
       
   197 
       
   198 private: // Private Member Data
       
   199 
       
   200     /**
       
   201      * Control that contains SimLock UI background
       
   202      * owns
       
   203      */
       
   204     CSimLockUIBackgroundControl* iBackgroundControl;
       
   205 
       
   206     /**
       
   207      * Pointer to "delegate" class that is responsible for non-UI functions related
       
   208      * to the phone and SimLock.     
       
   209      */
       
   210     CSimLockDataHandlingDelegate& iSimLockDelegate;
       
   211 
       
   212     /**
       
   213      * For foreground event handling, indicate first time run
       
   214      */
       
   215     TBool iFirstRun;
       
   216 
       
   217     /**
       
   218      * Proxy used to talk to CTelephony in a synchronous fashion
       
   219      * owns
       
   220      */
       
   221     CSimLockTelephonyProxy* iTelephonyProxy;  
       
   222     
       
   223     //RProperty for publish key
       
   224     RProperty iProperty;
       
   225 
       
   226     };
       
   227 
       
   228 
       
   229 #endif // __SIMLOCKUI_APPUI_H__
       
   230 
       
   231 // End of file.