idlefw/inc/framework/aistatemanager.h
branchRCL_3
changeset 15 a0713522ab97
parent 14 15e4dd19031c
child 19 edd621764147
equal deleted inserted replaced
14:15e4dd19031c 15:a0713522ab97
    20 #define _AISTATEMANAGER_H
    20 #define _AISTATEMANAGER_H
    21 
    21 
    22 // System includes
    22 // System includes
    23 #include <e32base.h>
    23 #include <e32base.h>
    24 #include <babitflags.h>
    24 #include <babitflags.h>
    25 #include <AknProgressDialog.h> // for MProgressDialogCallback
       
    26 
    25 
    27 // User includes
    26 // User includes
    28 #include <aifwdefs.h>
    27 #include <aifwdefs.h>
    29 #include "aistateobserver.h"
    28 #include "aistateobserver.h"
    30 
    29 
    31 // Forward declarations
    30 // Forward declarations
    32 class CAiPluginFactory;
    31 class CAiPluginFactory;
    33 class CAiCpsCommandBuffer;
    32 class CAiCpsCommandBuffer;
    34 class CHsContentPublisher;
    33 class CHsContentPublisher;
    35 class THsPublisherInfo;
    34 class THsPublisherInfo;
    36 class CAknWaitDialog;
       
    37 
    35 
    38 /**
    36 /**
    39  * State Manager
    37  * State Manager
    40  * 
    38  * 
    41  * @ingroup group_aifw
    39  * @ingroup group_aifw
    42  * @lib aifw.lib
    40  * @lib aifw.lib
    43  * @since S60 5.0
    41  * @since S60 5.0
    44  */
    42  */
    45 NONSHARABLE_CLASS( CAiStateManager ) : public CBase,
    43 NONSHARABLE_CLASS( CAiStateManager ) : public CBase,
    46     public MAiStateObserver,
    44     public MAiStateObserver
    47     public MProgressDialogCallback
       
    48     {
    45     {
    49 private:
    46 private:
    50     // Data types
    47     // Data types
    51     enum TState
    48     enum TState
    52         {
    49         {
   190      * Destroys all plugins from plugin factory
   187      * Destroys all plugins from plugin factory
   191      * 
   188      * 
   192      * @since S60 5.2
   189      * @since S60 5.2
   193      */
   190      */
   194     void DestroyPlugins();
   191     void DestroyPlugins();
   195               
   192                          
   196     /**
       
   197      * Starts wait dialog with progress bar.
       
   198      */
       
   199     void StartWaitDialogL();
       
   200 
       
   201     /**
       
   202      * Stops wait dialog with progress bar.
       
   203      */
       
   204     void StopWaitDialogL();
       
   205 
       
   206     /**
       
   207      * Callback method from MProgressDialogCallback interface.
       
   208      * Gets called when a dialog is dismissed.
       
   209      * @param aButtonId Id of the pushed button.
       
   210      */
       
   211     void DialogDismissedL( TInt aButtonId );
       
   212                           
       
   213     /**
   193     /**
   214      * Flushes cps command buffer
   194      * Flushes cps command buffer
   215      * 
   195      * 
   216      * @since S60 5.2
   196      * @since S60 5.2
   217      */
   197      */
   227     /** Current state */
   207     /** Current state */
   228     TState iCurrentState;    
   208     TState iCurrentState;    
   229     /** Flags */
   209     /** Flags */
   230     TBitFlags32 iFlags;
   210     TBitFlags32 iFlags;
   231     /** Halted flag */
   211     /** Halted flag */
   232     TBool iHalt;
   212     TBool iHalt;   
   233     /**
       
   234      * Own.
       
   235      * Pointer to wait dialog.
       
   236      */ 
       
   237     CAknWaitDialog* iWaitDialog;
       
   238    
       
   239     /** List of plugins which should be reloaded */
   213     /** List of plugins which should be reloaded */
   240     RArray<THsPublisherInfo> iReloadPlugins;
   214     RArray<THsPublisherInfo> iReloadPlugins;
   241 
   215 
   242 private:
   216 private:
   243     // friend classes
   217     // friend classes