\hypertarget{classTask}{
\section{Task Class Reference}
\label{classTask}\index{Task@{Task}}
}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classTask_ae617102ca54936c1c2c7bb938c2a1145}{
typedef XorpCallback2$<$ void, bool, const string \& $>$::RefPtr {\bfseries CallBack}}
\label{classTask_ae617102ca54936c1c2c7bb938c2a1145}

\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classTask_ab71f438e22039b197ff059754ec5a68e}{
{\bfseries Task} (const string \&name, \hyperlink{classTaskManager}{TaskManager} \&taskmgr)}
\label{classTask_ab71f438e22039b197ff059754ec5a68e}

\item 
\hypertarget{classTask_a42f0e8dea9b95621ead8c24ed3604857}{
void {\bfseries start\_\-module} (const string \&mod\_\-name, \hyperlink{classValidation}{Validation} $\ast$startup\_\-validation, \hyperlink{classValidation}{Validation} $\ast$config\_\-validation, \hyperlink{classStartup}{Startup} $\ast$startup)}
\label{classTask_a42f0e8dea9b95621ead8c24ed3604857}

\item 
\hypertarget{classTask_ad2dd6f8630719ab1933ef31c7087e41e}{
void {\bfseries shutdown\_\-module} (const string \&mod\_\-name, \hyperlink{classValidation}{Validation} $\ast$validation, \hyperlink{classShutdown}{Shutdown} $\ast$shutdown)}
\label{classTask_ad2dd6f8630719ab1933ef31c7087e41e}

\item 
\hypertarget{classTask_a4f8193ea2429cfbfab3d905bfb8e0cf3}{
void {\bfseries add\_\-xrl} (const \hyperlink{classUnexpandedXrl}{UnexpandedXrl} \&xrl, XrlRouter::XrlCallback \&cb)}
\label{classTask_a4f8193ea2429cfbfab3d905bfb8e0cf3}

\item 
\hypertarget{classTask_ae856061d05069bda1572c280af3e99e3}{
void {\bfseries add\_\-program} (const \hyperlink{classUnexpandedProgram}{UnexpandedProgram} \&program, TaskProgramItem::ProgramCallback program\_\-cb)}
\label{classTask_ae856061d05069bda1572c280af3e99e3}

\item 
\hypertarget{classTask_aba3a3ae58322f5c9362942d893ad15a7}{
void {\bfseries set\_\-ready\_\-validation} (\hyperlink{classValidation}{Validation} $\ast$validation)}
\label{classTask_aba3a3ae58322f5c9362942d893ad15a7}

\item 
\hypertarget{classTask_a15f0bed0c6de64025ca7925d16b84490}{
\hyperlink{classValidation}{Validation} $\ast$ {\bfseries ready\_\-validation} () const }
\label{classTask_a15f0bed0c6de64025ca7925d16b84490}

\item 
\hypertarget{classTask_a4024892707b520a929dc841cc7f71b3b}{
bool {\bfseries will\_\-shutdown\_\-module} () const }
\label{classTask_a4024892707b520a929dc841cc7f71b3b}

\item 
\hypertarget{classTask_a1f7aaa191369b67fb2a869785cd7e72c}{
void {\bfseries run} (CallBack cb)}
\label{classTask_a1f7aaa191369b67fb2a869785cd7e72c}

\item 
\hypertarget{classTask_a8bd94ad4378c4b221ead0b3aa32461da}{
void {\bfseries item\_\-done} (bool success, bool fatal, const string \&errmsg)}
\label{classTask_a8bd94ad4378c4b221ead0b3aa32461da}

\item 
\hypertarget{classTask_a6e8f226079126555b71e6ba4b68672df}{
bool {\bfseries do\_\-exec} () const }
\label{classTask_a6e8f226079126555b71e6ba4b68672df}

\item 
\hypertarget{classTask_aa98584fbc23386826c879e645094a0a9}{
bool {\bfseries is\_\-verification} () const }
\label{classTask_aa98584fbc23386826c879e645094a0a9}

\item 
\hypertarget{classTask_ae24dfd87ed30048eeafc9ba7365dbab0}{
\hyperlink{classXorpClient}{XorpClient} \& {\bfseries xorp\_\-client} () const }
\label{classTask_ae24dfd87ed30048eeafc9ba7365dbab0}

\item 
const \hyperlink{classRunCommandBase_1_1ExecId}{RunShellCommand::ExecId} \& \hyperlink{classTask_a80871ee77380e458d3668d70a43a622e}{exec\_\-id} () const 
\begin{DoxyCompactList}\small\item\em Get a reference to \hyperlink{protocolthe-p}{the} ExecId object. \item\end{DoxyCompactList}\item 
void \hyperlink{classTask_afa05cbdbcdaad2adaf20a29deb2d7bee}{set\_\-exec\_\-id} (const \hyperlink{classRunCommandBase_1_1ExecId}{RunShellCommand::ExecId} \&v)
\begin{DoxyCompactList}\small\item\em Set \hyperlink{protocolthe-p}{the} execution ID for executing \hyperlink{protocolthe-p}{the} task. \item\end{DoxyCompactList}\item 
\hypertarget{classTask_ab9b089fc65e57c3539fcec7564b6204b}{
const string \& {\bfseries name} () const }
\label{classTask_ab9b089fc65e57c3539fcec7564b6204b}

\item 
\hypertarget{classTask_a61ced44b19ee2c51881edd54c150bf85}{
\hyperlink{classEventLoop}{EventLoop} \& {\bfseries eventloop} () const }
\label{classTask_a61ced44b19ee2c51881edd54c150bf85}

\item 
\hypertarget{classTask_aca0690075f80d40f9c1e3fd957f46f0e}{
bool {\bfseries verbose} () const }
\label{classTask_aca0690075f80d40f9c1e3fd957f46f0e}

\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classTask_a1870896ebd9b6bb0f41932e59796ff30}{
void {\bfseries step1\_\-start} ()}
\label{classTask_a1870896ebd9b6bb0f41932e59796ff30}

\item 
\hypertarget{classTask_a471e95f7e9f8224dc9449ddd73172537}{
void {\bfseries step1\_\-done} (bool success)}
\label{classTask_a471e95f7e9f8224dc9449ddd73172537}

\item 
\hypertarget{classTask_a7c8c01f1ac11e588b577a8e4ac18af51}{
void {\bfseries step2\_\-wait} ()}
\label{classTask_a7c8c01f1ac11e588b577a8e4ac18af51}

\item 
\hypertarget{classTask_a533d72476fca4abca643bde9bbedf22a}{
void {\bfseries step2\_\-done} (bool success)}
\label{classTask_a533d72476fca4abca643bde9bbedf22a}

\item 
\hypertarget{classTask_a28e6fe8bdfddd1f7ab2a3ea98c62bad8}{
void {\bfseries step2\_\-2\_\-wait} ()}
\label{classTask_a28e6fe8bdfddd1f7ab2a3ea98c62bad8}

\item 
\hypertarget{classTask_aad1bc63a1ef90f4a53b3a18a8391f712}{
void {\bfseries step2\_\-2\_\-done} (bool success)}
\label{classTask_aad1bc63a1ef90f4a53b3a18a8391f712}

\item 
\hypertarget{classTask_abec7ed9d53a21f5e1dc57767008c930f}{
void {\bfseries step2\_\-3\_\-wait} ()}
\label{classTask_abec7ed9d53a21f5e1dc57767008c930f}

\item 
\hypertarget{classTask_a50669f697deae1ff8ae0155ade82c708}{
void {\bfseries step2\_\-3\_\-done} (bool success)}
\label{classTask_a50669f697deae1ff8ae0155ade82c708}

\item 
\hypertarget{classTask_a1bdd980b59dd0910f190095481c54eaf}{
void {\bfseries step3\_\-config} ()}
\label{classTask_a1bdd980b59dd0910f190095481c54eaf}

\item 
\hypertarget{classTask_a3189f2be3fbc5626d42ad18d4d93943b}{
void {\bfseries step3\_\-done} (bool success)}
\label{classTask_a3189f2be3fbc5626d42ad18d4d93943b}

\item 
\hypertarget{classTask_a8c92467528524f9406d8545555ac346e}{
void {\bfseries step4\_\-wait} ()}
\label{classTask_a8c92467528524f9406d8545555ac346e}

\item 
\hypertarget{classTask_afa8b4011f48a4ac8fa5a70b3bdd7a810}{
void {\bfseries step4\_\-done} (bool success)}
\label{classTask_afa8b4011f48a4ac8fa5a70b3bdd7a810}

\item 
\hypertarget{classTask_a6604cd80aa3c6059835933ed89fbd1c3}{
void {\bfseries step5\_\-stop} ()}
\label{classTask_a6604cd80aa3c6059835933ed89fbd1c3}

\item 
\hypertarget{classTask_a34032e621edfaff1d34379c292d36733}{
void {\bfseries step5\_\-done} (bool success)}
\label{classTask_a34032e621edfaff1d34379c292d36733}

\item 
\hypertarget{classTask_a3181cc0bc6fb4f5cd059c89b251d702e}{
void {\bfseries step6\_\-wait} ()}
\label{classTask_a3181cc0bc6fb4f5cd059c89b251d702e}

\item 
\hypertarget{classTask_af63ee909c763c50f49be1ed0b9aaf6c7}{
void {\bfseries step6\_\-done} (bool success)}
\label{classTask_af63ee909c763c50f49be1ed0b9aaf6c7}

\item 
\hypertarget{classTask_a1ef9d3dae0d1bee3d565aae69a875d73}{
void {\bfseries step7\_\-wait} ()}
\label{classTask_a1ef9d3dae0d1bee3d565aae69a875d73}

\item 
\hypertarget{classTask_af49c8602f72c799c07e6048bd6dac1aa}{
void {\bfseries step7\_\-kill} ()}
\label{classTask_af49c8602f72c799c07e6048bd6dac1aa}

\item 
\hypertarget{classTask_ad12ddfa24812081b329a6212360cf856}{
void {\bfseries step8\_\-report} ()}
\label{classTask_ad12ddfa24812081b329a6212360cf856}

\item 
\hypertarget{classTask_a62e44fbe6d6d6330bbab84e09e5725d0}{
void {\bfseries task\_\-fail} (const string \&errmsg, bool fatal)}
\label{classTask_a62e44fbe6d6d6330bbab84e09e5725d0}

\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classTask_a205c1366f5d7da1b871460f6181acc49}{
string {\bfseries \_\-name}}
\label{classTask_a205c1366f5d7da1b871460f6181acc49}

\item 
\hypertarget{classTask_a0576dfccb16d3906493258678aa11463}{
\hyperlink{classTaskManager}{TaskManager} \& {\bfseries \_\-taskmgr}}
\label{classTask_a0576dfccb16d3906493258678aa11463}

\item 
\hypertarget{classTask_a3cce9b6133424d0958cfd1439fec27be}{
string {\bfseries \_\-module\_\-name}}
\label{classTask_a3cce9b6133424d0958cfd1439fec27be}

\item 
\hypertarget{classTask_a6271178a9b735c08a4a413d27c20e7dc}{
bool {\bfseries \_\-start\_\-module}}
\label{classTask_a6271178a9b735c08a4a413d27c20e7dc}

\item 
\hypertarget{classTask_a49edb6a5809a1c44b9e11fc37b0d9970}{
bool {\bfseries \_\-stop\_\-module}}
\label{classTask_a49edb6a5809a1c44b9e11fc37b0d9970}

\item 
\hypertarget{classTask_a13f3f2d482117aa7e1cfd9cf9796d5a8}{
\hyperlink{classValidation}{Validation} $\ast$ {\bfseries \_\-startup\_\-validation}}
\label{classTask_a13f3f2d482117aa7e1cfd9cf9796d5a8}

\item 
\hypertarget{classTask_adcc7c2426c1eacbff616b22eca0afe5f}{
\hyperlink{classValidation}{Validation} $\ast$ {\bfseries \_\-config\_\-validation}}
\label{classTask_adcc7c2426c1eacbff616b22eca0afe5f}

\item 
\hypertarget{classTask_aebabb224d6ead91b054d6e22d0c44c07}{
\hyperlink{classValidation}{Validation} $\ast$ {\bfseries \_\-ready\_\-validation}}
\label{classTask_aebabb224d6ead91b054d6e22d0c44c07}

\item 
\hypertarget{classTask_a77893f1dc5e5addf2e07f74e7b4fd13b}{
\hyperlink{classValidation}{Validation} $\ast$ {\bfseries \_\-shutdown\_\-validation}}
\label{classTask_a77893f1dc5e5addf2e07f74e7b4fd13b}

\item 
\hypertarget{classTask_a28446378d2696368f098b8e2d49fdec8}{
\hyperlink{classStartup}{Startup} $\ast$ {\bfseries \_\-startup\_\-method}}
\label{classTask_a28446378d2696368f098b8e2d49fdec8}

\item 
\hypertarget{classTask_a7053abf34ae4595666f251aa0dce9302}{
\hyperlink{classShutdown}{Shutdown} $\ast$ {\bfseries \_\-shutdown\_\-method}}
\label{classTask_a7053abf34ae4595666f251aa0dce9302}

\item 
\hypertarget{classTask_ac197252b52b9a1cf8c8e2da75f2be009}{
list$<$ \hyperlink{classTaskBaseItem}{TaskBaseItem} $\ast$ $>$ {\bfseries \_\-task\_\-items}}
\label{classTask_ac197252b52b9a1cf8c8e2da75f2be009}

\item 
\hypertarget{classTask_abc357b258412d516baccd9f91c3e3406}{
bool {\bfseries \_\-config\_\-done}}
\label{classTask_abc357b258412d516baccd9f91c3e3406}

\item 
\hypertarget{classTask_a21de4178430676211a19e6a6d5260e87}{
CallBack {\bfseries \_\-task\_\-complete\_\-cb}}
\label{classTask_a21de4178430676211a19e6a6d5260e87}

\item 
\hypertarget{classTask_a93d3a24a5733bfa74f7d8176a0f513d2}{
\hyperlink{classXorpTimer}{XorpTimer} {\bfseries \_\-wait\_\-timer}}
\label{classTask_a93d3a24a5733bfa74f7d8176a0f513d2}

\item 
\hypertarget{classTask_ae6f60961794f149d09a5fb006d5995c2}{
\hyperlink{classRunCommandBase_1_1ExecId}{RunShellCommand::ExecId} {\bfseries \_\-exec\_\-id}}
\label{classTask_ae6f60961794f149d09a5fb006d5995c2}

\item 
\hypertarget{classTask_a518a734931cc6971ec28f755e844e91b}{
bool {\bfseries \_\-verbose}}
\label{classTask_a518a734931cc6971ec28f755e844e91b}

\end{DoxyCompactItemize}


\subsection{Member Function Documentation}
\hypertarget{classTask_a80871ee77380e458d3668d70a43a622e}{
\index{Task@{Task}!exec\_\-id@{exec\_\-id}}
\index{exec\_\-id@{exec\_\-id}!Task@{Task}}
\subsubsection[{exec\_\-id}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf RunShellCommand::ExecId}\& Task::exec\_\-id (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classTask_a80871ee77380e458d3668d70a43a622e}


Get a reference to \hyperlink{protocolthe-p}{the} ExecId object. 

\begin{DoxyReturn}{Returns}
a reference to \hyperlink{protocolthe-p}{the} ExecId object that is used for setting \hyperlink{protocolthe-p}{the} execution ID when running \hyperlink{protocolthe-p}{the} task. 
\end{DoxyReturn}
\hypertarget{classTask_afa05cbdbcdaad2adaf20a29deb2d7bee}{
\index{Task@{Task}!set\_\-exec\_\-id@{set\_\-exec\_\-id}}
\index{set\_\-exec\_\-id@{set\_\-exec\_\-id}!Task@{Task}}
\subsubsection[{set\_\-exec\_\-id}]{\setlength{\rightskip}{0pt plus 5cm}void Task::set\_\-exec\_\-id (
\begin{DoxyParamCaption}
\item[{const {\bf RunShellCommand::ExecId} \&}]{v}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classTask_afa05cbdbcdaad2adaf20a29deb2d7bee}


Set \hyperlink{protocolthe-p}{the} execution ID for executing \hyperlink{protocolthe-p}{the} task. 


\begin{DoxyParams}{Parameters}
{\em v} & \hyperlink{protocolthe-p}{the} execution ID. \\
\hline
\end{DoxyParams}


The documentation for this class was generated from the following files:\begin{DoxyCompactItemize}
\item 
/home/greearb/git/xorp.ct.github/xorp/rtrmgr/task.hh\item 
/home/greearb/git/xorp.ct.github/xorp/rtrmgr/task.cc\end{DoxyCompactItemize}
