\hypertarget{namespace_simple_hsm}{
\section{SimpleHsm Namespace Reference}
\label{namespace_simple_hsm}\index{SimpleHsm@{SimpleHsm}}
}
\subsection*{Classes}
\begin{CompactItemize}
\item 
class \hyperlink{class_simple_hsm_1_1_deep_history}{DeepHistory}
\item 
class \hyperlink{class_simple_hsm_1_1_state_event}{StateEvent}
\item 
class \hyperlink{class_simple_hsm_1_1_simple_hsm}{SimpleHsm}
\end{CompactItemize}
\subsection*{Enumerations}
\begin{CompactItemize}
\item 
enum \hyperlink{namespace_simple_hsm_a88e072b99795f8e8dc24e29c58f7bc8}{Signal} \{ \par
\hyperlink{namespace_simple_hsm_a88e072b99795f8e8dc24e29c58f7bc8}{Null} =  0, 
\hyperlink{namespace_simple_hsm_a88e072b99795f8e8dc24e29c58f7bc8}{Init} =  1, 
\hyperlink{namespace_simple_hsm_a88e072b99795f8e8dc24e29c58f7bc8}{Entry} =  2, 
\hyperlink{namespace_simple_hsm_a88e072b99795f8e8dc24e29c58f7bc8}{Exit} =  3, 
\par
\hyperlink{namespace_simple_hsm_a88e072b99795f8e8dc24e29c58f7bc8}{User} =  4
 \}
\end{CompactItemize}
\subsection*{Functions}
\begin{CompactItemize}
\item 
delegate StateDelegate \hyperlink{namespace_simple_hsm_1c95d67046ce8cf98caf577f19b100b2}{StateDelegate} (\hyperlink{class_simple_hsm_1_1_state_event}{StateEvent} e)
\end{CompactItemize}


\subsection{Enumeration Type Documentation}
\hypertarget{namespace_simple_hsm_a88e072b99795f8e8dc24e29c58f7bc8}{
\index{SimpleHsm@{SimpleHsm}!Signal@{Signal}}
\index{Signal@{Signal}!SimpleHsm@{SimpleHsm}}
\subsubsection[{Signal}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf SimpleHsm::Signal}}}
\label{namespace_simple_hsm_a88e072b99795f8e8dc24e29c58f7bc8}


The base state machine signals \begin{Desc}
\item[Enumerator: ]\par
\begin{description}
\index{Null@{Null}!SimpleHsm@{SimpleHsm}}\index{SimpleHsm@{SimpleHsm}!Null@{Null}}\item[{\em 
\hypertarget{namespace_simple_hsm_a88e072b99795f8e8dc24e29c58f7bc8}{
Null}
\label{namespace_simple_hsm_a88e072b99795f8e8dc24e29c58f7bc8}
}]Null signal, all state functions should ignore this signal and return their parent state (or null if the top level state) \index{Init@{Init}!SimpleHsm@{SimpleHsm}}\index{SimpleHsm@{SimpleHsm}!Init@{Init}}\item[{\em 
\hypertarget{namespace_simple_hsm_a88e072b99795f8e8dc24e29c58f7bc8}{
Init}
\label{namespace_simple_hsm_a88e072b99795f8e8dc24e29c58f7bc8}
}]Initialisation signal, a state function should transition to a default substate (\hyperlink{class_simple_hsm_1_1_simple_hsm_6a7b36da2230747af4bdd31fed0409ed}{SimpleHsm::SimpleHsm::InitTransitionState()}) if it has substates \index{Entry@{Entry}!SimpleHsm@{SimpleHsm}}\index{SimpleHsm@{SimpleHsm}!Entry@{Entry}}\item[{\em 
\hypertarget{namespace_simple_hsm_a88e072b99795f8e8dc24e29c58f7bc8}{
Entry}
\label{namespace_simple_hsm_a88e072b99795f8e8dc24e29c58f7bc8}
}]Entry signal, a state function should perform its entry actions (if any) \index{Exit@{Exit}!SimpleHsm@{SimpleHsm}}\index{SimpleHsm@{SimpleHsm}!Exit@{Exit}}\item[{\em 
\hypertarget{namespace_simple_hsm_a88e072b99795f8e8dc24e29c58f7bc8}{
Exit}
\label{namespace_simple_hsm_a88e072b99795f8e8dc24e29c58f7bc8}
}]Exit signal, a state function should perform its exit actions (if any) \index{User@{User}!SimpleHsm@{SimpleHsm}}\index{SimpleHsm@{SimpleHsm}!User@{User}}\item[{\em 
\hypertarget{namespace_simple_hsm_a88e072b99795f8e8dc24e29c58f7bc8}{
User}
\label{namespace_simple_hsm_a88e072b99795f8e8dc24e29c58f7bc8}
}]User signals should start from this index \end{description}
\end{Desc}



\subsection{Function Documentation}
\hypertarget{namespace_simple_hsm_1c95d67046ce8cf98caf577f19b100b2}{
\index{SimpleHsm@{SimpleHsm}!StateDelegate@{StateDelegate}}
\index{StateDelegate@{StateDelegate}!SimpleHsm@{SimpleHsm}}
\subsubsection[{StateDelegate}]{\setlength{\rightskip}{0pt plus 5cm}delegate StateDelegate SimpleHsm::StateDelegate (StateEvent {\em e})}}
\label{namespace_simple_hsm_1c95d67046ce8cf98caf577f19b100b2}


A state function 