\hypertarget{classIfConfigUpdateReporterBase}{
\section{IfConfigUpdateReporterBase Class Reference}
\label{classIfConfigUpdateReporterBase}\index{IfConfigUpdateReporterBase@{IfConfigUpdateReporterBase}}
}


Base class for propagating update information on from \hyperlink{classIfConfig}{IfConfig}.  




{\ttfamily \#include $<$ifconfig\_\-reporter.hh$>$}

Inheritance diagram for IfConfigUpdateReporterBase:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3.000000cm]{classIfConfigUpdateReporterBase}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
enum {\bfseries Update} \{ {\bfseries CREATED}, 
{\bfseries DELETED}, 
{\bfseries CHANGED}
 \}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classIfConfigUpdateReporterBase_ad6b68207548744bd04c69eaafe2fd22a}{IfConfigUpdateReporterBase} (\hyperlink{classIfConfigUpdateReplicator}{IfConfigUpdateReplicator} \&update\_\-replicator)
\begin{DoxyCompactList}\small\item\em Constructor for a given replicator. \item\end{DoxyCompactList}\item 
\hyperlink{classIfConfigUpdateReporterBase_aefa29ee653e51a179547b71bc1622868}{IfConfigUpdateReporterBase} (\hyperlink{classIfConfigUpdateReplicator}{IfConfigUpdateReplicator} \&update\_\-replicator, const \hyperlink{classIfTree}{IfTree} \&observed\_\-iftree)
\begin{DoxyCompactList}\small\item\em Constructor for a given replicator and observed tree. \item\end{DoxyCompactList}\item 
\hypertarget{classIfConfigUpdateReporterBase_ae2c2ba4b2fb74b4feecbea0a8806aaee}{
virtual \hyperlink{classIfConfigUpdateReporterBase_ae2c2ba4b2fb74b4feecbea0a8806aaee}{$\sim$IfConfigUpdateReporterBase} ()}
\label{classIfConfigUpdateReporterBase_ae2c2ba4b2fb74b4feecbea0a8806aaee}

\begin{DoxyCompactList}\small\item\em Destructor. \item\end{DoxyCompactList}\item 
const \hyperlink{classIfTree}{IfTree} \& \hyperlink{classIfConfigUpdateReporterBase_adb7511fb1f424ab35371300b6470d1da}{observed\_\-iftree} () const 
\begin{DoxyCompactList}\small\item\em Get a reference to \hyperlink{protocolthe-p}{the} observed interface tree. \item\end{DoxyCompactList}\item 
\hypertarget{classIfConfigUpdateReporterBase_adb6f93249f0c402240194daeaff260bf}{
void \hyperlink{classIfConfigUpdateReporterBase_adb6f93249f0c402240194daeaff260bf}{add\_\-to\_\-replicator} ()}
\label{classIfConfigUpdateReporterBase_adb6f93249f0c402240194daeaff260bf}

\begin{DoxyCompactList}\small\item\em Add itself to \hyperlink{protocolthe-p}{the} replicator (see ). \item\end{DoxyCompactList}\item 
\hypertarget{classIfConfigUpdateReporterBase_a3af18ab6a51bce1975f7bcb5333a626a}{
void \hyperlink{classIfConfigUpdateReporterBase_a3af18ab6a51bce1975f7bcb5333a626a}{remove\_\-from\_\-replicator} ()}
\label{classIfConfigUpdateReporterBase_a3af18ab6a51bce1975f7bcb5333a626a}

\begin{DoxyCompactList}\small\item\em Remove itself from \hyperlink{protocolthe-p}{the} replicator (see ). \item\end{DoxyCompactList}\item 
\hypertarget{classIfConfigUpdateReporterBase_a8902096e13778829793b2ff721d41a2c}{
virtual void {\bfseries interface\_\-update} (const string \&ifname, const Update \&u)=0}
\label{classIfConfigUpdateReporterBase_a8902096e13778829793b2ff721d41a2c}

\item 
\hypertarget{classIfConfigUpdateReporterBase_af9a24aaf50ec3a980240b3b3bc9c81c0}{
virtual void {\bfseries vif\_\-update} (const string \&ifname, const string \&vifname, const Update \&u)=0}
\label{classIfConfigUpdateReporterBase_af9a24aaf50ec3a980240b3b3bc9c81c0}

\item 
\hypertarget{classIfConfigUpdateReporterBase_a87032c3dccf96410f7559aac5bdfa514}{
virtual void {\bfseries vifaddr4\_\-update} (const string \&ifname, const string \&vifname, const \hyperlink{classIPv4}{IPv4} \&addr, const Update \&u)=0}
\label{classIfConfigUpdateReporterBase_a87032c3dccf96410f7559aac5bdfa514}

\item 
\hypertarget{classIfConfigUpdateReporterBase_aed5a4b30d35cd55f468043c1ebe15b81}{
virtual void {\bfseries updates\_\-completed} ()=0}
\label{classIfConfigUpdateReporterBase_aed5a4b30d35cd55f468043c1ebe15b81}

\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classIfConfigUpdateReporterBase_a3d6677d33a6b9298cb3db025624c43d1}{
\hyperlink{classIfConfigUpdateReplicator}{IfConfigUpdateReplicator} \& {\bfseries \_\-update\_\-replicator}}
\label{classIfConfigUpdateReporterBase_a3d6677d33a6b9298cb3db025624c43d1}

\item 
\hypertarget{classIfConfigUpdateReporterBase_af3598efa188e642f9535e24b765df0ee}{
const \hyperlink{classIfTree}{IfTree} \& {\bfseries \_\-observed\_\-iftree}}
\label{classIfConfigUpdateReporterBase_af3598efa188e642f9535e24b765df0ee}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
Base class for propagating update information on from \hyperlink{classIfConfig}{IfConfig}. When \hyperlink{protocolthe-p}{the} platform \hyperlink{classIfConfig}{IfConfig} updates interfaces it can report updates to an IfConfigUpdateReporter. 

\subsection{Constructor \& Destructor Documentation}
\hypertarget{classIfConfigUpdateReporterBase_ad6b68207548744bd04c69eaafe2fd22a}{
\index{IfConfigUpdateReporterBase@{IfConfigUpdateReporterBase}!IfConfigUpdateReporterBase@{IfConfigUpdateReporterBase}}
\index{IfConfigUpdateReporterBase@{IfConfigUpdateReporterBase}!IfConfigUpdateReporterBase@{IfConfigUpdateReporterBase}}
\subsubsection[{IfConfigUpdateReporterBase}]{\setlength{\rightskip}{0pt plus 5cm}IfConfigUpdateReporterBase::IfConfigUpdateReporterBase (
\begin{DoxyParamCaption}
\item[{{\bf IfConfigUpdateReplicator} \&}]{update\_\-replicator}
\end{DoxyParamCaption}
)}}
\label{classIfConfigUpdateReporterBase_ad6b68207548744bd04c69eaafe2fd22a}


Constructor for a given replicator. 


\begin{DoxyParams}{Parameters}
{\em update\_\-replicator} & \hyperlink{protocolthe-p}{the} corresponding replicator (\hyperlink{classIfConfigUpdateReplicator}{IfConfigUpdateReplicator}). \\
\hline
\end{DoxyParams}
\hypertarget{classIfConfigUpdateReporterBase_aefa29ee653e51a179547b71bc1622868}{
\index{IfConfigUpdateReporterBase@{IfConfigUpdateReporterBase}!IfConfigUpdateReporterBase@{IfConfigUpdateReporterBase}}
\index{IfConfigUpdateReporterBase@{IfConfigUpdateReporterBase}!IfConfigUpdateReporterBase@{IfConfigUpdateReporterBase}}
\subsubsection[{IfConfigUpdateReporterBase}]{\setlength{\rightskip}{0pt plus 5cm}IfConfigUpdateReporterBase::IfConfigUpdateReporterBase (
\begin{DoxyParamCaption}
\item[{{\bf IfConfigUpdateReplicator} \&}]{update\_\-replicator, }
\item[{const {\bf IfTree} \&}]{observed\_\-iftree}
\end{DoxyParamCaption}
)}}
\label{classIfConfigUpdateReporterBase_aefa29ee653e51a179547b71bc1622868}


Constructor for a given replicator and observed tree. 


\begin{DoxyParams}{Parameters}
{\em update\_\-replicator} & \hyperlink{protocolthe-p}{the} corresponding replicator (\hyperlink{classIfConfigUpdateReplicator}{IfConfigUpdateReplicator}). \\
\hline
{\em observed\_\-iftree} & \hyperlink{protocolthe-p}{the} corresponding interface tree (\hyperlink{classIfTree}{IfTree}). \\
\hline
\end{DoxyParams}


\subsection{Member Function Documentation}
\hypertarget{classIfConfigUpdateReporterBase_adb7511fb1f424ab35371300b6470d1da}{
\index{IfConfigUpdateReporterBase@{IfConfigUpdateReporterBase}!observed\_\-iftree@{observed\_\-iftree}}
\index{observed\_\-iftree@{observed\_\-iftree}!IfConfigUpdateReporterBase@{IfConfigUpdateReporterBase}}
\subsubsection[{observed\_\-iftree}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf IfTree}\& IfConfigUpdateReporterBase::observed\_\-iftree (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classIfConfigUpdateReporterBase_adb7511fb1f424ab35371300b6470d1da}


Get a reference to \hyperlink{protocolthe-p}{the} observed interface tree. 

\begin{DoxyReturn}{Returns}
a reference to \hyperlink{protocolthe-p}{the} observed interface tree (see ). 
\end{DoxyReturn}


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