AppCore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 
9 class State;
10 class StorageList;
11 class QString;
12 
13 class StateManager : public QObject
14 {
15  Q_OBJECT
16 public:
17  StateManager();
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 
30 protected:
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 
44 signals:
45  void ResumeCurrentState();
46  void EnterCurrentState();
47 
48 private slots:
49  void OnResumeCurrentState();
50  void OnEnterCurrentState();
51 
52 private:
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
virtual StateDefines::StateAlgorithmResult FinishStateWithResult(const int32_t stateResultCode, StorageList &storageList)
Definition: StateManager.cpp:279
void ResumeCurrentState()
EEventTripTicketPr __EDATAPTR d
Definition: EEventTripTicket.h:96
Definition: StateManager.h:13
virtual StateDefines::StateAlgorithmResult ChangeStateForResult(const QString &stateName, StorageList &storageList, const int32_t stateRequestCode)
Definition: StateManager.cpp:214
virtual void Finish()
Definition: StateManager.cpp:140
virtual void Boot()
Definition: StateManager.cpp:132
void EnterCurrentState()
Definition: StorageList.h:11
StateManager()
Definition: StateManager.cpp:102
abstract interface class creating API for states.
Definition: State.h:17
FinishStateFlag
Definition: StateDefines.h:17
virtual State * CurrentState()
Definition: StateManager.cpp:316
virtual void SetCurrentState(State *newState)
Definition: StateManager.cpp:324
QString GetCurrentStateName() const
Definition: StateManager.cpp:409
virtual void Start()
Definition: StateManager.cpp:124
__ECLASS DataClass
Definition: EEventUpdateCustomerData.h:35
virtual StateDefines::StateAlgorithmResult ChangeState(const QString &stateName, StorageList &storageList, const StateDefines::ChangeStateFlag changeStateFlag)
Definition: StateManager.cpp:157
virtual void OnSecondTick()
Definition: StateManager.cpp:399
virtual bool IsChangeStateForResultMapEmpty() const
Definition: StateManager.cpp:308
ChangeStateFlag
Definition: StateDefines.h:9
StateAlgorithmResult
Definition: StateDefines.h:23
virtual StateDefines::StateAlgorithmResult FinishState(const StateDefines::FinishStateFlag finishStateFlag)
Definition: StateManager.cpp:238
virtual void OnMinuteTick()
Definition: StateManager.cpp:404
virtual ~StateManager()
Definition: StateManager.cpp:116