\section{IModule Class Reference}
\label{class_i_module}\index{IModule@{IModule}}
Represent \char`\"{}algorithm instance\char`\"{} in the modular system.  


{\tt \#include $<$imodule.h$>$}

Inheritance diagram for IModule::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3cm]{class_i_module}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item 
const char $\ast$ {\bf get\-Type} () const 
\begin{CompactList}\small\item\em Return type of class. \item\end{CompactList}\item 
virtual void {\bf run} ()=0\label{class_i_module_ce10de03b3cf986e4648e1e8603499c0}

\begin{CompactList}\small\item\em runs module \item\end{CompactList}\item 
virtual void {\bf receive\-Message} ({\bf TObject} $\ast$mesg)
\begin{CompactList}\small\item\em handle messages receiving \item\end{CompactList}\item 
virtual void {\bf after\-Instantiate} ()\label{class_i_module_823778a5a2a7f5f0ed48c3cfcb0c6406}

\begin{CompactList}\small\item\em called by {\bf Module\-Type}{\rm (p.\,\pageref{class_module_type})} class after instantiation, for graphic setup etc. \item\end{CompactList}\item 
void {\bf print\-Variables} (ostream \&o) const 
\begin{CompactList}\small\item\em print variables into stream \item\end{CompactList}\item 
bool {\bf operator==} (const string \&s) const 
\begin{CompactList}\small\item\em test on module name (text comparsion) \item\end{CompactList}\item 
{\bf Var\-Inst} $\ast$ {\bf get\-Variable} (const string \&var\-Name)
\begin{CompactList}\small\item\em Return variable instance named var\-Name. If no such instance exists, returns NULL. \item\end{CompactList}\item 
{\bf Var\-Inst} $\ast$ {\bf operator[$\,$]} (const string \&var\-Name)
\begin{CompactList}\small\item\em Same as function {\bf get\-Variable()}{\rm (p.\,\pageref{class_i_module_fbb1cbdee06afef07664b75cea60b510})} via operator. \item\end{CompactList}\item 
{\bf Module\-Manager} $\ast$ {\bf get\-Manager} ()
\begin{CompactList}\small\item\em returns pointer to module manager \item\end{CompactList}\item 
{\bf Module\-Type} $\ast$ {\bf get\-Module\-Type} ()
\begin{CompactList}\small\item\em returns pointer to module type \item\end{CompactList}\end{CompactItemize}
\subsection*{Friends}
\begin{CompactItemize}
\item 
class {\bf Module\-Type}\label{class_i_module_25fe23e12805dd5c0eced8d5443340f4}

\end{CompactItemize}


\subsection{Detailed Description}
Represent \char`\"{}algorithm instance\char`\"{} in the modular system. 

Handles message receiving, store variables and provides methods to access them.

\begin{Desc}
\item[Date:]01-29-2006\end{Desc}
\begin{Desc}
\item[Author:]Onrej Svejdar.\end{Desc}
\begin{Desc}
\item[{\bf Todo}]\end{Desc}
\begin{Desc}
\item[{\bf Bug}]\end{Desc}




\subsection{Member Function Documentation}
\index{IModule@{IModule}!getManager@{getManager}}
\index{getManager@{getManager}!IModule@{IModule}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Module\-Manager}$\ast$ IModule::get\-Manager ()\hspace{0.3cm}{\tt  [inline]}}\label{class_i_module_e356126b4fdb8315c4b8faff261db787}


returns pointer to module manager 

\begin{Desc}
\item[Returns:]module manager \end{Desc}
\index{IModule@{IModule}!getModuleType@{getModuleType}}
\index{getModuleType@{getModuleType}!IModule@{IModule}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Module\-Type}$\ast$ IModule::get\-Module\-Type ()\hspace{0.3cm}{\tt  [inline]}}\label{class_i_module_32109553cfe0e028d8d0019546aa7441}


returns pointer to module type 

\begin{Desc}
\item[Returns:]module type \end{Desc}
\index{IModule@{IModule}!getType@{getType}}
\index{getType@{getType}!IModule@{IModule}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const char $\ast$ IModule::get\-Type () const\hspace{0.3cm}{\tt  [virtual]}}\label{class_i_module_1413702cbda682553d02b08afccebfc3}


Return type of class. 

\begin{Desc}
\item[Returns:]type of class \end{Desc}


Reimplemented from {\bf TObject} {\rm (p.\,\pageref{class_t_object_1413702cbda682553d02b08afccebfc3})}.\index{IModule@{IModule}!getVariable@{getVariable}}
\index{getVariable@{getVariable}!IModule@{IModule}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Var\-Inst}$\ast$ IModule::get\-Variable (const string \& {\em var\-Name})\hspace{0.3cm}{\tt  [inline]}}\label{class_i_module_fbb1cbdee06afef07664b75cea60b510}


Return variable instance named var\-Name. If no such instance exists, returns NULL. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em var\-Name}]name of variable instance \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]variable instance \end{Desc}
\index{IModule@{IModule}!operator==@{operator==}}
\index{operator==@{operator==}!IModule@{IModule}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool IModule::operator== (const string \& {\em s}) const\hspace{0.3cm}{\tt  [inline]}}\label{class_i_module_1e27b27a1062a34f7de2bbf1c84b0979}


test on module name (text comparsion) 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em s}]another's module name \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]true on match \end{Desc}
\index{IModule@{IModule}!operator[]@{operator[]}}
\index{operator[]@{operator[]}!IModule@{IModule}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Var\-Inst}$\ast$ IModule::operator[$\,$] (const string \& {\em var\-Name})\hspace{0.3cm}{\tt  [inline]}}\label{class_i_module_8c0ddf870aecd4858b0ecd028377b884}


Same as function {\bf get\-Variable()}{\rm (p.\,\pageref{class_i_module_fbb1cbdee06afef07664b75cea60b510})} via operator. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em var\-Name}]name of variable instance \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]variable instance. \end{Desc}
\index{IModule@{IModule}!printVariables@{printVariables}}
\index{printVariables@{printVariables}!IModule@{IModule}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void IModule::print\-Variables (ostream \& {\em o}) const}\label{class_i_module_667420b60a17f1e25a287e4b336cab1c}


print variables into stream 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em o}]output stream \end{description}
\end{Desc}
\index{IModule@{IModule}!receiveMessage@{receiveMessage}}
\index{receiveMessage@{receiveMessage}!IModule@{IModule}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void IModule::receive\-Message ({\bf TObject} $\ast$ {\em mesg})\hspace{0.3cm}{\tt  [inline, virtual]}}\label{class_i_module_22c78a6c240eb20efd80592f8e9b2bbb}


handle messages receiving 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em mesg}]pointer to object representing message \end{description}
\end{Desc}


Reimplemented in {\bf Test\-Add} {\rm (p.\,\pageref{class_test_add_22c78a6c240eb20efd80592f8e9b2bbb})}, and {\bf Test\-Compare} {\rm (p.\,\pageref{class_test_compare_22c78a6c240eb20efd80592f8e9b2bbb})}.

The documentation for this class was generated from the following files:\begin{CompactItemize}
\item 
H:/projs/dot\-NET/eda/src/modulemanager/imodule.h\item 
H:/projs/dot\-NET/eda/src/modulemanager/imodule.cpp\end{CompactItemize}
