\hypertarget{classRouterCLI}{
\section{RouterCLI Class Reference}
\label{classRouterCLI}\index{RouterCLI@{RouterCLI}}
}
Inheritance diagram for RouterCLI:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classRouterCLI}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classRouterCLI_a645f23a899a09114fc5ab743ddf44e9f}{
typedef XorpCallback1$<$ void, const string \& $>$::RefPtr {\bfseries OpModePrintCallback}}
\label{classRouterCLI_a645f23a899a09114fc5ab743ddf44e9f}

\item 
\hypertarget{classRouterCLI_ab1ebe6a1da3b218b5318663ad1696504}{
typedef XorpCallback2$<$ void, bool, const string \& $>$::RefPtr {\bfseries OpModeDoneCallback}}
\label{classRouterCLI_ab1ebe6a1da3b218b5318663ad1696504}

\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classRouterCLI_af1b54b18c8e3d30ee7f6c40b40b9fd62}{
{\bfseries RouterCLI} (\hyperlink{classXorpShellBase}{XorpShellBase} \&xorpsh, \hyperlink{classCliNode}{CliNode} \&cli\_\-node, \hyperlink{classXorpFd}{XorpFd} cli\_\-client\_\-input\_\-fd, \hyperlink{classXorpFd}{XorpFd} cli\_\-client\_\-output\_\-fd, bool verbose)  throw (InitError)}
\label{classRouterCLI_af1b54b18c8e3d30ee7f6c40b40b9fd62}

\item 
\hypertarget{classRouterCLI_ae6d79d868237ddf16c090f6286d89a46}{
bool {\bfseries done} () const }
\label{classRouterCLI_ae6d79d868237ddf16c090f6286d89a46}

\item 
\hypertarget{classRouterCLI_a8b6f7afbe6a8ac44e2f6637d4c4edeba}{
bool {\bfseries is\_\-config\_\-mode} () const }
\label{classRouterCLI_a8b6f7afbe6a8ac44e2f6637d4c4edeba}

\item 
\hypertarget{classRouterCLI_a2984d51256fdcc4ac9bed93f3c4fca87}{
void {\bfseries clear\_\-command\_\-set} ()}
\label{classRouterCLI_a2984d51256fdcc4ac9bed93f3c4fca87}

\item 
\hypertarget{classRouterCLI_a871faa81edf854311e374542dc995e13}{
int {\bfseries configure\_\-func} (const string \&, const string \&, uint32\_\-t, const vector$<$ string $>$ \&command\_\-global\_\-name, const vector$<$ string $>$ \&argv)}
\label{classRouterCLI_a871faa81edf854311e374542dc995e13}

\item 
\hypertarget{classRouterCLI_a2d89f5bbcfe9afcbec5747fd7256d3ef}{
void {\bfseries enter\_\-config\_\-done} (const \hyperlink{classXrlError}{XrlError} \&e)}
\label{classRouterCLI_a2d89f5bbcfe9afcbec5747fd7256d3ef}

\item 
\hypertarget{classRouterCLI_a872133ad164c8697f13d69e581183ebb}{
void {\bfseries got\_\-config\_\-users} (const \hyperlink{classXrlError}{XrlError} \&e, const \hyperlink{classXrlAtomList}{XrlAtomList} $\ast$users)}
\label{classRouterCLI_a872133ad164c8697f13d69e581183ebb}

\item 
\hypertarget{classRouterCLI_a6f80cf8e0c7f064af495b488ab27cae3}{
void {\bfseries new\_\-config\_\-user} (uid\_\-t user\_\-id)}
\label{classRouterCLI_a6f80cf8e0c7f064af495b488ab27cae3}

\item 
\hypertarget{classRouterCLI_aa55f32feb977899e2b612dc92cfb0134}{
void {\bfseries leave\_\-config\_\-done} (const \hyperlink{classXrlError}{XrlError} \&e)}
\label{classRouterCLI_aa55f32feb977899e2b612dc92cfb0134}

\item 
\hypertarget{classRouterCLI_accb3c01cf662fce1c53e1cee4d6bfab7}{
void {\bfseries notify\_\-user} (const string \&alert, bool urgent)}
\label{classRouterCLI_accb3c01cf662fce1c53e1cee4d6bfab7}

\item 
\hypertarget{classRouterCLI_a9265ab65d95524489522c25c1051e577}{
void {\bfseries config\_\-changed\_\-by\_\-other\_\-user} ()}
\label{classRouterCLI_a9265ab65d95524489522c25c1051e577}

\item 
\hypertarget{classRouterCLI_a9465508a6ceef248be42e3d71ef154f4}{
int {\bfseries op\_\-help\_\-func} (const string \&, const string \&, uint32\_\-t, const vector$<$ string $>$ \&command\_\-global\_\-name, const vector$<$ string $>$ \&argv)}
\label{classRouterCLI_a9465508a6ceef248be42e3d71ef154f4}

\item 
\hypertarget{classRouterCLI_a85636e42e884d94d1aca788d89346fc5}{
int {\bfseries conf\_\-help\_\-func} (const string \&, const string \&, uint32\_\-t, const vector$<$ string $>$ \&command\_\-global\_\-name, const vector$<$ string $>$ \&argv)}
\label{classRouterCLI_a85636e42e884d94d1aca788d89346fc5}

\item 
\hypertarget{classRouterCLI_a6e3ed93b9422fae93ab29454b6fb0e4d}{
int {\bfseries logout\_\-func} (const string \&, const string \&, uint32\_\-t, const vector$<$ string $>$ \&command\_\-global\_\-name, const vector$<$ string $>$ \&argv)}
\label{classRouterCLI_a6e3ed93b9422fae93ab29454b6fb0e4d}

\item 
\hypertarget{classRouterCLI_a8e222caeaa7fbc1b4cacccf9b81e6fa3}{
int {\bfseries exit\_\-func} (const string \&, const string \&, uint32\_\-t, const vector$<$ string $>$ \&command\_\-global\_\-name, const vector$<$ string $>$ \&argv)}
\label{classRouterCLI_a8e222caeaa7fbc1b4cacccf9b81e6fa3}

\item 
\hypertarget{classRouterCLI_a56e3a80fdcf60ffd3310b0363c498ae2}{
int {\bfseries edit\_\-func} (const string \&, const string \&, uint32\_\-t, const vector$<$ string $>$ \&command\_\-global\_\-name, const vector$<$ string $>$ \&argv)}
\label{classRouterCLI_a56e3a80fdcf60ffd3310b0363c498ae2}

\item 
\hypertarget{classRouterCLI_aeefbbcc09eed5f1822a2a487366fdf51}{
int {\bfseries extract\_\-leaf\_\-node\_\-operator\_\-and\_\-value} (const \hyperlink{classTemplateTreeNode}{TemplateTreeNode} \&ttn, const vector$<$ string $>$ \&argv, ConfigOperator \&node\_\-operator, string \&value, string \&error\_\-msg)}
\label{classRouterCLI_aeefbbcc09eed5f1822a2a487366fdf51}

\item 
\hypertarget{classRouterCLI_ae7d83d64f8c1ad3233bfb7fe069e28c6}{
map$<$ string, \hyperlink{classCliCommandMatch}{CliCommandMatch} $>$ {\bfseries text\_\-entry\_\-children\_\-func} (const vector$<$ string $>$ \&vector\_\-path) const }
\label{classRouterCLI_ae7d83d64f8c1ad3233bfb7fe069e28c6}

\item 
\hypertarget{classRouterCLI_a9f78b3c1ebbe9c4fcc11b0c81d5c57be}{
int {\bfseries text\_\-entry\_\-func} (const string \&, const string \&, uint32\_\-t, const vector$<$ string $>$ \&command\_\-global\_\-name, const vector$<$ string $>$ \&argv)}
\label{classRouterCLI_a9f78b3c1ebbe9c4fcc11b0c81d5c57be}

\item 
\hypertarget{classRouterCLI_ad5b9ddc208041c8142232023b977df06}{
int {\bfseries delete\_\-func} (const string \&, const string \&, uint32\_\-t, const vector$<$ string $>$ \&command\_\-global\_\-name, const vector$<$ string $>$ \&argv)}
\label{classRouterCLI_ad5b9ddc208041c8142232023b977df06}

\item 
\hypertarget{classRouterCLI_ad403996b9778695d59d5ca3064e79eca}{
int {\bfseries commit\_\-func} (const string \&, const string \&, uint32\_\-t, const vector$<$ string $>$ \&command\_\-global\_\-name, const vector$<$ string $>$ \&argv)}
\label{classRouterCLI_ad403996b9778695d59d5ca3064e79eca}

\item 
\hypertarget{classRouterCLI_a9167ac1cf4158d4ebc1f1e09e7c4d969}{
void {\bfseries commit\_\-done} (bool success, string error\_\-msg)}
\label{classRouterCLI_a9167ac1cf4158d4ebc1f1e09e7c4d969}

\item 
\hypertarget{classRouterCLI_a43b7e7c6c3bb76838dc991bd0c4b9a98}{
int {\bfseries show\_\-func} (const string \&, const string \&, uint32\_\-t, const vector$<$ string $>$ \&command\_\-global\_\-name, const vector$<$ string $>$ \&argv)}
\label{classRouterCLI_a43b7e7c6c3bb76838dc991bd0c4b9a98}

\item 
\hypertarget{classRouterCLI_ad262ad62aebde1f813214a964cd61036}{
int {\bfseries op\_\-mode\_\-func} (const string \&, const string \&, uint32\_\-t, const vector$<$ string $>$ \&command\_\-global\_\-name, const vector$<$ string $>$ \&argv)}
\label{classRouterCLI_ad262ad62aebde1f813214a964cd61036}

\item 
\hypertarget{classRouterCLI_af1a6278c1e221c5de02ef2b0c6d40033}{
int {\bfseries save\_\-func} (const string \&, const string \&, uint32\_\-t, const vector$<$ string $>$ \&command\_\-global\_\-name, const vector$<$ string $>$ \&argv)}
\label{classRouterCLI_af1a6278c1e221c5de02ef2b0c6d40033}

\item 
\hypertarget{classRouterCLI_a6a80881e47fdb35e92b2b89040ab6ef4}{
void {\bfseries save\_\-communicated} (const \hyperlink{classXrlError}{XrlError} \&e)}
\label{classRouterCLI_a6a80881e47fdb35e92b2b89040ab6ef4}

\item 
\hypertarget{classRouterCLI_a58e4f9c0f30986bb95709656d84359ab}{
void {\bfseries save\_\-done} (bool success, string error\_\-msg)}
\label{classRouterCLI_a58e4f9c0f30986bb95709656d84359ab}

\item 
\hypertarget{classRouterCLI_abb3de30da55ad3d81e2b1b6a3c1242dc}{
int {\bfseries load\_\-func} (const string \&, const string \&, uint32\_\-t, const vector$<$ string $>$ \&command\_\-global\_\-name, const vector$<$ string $>$ \&argv)}
\label{classRouterCLI_abb3de30da55ad3d81e2b1b6a3c1242dc}

\item 
\hypertarget{classRouterCLI_aca5687d3de78acae39e36741e4559750}{
void {\bfseries load\_\-communicated} (const \hyperlink{classXrlError}{XrlError} \&e)}
\label{classRouterCLI_aca5687d3de78acae39e36741e4559750}

\item 
\hypertarget{classRouterCLI_a7d8f64d9f5e607e195d8259e05142997}{
void {\bfseries load\_\-done} (bool success, string error\_\-msg)}
\label{classRouterCLI_a7d8f64d9f5e607e195d8259e05142997}

\item 
\hypertarget{classRouterCLI_a3c32219a9ad2f11a0d1afe54c08f22da}{
map$<$ string, \hyperlink{classCliCommandMatch}{CliCommandMatch} $>$ {\bfseries op\_\-mode\_\-help} (const vector$<$ string $>$ \&command\_\-global\_\-name) const }
\label{classRouterCLI_a3c32219a9ad2f11a0d1afe54c08f22da}

\item 
\hypertarget{classRouterCLI_a89063aa0f949aed15fab3b669870f904}{
map$<$ string, \hyperlink{classCliCommandMatch}{CliCommandMatch} $>$ {\bfseries configure\_\-mode\_\-help} (const vector$<$ string $>$ \&command\_\-global\_\-name) const }
\label{classRouterCLI_a89063aa0f949aed15fab3b669870f904}

\item 
void \hyperlink{classRouterCLI_a7188917e1a83d6f81bfe3eff03d6f3f6}{op\_\-mode\_\-cmd\_\-print} (const string \&result)
\begin{DoxyCompactList}\small\item\em Callback: partial output generated by \hyperlink{protocolthe-p}{the} operational command. \item\end{DoxyCompactList}\item 
void \hyperlink{classRouterCLI_a4400dbb7ee2502a3cb99da0a8934d386}{op\_\-mode\_\-cmd\_\-done} (bool success, const string \&error\_\-msg)
\begin{DoxyCompactList}\small\item\em Callback: called when \hyperlink{protocolthe-p}{the} operational command completes. \item\end{DoxyCompactList}\item 
void \hyperlink{classRouterCLI_a3bc9e60268f8a2cd13547dd5cedb184d}{op\_\-mode\_\-cmd\_\-interrupt} (const string \&server\_\-name, const string \&cli\_\-term\_\-name, uint32\_\-t cli\_\-session\_\-id, const vector$<$ string $>$ \&command\_\-global\_\-name, const vector$<$ string $>$ \&command\_\-args)
\begin{DoxyCompactList}\small\item\em Callback: called when a user send an interrupt terminate \hyperlink{protocolthe-p}{the} operational mode command if there is one running. \item\end{DoxyCompactList}\item 
void \hyperlink{classRouterCLI_afcb3bfb1fe590c089d5dbee88a40e37f}{op\_\-mode\_\-cmd\_\-tidy} ()
\begin{DoxyCompactList}\small\item\em Tidy up operational mode command. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classRouterCLI_a0168925e33a49e782ed547a8bd44bab1}{
\hyperlink{classCliClient}{CliClient} $\ast$ {\bfseries cli\_\-client} () const }
\label{classRouterCLI_a0168925e33a49e782ed547a8bd44bab1}

\item 
\hypertarget{classRouterCLI_ad7eb2fdd59ea99230b9fffd950ffa5ea}{
void {\bfseries reset\_\-path} ()}
\label{classRouterCLI_ad7eb2fdd59ea99230b9fffd950ffa5ea}

\item 
\hypertarget{classRouterCLI_ae6d20ce7752ca346a5f6801feaa7f922}{
void {\bfseries set\_\-path} (string path)}
\label{classRouterCLI_ae6d20ce7752ca346a5f6801feaa7f922}

\item 
\hypertarget{classRouterCLI_a387fc1b2029fe72da063bbaab357ebd2}{
void {\bfseries apply\_\-path\_\-change} ()}
\label{classRouterCLI_a387fc1b2029fe72da063bbaab357ebd2}

\item 
\hypertarget{classRouterCLI_a13294f354203df925c5518d975ebc6f4}{
int {\bfseries add\_\-static\_\-configure\_\-mode\_\-commands} (string \&error\_\-msg)}
\label{classRouterCLI_a13294f354203df925c5518d975ebc6f4}

\item 
\hypertarget{classRouterCLI_a68473e5dc56b6eb6a0c95f72638d1d0f}{
void {\bfseries set\_\-prompt} (const string \&line1, const string \&line2)}
\label{classRouterCLI_a68473e5dc56b6eb6a0c95f72638d1d0f}

\item 
\hypertarget{classRouterCLI_af7ef5b11ceee2c2a00467bb33e29c9c7}{
void {\bfseries config\_\-mode\_\-prompt} ()}
\label{classRouterCLI_af7ef5b11ceee2c2a00467bb33e29c9c7}

\item 
\hypertarget{classRouterCLI_a5ced8aab7e9539ca11377eb01b2d9093}{
void {\bfseries idle\_\-ui} ()}
\label{classRouterCLI_a5ced8aab7e9539ca11377eb01b2d9093}

\item 
\hypertarget{classRouterCLI_a77c700c57bcef8d053b736777450cc38}{
void {\bfseries reenable\_\-ui} ()}
\label{classRouterCLI_a77c700c57bcef8d053b736777450cc38}

\item 
\hypertarget{classRouterCLI_adae0f8380d482140eb40fe3586207bf7}{
void {\bfseries silent\_\-reenable\_\-ui} ()}
\label{classRouterCLI_adae0f8380d482140eb40fe3586207bf7}

\item 
\hypertarget{classRouterCLI_a4f7a5a760fa05307e76cdd897c2774b1}{
string {\bfseries pathstr} () const }
\label{classRouterCLI_a4f7a5a760fa05307e76cdd897c2774b1}

\item 
\hypertarget{classRouterCLI_aa7c4880ed734e594fc24902120b88875}{
string {\bfseries pathstr2} () const }
\label{classRouterCLI_aa7c4880ed734e594fc24902120b88875}

\item 
\hypertarget{classRouterCLI_a67033e9c0d84dd97c9d91ccea177bcd5}{
void {\bfseries operational\_\-mode} ()}
\label{classRouterCLI_a67033e9c0d84dd97c9d91ccea177bcd5}

\item 
\hypertarget{classRouterCLI_a0f47b7efd2c9b48ce1785a0665780cea}{
int {\bfseries add\_\-op\_\-mode\_\-commands} (\hyperlink{classCliCommand}{CliCommand} $\ast$root, string \&error\_\-msg)}
\label{classRouterCLI_a0f47b7efd2c9b48ce1785a0665780cea}

\item 
\hypertarget{classRouterCLI_aab3c63ee39d245aa199b2b9dd041a886}{
void {\bfseries configure\_\-mode} ()}
\label{classRouterCLI_aab3c63ee39d245aa199b2b9dd041a886}

\item 
\hypertarget{classRouterCLI_ac6b5cc5a553ff053567f3ddbb858f302}{
void {\bfseries text\_\-entry\_\-mode} ()}
\label{classRouterCLI_ac6b5cc5a553ff053567f3ddbb858f302}

\item 
\hypertarget{classRouterCLI_a29a161d07ed6f79f6d6e587bb650ccd7}{
void {\bfseries add\_\-command\_\-subtree} (\hyperlink{classCliCommand}{CliCommand} \&current\_\-cli\_\-node, const \hyperlink{classCommandTreeNode}{CommandTreeNode} \&current\_\-ctn, const CLI\_\-PROCESS\_\-CALLBACK \&cli\_\-process\_\-callback, vector$<$ string $>$ vector\_\-path, size\_\-t depth, bool can\_\-pipe, bool include\_\-allowed\_\-values)}
\label{classRouterCLI_a29a161d07ed6f79f6d6e587bb650ccd7}

\item 
\hypertarget{classRouterCLI_aaa71cd8ab56fc179ceb67f44a3ce321a}{
void {\bfseries add\_\-text\_\-entry\_\-commands} (\hyperlink{classCliCommand}{CliCommand} $\ast$com0)}
\label{classRouterCLI_aaa71cd8ab56fc179ceb67f44a3ce321a}

\item 
\hypertarget{classRouterCLI_ac9c8cd58c72342261b0c9719d93a4c70}{
void {\bfseries add\_\-edit\_\-subtree} ()}
\label{classRouterCLI_ac9c8cd58c72342261b0c9719d93a4c70}

\item 
\hypertarget{classRouterCLI_a9791ec641efe03abcea47916d5d350dc}{
void {\bfseries add\_\-create\_\-subtree} ()}
\label{classRouterCLI_a9791ec641efe03abcea47916d5d350dc}

\item 
\hypertarget{classRouterCLI_a2ffbb0372e93b3b9906aca797e8d10a5}{
void {\bfseries add\_\-delete\_\-subtree} ()}
\label{classRouterCLI_a2ffbb0372e93b3b9906aca797e8d10a5}

\item 
\hypertarget{classRouterCLI_a86c0be9c7d604273c3afcd87b40dc324}{
void {\bfseries add\_\-set\_\-subtree} ()}
\label{classRouterCLI_a86c0be9c7d604273c3afcd87b40dc324}

\item 
\hypertarget{classRouterCLI_a4a24457ba0ae278c01396ddd80baf651}{
void {\bfseries add\_\-show\_\-subtree} ()}
\label{classRouterCLI_a4a24457ba0ae278c01396ddd80baf651}

\item 
\hypertarget{classRouterCLI_a6ca7affc43b737c389b9d62c810a7413}{
void {\bfseries display\_\-config\_\-mode\_\-users} () const }
\label{classRouterCLI_a6ca7affc43b737c389b9d62c810a7413}

\item 
\hypertarget{classRouterCLI_ac0d11a958f784ce5d33ec66bc288bae4}{
void {\bfseries display\_\-alerts} ()}
\label{classRouterCLI_ac0d11a958f784ce5d33ec66bc288bae4}

\item 
\hypertarget{classRouterCLI_a378f348279f75ab0ed2c56c086bae6ac}{
bool {\bfseries check\_\-for\_\-rtrmgr\_\-restart} ()}
\label{classRouterCLI_a378f348279f75ab0ed2c56c086bae6ac}

\item 
\hypertarget{classRouterCLI_ab2d163158d928dbd9c4e497eb9e59414}{
void {\bfseries verify\_\-rtrmgr\_\-restart} (const \hyperlink{classXrlError}{XrlError} \&e, const uint32\_\-t $\ast$pid)}
\label{classRouterCLI_ab2d163158d928dbd9c4e497eb9e59414}

\item 
\hypertarget{classRouterCLI_a7243693e7da9162e5e5bf1968bc6a37d}{
string {\bfseries get\_\-help\_\-o} (const string \&s) const }
\label{classRouterCLI_a7243693e7da9162e5e5bf1968bc6a37d}

\item 
\hypertarget{classRouterCLI_a7c526a5b5887000d35b77343af5c2281}{
string {\bfseries get\_\-help\_\-c} (const string \&s) const }
\label{classRouterCLI_a7c526a5b5887000d35b77343af5c2281}

\item 
\hypertarget{classRouterCLI_a594406b52f1f4a03c87c6761672d8d64}{
string {\bfseries makepath} (const list$<$ string $>$ \&parts) const }
\label{classRouterCLI_a594406b52f1f4a03c87c6761672d8d64}

\item 
\hypertarget{classRouterCLI_a66f2a5e4f10dfb78fe0586ed5368e6f9}{
string {\bfseries makepath} (const vector$<$ string $>$ \&parts) const }
\label{classRouterCLI_a66f2a5e4f10dfb78fe0586ed5368e6f9}

\item 
\hypertarget{classRouterCLI_a050250ea6e9381227abbac12b83eb29b}{
const \hyperlink{classTemplateTree}{TemplateTree} $\ast$ {\bfseries template\_\-tree} () const }
\label{classRouterCLI_a050250ea6e9381227abbac12b83eb29b}

\item 
\hypertarget{classRouterCLI_a10d8336bb522d6292f7fdc8d72a9cfd7}{
\hyperlink{classSlaveConfigTree}{SlaveConfigTree} $\ast$ {\bfseries config\_\-tree} ()}
\label{classRouterCLI_a10d8336bb522d6292f7fdc8d72a9cfd7}

\item 
\hypertarget{classRouterCLI_ae83d4d656df951dacc363b9fc0b07d80}{
const \hyperlink{classSlaveConfigTree}{SlaveConfigTree} $\ast$ {\bfseries config\_\-tree} () const }
\label{classRouterCLI_ae83d4d656df951dacc363b9fc0b07d80}

\item 
\hypertarget{classRouterCLI_a25992164f946306efbd7c14cfa64a414}{
\hyperlink{classOpCommandList}{OpCommandList} $\ast$ {\bfseries op\_\-cmd\_\-list} () const }
\label{classRouterCLI_a25992164f946306efbd7c14cfa64a414}

\item 
\hypertarget{classRouterCLI_a3577222da3932fd62c61d9f0e487d767}{
uint32\_\-t {\bfseries clientid} () const }
\label{classRouterCLI_a3577222da3932fd62c61d9f0e487d767}

\item 
\hypertarget{classRouterCLI_a16860d65d1bb32546fe1ace363ac1ff9}{
void {\bfseries add\_\-allowed\_\-values\_\-and\_\-ranges} (const \hyperlink{classTemplateTreeNode}{TemplateTreeNode} $\ast$ttn, bool is\_\-executable, bool can\_\-pipe, map$<$ string, \hyperlink{classCliCommandMatch}{CliCommandMatch} $>$ \&children) const }
\label{classRouterCLI_a16860d65d1bb32546fe1ace363ac1ff9}

\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classRouterCLI_aba654f541b9046bfe69a4c4668a6d77a}{
\hyperlink{classXorpShellBase}{XorpShellBase} \& {\bfseries \_\-xorpsh}}
\label{classRouterCLI_aba654f541b9046bfe69a4c4668a6d77a}

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

\item 
\hypertarget{classRouterCLI_a6a5f055306c0365d3b87fbcb25f4451b}{
\hyperlink{classCliClient}{CliClient} $\ast$ {\bfseries \_\-cli\_\-client\_\-ptr}}
\label{classRouterCLI_a6a5f055306c0365d3b87fbcb25f4451b}

\item 
\hypertarget{classRouterCLI_aefa93af7efbedb6924784a723781a158}{
\hyperlink{classCliClient}{CliClient} $\ast$ {\bfseries \_\-removed\_\-cli\_\-client\_\-ptr}}
\label{classRouterCLI_aefa93af7efbedb6924784a723781a158}

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

\item 
\hypertarget{classRouterCLI_a6cea182513351cde3853f354536ce73c}{
string {\bfseries \_\-operational\_\-mode\_\-prompt}}
\label{classRouterCLI_a6cea182513351cde3853f354536ce73c}

\item 
\hypertarget{classRouterCLI_a7395e0442e444020a8e739323c975cd8}{
string {\bfseries \_\-configuration\_\-mode\_\-prompt}}
\label{classRouterCLI_a7395e0442e444020a8e739323c975cd8}

\item 
\hypertarget{classRouterCLI_a7a4beaae615ebacaf1a6c98413d8c2a0}{
CliModeType {\bfseries \_\-mode}}
\label{classRouterCLI_a7a4beaae615ebacaf1a6c98413d8c2a0}

\item 
\hypertarget{classRouterCLI_aa5de1d0be3d45c6a71993084ad2f0b0e}{
\hyperlink{classCliCommand}{CliCommand} $\ast$ {\bfseries \_\-set\_\-node}}
\label{classRouterCLI_aa5de1d0be3d45c6a71993084ad2f0b0e}

\item 
\hypertarget{classRouterCLI_ad1f18f5d27f62a200867836be30a1120}{
\hyperlink{classCliCommand}{CliCommand} $\ast$ {\bfseries \_\-show\_\-node}}
\label{classRouterCLI_ad1f18f5d27f62a200867836be30a1120}

\item 
\hypertarget{classRouterCLI_ad32402f417a1b816fb058bcbc12c37b1}{
\hyperlink{classCliCommand}{CliCommand} $\ast$ {\bfseries \_\-edit\_\-node}}
\label{classRouterCLI_ad32402f417a1b816fb058bcbc12c37b1}

\item 
\hypertarget{classRouterCLI_a1967468c8a6d8e6d9813667ffd0c1555}{
\hyperlink{classCliCommand}{CliCommand} $\ast$ {\bfseries \_\-create\_\-node}}
\label{classRouterCLI_a1967468c8a6d8e6d9813667ffd0c1555}

\item 
\hypertarget{classRouterCLI_abfdc12269f57aba2b2a08a619efe4de2}{
\hyperlink{classCliCommand}{CliCommand} $\ast$ {\bfseries \_\-delete\_\-node}}
\label{classRouterCLI_abfdc12269f57aba2b2a08a619efe4de2}

\item 
\hypertarget{classRouterCLI_a3c75aec509ddbfeb1841d8bec93e3d44}{
\hyperlink{classCliCommand}{CliCommand} $\ast$ {\bfseries \_\-run\_\-node}}
\label{classRouterCLI_a3c75aec509ddbfeb1841d8bec93e3d44}

\item 
\hypertarget{classRouterCLI_aba0e915cf5aa77d1eebfc891cff8ae15}{
list$<$ string $>$ {\bfseries \_\-path}}
\label{classRouterCLI_aba0e915cf5aa77d1eebfc891cff8ae15}

\item 
\hypertarget{classRouterCLI_a22ba2764d2fb4b002eb4ff7425f3c698}{
list$<$ uint32\_\-t $>$ {\bfseries \_\-braces}}
\label{classRouterCLI_a22ba2764d2fb4b002eb4ff7425f3c698}

\item 
\hypertarget{classRouterCLI_a7b2bdfff063dbeaa2f0f9e8a2c692ff1}{
list$<$ uint32\_\-t $>$ {\bfseries \_\-config\_\-mode\_\-users}}
\label{classRouterCLI_a7b2bdfff063dbeaa2f0f9e8a2c692ff1}

\item 
\hypertarget{classRouterCLI_a69cc963506f8359d8e664d09f2799e3d}{
list$<$ string $>$ {\bfseries \_\-alerts}}
\label{classRouterCLI_a69cc963506f8359d8e664d09f2799e3d}

\item 
\hypertarget{classRouterCLI_ab9b1d3e87a88ab7a0af647bfd3cbb490}{
bool {\bfseries \_\-changes\_\-made}}
\label{classRouterCLI_ab9b1d3e87a88ab7a0af647bfd3cbb490}

\item 
\hypertarget{classRouterCLI_a8ba8627cd55bf6c34ef1e0e5c1a7b746}{
map$<$ string, string $>$ {\bfseries \_\-help\_\-o}}
\label{classRouterCLI_a8ba8627cd55bf6c34ef1e0e5c1a7b746}

\item 
\hypertarget{classRouterCLI_a84b7fd16cdb18bcfd403c0cc9e9d5816}{
map$<$ string, string $>$ {\bfseries \_\-help\_\-long\_\-o}}
\label{classRouterCLI_a84b7fd16cdb18bcfd403c0cc9e9d5816}

\item 
\hypertarget{classRouterCLI_ae225b98dedbbda7e7e529e969301d498}{
map$<$ string, string $>$ {\bfseries \_\-help\_\-c}}
\label{classRouterCLI_ae225b98dedbbda7e7e529e969301d498}

\item 
\hypertarget{classRouterCLI_a2fd630cfe32a14bf0c018a82d3e2f7ad}{
map$<$ string, string $>$ {\bfseries \_\-help\_\-long\_\-c}}
\label{classRouterCLI_a2fd630cfe32a14bf0c018a82d3e2f7ad}

\item 
\hypertarget{classRouterCLI_ad66d3f478e7f3c0d0a1438c9297d6aa4}{
\hyperlink{classOpInstance}{OpInstance} $\ast$ {\bfseries \_\-op\_\-mode\_\-cmd}}
\label{classRouterCLI_ad66d3f478e7f3c0d0a1438c9297d6aa4}

\end{DoxyCompactItemize}
\subsection*{Static Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classRouterCLI_a42230fc628ce620f99974e10bbefa4c9}{
static const string {\bfseries DEFAULT\_\-XORP\_\-PROMPT\_\-OPERATIONAL} = \char`\"{}Xorp$>$ \char`\"{}}
\label{classRouterCLI_a42230fc628ce620f99974e10bbefa4c9}

\item 
\hypertarget{classRouterCLI_aaeff9e1b16f82f71912f16f3f66ca6cb}{
static const string {\bfseries DEFAULT\_\-XORP\_\-PROMPT\_\-CONFIGURATION} = \char`\"{}XORP\# \char`\"{}}
\label{classRouterCLI_aaeff9e1b16f82f71912f16f3f66ca6cb}

\end{DoxyCompactItemize}


\subsection{Member Function Documentation}
\hypertarget{classRouterCLI_a4400dbb7ee2502a3cb99da0a8934d386}{
\index{RouterCLI@{RouterCLI}!op\_\-mode\_\-cmd\_\-done@{op\_\-mode\_\-cmd\_\-done}}
\index{op\_\-mode\_\-cmd\_\-done@{op\_\-mode\_\-cmd\_\-done}!RouterCLI@{RouterCLI}}
\subsubsection[{op\_\-mode\_\-cmd\_\-done}]{\setlength{\rightskip}{0pt plus 5cm}void RouterCLI::op\_\-mode\_\-cmd\_\-done (
\begin{DoxyParamCaption}
\item[{bool}]{success, }
\item[{const string \&}]{error\_\-msg}
\end{DoxyParamCaption}
)}}
\label{classRouterCLI_a4400dbb7ee2502a3cb99da0a8934d386}


Callback: called when \hyperlink{protocolthe-p}{the} operational command completes. 


\begin{DoxyParams}{Parameters}
{\em success} & true if \hyperlink{protocolthe-p}{the} command suceeded \\
\hline
{\em error\_\-msg} & if \hyperlink{protocolthe-p}{the} command failed \hyperlink{protocolthe-p}{the} error message \\
\hline
\end{DoxyParams}
\hypertarget{classRouterCLI_a3bc9e60268f8a2cd13547dd5cedb184d}{
\index{RouterCLI@{RouterCLI}!op\_\-mode\_\-cmd\_\-interrupt@{op\_\-mode\_\-cmd\_\-interrupt}}
\index{op\_\-mode\_\-cmd\_\-interrupt@{op\_\-mode\_\-cmd\_\-interrupt}!RouterCLI@{RouterCLI}}
\subsubsection[{op\_\-mode\_\-cmd\_\-interrupt}]{\setlength{\rightskip}{0pt plus 5cm}void RouterCLI::op\_\-mode\_\-cmd\_\-interrupt (
\begin{DoxyParamCaption}
\item[{const string \&}]{server\_\-name, }
\item[{const string \&}]{cli\_\-term\_\-name, }
\item[{uint32\_\-t}]{cli\_\-session\_\-id, }
\item[{const vector$<$ string $>$ \&}]{command\_\-global\_\-name, }
\item[{const vector$<$ string $>$ \&}]{command\_\-args}
\end{DoxyParamCaption}
)}}
\label{classRouterCLI_a3bc9e60268f8a2cd13547dd5cedb184d}


Callback: called when a user send an interrupt terminate \hyperlink{protocolthe-p}{the} operational mode command if there is one running. 


\begin{DoxyParams}{Parameters}
{\em server\_\-name} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} server that returned \hyperlink{protocolthe-p}{the} result. \\
\hline
{\em cli\_\-term\_\-name} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} terminal that originated \hyperlink{protocolthe-p}{the} command. \\
\hline
{\em cli\_\-session\_\-id} & \hyperlink{protocolthe-p}{the} session ID of \hyperlink{protocolthe-p}{the} terminal that originated \hyperlink{protocolthe-p}{the} command. \\
\hline
{\em command\_\-global\_\-name} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} command that is interrupted. \\
\hline
{\em command\_\-args} & \hyperlink{protocolthe-p}{the} arguments to \hyperlink{protocolthe-p}{the} command that is interrupted. \\
\hline
\end{DoxyParams}
\hypertarget{classRouterCLI_a7188917e1a83d6f81bfe3eff03d6f3f6}{
\index{RouterCLI@{RouterCLI}!op\_\-mode\_\-cmd\_\-print@{op\_\-mode\_\-cmd\_\-print}}
\index{op\_\-mode\_\-cmd\_\-print@{op\_\-mode\_\-cmd\_\-print}!RouterCLI@{RouterCLI}}
\subsubsection[{op\_\-mode\_\-cmd\_\-print}]{\setlength{\rightskip}{0pt plus 5cm}void RouterCLI::op\_\-mode\_\-cmd\_\-print (
\begin{DoxyParamCaption}
\item[{const string \&}]{result}
\end{DoxyParamCaption}
)}}
\label{classRouterCLI_a7188917e1a83d6f81bfe3eff03d6f3f6}


Callback: partial output generated by \hyperlink{protocolthe-p}{the} operational command. 


\begin{DoxyParams}{Parameters}
{\em result} & partial output \\
\hline
\end{DoxyParams}
\hypertarget{classRouterCLI_afcb3bfb1fe590c089d5dbee88a40e37f}{
\index{RouterCLI@{RouterCLI}!op\_\-mode\_\-cmd\_\-tidy@{op\_\-mode\_\-cmd\_\-tidy}}
\index{op\_\-mode\_\-cmd\_\-tidy@{op\_\-mode\_\-cmd\_\-tidy}!RouterCLI@{RouterCLI}}
\subsubsection[{op\_\-mode\_\-cmd\_\-tidy}]{\setlength{\rightskip}{0pt plus 5cm}void RouterCLI::op\_\-mode\_\-cmd\_\-tidy (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{classRouterCLI_afcb3bfb1fe590c089d5dbee88a40e37f}


Tidy up operational mode command. 

Can safely be called multiple times. 

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