AppCore
Loading...
Searching...
No Matches
StateManager.h
Go to the documentation of this file.
1#ifndef _ESTATEMANAGER_H_
2#define _ESTATEMANAGER_H_
3
4#include <qobject.h>
5#include <string>
6#include <inttypes.h>
7#include "StateDefines.h"
8
9class State;
10class StorageList;
11class QString;
12
13class StateManager : public QObject
14{
15 Q_OBJECT
16public:
18 virtual ~StateManager();
19
20 // methods related to application
21 virtual void Start();
22 virtual void Boot();
23 virtual void Finish();
24
25 virtual void OnSecondTick();
26 virtual void OnMinuteTick();
27
28 QString GetCurrentStateName() const;
29
30protected:
31 friend class State;
32
33 virtual StateDefines::StateAlgorithmResult ChangeState( const QString &stateName, StorageList &storageList, const StateDefines::ChangeStateFlag changeStateFlag );
34 virtual StateDefines::StateAlgorithmResult ChangeStateForResult( const QString &stateName, StorageList &storageList, const int32_t stateRequestCode );
35
37 virtual StateDefines::StateAlgorithmResult FinishStateWithResult( const int32_t stateResultCode, StorageList &storageList );
38
39 virtual bool IsChangeStateForResultMapEmpty() const;
40
41 virtual State *CurrentState();
42 virtual void SetCurrentState( State *newState );
43
44signals:
47
48private slots:
49 void OnResumeCurrentState();
50 void OnEnterCurrentState();
51
52private:
54
59 void RemovePostedUserInputEvents( const bool resumeCurrentState );
60
66 bool eventFilter( QObject *object, QEvent *event );
67
68 class DataClass;
69 DataClass *d;
70
72};
73
74#endif
StateAlgorithmResult
Definition StateDefines.h:24
ChangeStateFlag
Definition StateDefines.h:10
FinishStateFlag
Definition StateDefines.h:18
Definition StateManager.h:14
virtual ~StateManager()
Definition StateManager.cpp:116
virtual void Boot()
Definition StateManager.cpp:132
QString GetCurrentStateName() const
Definition StateManager.cpp:409
virtual StateDefines::StateAlgorithmResult ChangeState(const QString &stateName, StorageList &storageList, const StateDefines::ChangeStateFlag changeStateFlag)
Definition StateManager.cpp:157
void EnterCurrentState()
StateManager()
Definition StateManager.cpp:102
virtual void Start()
Definition StateManager.cpp:124
virtual void Finish()
Definition StateManager.cpp:140
virtual bool IsChangeStateForResultMapEmpty() const
Definition StateManager.cpp:308
virtual void SetCurrentState(State *newState)
Definition StateManager.cpp:324
virtual State * CurrentState()
Definition StateManager.cpp:316
virtual StateDefines::StateAlgorithmResult FinishState(const StateDefines::FinishStateFlag finishStateFlag)
Definition StateManager.cpp:238
virtual void OnSecondTick()
Definition StateManager.cpp:399
virtual StateDefines::StateAlgorithmResult ChangeStateForResult(const QString &stateName, StorageList &storageList, const int32_t stateRequestCode)
Definition StateManager.cpp:214
virtual StateDefines::StateAlgorithmResult FinishStateWithResult(const int32_t stateResultCode, StorageList &storageList)
Definition StateManager.cpp:279
virtual void OnMinuteTick()
Definition StateManager.cpp:404
void ResumeCurrentState()
abstract interface class creating API for states.
Definition State.h:18
Definition StorageList.h:12