You.i Engine
YiAbstractSignalTransition.h
Go to the documentation of this file.
1 // © You i Labs Inc. 2000-2017. All rights reserved.
2 #ifndef _YI_ABSTRACT_SIGNAL_TRANSITION_H_
3 #define _YI_ABSTRACT_SIGNAL_TRANSITION_H_
4 
6 
7 namespace yi
8 {
14 namespace deprecated
15 {
17 
18 /*
19  * CYISignalTransition: transitions based on signals
20  * To check the signal parameters, subclass the correct SignalTransition class,
21  * and cast the event using a similar line:
22  * CYIStateMachineSignalEvent<YI_SLOT_PARAM1> *pEvent = (CYIStateMachineSignalEvent<YI_SLOT_PARAM1> *)e;
23  * after verifying that the superclass' TestEvent returns true.
24  */
26 {
27 public:
29  CYICompoundState *source,
30  CYIAbstractState *target = 0);
32 
33  virtual CYISignalBase *GetSignal() = 0;
34 
35 protected:
36  virtual bool TestEvent(CYIEvent *) override;
37 
38  virtual void Connect() = 0;
39 
40  void SetSource(CYICompoundState *source);
41 
42 protected:
44 
46 };
47 
48 } //namespace deprecated
49 
52 } //namespace yi
53 
54 #endif /* _YI_ABSTRACT_SIGNAL_TRANSITION_H_ */
Definition: YiAbstractSignalTransition.h:7
Base class for events.
Definition: YiEvent.h:489
The base class for state types in CYIStateMachine.
Definition: YiAbstractState.h:31
The base class for CYIState and CYIParallelState.
Definition: YiCompoundState.h:26
The base abstract class for CYISignal.
Definition: YiSignalBase.h:23
CYISignalEventGenerator * m_pGenerator
Definition: YiAbstractSignalTransition.h:43
void SetSource(CYICompoundState *source)
virtual bool TestEvent(CYIEvent *) override
CYIAbstractSignalTransition(CYISignalBase *pSignal, CYICompoundState *source, CYIAbstractState *target=0)
The base class for transitions between states in the state machine.
Definition: YiTransition.h:39
Definition: YiAbstractSignalTransition.h:25
Definition: YiSignalEventGenerator.h:21
friend class CYISignalTransitionPriv
Definition: YiAbstractSignalTransition.h:45
virtual CYISignalBase * GetSignal()=0