\hypertarget{classXorpShellBase}{
\section{XorpShellBase Class Reference}
\label{classXorpShellBase}\index{XorpShellBase@{XorpShellBase}}
}


\hyperlink{classXorpShellBase}{XorpShellBase} base class.  




{\ttfamily \#include $<$xorpsh\_\-base.hh$>$}

\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
enum {\bfseries Mode} \{ \par
{\bfseries MODE\_\-AUTHENTICATING}, 
{\bfseries MODE\_\-INITIALIZING}, 
{\bfseries MODE\_\-IDLE}, 
{\bfseries MODE\_\-COMMITTING}, 
\par
{\bfseries MODE\_\-LOADING}, 
{\bfseries MODE\_\-SAVING}, 
{\bfseries MODE\_\-SHUTDOWN}
 \}
\item 
\hypertarget{classXorpShellBase_a8e40a2ec1082201a424b851f77e656b5}{
typedef XorpCallback1$<$ void, const \hyperlink{classXrlError}{XrlError} \& $>$::RefPtr {\bfseries GENERIC\_\-CALLBACK}}
\label{classXorpShellBase_a8e40a2ec1082201a424b851f77e656b5}

\item 
\hypertarget{classXorpShellBase_a6f4994cf51fc41d65cffff24c1aadbce}{
typedef XorpCallback2$<$ void, bool, string $>$::RefPtr {\bfseries CallBack}}
\label{classXorpShellBase_a6f4994cf51fc41d65cffff24c1aadbce}

\item 
\hypertarget{classXorpShellBase_a281c2640be3f70b061227a406262842b}{
typedef XorpCallback2$<$ void, const \hyperlink{classXrlError}{XrlError} \&, const \hyperlink{classXrlAtomList}{XrlAtomList} $\ast$ $>$::RefPtr {\bfseries GET\_\-USERS\_\-CALLBACK}}
\label{classXorpShellBase_a281c2640be3f70b061227a406262842b}

\item 
\hypertarget{classXorpShellBase_a6c89f59832215280492b7b3642d41465}{
typedef XorpCallback2$<$ void, const \hyperlink{classXrlError}{XrlError} \&, const uint32\_\-t $\ast$ $>$::RefPtr {\bfseries PID\_\-CALLBACK}}
\label{classXorpShellBase_a6c89f59832215280492b7b3642d41465}

\item 
\hypertarget{classXorpShellBase_ac5ea60fd098618c50b9d024f06d58685}{
typedef XorpCallback3$<$ void, const \hyperlink{classXrlError}{XrlError} \&, const bool $\ast$, const uint32\_\-t $\ast$ $>$::RefPtr {\bfseries LOCK\_\-CALLBACK}}
\label{classXorpShellBase_ac5ea60fd098618c50b9d024f06d58685}

\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classXorpShellBase_ac63d9f83e579fb6ddf1dcd00d4891566}{
virtual \hyperlink{classEventLoop}{EventLoop} \& {\bfseries eventloop} ()=0}
\label{classXorpShellBase_ac63d9f83e579fb6ddf1dcd00d4891566}

\item 
\hypertarget{classXorpShellBase_a753183e59589e457fffeeb21d46d7b7c}{
virtual \hyperlink{classOpCommandList}{OpCommandList} $\ast$ {\bfseries op\_\-cmd\_\-list} ()=0}
\label{classXorpShellBase_a753183e59589e457fffeeb21d46d7b7c}

\item 
\hypertarget{classXorpShellBase_acc88fa3e4072df59ed95321609a4d35d}{
virtual \hyperlink{classSlaveConfigTree}{SlaveConfigTree} $\ast$ {\bfseries config\_\-tree} ()=0}
\label{classXorpShellBase_acc88fa3e4072df59ed95321609a4d35d}

\item 
\hypertarget{classXorpShellBase_af4d40a579a556ddfcb585330a38e9282}{
virtual \hyperlink{classTemplateTree}{TemplateTree} $\ast$ {\bfseries template\_\-tree} ()=0}
\label{classXorpShellBase_af4d40a579a556ddfcb585330a38e9282}

\item 
\hypertarget{classXorpShellBase_a6e9b3a7172e78acac6389992913df502}{
virtual uint32\_\-t {\bfseries clientid} () const =0}
\label{classXorpShellBase_a6e9b3a7172e78acac6389992913df502}

\item 
\hypertarget{classXorpShellBase_aa945dc6dc13fa544f5161c596de566f2}{
virtual uint32\_\-t {\bfseries rtrmgr\_\-pid} () const =0}
\label{classXorpShellBase_aa945dc6dc13fa544f5161c596de566f2}

\item 
\hypertarget{classXorpShellBase_afdd16587305f1f058089e52b05aa8197}{
virtual bool {\bfseries commit\_\-changes} (const string \&deltas, const string \&deletions, GENERIC\_\-CALLBACK cb, CallBack final\_\-cb)=0}
\label{classXorpShellBase_afdd16587305f1f058089e52b05aa8197}

\item 
\hypertarget{classXorpShellBase_aa7d65cd756ab523f08f5088ec8b6a114}{
virtual bool {\bfseries enter\_\-config\_\-mode} (bool exclusive, GENERIC\_\-CALLBACK cb)=0}
\label{classXorpShellBase_aa7d65cd756ab523f08f5088ec8b6a114}

\item 
\hypertarget{classXorpShellBase_a86813e8a84499be3e09aa29e80220c56}{
virtual bool {\bfseries get\_\-config\_\-users} (GET\_\-USERS\_\-CALLBACK cb)=0}
\label{classXorpShellBase_a86813e8a84499be3e09aa29e80220c56}

\item 
\hypertarget{classXorpShellBase_af458aa2c9f2d62944aa6b0da1ca4eb11}{
virtual bool {\bfseries get\_\-rtrmgr\_\-pid} (PID\_\-CALLBACK cb)=0}
\label{classXorpShellBase_af458aa2c9f2d62944aa6b0da1ca4eb11}

\item 
\hypertarget{classXorpShellBase_a17aca23698cfaa96ca21998b05504a39}{
virtual bool {\bfseries leave\_\-config\_\-mode} (GENERIC\_\-CALLBACK cb)=0}
\label{classXorpShellBase_a17aca23698cfaa96ca21998b05504a39}

\item 
\hypertarget{classXorpShellBase_a926076ab3e34b122efb40db69928a00a}{
virtual bool {\bfseries load\_\-from\_\-file} (const string \&filename, GENERIC\_\-CALLBACK cb, CallBack final\_\-cb)=0}
\label{classXorpShellBase_a926076ab3e34b122efb40db69928a00a}

\item 
\hypertarget{classXorpShellBase_a6f677589a6235e26da6827aaff16a03f}{
virtual bool {\bfseries lock\_\-config} (LOCK\_\-CALLBACK cb)=0}
\label{classXorpShellBase_a6f677589a6235e26da6827aaff16a03f}

\item 
\hypertarget{classXorpShellBase_aacc699e41ff2d8459209d2ca08a2906b}{
virtual bool {\bfseries save\_\-to\_\-file} (const string \&filename, GENERIC\_\-CALLBACK cb, CallBack final\_\-cb)=0}
\label{classXorpShellBase_aacc699e41ff2d8459209d2ca08a2906b}

\item 
\hypertarget{classXorpShellBase_a96bf0ade3a479ea9e111157b1a1a34ba}{
virtual void {\bfseries set\_\-mode} (Mode mode)=0}
\label{classXorpShellBase_a96bf0ade3a479ea9e111157b1a1a34ba}

\item 
\hypertarget{classXorpShellBase_aa54191a5e078bd82a4c715e41b3eb9b2}{
virtual bool {\bfseries unlock\_\-config} (GENERIC\_\-CALLBACK cb)=0}
\label{classXorpShellBase_aa54191a5e078bd82a4c715e41b3eb9b2}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
\hyperlink{classXorpShellBase}{XorpShellBase} base class. The \hyperlink{classXorpShellBase}{XorpShellBase} class contains pure virtual methods and is used to define \hyperlink{protocolthe-p}{the} interface a router manager client like xorpsh should implement. It is used as a base class by other classes (e.g., XorpShell) which contain \hyperlink{protocolthe-p}{the} real implementation. 

The documentation for this class was generated from the following file:\begin{DoxyCompactItemize}
\item 
/home/greearb/git/xorp.ct.github/xorp/rtrmgr/xorpsh\_\-base.hh\end{DoxyCompactItemize}
