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 void OnMinuteTick()
virtual void OnSecondTick()
QString GetCurrentStateName() const
virtual void Finish()
void EnterCurrentState()
virtual bool IsChangeStateForResultMapEmpty() const
virtual StateDefines::StateAlgorithmResult ChangeState(const QString &stateName, StorageList &storageList, const StateDefines::ChangeStateFlag changeStateFlag)
virtual StateDefines::StateAlgorithmResult FinishState(const StateDefines::FinishStateFlag finishStateFlag)
virtual State * CurrentState()
virtual void Boot()
virtual StateDefines::StateAlgorithmResult ChangeStateForResult(const QString &stateName, StorageList &storageList, const int32_t stateRequestCode)
virtual StateDefines::StateAlgorithmResult FinishStateWithResult(const int32_t stateResultCode, StorageList &storageList)
virtual ~StateManager()
void ResumeCurrentState()
virtual void SetCurrentState(State *newState)
virtual void Start()
abstract interface class creating API for states.
Definition State.h:18
Definition StorageList.h:12