AppCore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
State.h
Go to the documentation of this file.
1 #ifndef _ESTATE_H_
2 #define _ESTATE_H_
3 
4 #include <string>
5 #include <qobject.h>
6 #include <stdint.h>
7 
8 #include "StateDefines.h"
9 
10 class StateManager;
11 class StorageList;
12 
17 class State : public QObject
18 {
19  Q_OBJECT
20 public:
25  virtual ~State();
26 
33  virtual State *Clone( StorageList &inputStream ) = 0;
34 
39  QString GetStateName() const;
40 
46  virtual void OnEnter();
47  virtual void OnEnter( const int32_t stateRequestCode );
48 
54  virtual void OnResume();
55  virtual void OnResume( const int32_t stateRequestCode, const int32_t stateResultCode, StorageList &storageList );
56 
62  virtual void OnLeave();
63 
69  virtual void OnTimeOut();
70 
76  virtual void OnSecondTick();
77 
83  virtual void OnMinuteTick();
84 
85 protected:
93  State( const QString &stateName, StateManager *context );
94 
99  virtual void TimerStart( unsigned long timeout );
100 
104  virtual void TimerStop();
105 
111  virtual bool IsTimerActive();
112 
120  virtual StateDefines::StateAlgorithmResult ChangeState( const QString &stateName, StorageList &storageList, const StateDefines::ChangeStateFlag changeStateFlag = StateDefines::ChangeStateFlagUndefined );
121 
125  virtual StateDefines::StateAlgorithmResult ChangeStateForResult( const QString &stateName, StorageList &storageList, const int32_t stateRequestCode );
126 
132 
136  virtual StateDefines::StateAlgorithmResult FinishStateWithResult( const int32_t stateResultCode, StorageList &storageList );
137 
141  virtual bool IsChangeStateForResultMapEmpty();
142 
147 
151  virtual void FillStorageList( const StorageList &storageList );
152 
156  virtual StorageList &GetStorageList();
157 
158 private slots:
159  // timer slots
163  void TimeOut();
164 
165 private:
167 
168  class DataClass;
169  DataClass *d;
170 
172 };
173 
174 #endif // _ESTATE_H_
virtual StateDefines::StateAlgorithmResult FinishState(const StateDefines::FinishStateFlag finishStateFlag=StateDefines::FinishStateFlagUndefined)
Call this when your state is done and should be closed. finishStateFlag - Additional options for how ...
Definition: State.cpp:122
virtual StateDefines::StateAlgorithmResult ChangeStateForResult(const QString &stateName, StorageList &storageList, const int32_t stateRequestCode)
Launch state for which you would like a result when it finished. When this state (stateName) exits...
Definition: State.cpp:117
Definition: StateDefines.h:11
virtual bool IsTimerActive()
Method to determine if timer is now running.
Definition: State.cpp:175
EEventTripTicketPr __EDATAPTR d
Definition: EEventTripTicket.h:96
virtual void TimerStop()
Stop currently running timer.
Definition: State.cpp:169
Definition: StateManager.h:13
StateManager * GetStateManager()
Method for getting used ECore.
Definition: State.cpp:137
virtual bool IsChangeStateForResultMapEmpty()
IsChangeStateForResultMapEmpty method returns information about existing states which have to be retu...
Definition: State.cpp:132
QString GetStateName() const
Function returns string representation of state.
Definition: State.cpp:67
virtual void TimerStart(unsigned long timeout)
Definition: State.cpp:158
virtual StateDefines::StateAlgorithmResult ChangeState(const QString &stateName, StorageList &storageList, const StateDefines::ChangeStateFlag changeStateFlag=StateDefines::ChangeStateFlagUndefined)
Launch a new state. You will not receive any information about when the state exits.
Definition: State.cpp:112
virtual StorageList & GetStorageList()
Gets storage list saved in this class.
Definition: State.cpp:147
virtual StateDefines::StateAlgorithmResult FinishStateWithResult(const int32_t stateResultCode, StorageList &storageList)
Call this when your state is done and should be closed. State result code stateResultCode is propagat...
Definition: State.cpp:127
virtual void OnLeave()
This method is called immediately before state is to be inactivated.
Definition: State.cpp:92
virtual void OnMinuteTick()
Called on every minute change.
Definition: State.cpp:107
virtual void OnSecondTick()
Called every second.
Definition: State.cpp:103
Definition: StorageList.h:11
virtual void OnEnter()
This method is called when state is going to be active.
Definition: State.cpp:72
abstract interface class creating API for states.
Definition: State.h:17
FinishStateFlag
Definition: StateDefines.h:17
virtual void FillStorageList(const StorageList &storageList)
Copy all items from storageList and copy to member in this class.
Definition: State.cpp:142
__ECLASS DataClass
Definition: EEventUpdateCustomerData.h:35
virtual void OnResume()
This method is called when state is going to be reactivated from state history.
Definition: State.cpp:82
State(const QString &stateName, StateManager *context)
Definition: State.cpp:47
virtual void OnTimeOut()
Called when on show of timer is expired.
Definition: State.cpp:98
ChangeStateFlag
Definition: StateDefines.h:9
StateAlgorithmResult
Definition: StateDefines.h:23
virtual State * Clone(StorageList &inputStream)=0
Function returns concreete new instantion of descendent EState class.
virtual ~State()
Definition: State.cpp:61
Definition: StateDefines.h:19