AppCore
Loading...
Searching...
No Matches
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
10class StateManager;
11class StorageList;
12
17class State : public QObject
18{
19 Q_OBJECT
20public:
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
85protected:
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
158private slots:
159 // timer slots
163 void TimeOut();
164
165private:
167
168 class DataClass;
169 DataClass *d;
170
172};
173
174#endif // _ESTATE_H_
StateAlgorithmResult
Definition StateDefines.h:24
ChangeStateFlag
Definition StateDefines.h:10
@ ChangeStateFlagUndefined
Definition StateDefines.h:11
FinishStateFlag
Definition StateDefines.h:18
@ FinishStateFlagUndefined
Definition StateDefines.h:19
Definition StateManager.h:14
abstract interface class creating API for states.
Definition State.h:18
QString GetStateName() const
Function returns string representation of state.
Definition State.cpp:67
virtual void FillStorageList(const StorageList &storageList)
Copy all items from storageList and copy to member in this class.
Definition State.cpp:142
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
virtual State * Clone(StorageList &inputStream)=0
Function returns concreete new instantion of descendent EState class.
virtual void TimerStop()
Stop currently running timer.
Definition State.cpp:169
virtual void OnSecondTick()
Called every second.
Definition State.cpp:103
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 void OnResume()
This method is called when state is going to be reactivated from state history.
Definition State.cpp:82
virtual void OnMinuteTick()
Called on every minute change.
Definition State.cpp:107
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 TimerStart(unsigned long timeout)
Definition State.cpp:158
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
StateManager * GetStateManager()
Method for getting used ECore.
Definition State.cpp:137
virtual StorageList & GetStorageList()
Gets storage list saved in this class.
Definition State.cpp:147
virtual void OnEnter()
This method is called when state is going to be active.
Definition State.cpp:72
virtual void OnTimeOut()
Called when on show of timer is expired.
Definition State.cpp:98
virtual bool IsTimerActive()
Method to determine if timer is now running.
Definition State.cpp:175
virtual void OnLeave()
This method is called immediately before state is to be inactivated.
Definition State.cpp:92
virtual bool IsChangeStateForResultMapEmpty()
IsChangeStateForResultMapEmpty method returns information about existing states which have to be retu...
Definition State.cpp:132
virtual ~State()
Definition State.cpp:61
Definition StorageList.h:12