\hypertarget{classIfMgrCommandBase}{
\section{IfMgrCommandBase Class Reference}
\label{classIfMgrCommandBase}\index{IfMgrCommandBase@{IfMgrCommandBase}}
}


Base class for Interface Manager Commands.  




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

Inheritance diagram for IfMgrCommandBase:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=12.000000cm]{classIfMgrCommandBase}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual bool \hyperlink{classIfMgrCommandBase_a46a666d7c10bdc6f057c883464024fb3}{execute} (\hyperlink{classIfMgrIfTree}{IfMgrIfTree} \&tree) const =0
\begin{DoxyCompactList}\small\item\em Execute \hyperlink{classCommand}{Command} to interface tree. \item\end{DoxyCompactList}\item 
virtual bool \hyperlink{classIfMgrCommandBase_a3a4578efe6bdc5ec5b92c60eee8e55c3}{forward} (\hyperlink{classXrlSender}{XrlSender} \&sender, const string \&xrl\_\-target, const IfMgrXrlSendCB \&xscb) const =0
\begin{DoxyCompactList}\small\item\em Forward \hyperlink{classCommand}{Command} as an \hyperlink{classXrl}{Xrl} call to a remote target. \item\end{DoxyCompactList}\item 
\hypertarget{classIfMgrCommandBase_ac525ce63b8417b7a851423bd3d12def2}{
virtual string \hyperlink{classIfMgrCommandBase_ac525ce63b8417b7a851423bd3d12def2}{str} () const =0}
\label{classIfMgrCommandBase_ac525ce63b8417b7a851423bd3d12def2}

\begin{DoxyCompactList}\small\item\em Render command as string. \item\end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Base class for Interface Manager Commands. Commands may be forwarded either on an existing interface configuration tree (represented by \hyperlink{classIfMgrIfTree}{IfMgrIfTree} objects) or as Xrls. When forwarded as Xrls \hyperlink{protocolthe-p}{the} command is sent to a remote target. The two methods of forward are intended to facilitate maintaining local and remote copies of \hyperlink{classIfMgrIfTree}{IfMgrIfTree} objects. 

\subsection{Member Function Documentation}
\hypertarget{classIfMgrCommandBase_a46a666d7c10bdc6f057c883464024fb3}{
\index{IfMgrCommandBase@{IfMgrCommandBase}!execute@{execute}}
\index{execute@{execute}!IfMgrCommandBase@{IfMgrCommandBase}}
\subsubsection[{execute}]{\setlength{\rightskip}{0pt plus 5cm}virtual bool IfMgrCommandBase::execute (
\begin{DoxyParamCaption}
\item[{{\bf IfMgrIfTree} \&}]{tree}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}pure virtual\mbox{]}}}}
\label{classIfMgrCommandBase_a46a666d7c10bdc6f057c883464024fb3}


Execute \hyperlink{classCommand}{Command} to interface tree. 

\begin{DoxyReturn}{Returns}
true on success, false on failure. 
\end{DoxyReturn}


Implemented in \hyperlink{classIfMgrIfAdd_a3cbcbca7b12faeb2f08e67b2817b0aca}{IfMgrIfAdd}, \hyperlink{classIfMgrIfRemove_a89f4743ecfbfbf3e6f564279402bbe56}{IfMgrIfRemove}, \hyperlink{classIfMgrIfSetEnabled_a538b834cd489982ea81aced0bc8f3196}{IfMgrIfSetEnabled}, \hyperlink{classIfMgrIfSetDiscard_a931e8e2dc6818e1cbfd487f55f85368c}{IfMgrIfSetDiscard}, \hyperlink{classIfMgrIfSetUnreachable_af4c6000786ff3c16a2611d6b4aacb5bb}{IfMgrIfSetUnreachable}, \hyperlink{classIfMgrIfSetManagement_ac330d0447fad864258c21d7f289c2484}{IfMgrIfSetManagement}, \hyperlink{classIfMgrIfSetMtu_a2325df031d7c3af70d1ae1eca80989a4}{IfMgrIfSetMtu}, \hyperlink{classIfMgrIfSetMac_a0fde07d86392db15e1fe3495e7699ae0}{IfMgrIfSetMac}, \hyperlink{classIfMgrIfSetPifIndex_a6b74b8adaccd5f9ae1ca09f5f7f27af9}{IfMgrIfSetPifIndex}, \hyperlink{classIfMgrIfSetNoCarrier_a430ef9bdc8880061cdb993644c532921}{IfMgrIfSetNoCarrier}, \hyperlink{classIfMgrIfSetBaudrate_aeca3b7d675df76fcfde4b55736912cf3}{IfMgrIfSetBaudrate}, \hyperlink{classIfMgrIfSetString_a8a8a378d40abb2e97c4e39c342fed7d2}{IfMgrIfSetString}, \hyperlink{classIfMgrVifSetVlanId_a7e4ae175c135400b88e361004b20d0f7}{IfMgrVifSetVlanId}, \hyperlink{classIfMgrVifAdd_a8a2a0fd9a179874e3d573421c23b1736}{IfMgrVifAdd}, \hyperlink{classIfMgrVifRemove_a67a10aff1cfac361438dc68006539330}{IfMgrVifRemove}, \hyperlink{classIfMgrVifSetEnabled_abead517776d61bec3a59614c74ed0060}{IfMgrVifSetEnabled}, \hyperlink{classIfMgrVifSetMulticastCapable_a0e5d058858a8b7c49ab527f08635acfc}{IfMgrVifSetMulticastCapable}, \hyperlink{classIfMgrVifSetBroadcastCapable_a2114fa60d7a733a142da32979825dc66}{IfMgrVifSetBroadcastCapable}, \hyperlink{classIfMgrVifSetP2PCapable_a62ac9f9587b7651e38646ce37272a69f}{IfMgrVifSetP2PCapable}, \hyperlink{classIfMgrVifSetLoopbackCapable_ae99bfe9f7c2465ac799d1cc32fea930b}{IfMgrVifSetLoopbackCapable}, \hyperlink{classIfMgrVifSetPimRegister_af9b5620ae710787f6fb09dd6042f7848}{IfMgrVifSetPimRegister}, \hyperlink{classIfMgrVifSetPifIndex_aa0334fe0b9dfd3c7d100d65fd48cbf4d}{IfMgrVifSetPifIndex}, \hyperlink{classIfMgrVifSetVifIndex_a8844a14f7b0abc9da282f71f8fe84deb}{IfMgrVifSetVifIndex}, \hyperlink{classIfMgrIPv4Add_a6539afc9bd26cb6492c16a151687bdac}{IfMgrIPv4Add}, \hyperlink{classIfMgrIPv4Remove_a03b1a3560a4b4c796a67b5929635c679}{IfMgrIPv4Remove}, \hyperlink{classIfMgrIPv4SetPrefix_a2ad81557d16965cee406911b9157ecd1}{IfMgrIPv4SetPrefix}, \hyperlink{classIfMgrIPv4SetEnabled_a5ce0db08e93716407219939a22bc7219}{IfMgrIPv4SetEnabled}, \hyperlink{classIfMgrIPv4SetMulticastCapable_a90a69eced37b1e7c268bb491c8feb77c}{IfMgrIPv4SetMulticastCapable}, \hyperlink{classIfMgrIPv4SetLoopback_ad82fe79441fec46bf79235ceb1a2c328}{IfMgrIPv4SetLoopback}, \hyperlink{classIfMgrIPv4SetBroadcast_a86943ba27e266923d1b1200d4b6e609d}{IfMgrIPv4SetBroadcast}, \hyperlink{classIfMgrIPv4SetEndpoint_ad3b3708523404ec42188b2dfc4526acc}{IfMgrIPv4SetEndpoint}, and \hyperlink{classIfMgrHintCommandBase_ac8e4f60e54d9ded0d4be0fbd7e44de5c}{IfMgrHintCommandBase}.

\hypertarget{classIfMgrCommandBase_a3a4578efe6bdc5ec5b92c60eee8e55c3}{
\index{IfMgrCommandBase@{IfMgrCommandBase}!forward@{forward}}
\index{forward@{forward}!IfMgrCommandBase@{IfMgrCommandBase}}
\subsubsection[{forward}]{\setlength{\rightskip}{0pt plus 5cm}virtual bool IfMgrCommandBase::forward (
\begin{DoxyParamCaption}
\item[{{\bf XrlSender} \&}]{sender, }
\item[{const string \&}]{xrl\_\-target, }
\item[{const IfMgrXrlSendCB \&}]{xscb}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}pure virtual\mbox{]}}}}
\label{classIfMgrCommandBase_a3a4578efe6bdc5ec5b92c60eee8e55c3}


Forward \hyperlink{classCommand}{Command} as an \hyperlink{classXrl}{Xrl} call to a remote target. 


\begin{DoxyParams}{Parameters}
{\em sender} & xrl router to use as \hyperlink{protocolthe-p}{the} command sender. \\
\hline
{\em xrl\_\-target} & \hyperlink{protocolthe-p}{the} target to direct \hyperlink{protocolthe-p}{the} command to. \\
\hline
{\em xscb} & callback to invoke with \hyperlink{classXrl}{Xrl} result.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true on success, false on failure. 
\end{DoxyReturn}


Implemented in \hyperlink{classIfMgrIfAdd_a35f8ae3e27308f55d70260f54dfe518b}{IfMgrIfAdd}, \hyperlink{classIfMgrIfRemove_a84dd2439d3eb2469a1f3d8e6c265078f}{IfMgrIfRemove}, \hyperlink{classIfMgrIfSetEnabled_a571c9c025a206108fba9c698bd4f7f29}{IfMgrIfSetEnabled}, \hyperlink{classIfMgrIfSetDiscard_a3354bdbf74896215506a2c8ae59edaa1}{IfMgrIfSetDiscard}, \hyperlink{classIfMgrIfSetUnreachable_a9327238aefe4bffad0453eca0a348246}{IfMgrIfSetUnreachable}, \hyperlink{classIfMgrIfSetManagement_acfab48fcf2b436605cfb276e4931d073}{IfMgrIfSetManagement}, \hyperlink{classIfMgrIfSetMtu_ad27474877d7209191be58e785b20687e}{IfMgrIfSetMtu}, \hyperlink{classIfMgrIfSetMac_a0c42f1ad61d2f8fd780a8f4bf55ba403}{IfMgrIfSetMac}, \hyperlink{classIfMgrIfSetPifIndex_aa6925afbe105330142eeb5c90cf37827}{IfMgrIfSetPifIndex}, \hyperlink{classIfMgrIfSetNoCarrier_adbf5cb071f501afc8f5e25dc641b2eb5}{IfMgrIfSetNoCarrier}, \hyperlink{classIfMgrIfSetBaudrate_aee8799190e8416179886ffd7c96c18b1}{IfMgrIfSetBaudrate}, \hyperlink{classIfMgrIfSetString_a346bb05f1b5c7738951626d3e4440454}{IfMgrIfSetString}, \hyperlink{classIfMgrVifSetVlanId_af4301e98cfa39355b8156f2e44285c90}{IfMgrVifSetVlanId}, \hyperlink{classIfMgrVifAdd_af835e7acd7202d57df79a73a51ece953}{IfMgrVifAdd}, \hyperlink{classIfMgrVifRemove_a8dca6a65917d75f6890fe594fc695119}{IfMgrVifRemove}, \hyperlink{classIfMgrVifSetEnabled_acd8ee5064647d715d9287e05549bcb7b}{IfMgrVifSetEnabled}, \hyperlink{classIfMgrVifSetMulticastCapable_abfa0126da49420a4b43d9dfaa6828c46}{IfMgrVifSetMulticastCapable}, \hyperlink{classIfMgrVifSetBroadcastCapable_a1231c4a654177735616ecb754a8f58c4}{IfMgrVifSetBroadcastCapable}, \hyperlink{classIfMgrVifSetP2PCapable_a410df73ebfd8e500abe45e02d0d1c7bd}{IfMgrVifSetP2PCapable}, \hyperlink{classIfMgrVifSetLoopbackCapable_a650f3d7cc3736bc603e1a56fbf95e2af}{IfMgrVifSetLoopbackCapable}, \hyperlink{classIfMgrVifSetPimRegister_a22f81774234ebb0116e280199f034716}{IfMgrVifSetPimRegister}, \hyperlink{classIfMgrVifSetPifIndex_a7359c224f0422c9cec77e6776ff7856b}{IfMgrVifSetPifIndex}, \hyperlink{classIfMgrVifSetVifIndex_a01b8f4146660246ced0d1e9aa1667a30}{IfMgrVifSetVifIndex}, \hyperlink{classIfMgrIPv4Add_a61df7ade88c26a3de5f07060b3e9defe}{IfMgrIPv4Add}, \hyperlink{classIfMgrIPv4Remove_a83663430eac5e80fb6a541a0bad85122}{IfMgrIPv4Remove}, \hyperlink{classIfMgrIPv4SetPrefix_a92d8c4d6ccc1d6305347d67e8b960953}{IfMgrIPv4SetPrefix}, \hyperlink{classIfMgrIPv4SetEnabled_a0d1730d9df4e52cba4f61ee26afc53c3}{IfMgrIPv4SetEnabled}, \hyperlink{classIfMgrIPv4SetMulticastCapable_a9a7608d9dcaa6f75051d52d4d857a061}{IfMgrIPv4SetMulticastCapable}, \hyperlink{classIfMgrIPv4SetLoopback_a644b5c13ad68b510d4fb75b5b304b38e}{IfMgrIPv4SetLoopback}, \hyperlink{classIfMgrIPv4SetBroadcast_a58fe4a2d442f1771b58ccb0f1bf461fb}{IfMgrIPv4SetBroadcast}, \hyperlink{classIfMgrIPv4SetEndpoint_a96106169a25218127661f450ea245d1b}{IfMgrIPv4SetEndpoint}, \hyperlink{classIfMgrHintTreeComplete_a1ba39dbc0324c1d2e60f9d9b99acc601}{IfMgrHintTreeComplete}, and \hyperlink{classIfMgrHintUpdatesMade_ad712c561c87f4e629121fcee0dc86878}{IfMgrHintUpdatesMade}.



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