\hypertarget{classProtoState}{
\section{ProtoState Class Reference}
\label{classProtoState}\index{ProtoState@{ProtoState}}
}


Base class for keeping state for each protocol unit (node, vif, etc).  




{\ttfamily \#include $<$proto\_\-state.hh$>$}

Inheritance diagram for ProtoState:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=12.000000cm]{classProtoState}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classProtoState_ab74bbecdd034185de6f1efdfa5b28fcd}{ProtoState} ()
\begin{DoxyCompactList}\small\item\em Default Constructor. \item\end{DoxyCompactList}\item 
\hypertarget{classProtoState_a7b19d8679ed5b58d7bb0261cc3ab9b0e}{
virtual \hyperlink{classProtoState_a7b19d8679ed5b58d7bb0261cc3ab9b0e}{$\sim$ProtoState} ()}
\label{classProtoState_a7b19d8679ed5b58d7bb0261cc3ab9b0e}

\begin{DoxyCompactList}\small\item\em Destructor. \item\end{DoxyCompactList}\item 
int \hyperlink{classProtoState_a5a0cf7fc68b9db681ce8b8fca9635e07}{start} ()
\begin{DoxyCompactList}\small\item\em Start \hyperlink{protocolthe-p}{the} unit. \item\end{DoxyCompactList}\item 
int \hyperlink{classProtoState_a00a8d35d02b0ce61a6b012326e81878c}{stop} ()
\begin{DoxyCompactList}\small\item\em Stop \hyperlink{protocolthe-p}{the} unit. \item\end{DoxyCompactList}\item 
int \hyperlink{classProtoState_a228a13049fca6e29d90a1ae5946ef40f}{pending\_\-start} ()
\begin{DoxyCompactList}\small\item\em Pending-\/start \hyperlink{protocolthe-p}{the} unit. \item\end{DoxyCompactList}\item 
int \hyperlink{classProtoState_ae87c63b9b379480c67ae7122ede243cc}{pending\_\-stop} ()
\begin{DoxyCompactList}\small\item\em Pending-\/stop \hyperlink{protocolthe-p}{the} unit. \item\end{DoxyCompactList}\item 
void \hyperlink{classProtoState_a9e91d1d442f873cf6bf914db996519e7}{enable} ()
\begin{DoxyCompactList}\small\item\em Enable \hyperlink{protocolthe-p}{the} unit. \item\end{DoxyCompactList}\item 
void \hyperlink{classProtoState_a42bbb9a9fa9588ec66f62d99644f3c48}{disable} ()
\begin{DoxyCompactList}\small\item\em Disable \hyperlink{protocolthe-p}{the} unit. \item\end{DoxyCompactList}\item 
bool \hyperlink{classProtoState_a5a66663cd0fceb61956b220d9284a627}{is\_\-up} () const 
\begin{DoxyCompactList}\small\item\em Test if \hyperlink{protocolthe-p}{the} unit state is UP. \item\end{DoxyCompactList}\item 
bool \hyperlink{classProtoState_a10dea88465e7782f7879b19e0a10b623}{is\_\-down} () const 
\begin{DoxyCompactList}\small\item\em Test if \hyperlink{protocolthe-p}{the} unit state is DOWN. \item\end{DoxyCompactList}\item 
bool \hyperlink{classProtoState_acb2d6a692606e3f9e9f58ef1bf871366}{is\_\-pending\_\-up} () const 
\begin{DoxyCompactList}\small\item\em Test if \hyperlink{protocolthe-p}{the} unit state is PENDING-\/UP. \item\end{DoxyCompactList}\item 
bool \hyperlink{classProtoState_aea4519c77fa80ab952e53cc55a2c9f9b}{is\_\-pending\_\-down} () const 
\begin{DoxyCompactList}\small\item\em Test if \hyperlink{protocolthe-p}{the} unit state is PENDING-\/DOWN. \item\end{DoxyCompactList}\item 
bool \hyperlink{classProtoState_ae2c42823a7632557e611f72a6344698f}{is\_\-enabled} () const 
\begin{DoxyCompactList}\small\item\em Test if \hyperlink{protocolthe-p}{the} unit is enabled. \item\end{DoxyCompactList}\item 
bool \hyperlink{classProtoState_a35c81097e8cfde8e2f66ecbcc2478f37}{is\_\-disabled} () const 
\begin{DoxyCompactList}\small\item\em Test if \hyperlink{protocolthe-p}{the} unit is disabled. \item\end{DoxyCompactList}\item 
bool \hyperlink{classProtoState_a56c074fef7b9fd417a1a8e63dff7b561}{is\_\-debug} () const 
\begin{DoxyCompactList}\small\item\em Test if debug mode is enabled. \item\end{DoxyCompactList}\item 
void \hyperlink{classProtoState_a7e51aed186d86cafa1b231a63fd1eb64}{set\_\-debug} (bool v)
\begin{DoxyCompactList}\small\item\em Set/reset debug mode. \item\end{DoxyCompactList}\item 
string \hyperlink{classProtoState_ae59c82e82c582102b64aac23a47177d5}{state\_\-str} () const 
\begin{DoxyCompactList}\small\item\em Get a string with \hyperlink{protocolthe-p}{the} state of \hyperlink{protocolthe-p}{the} unit. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Types}
\begin{DoxyCompactItemize}
\item 
enum \{ {\bfseries XORP\_\-ENABLED} =  1 $<$$<$ 0
 \}
\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
int \hyperlink{classProtoState_acd5b3d7a1b37e45893012210943926df}{startup} ()
\begin{DoxyCompactList}\small\item\em \hyperlink{classStartup}{Startup} operation. \item\end{DoxyCompactList}\item 
int \hyperlink{classProtoState_a125aaf4996706748d991679b61508bc7}{shutdown} ()
\begin{DoxyCompactList}\small\item\em \hyperlink{classShutdown}{Shutdown} operation. \item\end{DoxyCompactList}\item 
int \hyperlink{classProtoState_a4acd466e6528999024f02e00547e5f62}{reset} ()
\begin{DoxyCompactList}\small\item\em Reset service to SERVICE\_\-READY from whichever state it is in. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classProtoState_a9abda5452222f7538b487f6eb9b680de}{
uint32\_\-t {\bfseries \_\-flags}}
\label{classProtoState_a9abda5452222f7538b487f6eb9b680de}

\item 
\hypertarget{classProtoState_a52feae92f3e78cb5fda60442cd780d85}{
bool {\bfseries \_\-debug\_\-flag}}
\label{classProtoState_a52feae92f3e78cb5fda60442cd780d85}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
Base class for keeping state for each protocol unit (node, vif, etc). 

\subsection{Constructor \& Destructor Documentation}
\hypertarget{classProtoState_ab74bbecdd034185de6f1efdfa5b28fcd}{
\index{ProtoState@{ProtoState}!ProtoState@{ProtoState}}
\index{ProtoState@{ProtoState}!ProtoState@{ProtoState}}
\subsubsection[{ProtoState}]{\setlength{\rightskip}{0pt plus 5cm}ProtoState::ProtoState (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{classProtoState_ab74bbecdd034185de6f1efdfa5b28fcd}


Default Constructor. 

\hyperlink{classProtoState_ab74bbecdd034185de6f1efdfa5b28fcd}{ProtoState::ProtoState}:

Proto state default constructor. 

\subsection{Member Function Documentation}
\hypertarget{classProtoState_a42bbb9a9fa9588ec66f62d99644f3c48}{
\index{ProtoState@{ProtoState}!disable@{disable}}
\index{disable@{disable}!ProtoState@{ProtoState}}
\subsubsection[{disable}]{\setlength{\rightskip}{0pt plus 5cm}void ProtoState::disable (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{classProtoState_a42bbb9a9fa9588ec66f62d99644f3c48}


Disable \hyperlink{protocolthe-p}{the} unit. 

If an unit is disabled, it cannot be start or pending-\/start. If \hyperlink{protocolthe-p}{the} unit was runnning, it will be stop first. 

Reimplemented in \hyperlink{classCliNode_af5805d18583ba6ea5422144b009081ba}{CliNode}, \hyperlink{classMld6igmpNode_a6ab47ca767c36f0c3bd08fab00936b9d}{Mld6igmpNode}, \hyperlink{classMld6igmpNodeCli_a2209e0d73eea15ad708e7a0793934e07}{Mld6igmpNodeCli}, \hyperlink{classMld6igmpVif_aad17c53888261f3826ecd5c91813c52d}{Mld6igmpVif}, \hyperlink{classMfeaNode_a311b3079f92c06de23bed83244719e86}{MfeaNode}, \hyperlink{classMfeaNodeCli_a848165668815ff0e3998cccc4596399d}{MfeaNodeCli}, \hyperlink{classMfeaVif_aa135c26793c198f4a631f82ab2d36d44}{MfeaVif}, \hyperlink{classMld6igmpNode_a6ab47ca767c36f0c3bd08fab00936b9d}{Mld6igmpNode}, \hyperlink{classMld6igmpNodeCli_a2209e0d73eea15ad708e7a0793934e07}{Mld6igmpNodeCli}, \hyperlink{classMld6igmpVif_aad17c53888261f3826ecd5c91813c52d}{Mld6igmpVif}, \hyperlink{classPimBsr_aa9492e702f15c74a5f85da8fe5667db6}{PimBsr}, \hyperlink{classPimNode_ac5642f25b0777a619dbe596f0f71d8e0}{PimNode}, \hyperlink{classPimNodeCli_a301f85f87a498c62ad8c7e17d5d8ba56}{PimNodeCli}, and \hyperlink{classPimVif_a2d6694db8bbc75c0ab75f4a19d362b2c}{PimVif}.

\hypertarget{classProtoState_a9e91d1d442f873cf6bf914db996519e7}{
\index{ProtoState@{ProtoState}!enable@{enable}}
\index{enable@{enable}!ProtoState@{ProtoState}}
\subsubsection[{enable}]{\setlength{\rightskip}{0pt plus 5cm}void ProtoState::enable (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classProtoState_a9e91d1d442f873cf6bf914db996519e7}


Enable \hyperlink{protocolthe-p}{the} unit. 

If an unit is not enabled, it cannot be start, or pending-\/start. 

Reimplemented in \hyperlink{classCliNode_a8f260c6eaf7369bc30281600a24aa1aa}{CliNode}, \hyperlink{classMld6igmpNode_a68eb8cd0dcb2646133b65bf427a7c1b7}{Mld6igmpNode}, \hyperlink{classMld6igmpNodeCli_a9344c77ac5b94c3103b47cffb37d94f9}{Mld6igmpNodeCli}, \hyperlink{classMld6igmpVif_af6777b51869f9e885e7d0ca1dba940ff}{Mld6igmpVif}, \hyperlink{classMfeaNode_ac49b49c395c11f0cd0a7039635ea6394}{MfeaNode}, \hyperlink{classMfeaNodeCli_ad9f02683370c5290202448a54000482a}{MfeaNodeCli}, \hyperlink{classMfeaVif_a2a9c37fc37f1447576036285cbd23081}{MfeaVif}, \hyperlink{classMld6igmpNode_a68eb8cd0dcb2646133b65bf427a7c1b7}{Mld6igmpNode}, \hyperlink{classMld6igmpNodeCli_a9344c77ac5b94c3103b47cffb37d94f9}{Mld6igmpNodeCli}, \hyperlink{classMld6igmpVif_af6777b51869f9e885e7d0ca1dba940ff}{Mld6igmpVif}, \hyperlink{classPimBsr_a6ab27c86c7dc6c7adfad8e61e9371ecb}{PimBsr}, \hyperlink{classPimNode_a1d8d864c70280d793d597ae14fd07136}{PimNode}, \hyperlink{classPimNodeCli_a459dde1c4cf1069e9457a353b5ba54e6}{PimNodeCli}, and \hyperlink{classPimVif_af49b5f9853a4fb6171f8dbb7f27d809a}{PimVif}.

\hypertarget{classProtoState_a56c074fef7b9fd417a1a8e63dff7b561}{
\index{ProtoState@{ProtoState}!is\_\-debug@{is\_\-debug}}
\index{is\_\-debug@{is\_\-debug}!ProtoState@{ProtoState}}
\subsubsection[{is\_\-debug}]{\setlength{\rightskip}{0pt plus 5cm}bool ProtoState::is\_\-debug (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classProtoState_a56c074fef7b9fd417a1a8e63dff7b561}


Test if debug mode is enabled. 

\begin{DoxyReturn}{Returns}
true if debug mode is enabled. 
\end{DoxyReturn}
\hypertarget{classProtoState_a35c81097e8cfde8e2f66ecbcc2478f37}{
\index{ProtoState@{ProtoState}!is\_\-disabled@{is\_\-disabled}}
\index{is\_\-disabled@{is\_\-disabled}!ProtoState@{ProtoState}}
\subsubsection[{is\_\-disabled}]{\setlength{\rightskip}{0pt plus 5cm}bool ProtoState::is\_\-disabled (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classProtoState_a35c81097e8cfde8e2f66ecbcc2478f37}


Test if \hyperlink{protocolthe-p}{the} unit is disabled. 

\begin{DoxyReturn}{Returns}
true if \hyperlink{protocolthe-p}{the} unit is disabled. 
\end{DoxyReturn}
\hypertarget{classProtoState_a10dea88465e7782f7879b19e0a10b623}{
\index{ProtoState@{ProtoState}!is\_\-down@{is\_\-down}}
\index{is\_\-down@{is\_\-down}!ProtoState@{ProtoState}}
\subsubsection[{is\_\-down}]{\setlength{\rightskip}{0pt plus 5cm}bool ProtoState::is\_\-down (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}
\label{classProtoState_a10dea88465e7782f7879b19e0a10b623}


Test if \hyperlink{protocolthe-p}{the} unit state is DOWN. 

\begin{DoxyReturn}{Returns}
true if \hyperlink{protocolthe-p}{the} unit state is DOWN. 
\end{DoxyReturn}
\hypertarget{classProtoState_ae2c42823a7632557e611f72a6344698f}{
\index{ProtoState@{ProtoState}!is\_\-enabled@{is\_\-enabled}}
\index{is\_\-enabled@{is\_\-enabled}!ProtoState@{ProtoState}}
\subsubsection[{is\_\-enabled}]{\setlength{\rightskip}{0pt plus 5cm}bool ProtoState::is\_\-enabled (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classProtoState_ae2c42823a7632557e611f72a6344698f}


Test if \hyperlink{protocolthe-p}{the} unit is enabled. 

\begin{DoxyReturn}{Returns}
true if \hyperlink{protocolthe-p}{the} unit is enabled. 
\end{DoxyReturn}
\hypertarget{classProtoState_aea4519c77fa80ab952e53cc55a2c9f9b}{
\index{ProtoState@{ProtoState}!is\_\-pending\_\-down@{is\_\-pending\_\-down}}
\index{is\_\-pending\_\-down@{is\_\-pending\_\-down}!ProtoState@{ProtoState}}
\subsubsection[{is\_\-pending\_\-down}]{\setlength{\rightskip}{0pt plus 5cm}bool ProtoState::is\_\-pending\_\-down (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}
\label{classProtoState_aea4519c77fa80ab952e53cc55a2c9f9b}


Test if \hyperlink{protocolthe-p}{the} unit state is PENDING-\/DOWN. 

\begin{DoxyReturn}{Returns}
true if \hyperlink{protocolthe-p}{the} unit state is PENDING-\/DOWN. 
\end{DoxyReturn}
\hypertarget{classProtoState_acb2d6a692606e3f9e9f58ef1bf871366}{
\index{ProtoState@{ProtoState}!is\_\-pending\_\-up@{is\_\-pending\_\-up}}
\index{is\_\-pending\_\-up@{is\_\-pending\_\-up}!ProtoState@{ProtoState}}
\subsubsection[{is\_\-pending\_\-up}]{\setlength{\rightskip}{0pt plus 5cm}bool ProtoState::is\_\-pending\_\-up (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}
\label{classProtoState_acb2d6a692606e3f9e9f58ef1bf871366}


Test if \hyperlink{protocolthe-p}{the} unit state is PENDING-\/UP. 

\begin{DoxyReturn}{Returns}
true if \hyperlink{protocolthe-p}{the} unit state is PENDING-\/UP. 
\end{DoxyReturn}
\hypertarget{classProtoState_a5a66663cd0fceb61956b220d9284a627}{
\index{ProtoState@{ProtoState}!is\_\-up@{is\_\-up}}
\index{is\_\-up@{is\_\-up}!ProtoState@{ProtoState}}
\subsubsection[{is\_\-up}]{\setlength{\rightskip}{0pt plus 5cm}bool ProtoState::is\_\-up (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}
\label{classProtoState_a5a66663cd0fceb61956b220d9284a627}


Test if \hyperlink{protocolthe-p}{the} unit state is UP. 

\begin{DoxyReturn}{Returns}
true if \hyperlink{protocolthe-p}{the} unit state is UP. 
\end{DoxyReturn}
\hypertarget{classProtoState_a228a13049fca6e29d90a1ae5946ef40f}{
\index{ProtoState@{ProtoState}!pending\_\-start@{pending\_\-start}}
\index{pending\_\-start@{pending\_\-start}!ProtoState@{ProtoState}}
\subsubsection[{pending\_\-start}]{\setlength{\rightskip}{0pt plus 5cm}int ProtoState::pending\_\-start (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{classProtoState_a228a13049fca6e29d90a1ae5946ef40f}


Pending-\/start \hyperlink{protocolthe-p}{the} unit. 

The pending-\/start state is an intermediate state between down and up. In this state only some operations are allowed (\hyperlink{protocolthe-p}{the} allowed operations are unit-\/specific). This operation will fail if \hyperlink{protocolthe-p}{the} unit is disabled, is up, or is pending-\/up already.

\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}
\hypertarget{classProtoState_ae87c63b9b379480c67ae7122ede243cc}{
\index{ProtoState@{ProtoState}!pending\_\-stop@{pending\_\-stop}}
\index{pending\_\-stop@{pending\_\-stop}!ProtoState@{ProtoState}}
\subsubsection[{pending\_\-stop}]{\setlength{\rightskip}{0pt plus 5cm}int ProtoState::pending\_\-stop (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{classProtoState_ae87c63b9b379480c67ae7122ede243cc}


Pending-\/stop \hyperlink{protocolthe-p}{the} unit. 

The pending-\/stop state is an intermediate state between up and down. In this state only some operations are allowed (\hyperlink{protocolthe-p}{the} allowed operations are unit-\/specific). This operation will fail if \hyperlink{protocolthe-p}{the} unit is not up.

\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}
\hypertarget{classProtoState_a4acd466e6528999024f02e00547e5f62}{
\index{ProtoState@{ProtoState}!reset@{reset}}
\index{reset@{reset}!ProtoState@{ProtoState}}
\subsubsection[{reset}]{\setlength{\rightskip}{0pt plus 5cm}int ProtoState::reset (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private, virtual\mbox{]}}}}
\label{classProtoState_a4acd466e6528999024f02e00547e5f62}


Reset service to SERVICE\_\-READY from whichever state it is in. 

\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}


Reimplemented from \hyperlink{classServiceBase_a80c60918af5e7d14ff077916c047ff38}{ServiceBase}.

\hypertarget{classProtoState_a7e51aed186d86cafa1b231a63fd1eb64}{
\index{ProtoState@{ProtoState}!set\_\-debug@{set\_\-debug}}
\index{set\_\-debug@{set\_\-debug}!ProtoState@{ProtoState}}
\subsubsection[{set\_\-debug}]{\setlength{\rightskip}{0pt plus 5cm}void ProtoState::set\_\-debug (
\begin{DoxyParamCaption}
\item[{bool}]{v}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classProtoState_a7e51aed186d86cafa1b231a63fd1eb64}


Set/reset debug mode. 


\begin{DoxyParams}{Parameters}
{\em v} & if true, set debug mode, otherwise reset it. \\
\hline
\end{DoxyParams}
\hypertarget{classProtoState_a125aaf4996706748d991679b61508bc7}{
\index{ProtoState@{ProtoState}!shutdown@{shutdown}}
\index{shutdown@{shutdown}!ProtoState@{ProtoState}}
\subsubsection[{shutdown}]{\setlength{\rightskip}{0pt plus 5cm}int ProtoState::shutdown (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private, virtual\mbox{]}}}}
\label{classProtoState_a125aaf4996706748d991679b61508bc7}


\hyperlink{classShutdown}{Shutdown} operation. 

\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}


Implements \hyperlink{classServiceBase_a6ad34506fd5a446d5667abcb2e1b593b}{ServiceBase}.



Reimplemented in \hyperlink{classXrlMld6igmpNode_af69a7c7cb84ff9d379fd5721679d8ae5}{XrlMld6igmpNode}, \hyperlink{classXrlMfeaNode_afc037034880b4793b289ba8338894e7f}{XrlMfeaNode}, \hyperlink{classXrlMld6igmpNode_af69a7c7cb84ff9d379fd5721679d8ae5}{XrlMld6igmpNode}, and \hyperlink{classXrlPimNode_a444321b033afebcf71e9d2c604f4c753}{XrlPimNode}.

\hypertarget{classProtoState_a5a0cf7fc68b9db681ce8b8fca9635e07}{
\index{ProtoState@{ProtoState}!start@{start}}
\index{start@{start}!ProtoState@{ProtoState}}
\subsubsection[{start}]{\setlength{\rightskip}{0pt plus 5cm}int ProtoState::start (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{classProtoState_a5a0cf7fc68b9db681ce8b8fca9635e07}


Start \hyperlink{protocolthe-p}{the} unit. 

This operation will fail if \hyperlink{protocolthe-p}{the} unit is disabled, or is already up.

\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}


Reimplemented in \hyperlink{classCliNode_acfe69d3c37b7fd6ee5fc60cd04693fbc}{CliNode}, \hyperlink{classMld6igmpNode_a0744a0d12950740d7181e98283f2a6cd}{Mld6igmpNode}, \hyperlink{classMld6igmpNodeCli_aa30bbd13d288a1984057c24fd415a276}{Mld6igmpNodeCli}, \hyperlink{classMfeaMrouter_abf0cc8276571ef73771999a1d388d63a}{MfeaMrouter}, \hyperlink{classMfeaNode_a1ea0bb20c73aabd57f2a79420408d744}{MfeaNode}, \hyperlink{classMfeaNodeCli_a556e91e5d24309fe5d8abfc3c27a0eb6}{MfeaNodeCli}, \hyperlink{classMld6igmpNode_a0744a0d12950740d7181e98283f2a6cd}{Mld6igmpNode}, \hyperlink{classMld6igmpNodeCli_aa30bbd13d288a1984057c24fd415a276}{Mld6igmpNodeCli}, \hyperlink{classPimBsr_a40eb52c82d8447263912b873af71f2c8}{PimBsr}, \hyperlink{classPimNode_a44f8ed1e771b4aa6167cd25b887d8fdc}{PimNode}, \hyperlink{classPimNodeCli_aadc5dd4b1f4d7789ef95ce241f0d5070}{PimNodeCli}, \hyperlink{classRpTable_a69c1e8ebd49c2bd1802682e2fdbca436}{RpTable}, \hyperlink{classRibManager_a968592b27d8fc8e02d295eafe474e1ab}{RibManager}, and \hyperlink{classVifManager_a3115c15090aa81f625f450cdaab864aa}{VifManager}.

\hypertarget{classProtoState_acd5b3d7a1b37e45893012210943926df}{
\index{ProtoState@{ProtoState}!startup@{startup}}
\index{startup@{startup}!ProtoState@{ProtoState}}
\subsubsection[{startup}]{\setlength{\rightskip}{0pt plus 5cm}int ProtoState::startup (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private, virtual\mbox{]}}}}
\label{classProtoState_acd5b3d7a1b37e45893012210943926df}


\hyperlink{classStartup}{Startup} operation. 

\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}


Implements \hyperlink{classServiceBase_a791755872b2056ddd82a2f00904c7d2b}{ServiceBase}.



Reimplemented in \hyperlink{classXrlMld6igmpNode_a9566a40efbdf79965025f29e9dde77bf}{XrlMld6igmpNode}, \hyperlink{classXrlMfeaNode_a26cb964309cefe5e46b70cbd706ac754}{XrlMfeaNode}, \hyperlink{classXrlMld6igmpNode_a9566a40efbdf79965025f29e9dde77bf}{XrlMld6igmpNode}, and \hyperlink{classXrlPimNode_a696892e4c742605af614926374837c76}{XrlPimNode}.

\hypertarget{classProtoState_ae59c82e82c582102b64aac23a47177d5}{
\index{ProtoState@{ProtoState}!state\_\-str@{state\_\-str}}
\index{state\_\-str@{state\_\-str}!ProtoState@{ProtoState}}
\subsubsection[{state\_\-str}]{\setlength{\rightskip}{0pt plus 5cm}string ProtoState::state\_\-str (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}
\label{classProtoState_ae59c82e82c582102b64aac23a47177d5}


Get a string with \hyperlink{protocolthe-p}{the} state of \hyperlink{protocolthe-p}{the} unit. 

The state string is one of \hyperlink{protocolthe-p}{the} following: \char`\"{}DISABLED\char`\"{}, \char`\"{}DOWN\char`\"{}, \char`\"{}UP\char`\"{}, \char`\"{}PENDING\_\-UP\char`\"{}, \char`\"{}PENDING\_\-DOWN\char`\"{}, \char`\"{}UNKNOWN\char`\"{}

\begin{DoxyReturn}{Returns}
string with \hyperlink{protocolthe-p}{the} state of \hyperlink{protocolthe-p}{the} unit. 
\end{DoxyReturn}
\hypertarget{classProtoState_a00a8d35d02b0ce61a6b012326e81878c}{
\index{ProtoState@{ProtoState}!stop@{stop}}
\index{stop@{stop}!ProtoState@{ProtoState}}
\subsubsection[{stop}]{\setlength{\rightskip}{0pt plus 5cm}int ProtoState::stop (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{classProtoState_a00a8d35d02b0ce61a6b012326e81878c}


Stop \hyperlink{protocolthe-p}{the} unit. 

This operation will fail if \hyperlink{protocolthe-p}{the} unit was down already.

\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}


Reimplemented in \hyperlink{classCliNode_a48ea54e6748aad1de1716ed157d95106}{CliNode}, \hyperlink{classMld6igmpNode_aaa3fe5ee28bcb8dab840a2e268788813}{Mld6igmpNode}, \hyperlink{classMld6igmpNodeCli_ad909f03efff74119ebb5437a7bfe4e31}{Mld6igmpNodeCli}, \hyperlink{classMfeaMrouter_a8b0f20c631af4f23db8d9046bbfc1fcd}{MfeaMrouter}, \hyperlink{classMfeaNode_af630e3cbf23b810920313de2d6cb6b7b}{MfeaNode}, \hyperlink{classMfeaNodeCli_aa7d5d9ebc84b251f7cd95be661cc810b}{MfeaNodeCli}, \hyperlink{classMld6igmpNode_aaa3fe5ee28bcb8dab840a2e268788813}{Mld6igmpNode}, \hyperlink{classMld6igmpNodeCli_ad909f03efff74119ebb5437a7bfe4e31}{Mld6igmpNodeCli}, \hyperlink{classPimBsr_afe3a4231d7056150fb6c6989b882671d}{PimBsr}, \hyperlink{classPimNode_a436d2c9d77ad3fcedc7a738d4ac678e0}{PimNode}, \hyperlink{classPimNodeCli_aa93efbb1436f380dd5d18c65bb1c98e0}{PimNodeCli}, \hyperlink{classRpTable_aab47e869a5d427bc82b1b6e28d0e79f8}{RpTable}, \hyperlink{classRibManager_ac0ee816c7b33c059ff7f95965014475a}{RibManager}, and \hyperlink{classVifManager_a80109b8a95b4b0731d697719242cdac0}{VifManager}.



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