add comments on XFState.h
This commit is contained in:
		| @@ -21,19 +21,62 @@ class XFBehavior; | ||||
| class XFState { | ||||
| 	friend class XFBehavior; | ||||
| public: | ||||
| 	/** | ||||
| 	 * Create and initialise a State for the behavior. | ||||
| 	 * Have to be initialized in the constructor of the behavior. | ||||
| 	 * @param behavior Pointer to the behavior class. Use the keyword this | ||||
| 	 */ | ||||
| 	XFState(XFBehavior* behavior); | ||||
| 	~XFState() = default; | ||||
|  | ||||
| 	/** | ||||
| 	 * Set the conditional state of an custom event. | ||||
| 	 * @param evid Id of the event for set the next State | ||||
| 	 * @param state Pointer to the next state | ||||
| 	 */ | ||||
| 	inline void addTransition(const int evid, XFState* state) { addTransition(XFEvent::XFEventType::Event, evid, 0, state); }; | ||||
|  | ||||
| 	/** | ||||
| 	 * Set a new timer with a certain duration on every entry of this state. | ||||
| 	 * Set next state after | ||||
| 	 * @param time Time duration of the timeout | ||||
| 	 * @param nextState Pointer to the next state | ||||
| 	 */ | ||||
| 	inline void setTimeout(int time, XFState* nextState) { addTransition(XFEvent::XFEventType::Timeout, XFEvent::Timeout, time, nextState); }; | ||||
|  | ||||
| 	// Callback typedef for callback without parameter | ||||
| 	typedef void (XFBehavior::*callback)(); | ||||
| 	typedef void (XFBehavior::*callbackEv)(const XFEvent* ev); | ||||
|  | ||||
| 	//inline void registerOnState(callback cbState) { cbState_ = cbState; }; | ||||
|  | ||||
| 	/** | ||||
| 	 * Register the method for the entry callback without parameter | ||||
| 	 * @param cbEntry Callback automatically called when the state is onEntry | ||||
| 	 */ | ||||
| 	inline void registerOnEntry(callback cbEntry) { cbEntry_ = cbEntry; }; | ||||
|  | ||||
| 	/** | ||||
| 	 * Register the method for the exit callback without parameter | ||||
| 	 * @param cbExit Callback automatically called when the state is onExit | ||||
| 	 */ | ||||
| 	inline void registerOnExit(callback cbExit) { cbExit_ = cbExit; }; | ||||
|  | ||||
|  | ||||
| 	//Callback typedef for callback with event in parameter | ||||
| 	typedef void (XFBehavior::*callbackEv)(const XFEvent* ev); | ||||
|  | ||||
| 	//inline void registerOnState(callbackEv cbState) { cbEvState_ = cbState; }; | ||||
|  | ||||
| 	/** | ||||
| 	 * Register the method for the entry callback with event in parameter. | ||||
| 	 * @param cbEntry Callback automatically called when the state is onEntry | ||||
| 	 */ | ||||
| 	inline void registerOnEntry(callbackEv cbEntry) { cbEvEntry_ = cbEntry; }; | ||||
|  | ||||
| 	/** | ||||
| 	 * Register the method for the exit callback with event in parameter | ||||
| 	 * @param cbExit Callback automatically called when the state is onExit | ||||
| 	 */ | ||||
| 	inline void registerOnExit(callbackEv cbExit) { cbEvExit_ = cbExit; }; | ||||
|  | ||||
| protected: | ||||
| @@ -65,6 +108,10 @@ protected: | ||||
|  | ||||
| class XFInitialState : public XFState { | ||||
| public: | ||||
| 	/** | ||||
| 	 * Use for set next state of the Initial State. | ||||
| 	 * @param state Pointer to the next state | ||||
| 	 */ | ||||
| 	inline XFInitialState(XFBehavior* behavior) : XFState(behavior) {}; | ||||
| 	~XFInitialState() = default; | ||||
| 	inline void addInitialTransition(XFState* state) { addTransition(XFEvent::XFEventType::Initial, XFEvent::Initial, 0, state); }; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user