calendarui/controller/inc/calenstatemachine.h
changeset 18 c198609911f9
parent 0 f979ecb2b13e
child 66 bd7edf625bdd
equal deleted inserted replaced
0:f979ecb2b13e 18:c198609911f9
    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 <calencommandhandler.h>
    25 #include "calennotificationhandler.h"
    26 #include <calennotificationhandler.h>
    26 #include "calencommandhandler.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 
    33 /**
    34 /**
    34  * 
    35  * 
    35  */
    36  */
    36 class CCalenStateMachine : public CBase,
    37 class CCalenStateMachine : public CBase,
    37                            public MCalenNotificationHandler
    38                            public MCalenNotificationHandler
    40 	    enum TCalenStateIndex
    41 	    enum TCalenStateIndex
    41             {
    42             {
    42             // If you change the array order or add/remove items,
    43             // If you change the array order or add/remove items,
    43             // update CCalenStateMachine::ConstructL too.
    44             // update CCalenStateMachine::ConstructL too.
    44 	        ECalenIdleState,
    45 	        ECalenIdleState,
    45 	        ECalenPopulationState,
    46 	        ECalenPopulationState,	        
    46 	        ECalenBackgroundState,
    47 	        ECalenBackgroundState,
    47 	        ECalenViewingState,
    48 	        ECalenViewingState,
    48 	        ECalenEditingState,
    49 	        ECalenEditingState,	
    49 	        ECalenDeletingState,
    50 	        ECalenDeletingState,
    50 	        ECalenPrintingState,
    51 	        ECalenPrintingState,
    51 	        ECalenSendingState,
    52 	        ECalenSendingState,
    52 	        ECalenSettingsState,
    53 	        ECalenSettingsState,
    53 	        ECalenHelpState,
    54 	        ECalenHelpState,
    54 	        ECalenExitingState,
    55 	        ECalenExitingState,	       
    55 	        ECalenMapState,
       
    56 	        ECalenAttachmentState,
       
    57 			ECalenAlarmState,
       
    58 	        KCalenLastState  // Must be last
    56 	        KCalenLastState  // Must be last
    59 	        };
    57 	        };
    60 
    58 
    61     public:  // Construction and destruction
    59     public:  // Construction and destruction
    62         /**
    60         /**
    75 		
    73 		
    76 		/**
    74 		/**
    77 		 * Handles Notifications 
    75 		 * Handles Notifications 
    78  		 */
    76  		 */
    79         void HandleNotification(const TCalenNotification aNotification );
    77         void HandleNotification(const TCalenNotification aNotification );
       
    78         
       
    79         /*
       
    80          * Returns the current state in which calendar is.
       
    81          */
       
    82         TCalenStateIndex CurrentState();
    80 
    83 
    81     private:  // Construction and destruction
    84     private:  // Construction and destruction
    82         
    85         
    83         /**
    86         /**
    84          * C++ constructor
    87          * C++ constructor