IStateController.h
Go to the documentation of this file.
1 #ifndef iproc_IStateController_included
2 #define iproc_IStateController_included
3 
4 
5 #include <istd/IChangeable.h>
6 
7 
8 namespace iproc
9 {
10 
11 
15 class IStateController: virtual public istd::IChangeable
16 {
17 public:
22  {
23  CF_STATE_ENTERED = 0x826710,
27  };
28 
34  virtual bool IsStateEnabled() const = 0;
35 
41  virtual bool IsStateActive() const = 0;
42 
50  virtual bool IsEnterAllowed(bool isActionAllowed = true, const IStateController* prevStatePtr = NULL) const = 0;
51 
59  virtual bool IsLeaveAllowed(bool isActionAllowed = true, const IStateController* nextStatePtr = NULL) const = 0;
60 
67  virtual bool TryEnterState(bool isActionAllowed = true, const IStateController* prevStatePtr = NULL) = 0;
68 
75  virtual bool TryLeaveState(bool isActionAllowed = true, const IStateController* nextStatePtr = NULL) = 0;
76 
81  virtual bool IsResetAllowed() const = 0;
82 };
83 
84 
85 } // namespace iproc
86 
87 
88 #endif // !iproc_IStateController_included
89 
90 
virtual bool IsStateEnabled() const =0
Check if state is enabled.
ChangeFlags
Data model change notification flags.
Interface for a wizard page status info.
virtual bool IsEnterAllowed(bool isActionAllowed=true, const IStateController *prevStatePtr=NULL) const =0
Check if entering of this page is allowed.
virtual bool IsResetAllowed() const =0
Check if reseting is allowed.
virtual bool IsStateActive() const =0
Check if this state is active.
virtual bool TryLeaveState(bool isActionAllowed=true, const IStateController *nextStatePtr=NULL)=0
Try leave this state.
virtual bool TryEnterState(bool isActionAllowed=true, const IStateController *prevStatePtr=NULL)=0
Try enter this state.
virtual bool IsLeaveAllowed(bool isActionAllowed=true, const IStateController *nextStatePtr=NULL) const =0
Check if this state can be leaved.

© 2007-2017 Witold Gantzke and Kirill Lepskiy