\hypertarget{classCommand}{
\section{Command Struct Reference}
\label{classCommand}\index{Command@{Command}}
}


The command and its associated process ID.  


Inheritance diagram for Command:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=12.000000cm]{classCommand}
\end{center}
\end{figure}
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{structCommand_1_1PCmd}{PCmd}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classCommand_aaee13bd3443d47a98da61de0d0eb88c2}{
{\bfseries Command} (\hyperlink{classEventLoop}{EventLoop} \&eventloop, \hyperlink{classXrlStdRouter}{XrlStdRouter} \&xrlrouter)}
\label{classCommand_aaee13bd3443d47a98da61de0d0eb88c2}

\item 
\hypertarget{classCommand_ac146ee13394eacef0c1f8b6ae4ea303e}{
void {\bfseries load\_\-command\_\-map} ()}
\label{classCommand_ac146ee13394eacef0c1f8b6ae4ea303e}

\item 
\hypertarget{classCommand_a540a6fbda9dd484446a93fe5cc83f71e}{
void {\bfseries command} (const string \&line)  throw (InvalidString)}
\label{classCommand_a540a6fbda9dd484446a93fe5cc83f71e}

\item 
\hypertarget{classCommand_a2b34f629eb9308d225c2c61947428ab3}{
void {\bfseries status} (const string \&peer, string \&status)}
\label{classCommand_a2b34f629eb9308d225c2c61947428ab3}

\item 
\hypertarget{classCommand_adcc70ce477e57f804d63eb1d1c7ab179}{
bool {\bfseries pending} ()}
\label{classCommand_adcc70ce477e57f804d63eb1d1c7ab179}

\item 
\hypertarget{classCommand_a119b67a80e2e5bdac5775d12718947f2}{
void {\bfseries datain} (const string \&peer, const uint32\_\-t \&genid, const bool \&status, const \hyperlink{classTimeVal}{TimeVal} \&tv, const vector$<$ uint8\_\-t $>$ \&data)}
\label{classCommand_a119b67a80e2e5bdac5775d12718947f2}

\item 
\hypertarget{classCommand_ae7197baf50752685bc690d4b2efb819f}{
void {\bfseries datain\_\-error} (const string \&peer, const uint32\_\-t \&genid, const string \&reason)}
\label{classCommand_ae7197baf50752685bc690d4b2efb819f}

\item 
\hypertarget{classCommand_aefc0b33ca32f59d2822e2ffce043b7de}{
void {\bfseries datain\_\-closed} (const string \&peer, const uint32\_\-t \&genid)}
\label{classCommand_aefc0b33ca32f59d2822e2ffce043b7de}

\item 
\hypertarget{classCommand_a84d37320eab47ec982f3c3410a69d5f7}{
void {\bfseries peer} (const string \&line, const vector$<$ string $>$ \&v)  throw (InvalidString)}
\label{classCommand_a84d37320eab47ec982f3c3410a69d5f7}

\item 
\hypertarget{classCommand_a981de3b750a3eea2354807c19649e417}{
void {\bfseries reset} (const string \&line, const vector$<$ string $>$ \&v)}
\label{classCommand_a981de3b750a3eea2354807c19649e417}

\item 
\hypertarget{classCommand_aeaeb99d487ca436cdb14616ac6b85971}{
void {\bfseries target} (const string \&line, const vector$<$ string $>$ \&v)  throw (InvalidString)}
\label{classCommand_aeaeb99d487ca436cdb14616ac6b85971}

\item 
\hypertarget{classCommand_a082c12a45d8aa377003e5a0003a8dbc1}{
void {\bfseries initialise} (const string \&line, const vector$<$ string $>$ \&v)  throw (InvalidString)}
\label{classCommand_a082c12a45d8aa377003e5a0003a8dbc1}

\item 
\hypertarget{classCommand_a2de739409c8ace69fe20a68f6f814d40}{
void {\bfseries initialise\_\-callback} (const \hyperlink{classXrlError}{XrlError} \&error, string peername)}
\label{classCommand_a2de739409c8ace69fe20a68f6f814d40}

\item 
\hypertarget{classCommand_ab70242ce7a8984d7487678d24a52d6d6}{
{\bfseries Command} (const string \&cmd\_\-syntax, int nargs)}
\label{classCommand_ab70242ce7a8984d7487678d24a52d6d6}

\item 
\hypertarget{classCommand_a8d0783c8d9f63cd21c1b990424145fb8}{
virtual int {\bfseries execute} ()=0}
\label{classCommand_a8d0783c8d9f63cd21c1b990424145fb8}

\item 
\hypertarget{classCommand_a9ae3513804edf66752f0112404fc2efe}{
const string \& {\bfseries syntax} () const }
\label{classCommand_a9ae3513804edf66752f0112404fc2efe}

\item 
\hypertarget{classCommand_a162adf5cc7d365fe76e8ba33f47c6733}{
void {\bfseries set\_\-arg} (int argnum, \hyperlink{classDatum}{Datum} $\ast$d)  throw (Parse\_\-error)}
\label{classCommand_a162adf5cc7d365fe76e8ba33f47c6733}

\item 
\hypertarget{classCommand_a874dcb1e78a771e06b9b5344da1c4b69}{
int {\bfseries num\_\-args} () const }
\label{classCommand_a874dcb1e78a771e06b9b5344da1c4b69}

\item 
\hypertarget{classCommand_ab53d91be104e643d3bd834e450626c2b}{
{\bfseries Command} (\hyperlink{classTemplateTreeNode}{TemplateTreeNode} \&template\_\-tree\_\-node, const string \&cmd\_\-name)}
\label{classCommand_ab53d91be104e643d3bd834e450626c2b}

\item 
\hypertarget{classCommand_a9121566d5446b4a5aaa5a9b43a114269}{
void {\bfseries add\_\-action} (const list$<$ string $>$ \&action, const \hyperlink{classXRLdb}{XRLdb} $\ast$xrldb)  throw (ParseError)}
\label{classCommand_a9121566d5446b4a5aaa5a9b43a114269}

\item 
\hypertarget{classCommand_a4136c1e8acf6e434ffaf855e7f1d30ab}{
int {\bfseries execute} (\hyperlink{classMasterConfigTreeNode}{MasterConfigTreeNode} \&ctn, \hyperlink{classTaskManager}{TaskManager} \&task\_\-manager) const }
\label{classCommand_a4136c1e8acf6e434ffaf855e7f1d30ab}

\item 
\hypertarget{classCommand_a8a731c9ef85e548464b06d2030049d32}{
void {\bfseries xrl\_\-action\_\-complete} (const \hyperlink{classXrlError}{XrlError} \&err, \hyperlink{classXrlArgs}{XrlArgs} $\ast$xrl\_\-args, \hyperlink{classMasterConfigTreeNode}{MasterConfigTreeNode} $\ast$ctn, \hyperlink{classAction}{Action} $\ast$action) const }
\label{classCommand_a8a731c9ef85e548464b06d2030049d32}

\item 
\hypertarget{classCommand_a3366c619686f10ad98de43b7e9a8f05b}{
bool {\bfseries process\_\-xrl\_\-action\_\-return\_\-arguments} (\hyperlink{classXrlArgs}{XrlArgs} $\ast$xrl\_\-args, \hyperlink{classMasterConfigTreeNode}{MasterConfigTreeNode} $\ast$ctn, \hyperlink{classAction}{Action} $\ast$action) const }
\label{classCommand_a3366c619686f10ad98de43b7e9a8f05b}

\item 
\hypertarget{classCommand_a0a8a7dd8b88c669be88d5cb198d3a809}{
void {\bfseries program\_\-action\_\-complete} (bool success, const string \&command\_\-stdout, const string \&command\_\-stderr, bool do\_\-exec, \hyperlink{classMasterConfigTreeNode}{MasterConfigTreeNode} $\ast$ctn, string stdout\_\-variable\_\-name, string stderr\_\-variable\_\-name) const }
\label{classCommand_a0a8a7dd8b88c669be88d5cb198d3a809}

\item 
\hypertarget{classCommand_a18fd3d3c9435901fdc665adbc3bbee0d}{
set$<$ string $>$ {\bfseries affected\_\-modules} () const }
\label{classCommand_a18fd3d3c9435901fdc665adbc3bbee0d}

\item 
\hypertarget{classCommand_a0579c3471dac57efb7b912178b7c7d61}{
bool {\bfseries affects\_\-module} (const string \&module) const }
\label{classCommand_a0579c3471dac57efb7b912178b7c7d61}

\item 
\hypertarget{classCommand_a6c0866db0beff3a853aa9f51325763f1}{
virtual string {\bfseries str} () const }
\label{classCommand_a6c0866db0beff3a853aa9f51325763f1}

\item 
\hypertarget{classCommand_a208c747e18bc3d320b5eee8974852d15}{
virtual bool {\bfseries expand\_\-actions} (string \&error\_\-msg)}
\label{classCommand_a208c747e18bc3d320b5eee8974852d15}

\item 
\hypertarget{classCommand_a66ab74b9e0bf5cda469358e3209dc738}{
virtual bool {\bfseries check\_\-referred\_\-variables} (string \&error\_\-msg) const }
\label{classCommand_a66ab74b9e0bf5cda469358e3209dc738}

\item 
\hypertarget{classCommand_a78ef360790dcf1ef17f90cfe13685729}{
{\bfseries Command} (string command, string wait\_\-command)}
\label{classCommand_a78ef360790dcf1ef17f90cfe13685729}

\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classCommand_ade57e9e588238c494a1c7848fe511e07}{
string {\bfseries \_\-command}}
\label{classCommand_ade57e9e588238c494a1c7848fe511e07}

\item 
\hypertarget{classCommand_afe0af231a231aac8f0b7ab15706c2c2d}{
string {\bfseries \_\-wait\_\-command}}
\label{classCommand_afe0af231a231aac8f0b7ab15706c2c2d}

\item 
\hypertarget{classCommand_a45a9ccd24c8633bb32aa82e8e19bda8d}{
PID\_\-T {\bfseries \_\-pid}}
\label{classCommand_a45a9ccd24c8633bb32aa82e8e19bda8d}

\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classCommand_acd3e9faca3f7765f155e5205b5dc3ede}{
void {\bfseries check\_\-syntax} ()}
\label{classCommand_acd3e9faca3f7765f155e5205b5dc3ede}

\item 
\hypertarget{classCommand_ad082136944235cb2c7af42973b961c11}{
void {\bfseries set\_\-last\_\-arg} (int n)}
\label{classCommand_ad082136944235cb2c7af42973b961c11}

\item 
\hypertarget{classCommand_a2de0ef4601dfb97c92dcd6789c8400e7}{
void {\bfseries bind} (int n, \hyperlink{classDatumVariableBinding}{DatumVariableBinding} $\ast$b)}
\label{classCommand_a2de0ef4601dfb97c92dcd6789c8400e7}

\item 
\hypertarget{classCommand_ad52a83d54f33960b5f01f395b752dea4}{
void {\bfseries bind\_\-uint32} (int n, uint32\_\-t \&i)}
\label{classCommand_ad52a83d54f33960b5f01f395b752dea4}

\item 
\hypertarget{classCommand_a9e219231ca297bd0b0e21d28922cc618}{
void {\bfseries bind\_\-string} (int n, string \&s)}
\label{classCommand_a9e219231ca297bd0b0e21d28922cc618}

\item 
\hypertarget{classCommand_a3c07c9695a32d8550a60118cc350a645}{
void {\bfseries bind\_\-ipv4} (int n, \hyperlink{classIPv4}{IPv4} \&addr)}
\label{classCommand_a3c07c9695a32d8550a60118cc350a645}

\item 
\hypertarget{classCommand_a11680af57d3053fc9efb9f74c0244b2e}{
void {\bfseries bind\_\-ipv4net} (int n, \hyperlink{classIPNet}{IPv4Net} \&net)}
\label{classCommand_a11680af57d3053fc9efb9f74c0244b2e}

\item 
\hypertarget{classCommand_a47d92adbe64ae494ef19d8b157607d33}{
\hyperlink{classDatumVariableBinding}{DatumVariableBinding} $\ast$ {\bfseries find\_\-binding} (int n)}
\label{classCommand_a47d92adbe64ae494ef19d8b157607d33}

\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classCommand_a1e8046d8e665c54d580ad2c317d17f0f}{
const string {\bfseries \_\-syntax}}
\label{classCommand_a1e8046d8e665c54d580ad2c317d17f0f}

\item 
\hypertarget{classCommand_a7a801607dc377622dd727a191c7c81ba}{
const int {\bfseries \_\-nargs}}
\label{classCommand_a7a801607dc377622dd727a191c7c81ba}

\item 
\hypertarget{classCommand_aebca47ab68f874a7b7c41251f6c49648}{
int {\bfseries \_\-last\_\-arg}}
\label{classCommand_aebca47ab68f874a7b7c41251f6c49648}

\item 
\hypertarget{classCommand_a71eca31beff4783902ac2a98dd0db113}{
map$<$ int, \hyperlink{classDatumVariableBinding}{DatumVariableBinding} $\ast$ $>$ {\bfseries \_\-bindings}}
\label{classCommand_a71eca31beff4783902ac2a98dd0db113}

\item 
\hypertarget{classCommand_a808ac5a1725966d8ab2d4ca863c6e595}{
list$<$ \hyperlink{classAction}{Action} $\ast$ $>$ {\bfseries \_\-actions}}
\label{classCommand_a808ac5a1725966d8ab2d4ca863c6e595}

\end{DoxyCompactItemize}
\subsection*{Private Types}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classCommand_a804c2cb1f1ce20ab56d201479ba52aae}{
typedef void(Command::$\ast$ {\bfseries MEMFUN} )(const string \&line, const vector$<$ string $>$ \&v)}
\label{classCommand_a804c2cb1f1ce20ab56d201479ba52aae}

\item 
\hypertarget{classCommand_a85807e6523ab4fd2a86ce96af476373c}{
typedef map$<$ const string, \hyperlink{structCommand_1_1PCmd}{PCmd} $>$ {\bfseries StringCommandMap}}
\label{classCommand_a85807e6523ab4fd2a86ce96af476373c}

\item 
\hypertarget{classCommand_ac0ea3da3815f5369ab2ce00e43afa4ef}{
typedef list$<$ \hyperlink{classPeer}{Peer} $>$ {\bfseries PeerList}}
\label{classCommand_ac0ea3da3815f5369ab2ce00e43afa4ef}

\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classCommand_af28121a9d452dfc6ec7544d4f74c9f19}{
\hyperlink{classEventLoop}{EventLoop} \& {\bfseries \_\-eventloop}}
\label{classCommand_af28121a9d452dfc6ec7544d4f74c9f19}

\item 
\hypertarget{classCommand_a3e32d5cdc1bf174cdefcaea151d96cbf}{
\hyperlink{classXrlStdRouter}{XrlStdRouter} \& {\bfseries \_\-xrlrouter}}
\label{classCommand_a3e32d5cdc1bf174cdefcaea151d96cbf}

\item 
\hypertarget{classCommand_acd5b6ad9ddf983731eac23004fce471d}{
uint32\_\-t {\bfseries \_\-genid}}
\label{classCommand_acd5b6ad9ddf983731eac23004fce471d}

\item 
\hypertarget{classCommand_a456e10a1c8d30516fb6dbefa20f3c9cf}{
uint32\_\-t {\bfseries \_\-init\_\-count}}
\label{classCommand_a456e10a1c8d30516fb6dbefa20f3c9cf}

\item 
\hypertarget{classCommand_aa741b6ca3ca26dcfdc1f6b1a48aa852f}{
StringCommandMap {\bfseries \_\-commands}}
\label{classCommand_aa741b6ca3ca26dcfdc1f6b1a48aa852f}

\item 
\hypertarget{classCommand_ac08409cd11dbdd62a09e4887240e04d2}{
PeerList {\bfseries \_\-peers}}
\label{classCommand_ac08409cd11dbdd62a09e4887240e04d2}

\item 
\hypertarget{classCommand_a2bfb561d272b7f1c4b5ba18888d7b59e}{
string {\bfseries \_\-target\_\-hostname}}
\label{classCommand_a2bfb561d272b7f1c4b5ba18888d7b59e}

\item 
\hypertarget{classCommand_a2c676809d07c2f1263bd216e6c078bcb}{
string {\bfseries \_\-target\_\-port}}
\label{classCommand_a2c676809d07c2f1263bd216e6c078bcb}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
The command and its associated process ID. 

The documentation for this struct was generated from the following files:\begin{DoxyCompactItemize}
\item 
/home/greearb/git/xorp.ct.github/xorp/bgp/harness/command.hh\item 
/home/greearb/git/xorp.ct.github/xorp/rib/parser.hh\item 
/home/greearb/git/xorp.ct.github/xorp/rtrmgr/template\_\-commands.hh\item 
/home/greearb/git/xorp.ct.github/xorp/utils/runit.cc\item 
/home/greearb/git/xorp.ct.github/xorp/bgp/harness/command.cc\item 
/home/greearb/git/xorp.ct.github/xorp/rib/parser.cc\item 
/home/greearb/git/xorp.ct.github/xorp/rtrmgr/template\_\-commands.cc\end{DoxyCompactItemize}
