calendarui/controller/inc/calenstatemachine.h
branchRCL_3
changeset 66 bd7edf625bdd
parent 65 12af337248b1
equal deleted inserted replaced
65:12af337248b1 66:bd7edf625bdd
    20 #define CALENSTATEMACHINE_H
    20 #define CALENSTATEMACHINE_H
    21 
    21 
    22 // INCLUDES
    22 // INCLUDES
    23 #include <e32base.h>
    23 #include <e32base.h>
    24 #include <e32hashtab.h>
    24 #include <e32hashtab.h>
    25 #include "calennotificationhandler.h"
    25 #include <calencommandhandler.h>
    26 #include "calencommandhandler.h"
    26 #include <calennotificationhandler.h>
    27 #include "calenhashfunctions.inl"       // HashFunctions 
    27 #include "calenhashfunctions.inl"       // HashFunctions 
    28 
    28 
    29 class CCalenState;
    29 class CCalenState;
    30 class CCalenController;
    30 class CCalenController;
    31 
    31 
    32 // CLASS DEFINITIONS
    32 // CLASS DEFINITIONS
    33 
       
    34 /**
    33 /**
    35  * 
    34  * 
    36  */
    35  */
    37 class CCalenStateMachine : public CBase,
    36 class CCalenStateMachine : public CBase,
    38                            public MCalenNotificationHandler
    37                            public MCalenNotificationHandler
    41 	    enum TCalenStateIndex
    40 	    enum TCalenStateIndex
    42             {
    41             {
    43             // If you change the array order or add/remove items,
    42             // If you change the array order or add/remove items,
    44             // update CCalenStateMachine::ConstructL too.
    43             // update CCalenStateMachine::ConstructL too.
    45 	        ECalenIdleState,
    44 	        ECalenIdleState,
    46 	        ECalenPopulationState,	        
    45 	        ECalenPopulationState,
    47 	        ECalenBackgroundState,
    46 	        ECalenBackgroundState,
    48 	        ECalenViewingState,
    47 	        ECalenViewingState,
    49 	        ECalenEditingState,	
    48 	        ECalenEditingState,
    50 	        ECalenDeletingState,
    49 	        ECalenDeletingState,
    51 	        ECalenPrintingState,
    50 	        ECalenPrintingState,
    52 	        ECalenSendingState,
    51 	        ECalenSendingState,
    53 	        ECalenSettingsState,
    52 	        ECalenSettingsState,
    54 	        ECalenHelpState,
    53 	        ECalenHelpState,
    55 	        ECalenExitingState,	       
    54 	        ECalenExitingState,
       
    55 	        ECalenMapState,
       
    56 	        ECalenAttachmentState,
       
    57 			ECalenAlarmState,
    56 	        KCalenLastState  // Must be last
    58 	        KCalenLastState  // Must be last
    57 	        };
    59 	        };
    58 
    60 
    59     public:  // Construction and destruction
    61     public:  // Construction and destruction
    60         /**
    62         /**
    73 		
    75 		
    74 		/**
    76 		/**
    75 		 * Handles Notifications 
    77 		 * Handles Notifications 
    76  		 */
    78  		 */
    77         void HandleNotification(const TCalenNotification aNotification );
    79         void HandleNotification(const TCalenNotification aNotification );
    78         
       
    79         /*
       
    80          * Returns the current state in which calendar is.
       
    81          */
       
    82         TCalenStateIndex CurrentState();
       
    83 
    80 
    84     private:  // Construction and destruction
    81     private:  // Construction and destruction
    85         
    82         
    86         /**
    83         /**
    87          * C++ constructor
    84          * C++ constructor