\hypertarget{classCliCommand}{
\section{CliCommand Class Reference}
\label{classCliCommand}\index{CliCommand@{CliCommand}}
}


The class for \hyperlink{protocolthe-p}{the} CLI command.  




{\ttfamily \#include $<$cli\_\-command.hh$>$}

Inheritance diagram for CliCommand:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classCliCommand}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classCliCommand_a4d2757fff53eaa1555259fe3fea92c00}{
typedef XorpCallback2$<$ bool, const string \&, string \& $>$::RefPtr {\bfseries TypeMatchCb}}
\label{classCliCommand_a4d2757fff53eaa1555259fe3fea92c00}

\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classCliCommand_a548db0fd2232b8dcb8d47a8415d3f1e3}{CliCommand} (\hyperlink{classCliCommand}{CliCommand} $\ast$init\_\-parent\_\-command, const string \&init\_\-command\_\-name, const string \&init\_\-command\_\-help)
\begin{DoxyCompactList}\small\item\em Constructor for a given parent command, command name, and command help. \item\end{DoxyCompactList}\item 
\hypertarget{classCliCommand_a7729d103ad8281bfa521702f5ec1c895}{
virtual \hyperlink{classCliCommand_a7729d103ad8281bfa521702f5ec1c895}{$\sim$CliCommand} ()}
\label{classCliCommand_a7729d103ad8281bfa521702f5ec1c895}

\begin{DoxyCompactList}\small\item\em Destructor. \item\end{DoxyCompactList}\item 
void \hyperlink{classCliCommand_a3a3cd420118ac1b5a1debb992a73a89c}{set\_\-allow\_\-cd} (bool v, const string \&init\_\-cd\_\-prompt)
\begin{DoxyCompactList}\small\item\em Enable/disable whether this command allows \char`\"{}change directory\char`\"{} to it. \item\end{DoxyCompactList}\item 
int \hyperlink{classCliCommand_a8ffbedadc913ba9cca3ab8be343dfcd8}{create\_\-default\_\-cli\_\-commands} ()
\begin{DoxyCompactList}\small\item\em Create \hyperlink{protocolthe-p}{the} default CLI commands at each level of \hyperlink{protocolthe-p}{the} command tree. \item\end{DoxyCompactList}\item 
int \hyperlink{classCliCommand_ab2fb1c94a18c60c42198acddacb803a1}{add\_\-pipes} (string \&error\_\-msg)
\begin{DoxyCompactList}\small\item\em Create and add \hyperlink{protocolthe-p}{the} default CLI pipe commands. \item\end{DoxyCompactList}\item 
\hyperlink{classCliCommand}{CliCommand} $\ast$ \hyperlink{classCliCommand_a3dfa8ea98210e051d14f293def067a6d}{add\_\-command} (const string \&init\_\-command\_\-name, const string \&init\_\-command\_\-help, bool is\_\-multilevel\_\-command, string \&error\_\-msg)
\begin{DoxyCompactList}\small\item\em Add a CLI command. \item\end{DoxyCompactList}\item 
\hyperlink{classCliCommand}{CliCommand} $\ast$ \hyperlink{classCliCommand_adf7b79755b56625640e64ec750ad16b6}{add\_\-command} (const string \&init\_\-command\_\-name, const string \&init\_\-command\_\-help, const string \&init\_\-cd\_\-prompt, bool is\_\-multilevel\_\-command, string \&error\_\-msg)
\begin{DoxyCompactList}\small\item\em Add a CLI command we can \char`\"{}cd\char`\"{} to it. \item\end{DoxyCompactList}\item 
\hyperlink{classCliCommand}{CliCommand} $\ast$ \hyperlink{classCliCommand_a5ea724662db3f5e1d9ba075a48dbdf2a}{add\_\-command} (const string \&init\_\-command\_\-name, const string \&init\_\-command\_\-help, bool is\_\-multilevel\_\-command, const CLI\_\-PROCESS\_\-CALLBACK \&init\_\-cli\_\-process\_\-callback, string \&error\_\-msg)
\begin{DoxyCompactList}\small\item\em Add a CLI command with a processing callback. \item\end{DoxyCompactList}\item 
\hyperlink{classCliCommand}{CliCommand} $\ast$ \hyperlink{classCliCommand_a178323ef0f020a2fed5a5811ddbfc45e}{add\_\-command} (const string \&init\_\-command\_\-name, const string \&init\_\-command\_\-help, bool is\_\-multilevel\_\-command, const CLI\_\-PROCESS\_\-CALLBACK \&init\_\-cli\_\-process\_\-callback, const CLI\_\-INTERRUPT\_\-CALLBACK \&init\_\-cli\_\-interrupt\_\-callback, string \&error\_\-msg)
\begin{DoxyCompactList}\small\item\em Add a CLI command with a processing and an interrupt callbacks. \item\end{DoxyCompactList}\item 
\hyperlink{classCliCommand}{CliCommand} $\ast$ \hyperlink{classCliCommand_a261240610196e86ecc902fe41a983c0d}{add\_\-command} (const string \&init\_\-command\_\-name, const string \&init\_\-command\_\-help, bool is\_\-multilevel\_\-command, CLI\_\-PROCESS\_\-FUNC init\_\-cli\_\-process\_\-func, string \&error\_\-msg)
\begin{DoxyCompactList}\small\item\em Add a CLI command with a processing function. \item\end{DoxyCompactList}\item 
\hyperlink{classCliCommand}{CliCommand} $\ast$ \hyperlink{classCliCommand_a60cf0ff90eb75bf34d2808960072634a}{add\_\-command} (const string \&init\_\-command\_\-name, const string \&init\_\-command\_\-help, bool is\_\-multilevel\_\-command, CLI\_\-PROCESS\_\-FUNC init\_\-cli\_\-process\_\-func, CLI\_\-INTERRUPT\_\-FUNC init\_\-cli\_\-interrupt\_\-func, string \&error\_\-msg)
\begin{DoxyCompactList}\small\item\em Add a CLI command with a processing function and an interrupt handler. \item\end{DoxyCompactList}\item 
int \hyperlink{classCliCommand_acd80e261d614256c7e4d30707e43bc00}{add\_\-command} (\hyperlink{classCliCommand}{CliCommand} $\ast$child\_\-command, string \&error\_\-msg)
\begin{DoxyCompactList}\small\item\em Add a child CLI command. \item\end{DoxyCompactList}\item 
int \hyperlink{classCliCommand_ab922793be31ef63f41a29a661fde6b0c}{delete\_\-command} (\hyperlink{classCliCommand}{CliCommand} $\ast$child\_\-command)
\begin{DoxyCompactList}\small\item\em Delete a child command and all sub-\/commands below it. \item\end{DoxyCompactList}\item 
int \hyperlink{classCliCommand_add5376b40341d836a9897ec1f1c8bc5c}{delete\_\-command} (const string \&delete\_\-command\_\-name)
\begin{DoxyCompactList}\small\item\em Delete a child command and all sub-\/commands below it. \item\end{DoxyCompactList}\item 
\hypertarget{classCliCommand_a3e953be40a4c8e89030fc6ba1150f03b}{
void \hyperlink{classCliCommand_a3e953be40a4c8e89030fc6ba1150f03b}{delete\_\-all\_\-commands} ()}
\label{classCliCommand_a3e953be40a4c8e89030fc6ba1150f03b}

\begin{DoxyCompactList}\small\item\em Recursively delete all children of this command. \item\end{DoxyCompactList}\item 
void \hyperlink{classCliCommand_a62778ebb8bfc59f19aa548aa236f752f}{set\_\-can\_\-pipe} (bool v)
\begin{DoxyCompactList}\small\item\em Set whether \hyperlink{protocolthe-p}{the} output of this command can be piped. \item\end{DoxyCompactList}\item 
bool \hyperlink{classCliCommand_a699666cede12ab783525d2dbdd21deeb}{default\_\-nomore\_\-mode} () const 
\begin{DoxyCompactList}\small\item\em Test if \char`\"{}no-\/more\char`\"{} (i.e., unpaged) is \hyperlink{protocolthe-p}{the} default output mode. \item\end{DoxyCompactList}\item 
void \hyperlink{classCliCommand_a76193e1ac0d1746e00c4c0282a33c12e}{set\_\-default\_\-nomore\_\-mode} (bool v)
\begin{DoxyCompactList}\small\item\em Set \hyperlink{protocolthe-p}{the} default paging mode. \item\end{DoxyCompactList}\item 
bool \hyperlink{classCliCommand_a94e138cfcaf8c32b0c3b4ffee0072478}{is\_\-command\_\-argument} () const 
\begin{DoxyCompactList}\small\item\em Test if \hyperlink{protocolthe-p}{the} command actually represents a command argument. \item\end{DoxyCompactList}\item 
void \hyperlink{classCliCommand_a6d0ce0c0ea98f9d549fb4056b5588f54}{set\_\-is\_\-command\_\-argument} (bool v)
\begin{DoxyCompactList}\small\item\em Set a flag whether \hyperlink{protocolthe-p}{the} command actually represents a command argument. \item\end{DoxyCompactList}\item 
bool \hyperlink{classCliCommand_aa7f461706a4f5cac4eddb424b846afa4}{is\_\-argument\_\-expected} () const 
\begin{DoxyCompactList}\small\item\em Test if \hyperlink{protocolthe-p}{the} command expects an argument. \item\end{DoxyCompactList}\item 
void \hyperlink{classCliCommand_ac6bfcb2a9c66a258319a1f73780b33e4}{set\_\-is\_\-argument\_\-expected} (bool v)
\begin{DoxyCompactList}\small\item\em Set a flag whether \hyperlink{protocolthe-p}{the} command expects an argument. \item\end{DoxyCompactList}\item 
const TypeMatchCb \& \hyperlink{classCliCommand_a92bc17aca16ac1ca1d30b6342036113c}{type\_\-match\_\-cb} () const 
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} callback for type matching. \item\end{DoxyCompactList}\item 
void \hyperlink{classCliCommand_ad7d3294c5f57236c0f47707e922e92b2}{set\_\-type\_\-match\_\-cb} (const TypeMatchCb \&cb)
\begin{DoxyCompactList}\small\item\em Set \hyperlink{protocolthe-p}{the} callback for type matching. \item\end{DoxyCompactList}\item 
bool \hyperlink{classCliCommand_afc9b4e4bc0657fb83eef353e8feae6bf}{has\_\-type\_\-match\_\-cb} () const 
\begin{DoxyCompactList}\small\item\em Test if there is a callback for type matching. \item\end{DoxyCompactList}\item 
const vector$<$ string $>$ \& \hyperlink{classCliCommand_afe4707d3b609cefee7412a8a41d4cc54}{global\_\-name} () const 
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} global name of this command (i.e., \hyperlink{protocolthe-p}{the} full name starting from \hyperlink{protocolthe-p}{the} root). \item\end{DoxyCompactList}\item 
void \hyperlink{classCliCommand_a00126c3c82bd9eb2fcf72e324e542896}{set\_\-global\_\-name} (const vector$<$ string $>$ \&v)
\begin{DoxyCompactList}\small\item\em Set \hyperlink{protocolthe-p}{the} global name for this command. \item\end{DoxyCompactList}\item 
const string \& \hyperlink{classCliCommand_a7e25929fa93d2ec4dce212e7c55900d4}{server\_\-name} () const 
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} server (i.e., processor) name for this command. \item\end{DoxyCompactList}\item 
void \hyperlink{classCliCommand_a72e7bc2d6d46be7312c17f0f09601c08}{set\_\-server\_\-name} (const string \&v)
\begin{DoxyCompactList}\small\item\em Set \hyperlink{protocolthe-p}{the} server (i.e., processor) name for this command. \item\end{DoxyCompactList}\item 
void \hyperlink{classCliCommand_a16ef27b803f1193a981cf8526682f27d}{set\_\-dynamic\_\-children\_\-callback} (DYNAMIC\_\-CHILDREN\_\-CALLBACK v)
\begin{DoxyCompactList}\small\item\em Set \hyperlink{protocolthe-p}{the} callback for dynamic generation of children commands. \item\end{DoxyCompactList}\item 
void \hyperlink{classCliCommand_a701a3b372764a16fa011eb4b22f61d80}{set\_\-dynamic\_\-process\_\-callback} (const CLI\_\-PROCESS\_\-CALLBACK \&v)
\begin{DoxyCompactList}\small\item\em Set \hyperlink{protocolthe-p}{the} callback for command processing for a dynamically generated child command. \item\end{DoxyCompactList}\item 
void \hyperlink{classCliCommand_a8737220bfc64e940e03f8a483a2ddfb9}{set\_\-dynamic\_\-interrupt\_\-callback} (const CLI\_\-INTERRUPT\_\-CALLBACK \&v)
\begin{DoxyCompactList}\small\item\em Set \hyperlink{protocolthe-p}{the} callback for command interrupt for a dynamically generated child command. \item\end{DoxyCompactList}\item 
void \hyperlink{classCliCommand_a76a15d88f8dfdccc89ce10b8886201eb}{set\_\-cli\_\-process\_\-callback} (const CLI\_\-PROCESS\_\-CALLBACK \&v)
\begin{DoxyCompactList}\small\item\em Set \hyperlink{protocolthe-p}{the} callback for command processing. \item\end{DoxyCompactList}\item 
void \hyperlink{classCliCommand_a010de59a63ae6ab76f754e6156e36429}{set\_\-cli\_\-interrupt\_\-callback} (const CLI\_\-INTERRUPT\_\-CALLBACK \&v)
\begin{DoxyCompactList}\small\item\em Set \hyperlink{protocolthe-p}{the} callback for command interrupt. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classCliCommand_a963b9e6a29d4d98385fac0cd4d384354}{
const string \& {\bfseries name} () const }
\label{classCliCommand_a963b9e6a29d4d98385fac0cd4d384354}

\item 
\hypertarget{classCliCommand_acc2908ed4d7a2ccc748e8a608c0165bc}{
const string \& {\bfseries cd\_\-prompt} ()}
\label{classCliCommand_acc2908ed4d7a2ccc748e8a608c0165bc}

\item 
\hypertarget{classCliCommand_ad480c0fe36436f09ca4681aea4b8c01d}{
list$<$ \hyperlink{classCliCommand}{CliCommand} $\ast$ $>$ \& {\bfseries child\_\-command\_\-list} ()}
\label{classCliCommand_ad480c0fe36436f09ca4681aea4b8c01d}

\item 
\hypertarget{classCliCommand_ab9d34e17dbe66b6e1482e1a4197d70ac}{
const string \& {\bfseries help} () const }
\label{classCliCommand_ab9d34e17dbe66b6e1482e1a4197d70ac}

\item 
\hypertarget{classCliCommand_a2333a948287fdac3357a81936df59697}{
const string \& {\bfseries help\_\-completion} () const }
\label{classCliCommand_a2333a948287fdac3357a81936df59697}

\item 
int \hyperlink{classCliCommand_a5a4c1aa1352b7bfba43b446b3c54fa29}{delete\_\-pipes} ()
\begin{DoxyCompactList}\small\item\em \hyperlink{classCliCommand_a5a4c1aa1352b7bfba43b446b3c54fa29}{CliCommand::delete\_\-pipes}: @: \item\end{DoxyCompactList}\item 
\hypertarget{classCliCommand_af8dce326ae9fc9d7baec2ba8c6aefe01}{
bool {\bfseries is\_\-same\_\-prefix} (const string \&token)}
\label{classCliCommand_af8dce326ae9fc9d7baec2ba8c6aefe01}

\item 
\hypertarget{classCliCommand_a8c0029308aeec9472736830e354faae1}{
bool {\bfseries is\_\-same\_\-command} (const string \&token)}
\label{classCliCommand_a8c0029308aeec9472736830e354faae1}

\item 
\hypertarget{classCliCommand_a46b32a2743c81f85dfb23927298e8651}{
\hyperlink{classCliCommand}{CliCommand} $\ast$ {\bfseries command\_\-find} (const string \&token)}
\label{classCliCommand_a46b32a2743c81f85dfb23927298e8651}

\item 
\hypertarget{classCliCommand_a768415f939cf00c3d2de7fb25bf97f1f}{
bool {\bfseries is\_\-multi\_\-command\_\-prefix} (const string \&command\_\-line)}
\label{classCliCommand_a768415f939cf00c3d2de7fb25bf97f1f}

\item 
\hypertarget{classCliCommand_a59e36d4840227888a21f3fbca69e3624}{
bool {\bfseries find\_\-command\_\-help} (const char $\ast$line, int word\_\-end, set$<$ string $>$ \&help\_\-strings)}
\label{classCliCommand_a59e36d4840227888a21f3fbca69e3624}

\item 
\hypertarget{classCliCommand_a109e062472f5c7d1b0dee873689355f2}{
bool {\bfseries allow\_\-cd} ()}
\label{classCliCommand_a109e062472f5c7d1b0dee873689355f2}

\item 
\hypertarget{classCliCommand_a0f21a1e04e4f1d4dad69de75e11c957e}{
bool {\bfseries has\_\-cli\_\-process\_\-callback} ()}
\label{classCliCommand_a0f21a1e04e4f1d4dad69de75e11c957e}

\item 
\hypertarget{classCliCommand_a8ac1bd63272e86d39ad2b8e70ff29a14}{
bool {\bfseries has\_\-cli\_\-interrupt\_\-callback} ()}
\label{classCliCommand_a8ac1bd63272e86d39ad2b8e70ff29a14}

\item 
\hypertarget{classCliCommand_a90b8ef407c78e64ec33941ee2011848d}{
bool {\bfseries has\_\-dynamic\_\-process\_\-callback} ()}
\label{classCliCommand_a90b8ef407c78e64ec33941ee2011848d}

\item 
\hypertarget{classCliCommand_ac54db9ec7a61cfcb6a9dfdd14b2dfab1}{
bool {\bfseries has\_\-dynamic\_\-interrupt\_\-callback} ()}
\label{classCliCommand_ac54db9ec7a61cfcb6a9dfdd14b2dfab1}

\item 
\hypertarget{classCliCommand_a9bf3d19e8d76db9bd4c2de1fcee5d5be}{
bool {\bfseries has\_\-cli\_\-completion\_\-func} ()}
\label{classCliCommand_a9bf3d19e8d76db9bd4c2de1fcee5d5be}

\item 
\hypertarget{classCliCommand_a6f4dcc3fd662148e0d7f70a6b1bbd2a4}{
void {\bfseries set\_\-cli\_\-completion\_\-func} (CLI\_\-COMPLETION\_\-FUNC $\ast$v)}
\label{classCliCommand_a6f4dcc3fd662148e0d7f70a6b1bbd2a4}

\item 
\hypertarget{classCliCommand_ab1c32fc63f7a11f85cd1be4bc1c3b052}{
bool {\bfseries can\_\-complete} ()}
\label{classCliCommand_ab1c32fc63f7a11f85cd1be4bc1c3b052}

\item 
\hypertarget{classCliCommand_a44e505a7507f05c2cd08ed6d06f603bb}{
bool {\bfseries can\_\-pipe} () const }
\label{classCliCommand_a44e505a7507f05c2cd08ed6d06f603bb}

\item 
\hypertarget{classCliCommand_aaf2b9d85efeda3acfa441bf8254bb0fe}{
\hyperlink{classCliCommand}{CliCommand} $\ast$ {\bfseries cli\_\-command\_\-pipe} ()}
\label{classCliCommand_aaf2b9d85efeda3acfa441bf8254bb0fe}

\item 
\hypertarget{classCliCommand_aee11ab0e53f6788ad987814508b278fc}{
void {\bfseries set\_\-cli\_\-command\_\-pipe} (\hyperlink{classCliCommand}{CliCommand} $\ast$v)}
\label{classCliCommand_aee11ab0e53f6788ad987814508b278fc}

\item 
\hypertarget{classCliCommand_a6d63964d8405f818e087b59db27b7c5e}{
\hyperlink{classCliCommand}{CliCommand} $\ast$ {\bfseries root\_\-command} ()}
\label{classCliCommand_a6d63964d8405f818e087b59db27b7c5e}

\item 
\hypertarget{classCliCommand_af23903dd1c856759d5b0586ab8c81f15}{
void {\bfseries set\_\-root\_\-command} (\hyperlink{classCliCommand}{CliCommand} $\ast$v)}
\label{classCliCommand_af23903dd1c856759d5b0586ab8c81f15}

\end{DoxyCompactItemize}
\subsection*{Static Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classCliCommand_a94f6a4db5dcbd5038e03a011cf6a919e}{
static bool {\bfseries cli\_\-attempt\_\-command\_\-completion\_\-byname} (void $\ast$obj, \hyperlink{structWordCompletion}{WordCompletion} $\ast$cpl, void $\ast$data, const char $\ast$line, int word\_\-end, list$<$ \hyperlink{classCliCommand}{CliCommand} $\ast$ $>$ \&cli\_\-command\_\-match\_\-list)}
\label{classCliCommand_a94f6a4db5dcbd5038e03a011cf6a919e}

\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classCliCommand_aeefffe8286438bf3d93e0ab420f685d2}{
CLI\_\-PROCESS\_\-CALLBACK {\bfseries \_\-cli\_\-process\_\-callback}}
\label{classCliCommand_aeefffe8286438bf3d93e0ab420f685d2}

\item 
\hypertarget{classCliCommand_a10d53bb2538406fd785bd7b2272e6787}{
CLI\_\-INTERRUPT\_\-CALLBACK {\bfseries \_\-cli\_\-interrupt\_\-callback}}
\label{classCliCommand_a10d53bb2538406fd785bd7b2272e6787}

\item 
\hypertarget{classCliCommand_a2538131c4ea5a695037e4f9760229ebe}{
CLI\_\-COMPLETION\_\-FUNC $\ast$ {\bfseries \_\-cli\_\-completion\_\-func}}
\label{classCliCommand_a2538131c4ea5a695037e4f9760229ebe}

\item 
\hypertarget{classCliCommand_afceaf545e8b9013f193ba0407ce1b635}{
DYNAMIC\_\-CHILDREN\_\-CALLBACK {\bfseries \_\-dynamic\_\-children\_\-callback}}
\label{classCliCommand_afceaf545e8b9013f193ba0407ce1b635}

\item 
\hypertarget{classCliCommand_ac20727c0ee03e79b340e4105c79bc707}{
bool {\bfseries \_\-has\_\-dynamic\_\-children}}
\label{classCliCommand_ac20727c0ee03e79b340e4105c79bc707}

\item 
\hypertarget{classCliCommand_aabd61ef9020301ef662586c3542e2471}{
CLI\_\-PROCESS\_\-CALLBACK {\bfseries \_\-dynamic\_\-process\_\-callback}}
\label{classCliCommand_aabd61ef9020301ef662586c3542e2471}

\item 
\hypertarget{classCliCommand_a166880ccec774096ff1af16e07fccca4}{
CLI\_\-INTERRUPT\_\-CALLBACK {\bfseries \_\-dynamic\_\-interrupt\_\-callback}}
\label{classCliCommand_a166880ccec774096ff1af16e07fccca4}

\item 
\hypertarget{classCliCommand_a0189772821225d210db104aeac9d74bd}{
\hyperlink{classCliCommand}{CliCommand} $\ast$ {\bfseries \_\-root\_\-command}}
\label{classCliCommand_a0189772821225d210db104aeac9d74bd}

\item 
\hypertarget{classCliCommand_a9501fda94e0c52e9c4aa802f28dd21c2}{
\hyperlink{classCliCommand}{CliCommand} $\ast$ {\bfseries \_\-parent\_\-command}}
\label{classCliCommand_a9501fda94e0c52e9c4aa802f28dd21c2}

\item 
\hypertarget{classCliCommand_a9fcd5dffa5eb8c5be01f5d52af2b4223}{
list$<$ \hyperlink{classCliCommand}{CliCommand} $\ast$ $>$ {\bfseries \_\-child\_\-command\_\-list}}
\label{classCliCommand_a9fcd5dffa5eb8c5be01f5d52af2b4223}

\item 
\hypertarget{classCliCommand_aa22922f61a296799196257387b8f0076}{
const string {\bfseries \_\-name}}
\label{classCliCommand_aa22922f61a296799196257387b8f0076}

\item 
\hypertarget{classCliCommand_a6dffe4d7efb0e41165f7b0c5b26b7331}{
const string {\bfseries \_\-help}}
\label{classCliCommand_a6dffe4d7efb0e41165f7b0c5b26b7331}

\item 
\hypertarget{classCliCommand_ad64666f0ae8d72ae09be2202dcafd4dc}{
vector$<$ string $>$ {\bfseries \_\-global\_\-name}}
\label{classCliCommand_ad64666f0ae8d72ae09be2202dcafd4dc}

\item 
\hypertarget{classCliCommand_a9f740555b1e83ff7a7756478052f8031}{
string {\bfseries \_\-server\_\-name}}
\label{classCliCommand_a9f740555b1e83ff7a7756478052f8031}

\item 
\hypertarget{classCliCommand_af09a8ba7cb10dcaaaac41995f8ffe9cc}{
string {\bfseries \_\-help\_\-completion}}
\label{classCliCommand_af09a8ba7cb10dcaaaac41995f8ffe9cc}

\item 
\hypertarget{classCliCommand_a41a0900bccfa46a179ef030a12000694}{
bool {\bfseries \_\-allow\_\-cd}}
\label{classCliCommand_a41a0900bccfa46a179ef030a12000694}

\item 
\hypertarget{classCliCommand_aaa762e871e29004ff69daec292b29034}{
string {\bfseries \_\-cd\_\-prompt}}
\label{classCliCommand_aaa762e871e29004ff69daec292b29034}

\item 
\hypertarget{classCliCommand_ac1c75a3a148abcdf27de8678a2094d06}{
bool {\bfseries \_\-can\_\-pipe}}
\label{classCliCommand_ac1c75a3a148abcdf27de8678a2094d06}

\item 
\hypertarget{classCliCommand_ab17ef545f034848f846c8ffc3f41daa6}{
bool {\bfseries \_\-default\_\-nomore\_\-mode}}
\label{classCliCommand_ab17ef545f034848f846c8ffc3f41daa6}

\item 
\hypertarget{classCliCommand_a82aec11e56aebc62dfc2d664aed3037e}{
bool {\bfseries \_\-is\_\-command\_\-argument}}
\label{classCliCommand_a82aec11e56aebc62dfc2d664aed3037e}

\item 
\hypertarget{classCliCommand_a9389eaadb2cecfe2427e48e1e001fe4f}{
bool {\bfseries \_\-is\_\-argument\_\-expected}}
\label{classCliCommand_a9389eaadb2cecfe2427e48e1e001fe4f}

\item 
\hypertarget{classCliCommand_aad1a5c377cad69a8e4d37dde4ae48770}{
\hyperlink{classCliCommand}{CliCommand} $\ast$ {\bfseries \_\-cli\_\-command\_\-pipe}}
\label{classCliCommand_aad1a5c377cad69a8e4d37dde4ae48770}

\item 
\hypertarget{classCliCommand_ada45619efbdfc8281f2c5a0b0e9f7dd1}{
TypeMatchCb {\bfseries \_\-type\_\-match\_\-cb}}
\label{classCliCommand_ada45619efbdfc8281f2c5a0b0e9f7dd1}

\end{DoxyCompactItemize}
\subsection*{Friends}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classCliCommand_a45fce1503a9696bee70b932121b6a889}{
class \hyperlink{classCliCommand_a45fce1503a9696bee70b932121b6a889}{CliClient}}
\label{classCliCommand_a45fce1503a9696bee70b932121b6a889}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
The class for \hyperlink{protocolthe-p}{the} CLI command. 

\subsection{Constructor \& Destructor Documentation}
\hypertarget{classCliCommand_a548db0fd2232b8dcb8d47a8415d3f1e3}{
\index{CliCommand@{CliCommand}!CliCommand@{CliCommand}}
\index{CliCommand@{CliCommand}!CliCommand@{CliCommand}}
\subsubsection[{CliCommand}]{\setlength{\rightskip}{0pt plus 5cm}CliCommand::CliCommand (
\begin{DoxyParamCaption}
\item[{{\bf CliCommand} $\ast$}]{init\_\-parent\_\-command, }
\item[{const string \&}]{init\_\-command\_\-name, }
\item[{const string \&}]{init\_\-command\_\-help}
\end{DoxyParamCaption}
)}}
\label{classCliCommand_a548db0fd2232b8dcb8d47a8415d3f1e3}


Constructor for a given parent command, command name, and command help. 


\begin{DoxyParams}{Parameters}
{\em init\_\-parent\_\-command} & \hyperlink{protocolthe-p}{the} parent \hyperlink{classCliCommand}{CliCommand} command. \\
\hline
{\em init\_\-command\_\-name} & \hyperlink{protocolthe-p}{the} command name (this name should not include \hyperlink{protocolthe-p}{the} command name of \hyperlink{protocolthe-p}{the} parent command and its ancestors). \\
\hline
{\em init\_\-command\_\-help} & \hyperlink{protocolthe-p}{the} command help. \\
\hline
\end{DoxyParams}


\subsection{Member Function Documentation}
\hypertarget{classCliCommand_a3dfa8ea98210e051d14f293def067a6d}{
\index{CliCommand@{CliCommand}!add\_\-command@{add\_\-command}}
\index{add\_\-command@{add\_\-command}!CliCommand@{CliCommand}}
\subsubsection[{add\_\-command}]{\setlength{\rightskip}{0pt plus 5cm}{\bf CliCommand} $\ast$ CliCommand::add\_\-command (
\begin{DoxyParamCaption}
\item[{const string \&}]{init\_\-command\_\-name, }
\item[{const string \&}]{init\_\-command\_\-help, }
\item[{bool}]{is\_\-multilevel\_\-command, }
\item[{string \&}]{error\_\-msg}
\end{DoxyParamCaption}
)}}
\label{classCliCommand_a3dfa8ea98210e051d14f293def067a6d}


Add a CLI command. 

By default, we cannot \char`\"{}cd\char`\"{} to this command.


\begin{DoxyParams}{Parameters}
{\em init\_\-command\_\-name} & \hyperlink{protocolthe-p}{the} command name to add. If is\_\-multilevel\_\-command is true, then it may include more than one command levels in \hyperlink{protocolthe-p}{the} middle. E.g., \char`\"{}show version pim\char`\"{}. However, commands \char`\"{}show\char`\"{} and \char`\"{}show version\char`\"{} must have been installed first. \\
\hline
{\em init\_\-command\_\-help} & \hyperlink{protocolthe-p}{the} command help. \\
\hline
{\em is\_\-multilevel\_\-command} & if true, then init\_\-command\_\-name may include more than one command levels in \hyperlink{protocolthe-p}{the} middle. \\
\hline
{\em error\_\-msg} & \hyperlink{protocolthe-p}{the} error message (if error). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} new child command on success, otherwise NULL. 
\end{DoxyReturn}
\hypertarget{classCliCommand_adf7b79755b56625640e64ec750ad16b6}{
\index{CliCommand@{CliCommand}!add\_\-command@{add\_\-command}}
\index{add\_\-command@{add\_\-command}!CliCommand@{CliCommand}}
\subsubsection[{add\_\-command}]{\setlength{\rightskip}{0pt plus 5cm}{\bf CliCommand} $\ast$ CliCommand::add\_\-command (
\begin{DoxyParamCaption}
\item[{const string \&}]{init\_\-command\_\-name, }
\item[{const string \&}]{init\_\-command\_\-help, }
\item[{const string \&}]{init\_\-cd\_\-prompt, }
\item[{bool}]{is\_\-multilevel\_\-command, }
\item[{string \&}]{error\_\-msg}
\end{DoxyParamCaption}
)}}
\label{classCliCommand_adf7b79755b56625640e64ec750ad16b6}


Add a CLI command we can \char`\"{}cd\char`\"{} to it. 

By default, we can \char`\"{}cd\char`\"{} to this command.


\begin{DoxyParams}{Parameters}
{\em init\_\-command\_\-name} & \hyperlink{protocolthe-p}{the} command name to add. If is\_\-multilevel\_\-command is true, then it may include more than one command levels in \hyperlink{protocolthe-p}{the} middle. E.g., \char`\"{}set pim bsr\char`\"{}. However, commands \char`\"{}set\char`\"{} and \char`\"{}set pim\char`\"{} must have been installed first. \\
\hline
{\em init\_\-command\_\-help} & \hyperlink{protocolthe-p}{the} command help. \\
\hline
{\em init\_\-cd\_\-prompt} & if not an empty string, \hyperlink{protocolthe-p}{the} CLI prompt when \char`\"{}cd\char`\"{} to this command. \\
\hline
{\em is\_\-multilevel\_\-command} & if true, then init\_\-command\_\-name may include more than one command levels in \hyperlink{protocolthe-p}{the} middle. \\
\hline
{\em error\_\-msg} & \hyperlink{protocolthe-p}{the} error message (if error). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} new child command on success, otherwise NULL. 
\end{DoxyReturn}
\hypertarget{classCliCommand_a261240610196e86ecc902fe41a983c0d}{
\index{CliCommand@{CliCommand}!add\_\-command@{add\_\-command}}
\index{add\_\-command@{add\_\-command}!CliCommand@{CliCommand}}
\subsubsection[{add\_\-command}]{\setlength{\rightskip}{0pt plus 5cm}{\bf CliCommand}$\ast$ CliCommand::add\_\-command (
\begin{DoxyParamCaption}
\item[{const string \&}]{init\_\-command\_\-name, }
\item[{const string \&}]{init\_\-command\_\-help, }
\item[{bool}]{is\_\-multilevel\_\-command, }
\item[{CLI\_\-PROCESS\_\-FUNC}]{init\_\-cli\_\-process\_\-func, }
\item[{string \&}]{error\_\-msg}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classCliCommand_a261240610196e86ecc902fe41a983c0d}


Add a CLI command with a processing function. 


\begin{DoxyParams}{Parameters}
{\em init\_\-command\_\-name} & \hyperlink{protocolthe-p}{the} command name to add. If is\_\-multilevel\_\-command is true, then it may include more than one command levels in \hyperlink{protocolthe-p}{the} middle. E.g., \char`\"{}show version pim\char`\"{}. However, commands \char`\"{}show\char`\"{} and \char`\"{}show version\char`\"{} must have been installed first. \\
\hline
{\em init\_\-command\_\-help} & \hyperlink{protocolthe-p}{the} command help. \\
\hline
{\em is\_\-multilevel\_\-command} & if true, then init\_\-command\_\-name may include more than one command levels in \hyperlink{protocolthe-p}{the} middle. \\
\hline
{\em init\_\-cli\_\-process\_\-func} & \hyperlink{protocolthe-p}{the} processing function to call when \hyperlink{protocolthe-p}{the} command is entered for execution from \hyperlink{protocolthe-p}{the} command-\/line. \\
\hline
{\em error\_\-msg} & \hyperlink{protocolthe-p}{the} error message (if error). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} new child command on success, otherwise NULL. 
\end{DoxyReturn}
\hypertarget{classCliCommand_a60cf0ff90eb75bf34d2808960072634a}{
\index{CliCommand@{CliCommand}!add\_\-command@{add\_\-command}}
\index{add\_\-command@{add\_\-command}!CliCommand@{CliCommand}}
\subsubsection[{add\_\-command}]{\setlength{\rightskip}{0pt plus 5cm}{\bf CliCommand}$\ast$ CliCommand::add\_\-command (
\begin{DoxyParamCaption}
\item[{const string \&}]{init\_\-command\_\-name, }
\item[{const string \&}]{init\_\-command\_\-help, }
\item[{bool}]{is\_\-multilevel\_\-command, }
\item[{CLI\_\-PROCESS\_\-FUNC}]{init\_\-cli\_\-process\_\-func, }
\item[{CLI\_\-INTERRUPT\_\-FUNC}]{init\_\-cli\_\-interrupt\_\-func, }
\item[{string \&}]{error\_\-msg}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classCliCommand_a60cf0ff90eb75bf34d2808960072634a}


Add a CLI command with a processing function and an interrupt handler. 


\begin{DoxyParams}{Parameters}
{\em init\_\-command\_\-name} & \hyperlink{protocolthe-p}{the} command name to add. If is\_\-multilevel\_\-command is true, then it may include more than one command levels in \hyperlink{protocolthe-p}{the} middle. E.g., \char`\"{}show version pim\char`\"{}. However, commands \char`\"{}show\char`\"{} and \char`\"{}show version\char`\"{} must have been installed first. \\
\hline
{\em init\_\-command\_\-help} & \hyperlink{protocolthe-p}{the} command help. \\
\hline
{\em is\_\-multilevel\_\-command} & if true, then init\_\-command\_\-name may include more than one command levels in \hyperlink{protocolthe-p}{the} middle. \\
\hline
{\em init\_\-cli\_\-process\_\-func} & \hyperlink{protocolthe-p}{the} processing function to call when \hyperlink{protocolthe-p}{the} command is entered for execution from \hyperlink{protocolthe-p}{the} command-\/line. \\
\hline
{\em init\_\-cli\_\-interrupt\_\-func} & \hyperlink{protocolthe-p}{the} function to call when \hyperlink{protocolthe-p}{the} user has interrupted \hyperlink{protocolthe-p}{the} command (e.g., by typing Ctrl-\/C). \\
\hline
{\em error\_\-msg} & \hyperlink{protocolthe-p}{the} error message (if error). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} new child command on success, otherwise NULL. 
\end{DoxyReturn}
\hypertarget{classCliCommand_acd80e261d614256c7e4d30707e43bc00}{
\index{CliCommand@{CliCommand}!add\_\-command@{add\_\-command}}
\index{add\_\-command@{add\_\-command}!CliCommand@{CliCommand}}
\subsubsection[{add\_\-command}]{\setlength{\rightskip}{0pt plus 5cm}int CliCommand::add\_\-command (
\begin{DoxyParamCaption}
\item[{{\bf CliCommand} $\ast$}]{child\_\-command, }
\item[{string \&}]{error\_\-msg}
\end{DoxyParamCaption}
)}}
\label{classCliCommand_acd80e261d614256c7e4d30707e43bc00}


Add a child CLI command. 


\begin{DoxyParams}{Parameters}
{\em child\_\-command} & \hyperlink{protocolthe-p}{the} child command to add. \\
\hline
{\em error\_\-msg} & \hyperlink{protocolthe-p}{the} error message (if error). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}
\hypertarget{classCliCommand_a5ea724662db3f5e1d9ba075a48dbdf2a}{
\index{CliCommand@{CliCommand}!add\_\-command@{add\_\-command}}
\index{add\_\-command@{add\_\-command}!CliCommand@{CliCommand}}
\subsubsection[{add\_\-command}]{\setlength{\rightskip}{0pt plus 5cm}{\bf CliCommand} $\ast$ CliCommand::add\_\-command (
\begin{DoxyParamCaption}
\item[{const string \&}]{init\_\-command\_\-name, }
\item[{const string \&}]{init\_\-command\_\-help, }
\item[{bool}]{is\_\-multilevel\_\-command, }
\item[{const CLI\_\-PROCESS\_\-CALLBACK \&}]{init\_\-cli\_\-process\_\-callback, }
\item[{string \&}]{error\_\-msg}
\end{DoxyParamCaption}
)}}
\label{classCliCommand_a5ea724662db3f5e1d9ba075a48dbdf2a}


Add a CLI command with a processing callback. 


\begin{DoxyParams}{Parameters}
{\em init\_\-command\_\-name} & \hyperlink{protocolthe-p}{the} command name to add. If is\_\-multilevel\_\-command is true, then it may include more than one command levels in \hyperlink{protocolthe-p}{the} middle. E.g., \char`\"{}show version pim\char`\"{}. However, commands \char`\"{}show\char`\"{} and \char`\"{}show version\char`\"{} must have been installed first. \\
\hline
{\em init\_\-command\_\-help} & \hyperlink{protocolthe-p}{the} command help. \\
\hline
{\em is\_\-multilevel\_\-command} & if true, then init\_\-command\_\-name may include more than one command levels in \hyperlink{protocolthe-p}{the} middle. \\
\hline
{\em init\_\-cli\_\-process\_\-callback} & \hyperlink{protocolthe-p}{the} callback to call when \hyperlink{protocolthe-p}{the} command is entered for execution from \hyperlink{protocolthe-p}{the} command-\/line. \\
\hline
{\em error\_\-msg} & \hyperlink{protocolthe-p}{the} error message (if error). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} new child command on success, otherwise NULL. 
\end{DoxyReturn}
\hypertarget{classCliCommand_a178323ef0f020a2fed5a5811ddbfc45e}{
\index{CliCommand@{CliCommand}!add\_\-command@{add\_\-command}}
\index{add\_\-command@{add\_\-command}!CliCommand@{CliCommand}}
\subsubsection[{add\_\-command}]{\setlength{\rightskip}{0pt plus 5cm}{\bf CliCommand} $\ast$ CliCommand::add\_\-command (
\begin{DoxyParamCaption}
\item[{const string \&}]{init\_\-command\_\-name, }
\item[{const string \&}]{init\_\-command\_\-help, }
\item[{bool}]{is\_\-multilevel\_\-command, }
\item[{const CLI\_\-PROCESS\_\-CALLBACK \&}]{init\_\-cli\_\-process\_\-callback, }
\item[{const CLI\_\-INTERRUPT\_\-CALLBACK \&}]{init\_\-cli\_\-interrupt\_\-callback, }
\item[{string \&}]{error\_\-msg}
\end{DoxyParamCaption}
)}}
\label{classCliCommand_a178323ef0f020a2fed5a5811ddbfc45e}


Add a CLI command with a processing and an interrupt callbacks. 


\begin{DoxyParams}{Parameters}
{\em init\_\-command\_\-name} & \hyperlink{protocolthe-p}{the} command name to add. If is\_\-multilevel\_\-command is true, then it may include more than one command levels in \hyperlink{protocolthe-p}{the} middle. E.g., \char`\"{}show version pim\char`\"{}. However, commands \char`\"{}show\char`\"{} and \char`\"{}show version\char`\"{} must have been installed first. \\
\hline
{\em init\_\-command\_\-help} & \hyperlink{protocolthe-p}{the} command help. \\
\hline
{\em is\_\-multilevel\_\-command} & if true, then init\_\-command\_\-name may include more than one command levels in \hyperlink{protocolthe-p}{the} middle. \\
\hline
{\em init\_\-cli\_\-process\_\-callback} & \hyperlink{protocolthe-p}{the} callback to call when \hyperlink{protocolthe-p}{the} command is entered for execution from \hyperlink{protocolthe-p}{the} command-\/line. \\
\hline
{\em init\_\-cli\_\-interrupt\_\-callback} & \hyperlink{protocolthe-p}{the} callback to call when \hyperlink{protocolthe-p}{the} user has interrupted \hyperlink{protocolthe-p}{the} command (e.g., by typing Ctrl-\/C). \\
\hline
{\em error\_\-msg} & \hyperlink{protocolthe-p}{the} error message (if error). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} new child command on success, otherwise NULL. 
\end{DoxyReturn}
\hypertarget{classCliCommand_ab2fb1c94a18c60c42198acddacb803a1}{
\index{CliCommand@{CliCommand}!add\_\-pipes@{add\_\-pipes}}
\index{add\_\-pipes@{add\_\-pipes}!CliCommand@{CliCommand}}
\subsubsection[{add\_\-pipes}]{\setlength{\rightskip}{0pt plus 5cm}int CliCommand::add\_\-pipes (
\begin{DoxyParamCaption}
\item[{string \&}]{error\_\-msg}
\end{DoxyParamCaption}
)}}
\label{classCliCommand_ab2fb1c94a18c60c42198acddacb803a1}


Create and add \hyperlink{protocolthe-p}{the} default CLI pipe commands. 

\hyperlink{classCliCommand_ab2fb1c94a18c60c42198acddacb803a1}{CliCommand::add\_\-pipes}: @:


\begin{DoxyParams}{Parameters}
{\em error\_\-msg} & \hyperlink{protocolthe-p}{the} error message (if error). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR.
\end{DoxyReturn}
Create and add \hyperlink{protocolthe-p}{the} default CLI pipe commands.

Return value: XORP\_\-OK on success, otherwise XORP\_\-ERROR. \hypertarget{classCliCommand_a8ffbedadc913ba9cca3ab8be343dfcd8}{
\index{CliCommand@{CliCommand}!create\_\-default\_\-cli\_\-commands@{create\_\-default\_\-cli\_\-commands}}
\index{create\_\-default\_\-cli\_\-commands@{create\_\-default\_\-cli\_\-commands}!CliCommand@{CliCommand}}
\subsubsection[{create\_\-default\_\-cli\_\-commands}]{\setlength{\rightskip}{0pt plus 5cm}int CliCommand::create\_\-default\_\-cli\_\-commands (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{classCliCommand_a8ffbedadc913ba9cca3ab8be343dfcd8}


Create \hyperlink{protocolthe-p}{the} default CLI commands at each level of \hyperlink{protocolthe-p}{the} command tree. 

\hyperlink{classCliCommand_a8ffbedadc913ba9cca3ab8be343dfcd8}{CliCommand::create\_\-default\_\-cli\_\-commands}: @:

\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR.
\end{DoxyReturn}
Create \hyperlink{protocolthe-p}{the} default CLI commands at each level of \hyperlink{protocolthe-p}{the} command tree.

Return value: XORP\_\-OK on success, otherwise XORP\_\-ERROR. \hypertarget{classCliCommand_a699666cede12ab783525d2dbdd21deeb}{
\index{CliCommand@{CliCommand}!default\_\-nomore\_\-mode@{default\_\-nomore\_\-mode}}
\index{default\_\-nomore\_\-mode@{default\_\-nomore\_\-mode}!CliCommand@{CliCommand}}
\subsubsection[{default\_\-nomore\_\-mode}]{\setlength{\rightskip}{0pt plus 5cm}bool CliCommand::default\_\-nomore\_\-mode (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classCliCommand_a699666cede12ab783525d2dbdd21deeb}


Test if \char`\"{}no-\/more\char`\"{} (i.e., unpaged) is \hyperlink{protocolthe-p}{the} default output mode. 

\begin{DoxyReturn}{Returns}
true if \char`\"{}no-\/more\char`\"{} (i.e., unpaged) is \hyperlink{protocolthe-p}{the} default output mode, otherwise false. 
\end{DoxyReturn}
\hypertarget{classCliCommand_ab922793be31ef63f41a29a661fde6b0c}{
\index{CliCommand@{CliCommand}!delete\_\-command@{delete\_\-command}}
\index{delete\_\-command@{delete\_\-command}!CliCommand@{CliCommand}}
\subsubsection[{delete\_\-command}]{\setlength{\rightskip}{0pt plus 5cm}int CliCommand::delete\_\-command (
\begin{DoxyParamCaption}
\item[{{\bf CliCommand} $\ast$}]{child\_\-command}
\end{DoxyParamCaption}
)}}
\label{classCliCommand_ab922793be31ef63f41a29a661fde6b0c}


Delete a child command and all sub-\/commands below it. 


\begin{DoxyParams}{Parameters}
{\em child\_\-command} & \hyperlink{protocolthe-p}{the} child command to delete. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}
\hypertarget{classCliCommand_add5376b40341d836a9897ec1f1c8bc5c}{
\index{CliCommand@{CliCommand}!delete\_\-command@{delete\_\-command}}
\index{delete\_\-command@{delete\_\-command}!CliCommand@{CliCommand}}
\subsubsection[{delete\_\-command}]{\setlength{\rightskip}{0pt plus 5cm}int CliCommand::delete\_\-command (
\begin{DoxyParamCaption}
\item[{const string \&}]{delete\_\-command\_\-name}
\end{DoxyParamCaption}
)}}
\label{classCliCommand_add5376b40341d836a9897ec1f1c8bc5c}


Delete a child command and all sub-\/commands below it. 


\begin{DoxyParams}{Parameters}
{\em delete\_\-command\_\-name} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} child command to delete. The name can be \hyperlink{protocolthe-p}{the} full path-\/name for that command. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}
\hypertarget{classCliCommand_a5a4c1aa1352b7bfba43b446b3c54fa29}{
\index{CliCommand@{CliCommand}!delete\_\-pipes@{delete\_\-pipes}}
\index{delete\_\-pipes@{delete\_\-pipes}!CliCommand@{CliCommand}}
\subsubsection[{delete\_\-pipes}]{\setlength{\rightskip}{0pt plus 5cm}int CliCommand::delete\_\-pipes (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCliCommand_a5a4c1aa1352b7bfba43b446b3c54fa29}


\hyperlink{classCliCommand_a5a4c1aa1352b7bfba43b446b3c54fa29}{CliCommand::delete\_\-pipes}: @: 

Delete \hyperlink{protocolthe-p}{the} default CLI pipe commands.

Return value: XORP\_\-OK on success, otherwise XORP\_\-ERROR. \hypertarget{classCliCommand_afe4707d3b609cefee7412a8a41d4cc54}{
\index{CliCommand@{CliCommand}!global\_\-name@{global\_\-name}}
\index{global\_\-name@{global\_\-name}!CliCommand@{CliCommand}}
\subsubsection[{global\_\-name}]{\setlength{\rightskip}{0pt plus 5cm}const vector$<$string$>$\& CliCommand::global\_\-name (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classCliCommand_afe4707d3b609cefee7412a8a41d4cc54}


Get \hyperlink{protocolthe-p}{the} global name of this command (i.e., \hyperlink{protocolthe-p}{the} full name starting from \hyperlink{protocolthe-p}{the} root). 

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} global (full) name of this command. 
\end{DoxyReturn}
\hypertarget{classCliCommand_afc9b4e4bc0657fb83eef353e8feae6bf}{
\index{CliCommand@{CliCommand}!has\_\-type\_\-match\_\-cb@{has\_\-type\_\-match\_\-cb}}
\index{has\_\-type\_\-match\_\-cb@{has\_\-type\_\-match\_\-cb}!CliCommand@{CliCommand}}
\subsubsection[{has\_\-type\_\-match\_\-cb}]{\setlength{\rightskip}{0pt plus 5cm}bool CliCommand::has\_\-type\_\-match\_\-cb (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}
\label{classCliCommand_afc9b4e4bc0657fb83eef353e8feae6bf}


Test if there is a callback for type matching. 

\begin{DoxyReturn}{Returns}
true if there is a callback for type matching, otherwise false. 
\end{DoxyReturn}
\hypertarget{classCliCommand_aa7f461706a4f5cac4eddb424b846afa4}{
\index{CliCommand@{CliCommand}!is\_\-argument\_\-expected@{is\_\-argument\_\-expected}}
\index{is\_\-argument\_\-expected@{is\_\-argument\_\-expected}!CliCommand@{CliCommand}}
\subsubsection[{is\_\-argument\_\-expected}]{\setlength{\rightskip}{0pt plus 5cm}bool CliCommand::is\_\-argument\_\-expected (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classCliCommand_aa7f461706a4f5cac4eddb424b846afa4}


Test if \hyperlink{protocolthe-p}{the} command expects an argument. 

\begin{DoxyReturn}{Returns}
true if \hyperlink{protocolthe-p}{the} command expects an argument, otherwise false. 
\end{DoxyReturn}
\hypertarget{classCliCommand_a94e138cfcaf8c32b0c3b4ffee0072478}{
\index{CliCommand@{CliCommand}!is\_\-command\_\-argument@{is\_\-command\_\-argument}}
\index{is\_\-command\_\-argument@{is\_\-command\_\-argument}!CliCommand@{CliCommand}}
\subsubsection[{is\_\-command\_\-argument}]{\setlength{\rightskip}{0pt plus 5cm}bool CliCommand::is\_\-command\_\-argument (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classCliCommand_a94e138cfcaf8c32b0c3b4ffee0072478}


Test if \hyperlink{protocolthe-p}{the} command actually represents a command argument. 

\begin{DoxyReturn}{Returns}
true if \hyperlink{protocolthe-p}{the} command actually represents a command argument. 
\end{DoxyReturn}
\hypertarget{classCliCommand_a7e25929fa93d2ec4dce212e7c55900d4}{
\index{CliCommand@{CliCommand}!server\_\-name@{server\_\-name}}
\index{server\_\-name@{server\_\-name}!CliCommand@{CliCommand}}
\subsubsection[{server\_\-name}]{\setlength{\rightskip}{0pt plus 5cm}const string\& CliCommand::server\_\-name (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classCliCommand_a7e25929fa93d2ec4dce212e7c55900d4}


Get \hyperlink{protocolthe-p}{the} server (i.e., processor) name for this command. 

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} server name for this command. 
\end{DoxyReturn}
\hypertarget{classCliCommand_a3a3cd420118ac1b5a1debb992a73a89c}{
\index{CliCommand@{CliCommand}!set\_\-allow\_\-cd@{set\_\-allow\_\-cd}}
\index{set\_\-allow\_\-cd@{set\_\-allow\_\-cd}!CliCommand@{CliCommand}}
\subsubsection[{set\_\-allow\_\-cd}]{\setlength{\rightskip}{0pt plus 5cm}void CliCommand::set\_\-allow\_\-cd (
\begin{DoxyParamCaption}
\item[{bool}]{v, }
\item[{const string \&}]{init\_\-cd\_\-prompt}
\end{DoxyParamCaption}
)}}
\label{classCliCommand_a3a3cd420118ac1b5a1debb992a73a89c}


Enable/disable whether this command allows \char`\"{}change directory\char`\"{} to it. 


\begin{DoxyParams}{Parameters}
{\em v} & if true, enable \char`\"{}change directory\char`\"{}, otherwise disable it. \\
\hline
{\em init\_\-cd\_\-prompt} & if v is true, \hyperlink{protocolthe-p}{the} CLI prompt to display when \char`\"{}cd\char`\"{} to this command. If an empty string, \hyperlink{protocolthe-p}{the} CLI prompt will not be changed. \\
\hline
\end{DoxyParams}
\hypertarget{classCliCommand_a62778ebb8bfc59f19aa548aa236f752f}{
\index{CliCommand@{CliCommand}!set\_\-can\_\-pipe@{set\_\-can\_\-pipe}}
\index{set\_\-can\_\-pipe@{set\_\-can\_\-pipe}!CliCommand@{CliCommand}}
\subsubsection[{set\_\-can\_\-pipe}]{\setlength{\rightskip}{0pt plus 5cm}void CliCommand::set\_\-can\_\-pipe (
\begin{DoxyParamCaption}
\item[{bool}]{v}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classCliCommand_a62778ebb8bfc59f19aa548aa236f752f}


Set whether \hyperlink{protocolthe-p}{the} output of this command can be piped. 


\begin{DoxyParams}{Parameters}
{\em v} & if true, then \hyperlink{protocolthe-p}{the} \hyperlink{protocolthe-p}{the} output of this command can be piped. \\
\hline
\end{DoxyParams}
\hypertarget{classCliCommand_a010de59a63ae6ab76f754e6156e36429}{
\index{CliCommand@{CliCommand}!set\_\-cli\_\-interrupt\_\-callback@{set\_\-cli\_\-interrupt\_\-callback}}
\index{set\_\-cli\_\-interrupt\_\-callback@{set\_\-cli\_\-interrupt\_\-callback}!CliCommand@{CliCommand}}
\subsubsection[{set\_\-cli\_\-interrupt\_\-callback}]{\setlength{\rightskip}{0pt plus 5cm}void CliCommand::set\_\-cli\_\-interrupt\_\-callback (
\begin{DoxyParamCaption}
\item[{const CLI\_\-INTERRUPT\_\-CALLBACK \&}]{v}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classCliCommand_a010de59a63ae6ab76f754e6156e36429}


Set \hyperlink{protocolthe-p}{the} callback for command interrupt. 


\begin{DoxyParams}{Parameters}
{\em v} & \hyperlink{protocolthe-p}{the} callback for command processing. \\
\hline
\end{DoxyParams}
\hypertarget{classCliCommand_a76a15d88f8dfdccc89ce10b8886201eb}{
\index{CliCommand@{CliCommand}!set\_\-cli\_\-process\_\-callback@{set\_\-cli\_\-process\_\-callback}}
\index{set\_\-cli\_\-process\_\-callback@{set\_\-cli\_\-process\_\-callback}!CliCommand@{CliCommand}}
\subsubsection[{set\_\-cli\_\-process\_\-callback}]{\setlength{\rightskip}{0pt plus 5cm}void CliCommand::set\_\-cli\_\-process\_\-callback (
\begin{DoxyParamCaption}
\item[{const CLI\_\-PROCESS\_\-CALLBACK \&}]{v}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classCliCommand_a76a15d88f8dfdccc89ce10b8886201eb}


Set \hyperlink{protocolthe-p}{the} callback for command processing. 


\begin{DoxyParams}{Parameters}
{\em v} & \hyperlink{protocolthe-p}{the} callback for command processing. \\
\hline
\end{DoxyParams}
\hypertarget{classCliCommand_a76193e1ac0d1746e00c4c0282a33c12e}{
\index{CliCommand@{CliCommand}!set\_\-default\_\-nomore\_\-mode@{set\_\-default\_\-nomore\_\-mode}}
\index{set\_\-default\_\-nomore\_\-mode@{set\_\-default\_\-nomore\_\-mode}!CliCommand@{CliCommand}}
\subsubsection[{set\_\-default\_\-nomore\_\-mode}]{\setlength{\rightskip}{0pt plus 5cm}void CliCommand::set\_\-default\_\-nomore\_\-mode (
\begin{DoxyParamCaption}
\item[{bool}]{v}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classCliCommand_a76193e1ac0d1746e00c4c0282a33c12e}


Set \hyperlink{protocolthe-p}{the} default paging mode. 


\begin{DoxyParams}{Parameters}
{\em v} & if true, then \char`\"{}no-\/more\char`\"{} (i.e., unpaged) is \hyperlink{protocolthe-p}{the} default output mode. \\
\hline
\end{DoxyParams}
\hypertarget{classCliCommand_a16ef27b803f1193a981cf8526682f27d}{
\index{CliCommand@{CliCommand}!set\_\-dynamic\_\-children\_\-callback@{set\_\-dynamic\_\-children\_\-callback}}
\index{set\_\-dynamic\_\-children\_\-callback@{set\_\-dynamic\_\-children\_\-callback}!CliCommand@{CliCommand}}
\subsubsection[{set\_\-dynamic\_\-children\_\-callback}]{\setlength{\rightskip}{0pt plus 5cm}void CliCommand::set\_\-dynamic\_\-children\_\-callback (
\begin{DoxyParamCaption}
\item[{DYNAMIC\_\-CHILDREN\_\-CALLBACK}]{v}
\end{DoxyParamCaption}
)}}
\label{classCliCommand_a16ef27b803f1193a981cf8526682f27d}


Set \hyperlink{protocolthe-p}{the} callback for dynamic generation of children commands. 


\begin{DoxyParams}{Parameters}
{\em v} & \hyperlink{protocolthe-p}{the} callback for dynamic generation of children commands. \\
\hline
\end{DoxyParams}
\hypertarget{classCliCommand_a8737220bfc64e940e03f8a483a2ddfb9}{
\index{CliCommand@{CliCommand}!set\_\-dynamic\_\-interrupt\_\-callback@{set\_\-dynamic\_\-interrupt\_\-callback}}
\index{set\_\-dynamic\_\-interrupt\_\-callback@{set\_\-dynamic\_\-interrupt\_\-callback}!CliCommand@{CliCommand}}
\subsubsection[{set\_\-dynamic\_\-interrupt\_\-callback}]{\setlength{\rightskip}{0pt plus 5cm}void CliCommand::set\_\-dynamic\_\-interrupt\_\-callback (
\begin{DoxyParamCaption}
\item[{const CLI\_\-INTERRUPT\_\-CALLBACK \&}]{v}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classCliCommand_a8737220bfc64e940e03f8a483a2ddfb9}


Set \hyperlink{protocolthe-p}{the} callback for command interrupt for a dynamically generated child command. 


\begin{DoxyParams}{Parameters}
{\em v} & \hyperlink{protocolthe-p}{the} callback for command processing. \\
\hline
\end{DoxyParams}
\hypertarget{classCliCommand_a701a3b372764a16fa011eb4b22f61d80}{
\index{CliCommand@{CliCommand}!set\_\-dynamic\_\-process\_\-callback@{set\_\-dynamic\_\-process\_\-callback}}
\index{set\_\-dynamic\_\-process\_\-callback@{set\_\-dynamic\_\-process\_\-callback}!CliCommand@{CliCommand}}
\subsubsection[{set\_\-dynamic\_\-process\_\-callback}]{\setlength{\rightskip}{0pt plus 5cm}void CliCommand::set\_\-dynamic\_\-process\_\-callback (
\begin{DoxyParamCaption}
\item[{const CLI\_\-PROCESS\_\-CALLBACK \&}]{v}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classCliCommand_a701a3b372764a16fa011eb4b22f61d80}


Set \hyperlink{protocolthe-p}{the} callback for command processing for a dynamically generated child command. 


\begin{DoxyParams}{Parameters}
{\em v} & \hyperlink{protocolthe-p}{the} callback for command processing. \\
\hline
\end{DoxyParams}
\hypertarget{classCliCommand_a00126c3c82bd9eb2fcf72e324e542896}{
\index{CliCommand@{CliCommand}!set\_\-global\_\-name@{set\_\-global\_\-name}}
\index{set\_\-global\_\-name@{set\_\-global\_\-name}!CliCommand@{CliCommand}}
\subsubsection[{set\_\-global\_\-name}]{\setlength{\rightskip}{0pt plus 5cm}void CliCommand::set\_\-global\_\-name (
\begin{DoxyParamCaption}
\item[{const vector$<$ string $>$ \&}]{v}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classCliCommand_a00126c3c82bd9eb2fcf72e324e542896}


Set \hyperlink{protocolthe-p}{the} global name for this command. 


\begin{DoxyParams}{Parameters}
{\em v} & \hyperlink{protocolthe-p}{the} global name value to set. \\
\hline
\end{DoxyParams}
\hypertarget{classCliCommand_ac6bfcb2a9c66a258319a1f73780b33e4}{
\index{CliCommand@{CliCommand}!set\_\-is\_\-argument\_\-expected@{set\_\-is\_\-argument\_\-expected}}
\index{set\_\-is\_\-argument\_\-expected@{set\_\-is\_\-argument\_\-expected}!CliCommand@{CliCommand}}
\subsubsection[{set\_\-is\_\-argument\_\-expected}]{\setlength{\rightskip}{0pt plus 5cm}void CliCommand::set\_\-is\_\-argument\_\-expected (
\begin{DoxyParamCaption}
\item[{bool}]{v}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classCliCommand_ac6bfcb2a9c66a258319a1f73780b33e4}


Set a flag whether \hyperlink{protocolthe-p}{the} command expects an argument. 


\begin{DoxyParams}{Parameters}
{\em v} & true if \hyperlink{protocolthe-p}{the} command expectes an argument, otherwise false. \\
\hline
\end{DoxyParams}
\hypertarget{classCliCommand_a6d0ce0c0ea98f9d549fb4056b5588f54}{
\index{CliCommand@{CliCommand}!set\_\-is\_\-command\_\-argument@{set\_\-is\_\-command\_\-argument}}
\index{set\_\-is\_\-command\_\-argument@{set\_\-is\_\-command\_\-argument}!CliCommand@{CliCommand}}
\subsubsection[{set\_\-is\_\-command\_\-argument}]{\setlength{\rightskip}{0pt plus 5cm}void CliCommand::set\_\-is\_\-command\_\-argument (
\begin{DoxyParamCaption}
\item[{bool}]{v}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classCliCommand_a6d0ce0c0ea98f9d549fb4056b5588f54}


Set a flag whether \hyperlink{protocolthe-p}{the} command actually represents a command argument. 


\begin{DoxyParams}{Parameters}
{\em v} & true if \hyperlink{protocolthe-p}{the} command represents a command argument, otherwise false. \\
\hline
\end{DoxyParams}
\hypertarget{classCliCommand_a72e7bc2d6d46be7312c17f0f09601c08}{
\index{CliCommand@{CliCommand}!set\_\-server\_\-name@{set\_\-server\_\-name}}
\index{set\_\-server\_\-name@{set\_\-server\_\-name}!CliCommand@{CliCommand}}
\subsubsection[{set\_\-server\_\-name}]{\setlength{\rightskip}{0pt plus 5cm}void CliCommand::set\_\-server\_\-name (
\begin{DoxyParamCaption}
\item[{const string \&}]{v}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classCliCommand_a72e7bc2d6d46be7312c17f0f09601c08}


Set \hyperlink{protocolthe-p}{the} server (i.e., processor) name for this command. 


\begin{DoxyParams}{Parameters}
{\em v} & \hyperlink{protocolthe-p}{the} server name value to set. \\
\hline
\end{DoxyParams}
\hypertarget{classCliCommand_ad7d3294c5f57236c0f47707e922e92b2}{
\index{CliCommand@{CliCommand}!set\_\-type\_\-match\_\-cb@{set\_\-type\_\-match\_\-cb}}
\index{set\_\-type\_\-match\_\-cb@{set\_\-type\_\-match\_\-cb}!CliCommand@{CliCommand}}
\subsubsection[{set\_\-type\_\-match\_\-cb}]{\setlength{\rightskip}{0pt plus 5cm}void CliCommand::set\_\-type\_\-match\_\-cb (
\begin{DoxyParamCaption}
\item[{const TypeMatchCb \&}]{cb}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classCliCommand_ad7d3294c5f57236c0f47707e922e92b2}


Set \hyperlink{protocolthe-p}{the} callback for type matching. 


\begin{DoxyParams}{Parameters}
{\em cb} & \hyperlink{protocolthe-p}{the} callback for type matching. \\
\hline
\end{DoxyParams}
\hypertarget{classCliCommand_a92bc17aca16ac1ca1d30b6342036113c}{
\index{CliCommand@{CliCommand}!type\_\-match\_\-cb@{type\_\-match\_\-cb}}
\index{type\_\-match\_\-cb@{type\_\-match\_\-cb}!CliCommand@{CliCommand}}
\subsubsection[{type\_\-match\_\-cb}]{\setlength{\rightskip}{0pt plus 5cm}const TypeMatchCb\& CliCommand::type\_\-match\_\-cb (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classCliCommand_a92bc17aca16ac1ca1d30b6342036113c}


Get \hyperlink{protocolthe-p}{the} callback for type matching. 

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} callback for type matching. 
\end{DoxyReturn}


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