\hypertarget{classXrlCliNode}{
\section{XrlCliNode Class Reference}
\label{classXrlCliNode}\index{XrlCliNode@{XrlCliNode}}
}
Inheritance diagram for XrlCliNode:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=6.000000cm]{classXrlCliNode}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classXrlCliNode_a146e55d226361ed3579cd27dbe59d693}{
{\bfseries XrlCliNode} (\hyperlink{classEventLoop}{EventLoop} \&eventloop, const string \&class\_\-name, const string \&finder\_\-hostname, uint16\_\-t finder\_\-port, const string \&finder\_\-target, \hyperlink{classCliNode}{CliNode} \&cli\_\-node)}
\label{classXrlCliNode_a146e55d226361ed3579cd27dbe59d693}

\item 
\hypertarget{classXrlCliNode_aacefbcade6edf7c879fa4aa468a6bad2}{
int {\bfseries enable\_\-cli} ()}
\label{classXrlCliNode_aacefbcade6edf7c879fa4aa468a6bad2}

\item 
\hypertarget{classXrlCliNode_ab17a2f216245e6c457f8a5f1ff7f2dd4}{
int {\bfseries disable\_\-cli} ()}
\label{classXrlCliNode_ab17a2f216245e6c457f8a5f1ff7f2dd4}

\item 
\hypertarget{classXrlCliNode_af1d03d9b553f16685dc044e57b5dac03}{
int {\bfseries start\_\-cli} ()}
\label{classXrlCliNode_af1d03d9b553f16685dc044e57b5dac03}

\item 
\hypertarget{classXrlCliNode_a0b16e1b1934d17d46e1424ef0214934e}{
int {\bfseries stop\_\-cli} ()}
\label{classXrlCliNode_a0b16e1b1934d17d46e1424ef0214934e}

\item 
\hyperlink{classXrlRouter}{XrlRouter} \& \hyperlink{classXrlCliNode_a4f7c709c9655aaf0feb7d74929f347fe}{xrl\_\-router} ()
\begin{DoxyCompactList}\small\item\em Get a reference to \hyperlink{protocolthe-p}{the} \hyperlink{classXrlRouter}{XrlRouter} instance. \item\end{DoxyCompactList}\item 
const \hyperlink{classXrlRouter}{XrlRouter} \& \hyperlink{classXrlCliNode_a06cb86a1da80469060d031612f2732b6}{xrl\_\-router} () const 
\begin{DoxyCompactList}\small\item\em Get a const reference to \hyperlink{protocolthe-p}{the} \hyperlink{classXrlRouter}{XrlRouter} instance. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classXrlCliNode_a2a760e9f1cee6509aa0d037995c6dd20}{
virtual \hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlCliNode_a2a760e9f1cee6509aa0d037995c6dd20}{common\_\-0\_\-1\_\-get\_\-target\_\-name} (string \&name)}
\label{classXrlCliNode_a2a760e9f1cee6509aa0d037995c6dd20}

\begin{DoxyCompactList}\small\item\em Get name of \hyperlink{classXrl}{Xrl} Target. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlCliNode_a550f4a25fb1d8a5a85210a722246cb2d}{
virtual \hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlCliNode_a550f4a25fb1d8a5a85210a722246cb2d}{common\_\-0\_\-1\_\-get\_\-version} (string \&version)}
\label{classXrlCliNode_a550f4a25fb1d8a5a85210a722246cb2d}

\begin{DoxyCompactList}\small\item\em Get version string from \hyperlink{classXrl}{Xrl} Target. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlCliNode_a2b2e13651387b041d92a6ef09845f04d}{
virtual \hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlCliNode_a2b2e13651387b041d92a6ef09845f04d}{common\_\-0\_\-1\_\-get\_\-status} (uint32\_\-t \&status, string \&reason)}
\label{classXrlCliNode_a2b2e13651387b041d92a6ef09845f04d}

\begin{DoxyCompactList}\small\item\em Get status from \hyperlink{classXrl}{Xrl} Target. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlCliNode_a1f4171897b02a7fa25aed55cb0552342}{
virtual \hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlCliNode_a1f4171897b02a7fa25aed55cb0552342}{common\_\-0\_\-1\_\-shutdown} ()}
\label{classXrlCliNode_a1f4171897b02a7fa25aed55cb0552342}

\begin{DoxyCompactList}\small\item\em \hyperlink{classShutdown}{Shutdown} cleanly. \item\end{DoxyCompactList}\item 
virtual \hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlCliNode_a7a14c3da8ada13945c1a9e101d6a02d7}{common\_\-0\_\-1\_\-startup} ()
\begin{DoxyCompactList}\small\item\em Pure-\/virtual function that needs to be implemented to: \item\end{DoxyCompactList}\item 
virtual \hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlCliNode_a86585306114f25fd36aed0b3e30e2f32}{cli\_\-manager\_\-0\_\-1\_\-enable\_\-cli} (const bool \&enable)
\begin{DoxyCompactList}\small\item\em Enable/disable/start/stop \hyperlink{protocolthe-p}{the} CLI. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlCliNode_aa8f89b12d6b41f9547089b9d55d53286}{
virtual \hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries cli\_\-manager\_\-0\_\-1\_\-start\_\-cli} ()}
\label{classXrlCliNode_aa8f89b12d6b41f9547089b9d55d53286}

\item 
\hypertarget{classXrlCliNode_a2b8b46001fb3b99529cc479d74dfa07f}{
virtual \hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries cli\_\-manager\_\-0\_\-1\_\-stop\_\-cli} ()}
\label{classXrlCliNode_a2b8b46001fb3b99529cc479d74dfa07f}

\item 
virtual \hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlCliNode_ad8a6f0d38bb7f5ba5b2140901ec74425}{cli\_\-manager\_\-0\_\-1\_\-add\_\-enable\_\-cli\_\-access\_\-from\_\-subnet4} (const \hyperlink{classIPNet}{IPv4Net} \&subnet\_\-addr)
\begin{DoxyCompactList}\small\item\em Add a subnet address to \hyperlink{protocolthe-p}{the} list of subnet addresses enabled for CLI access. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlCliNode_a007eafbdfaecf339b7dc2fd1bc5f0d92}{
virtual \hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries cli\_\-manager\_\-0\_\-1\_\-add\_\-enable\_\-cli\_\-access\_\-from\_\-subnet6} (const \hyperlink{classIPNet}{IPv6Net} \&subnet\_\-addr)}
\label{classXrlCliNode_a007eafbdfaecf339b7dc2fd1bc5f0d92}

\item 
virtual \hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlCliNode_aa7d95572e180072b9e0ca659e5fd225b}{cli\_\-manager\_\-0\_\-1\_\-delete\_\-enable\_\-cli\_\-access\_\-from\_\-subnet4} (const \hyperlink{classIPNet}{IPv4Net} \&subnet\_\-addr)
\begin{DoxyCompactList}\small\item\em Delete a subnet address from \hyperlink{protocolthe-p}{the} list of subnet addresses enabled for CLI access. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlCliNode_a9f1ed4e051c27e9cfedba1748e2d5211}{
virtual \hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries cli\_\-manager\_\-0\_\-1\_\-delete\_\-enable\_\-cli\_\-access\_\-from\_\-subnet6} (const \hyperlink{classIPNet}{IPv6Net} \&subnet\_\-addr)}
\label{classXrlCliNode_a9f1ed4e051c27e9cfedba1748e2d5211}

\item 
virtual \hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlCliNode_a813a12267ed98d8498743add40a552ec}{cli\_\-manager\_\-0\_\-1\_\-add\_\-disable\_\-cli\_\-access\_\-from\_\-subnet4} (const \hyperlink{classIPNet}{IPv4Net} \&subnet\_\-addr)
\begin{DoxyCompactList}\small\item\em Add a subnet address to \hyperlink{protocolthe-p}{the} list of subnet addresses disabled for CLI access. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlCliNode_a54e7b3b44a6ebdb4cf603ee15c6e4b38}{
virtual \hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries cli\_\-manager\_\-0\_\-1\_\-add\_\-disable\_\-cli\_\-access\_\-from\_\-subnet6} (const \hyperlink{classIPNet}{IPv6Net} \&subnet\_\-addr)}
\label{classXrlCliNode_a54e7b3b44a6ebdb4cf603ee15c6e4b38}

\item 
virtual \hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlCliNode_a9fefc2c7cd17aa5e65cca17013e1e1d0}{cli\_\-manager\_\-0\_\-1\_\-delete\_\-disable\_\-cli\_\-access\_\-from\_\-subnet4} (const \hyperlink{classIPNet}{IPv4Net} \&subnet\_\-addr)
\begin{DoxyCompactList}\small\item\em Delete a subnet address from \hyperlink{protocolthe-p}{the} list of subnet addresses disabled for CLI access. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlCliNode_af277196ccdf224b6c6a661e512318a43}{
virtual \hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries cli\_\-manager\_\-0\_\-1\_\-delete\_\-disable\_\-cli\_\-access\_\-from\_\-subnet6} (const \hyperlink{classIPNet}{IPv6Net} \&subnet\_\-addr)}
\label{classXrlCliNode_af277196ccdf224b6c6a661e512318a43}

\item 
virtual \hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlCliNode_a51c77893ad1d8f2ee7eb8747aa1d8f36}{cli\_\-manager\_\-0\_\-1\_\-add\_\-cli\_\-command} (const string \&processor\_\-name, const string \&command\_\-name, const string \&command\_\-help, const bool \&is\_\-command\_\-cd, const string \&command\_\-cd\_\-prompt, const bool \&is\_\-command\_\-processor)
\begin{DoxyCompactList}\small\item\em Add a CLI command to \hyperlink{protocolthe-p}{the} CLI manager. \item\end{DoxyCompactList}\item 
virtual \hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlCliNode_a0d6e39f7a9cec00be0cfa066ee16dc07}{cli\_\-manager\_\-0\_\-1\_\-delete\_\-cli\_\-command} (const string \&processor\_\-name, const string \&command\_\-name)
\begin{DoxyCompactList}\small\item\em Delete a CLI command from \hyperlink{protocolthe-p}{the} CLI manager. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlCliNode_ac20ecefa08c0f44dd661148b2c037555}{
void {\bfseries send\_\-process\_\-command} (const string \&target, const string \&processor\_\-name, const string \&cli\_\-term\_\-name, uint32\_\-t cli\_\-session\_\-id, const vector$<$ string $>$ \&command\_\-global\_\-name, const vector$<$ string $>$ \&command\_\-argv)}
\label{classXrlCliNode_ac20ecefa08c0f44dd661148b2c037555}

\item 
\hypertarget{classXrlCliNode_af60bf56e7e641526ed50fc611b935160}{
void {\bfseries recv\_\-process\_\-command\_\-output} (const \hyperlink{classXrlError}{XrlError} \&xrl\_\-error, const string $\ast$processor\_\-name, const string $\ast$cli\_\-term\_\-name, const uint32\_\-t $\ast$cli\_\-session\_\-id, const string $\ast$command\_\-output)}
\label{classXrlCliNode_af60bf56e7e641526ed50fc611b935160}

\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual void \hyperlink{classXrlCliNode_a00137444cad23d993361aad503bb3081}{finder\_\-connect\_\-event} ()
\begin{DoxyCompactList}\small\item\em Called when \hyperlink{classFinder}{Finder} connection is established. \item\end{DoxyCompactList}\item 
virtual void \hyperlink{classXrlCliNode_a3b0e1e62b86ade4f6d2bed69b368f692}{finder\_\-disconnect\_\-event} ()
\begin{DoxyCompactList}\small\item\em Called when \hyperlink{classFinder}{Finder} disconnect occurs. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlCliNode_a23ad6dcccdcf23ad02639005f56349a4}{
\hyperlink{classCliNode}{CliNode} \& {\bfseries cli\_\-node} () const }
\label{classXrlCliNode_a23ad6dcccdcf23ad02639005f56349a4}

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

\item 
\hypertarget{classXrlCliNode_ab2fd2699dc90a6d188f08cc2154dde2e}{
\hyperlink{classCliNode}{CliNode} \& {\bfseries \_\-cli\_\-node}}
\label{classXrlCliNode_ab2fd2699dc90a6d188f08cc2154dde2e}

\item 
\hypertarget{classXrlCliNode_a3ac6b78b0905f6ba1bd5d567b69856f4}{
\hyperlink{classXrlCliProcessorV0p1Client}{XrlCliProcessorV0p1Client} {\bfseries \_\-xrl\_\-cli\_\-processor\_\-client}}
\label{classXrlCliNode_a3ac6b78b0905f6ba1bd5d567b69856f4}

\item 
\hypertarget{classXrlCliNode_a8479c7c566db622fa55e86498f0c51a3}{
bool {\bfseries \_\-is\_\-finder\_\-alive}}
\label{classXrlCliNode_a8479c7c566db622fa55e86498f0c51a3}

\end{DoxyCompactItemize}


\subsection{Member Function Documentation}
\hypertarget{classXrlCliNode_a51c77893ad1d8f2ee7eb8747aa1d8f36}{
\index{XrlCliNode@{XrlCliNode}!cli\_\-manager\_\-0\_\-1\_\-add\_\-cli\_\-command@{cli\_\-manager\_\-0\_\-1\_\-add\_\-cli\_\-command}}
\index{cli\_\-manager\_\-0\_\-1\_\-add\_\-cli\_\-command@{cli\_\-manager\_\-0\_\-1\_\-add\_\-cli\_\-command}!XrlCliNode@{XrlCliNode}}
\subsubsection[{cli\_\-manager\_\-0\_\-1\_\-add\_\-cli\_\-command}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlCliNode::cli\_\-manager\_\-0\_\-1\_\-add\_\-cli\_\-command (
\begin{DoxyParamCaption}
\item[{const string \&}]{processor\_\-name, }
\item[{const string \&}]{command\_\-name, }
\item[{const string \&}]{command\_\-help, }
\item[{const bool \&}]{is\_\-command\_\-cd, }
\item[{const string \&}]{command\_\-cd\_\-prompt, }
\item[{const bool \&}]{is\_\-command\_\-processor}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlCliNode_a51c77893ad1d8f2ee7eb8747aa1d8f36}


Add a CLI command to \hyperlink{protocolthe-p}{the} CLI manager. 


\begin{DoxyParams}{Parameters}
{\em processor\_\-name} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} module that will process that command.\\
\hline
{\em command\_\-name} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} command to add.\\
\hline
{\em command\_\-help} & \hyperlink{protocolthe-p}{the} help for \hyperlink{protocolthe-p}{the} command to add.\\
\hline
{\em is\_\-command\_\-cd} & is true, \hyperlink{protocolthe-p}{the} string that will replace \hyperlink{protocolthe-p}{the} CLI prompt after we \char`\"{}cd\char`\"{} to that level of \hyperlink{protocolthe-p}{the} CLI command-\/tree.\\
\hline
{\em command\_\-cd\_\-prompt} & if\\
\hline
{\em is\_\-command\_\-processor} & if true, this is a processing command that would be performed by processor\_\-name. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlCliTargetBase_ab5d6e39ca493b64c55dc4adea14e0024}{XrlCliTargetBase}.

\hypertarget{classXrlCliNode_a813a12267ed98d8498743add40a552ec}{
\index{XrlCliNode@{XrlCliNode}!cli\_\-manager\_\-0\_\-1\_\-add\_\-disable\_\-cli\_\-access\_\-from\_\-subnet4@{cli\_\-manager\_\-0\_\-1\_\-add\_\-disable\_\-cli\_\-access\_\-from\_\-subnet4}}
\index{cli\_\-manager\_\-0\_\-1\_\-add\_\-disable\_\-cli\_\-access\_\-from\_\-subnet4@{cli\_\-manager\_\-0\_\-1\_\-add\_\-disable\_\-cli\_\-access\_\-from\_\-subnet4}!XrlCliNode@{XrlCliNode}}
\subsubsection[{cli\_\-manager\_\-0\_\-1\_\-add\_\-disable\_\-cli\_\-access\_\-from\_\-subnet4}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlCliNode::cli\_\-manager\_\-0\_\-1\_\-add\_\-disable\_\-cli\_\-access\_\-from\_\-subnet4 (
\begin{DoxyParamCaption}
\item[{const {\bf IPv4Net} \&}]{subnet\_\-addr}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlCliNode_a813a12267ed98d8498743add40a552ec}


Add a subnet address to \hyperlink{protocolthe-p}{the} list of subnet addresses disabled for CLI access. 

This method can be called more than once to add a number of subnet addresses.


\begin{DoxyParams}{Parameters}
{\em subnet\_\-addr} & \hyperlink{protocolthe-p}{the} subnet address to add. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlCliTargetBase_a938670665a11bc27fa3c062e01fa28bb}{XrlCliTargetBase}.

\hypertarget{classXrlCliNode_ad8a6f0d38bb7f5ba5b2140901ec74425}{
\index{XrlCliNode@{XrlCliNode}!cli\_\-manager\_\-0\_\-1\_\-add\_\-enable\_\-cli\_\-access\_\-from\_\-subnet4@{cli\_\-manager\_\-0\_\-1\_\-add\_\-enable\_\-cli\_\-access\_\-from\_\-subnet4}}
\index{cli\_\-manager\_\-0\_\-1\_\-add\_\-enable\_\-cli\_\-access\_\-from\_\-subnet4@{cli\_\-manager\_\-0\_\-1\_\-add\_\-enable\_\-cli\_\-access\_\-from\_\-subnet4}!XrlCliNode@{XrlCliNode}}
\subsubsection[{cli\_\-manager\_\-0\_\-1\_\-add\_\-enable\_\-cli\_\-access\_\-from\_\-subnet4}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlCliNode::cli\_\-manager\_\-0\_\-1\_\-add\_\-enable\_\-cli\_\-access\_\-from\_\-subnet4 (
\begin{DoxyParamCaption}
\item[{const {\bf IPv4Net} \&}]{subnet\_\-addr}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlCliNode_ad8a6f0d38bb7f5ba5b2140901ec74425}


Add a subnet address to \hyperlink{protocolthe-p}{the} list of subnet addresses enabled for CLI access. 

This method can be called more than once to add a number of subnet addresses.


\begin{DoxyParams}{Parameters}
{\em subnet\_\-addr} & \hyperlink{protocolthe-p}{the} subnet address to add. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlCliTargetBase_a0b3b317c2609932b290452beb7135caf}{XrlCliTargetBase}.

\hypertarget{classXrlCliNode_a0d6e39f7a9cec00be0cfa066ee16dc07}{
\index{XrlCliNode@{XrlCliNode}!cli\_\-manager\_\-0\_\-1\_\-delete\_\-cli\_\-command@{cli\_\-manager\_\-0\_\-1\_\-delete\_\-cli\_\-command}}
\index{cli\_\-manager\_\-0\_\-1\_\-delete\_\-cli\_\-command@{cli\_\-manager\_\-0\_\-1\_\-delete\_\-cli\_\-command}!XrlCliNode@{XrlCliNode}}
\subsubsection[{cli\_\-manager\_\-0\_\-1\_\-delete\_\-cli\_\-command}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlCliNode::cli\_\-manager\_\-0\_\-1\_\-delete\_\-cli\_\-command (
\begin{DoxyParamCaption}
\item[{const string \&}]{processor\_\-name, }
\item[{const string \&}]{command\_\-name}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlCliNode_a0d6e39f7a9cec00be0cfa066ee16dc07}


Delete a CLI command from \hyperlink{protocolthe-p}{the} CLI manager. 


\begin{DoxyParams}{Parameters}
{\em processor\_\-name} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} module that sends \hyperlink{protocolthe-p}{the} request.\\
\hline
{\em command\_\-name} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} command to delete. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlCliTargetBase_a8a3b041ba916405f02298c4a74bd7218}{XrlCliTargetBase}.

\hypertarget{classXrlCliNode_a9fefc2c7cd17aa5e65cca17013e1e1d0}{
\index{XrlCliNode@{XrlCliNode}!cli\_\-manager\_\-0\_\-1\_\-delete\_\-disable\_\-cli\_\-access\_\-from\_\-subnet4@{cli\_\-manager\_\-0\_\-1\_\-delete\_\-disable\_\-cli\_\-access\_\-from\_\-subnet4}}
\index{cli\_\-manager\_\-0\_\-1\_\-delete\_\-disable\_\-cli\_\-access\_\-from\_\-subnet4@{cli\_\-manager\_\-0\_\-1\_\-delete\_\-disable\_\-cli\_\-access\_\-from\_\-subnet4}!XrlCliNode@{XrlCliNode}}
\subsubsection[{cli\_\-manager\_\-0\_\-1\_\-delete\_\-disable\_\-cli\_\-access\_\-from\_\-subnet4}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlCliNode::cli\_\-manager\_\-0\_\-1\_\-delete\_\-disable\_\-cli\_\-access\_\-from\_\-subnet4 (
\begin{DoxyParamCaption}
\item[{const {\bf IPv4Net} \&}]{subnet\_\-addr}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlCliNode_a9fefc2c7cd17aa5e65cca17013e1e1d0}


Delete a subnet address from \hyperlink{protocolthe-p}{the} list of subnet addresses disabled for CLI access. 


\begin{DoxyParams}{Parameters}
{\em subnet\_\-addr} & \hyperlink{protocolthe-p}{the} subnet address to delete. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlCliTargetBase_a9812612aa62250dadb953c9c12ce628b}{XrlCliTargetBase}.

\hypertarget{classXrlCliNode_aa7d95572e180072b9e0ca659e5fd225b}{
\index{XrlCliNode@{XrlCliNode}!cli\_\-manager\_\-0\_\-1\_\-delete\_\-enable\_\-cli\_\-access\_\-from\_\-subnet4@{cli\_\-manager\_\-0\_\-1\_\-delete\_\-enable\_\-cli\_\-access\_\-from\_\-subnet4}}
\index{cli\_\-manager\_\-0\_\-1\_\-delete\_\-enable\_\-cli\_\-access\_\-from\_\-subnet4@{cli\_\-manager\_\-0\_\-1\_\-delete\_\-enable\_\-cli\_\-access\_\-from\_\-subnet4}!XrlCliNode@{XrlCliNode}}
\subsubsection[{cli\_\-manager\_\-0\_\-1\_\-delete\_\-enable\_\-cli\_\-access\_\-from\_\-subnet4}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlCliNode::cli\_\-manager\_\-0\_\-1\_\-delete\_\-enable\_\-cli\_\-access\_\-from\_\-subnet4 (
\begin{DoxyParamCaption}
\item[{const {\bf IPv4Net} \&}]{subnet\_\-addr}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlCliNode_aa7d95572e180072b9e0ca659e5fd225b}


Delete a subnet address from \hyperlink{protocolthe-p}{the} list of subnet addresses enabled for CLI access. 


\begin{DoxyParams}{Parameters}
{\em subnet\_\-addr} & \hyperlink{protocolthe-p}{the} subnet address to delete. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlCliTargetBase_adf2079b484c155656deca9193ba39636}{XrlCliTargetBase}.

\hypertarget{classXrlCliNode_a86585306114f25fd36aed0b3e30e2f32}{
\index{XrlCliNode@{XrlCliNode}!cli\_\-manager\_\-0\_\-1\_\-enable\_\-cli@{cli\_\-manager\_\-0\_\-1\_\-enable\_\-cli}}
\index{cli\_\-manager\_\-0\_\-1\_\-enable\_\-cli@{cli\_\-manager\_\-0\_\-1\_\-enable\_\-cli}!XrlCliNode@{XrlCliNode}}
\subsubsection[{cli\_\-manager\_\-0\_\-1\_\-enable\_\-cli}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlCliNode::cli\_\-manager\_\-0\_\-1\_\-enable\_\-cli (
\begin{DoxyParamCaption}
\item[{const bool \&}]{enable}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlCliNode_a86585306114f25fd36aed0b3e30e2f32}


Enable/disable/start/stop \hyperlink{protocolthe-p}{the} CLI. 


\begin{DoxyParams}{Parameters}
{\em enable} & if true, then enable \hyperlink{protocolthe-p}{the} CLI, otherwise disable it. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlCliTargetBase_ad9fa88190b4604c83184b6fad1458248}{XrlCliTargetBase}.

\hypertarget{classXrlCliNode_a7a14c3da8ada13945c1a9e101d6a02d7}{
\index{XrlCliNode@{XrlCliNode}!common\_\-0\_\-1\_\-startup@{common\_\-0\_\-1\_\-startup}}
\index{common\_\-0\_\-1\_\-startup@{common\_\-0\_\-1\_\-startup}!XrlCliNode@{XrlCliNode}}
\subsubsection[{common\_\-0\_\-1\_\-startup}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf XrlCmdError} XrlCliNode::common\_\-0\_\-1\_\-startup (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline, protected, virtual\mbox{]}}}}
\label{classXrlCliNode_a7a14c3da8ada13945c1a9e101d6a02d7}


Pure-\/virtual function that needs to be implemented to: 

Request a startup of \hyperlink{classXrl}{Xrl} Target 

Implements \hyperlink{structXrlCliTargetBase_a263a57a57736b2cd75815261d02ad7e7}{XrlCliTargetBase}.

\hypertarget{classXrlCliNode_a00137444cad23d993361aad503bb3081}{
\index{XrlCliNode@{XrlCliNode}!finder\_\-connect\_\-event@{finder\_\-connect\_\-event}}
\index{finder\_\-connect\_\-event@{finder\_\-connect\_\-event}!XrlCliNode@{XrlCliNode}}
\subsubsection[{finder\_\-connect\_\-event}]{\setlength{\rightskip}{0pt plus 5cm}void XrlCliNode::finder\_\-connect\_\-event (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private, virtual\mbox{]}}}}
\label{classXrlCliNode_a00137444cad23d993361aad503bb3081}


Called when \hyperlink{classFinder}{Finder} connection is established. 

Note that this method overwrites an \hyperlink{classXrlRouter}{XrlRouter} virtual method. 

Reimplemented from \hyperlink{classXrlRouter_a27bd1d3e253f4cd00d48376cbeab2320}{XrlRouter}.

\hypertarget{classXrlCliNode_a3b0e1e62b86ade4f6d2bed69b368f692}{
\index{XrlCliNode@{XrlCliNode}!finder\_\-disconnect\_\-event@{finder\_\-disconnect\_\-event}}
\index{finder\_\-disconnect\_\-event@{finder\_\-disconnect\_\-event}!XrlCliNode@{XrlCliNode}}
\subsubsection[{finder\_\-disconnect\_\-event}]{\setlength{\rightskip}{0pt plus 5cm}void XrlCliNode::finder\_\-disconnect\_\-event (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private, virtual\mbox{]}}}}
\label{classXrlCliNode_a3b0e1e62b86ade4f6d2bed69b368f692}


Called when \hyperlink{classFinder}{Finder} disconnect occurs. 

Note that this method overwrites an \hyperlink{classXrlRouter}{XrlRouter} virtual method. 

Reimplemented from \hyperlink{classXrlRouter_ac10ae311195fd0d8c350f9d8172602f9}{XrlRouter}.

\hypertarget{classXrlCliNode_a4f7c709c9655aaf0feb7d74929f347fe}{
\index{XrlCliNode@{XrlCliNode}!xrl\_\-router@{xrl\_\-router}}
\index{xrl\_\-router@{xrl\_\-router}!XrlCliNode@{XrlCliNode}}
\subsubsection[{xrl\_\-router}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlRouter}\& XrlCliNode::xrl\_\-router (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classXrlCliNode_a4f7c709c9655aaf0feb7d74929f347fe}


Get a reference to \hyperlink{protocolthe-p}{the} \hyperlink{classXrlRouter}{XrlRouter} instance. 

\begin{DoxyReturn}{Returns}
a reference to \hyperlink{protocolthe-p}{the} \hyperlink{classXrlRouter}{XrlRouter} (\hyperlink{classXrlRouter}{XrlRouter}) instance. 
\end{DoxyReturn}
\hypertarget{classXrlCliNode_a06cb86a1da80469060d031612f2732b6}{
\index{XrlCliNode@{XrlCliNode}!xrl\_\-router@{xrl\_\-router}}
\index{xrl\_\-router@{xrl\_\-router}!XrlCliNode@{XrlCliNode}}
\subsubsection[{xrl\_\-router}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf XrlRouter}\& XrlCliNode::xrl\_\-router (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classXrlCliNode_a06cb86a1da80469060d031612f2732b6}


Get a const reference to \hyperlink{protocolthe-p}{the} \hyperlink{classXrlRouter}{XrlRouter} instance. 

\begin{DoxyReturn}{Returns}
a const reference to \hyperlink{protocolthe-p}{the} \hyperlink{classXrlRouter}{XrlRouter} (\hyperlink{classXrlRouter}{XrlRouter}) instance. 
\end{DoxyReturn}


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