\hypertarget{classPortManagerBase}{
\section{PortManagerBase$<$ A $>$ Class Template Reference}
\label{classPortManagerBase}\index{PortManagerBase@{PortManagerBase}}
}


Base for RIP \hyperlink{classPort}{Port} container and factory classes.  




{\ttfamily \#include $<$port\_\-manager.hh$>$}

Inheritance diagram for PortManagerBase$<$ A $>$:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=1.166667cm]{classPortManagerBase}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classPortManagerBase_a4ed4323771639c567307a80ea09ccda9}{
typedef list$<$ \hyperlink{classPort}{Port}$<$ A $>$ $\ast$ $>$ {\bfseries PortList}}
\label{classPortManagerBase_a4ed4323771639c567307a80ea09ccda9}

\item 
\hypertarget{classPortManagerBase_aeb93aa42ee165f10a066f65abd016646}{
typedef \hyperlink{classSystem}{System}$<$ A $>$ {\bfseries SystemType}}
\label{classPortManagerBase_aeb93aa42ee165f10a066f65abd016646}

\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classPortManagerBase_a084a7c48990c2aee54ac1db4a3989635}{
{\bfseries PortManagerBase} (\hyperlink{classSystem}{SystemType} \&system, const \hyperlink{classIfMgrIfTree}{IfMgrIfTree} \&iftree)}
\label{classPortManagerBase_a084a7c48990c2aee54ac1db4a3989635}

\item 
virtual \hyperlink{classPortManagerBase_abf62999ae8606683a87c8b0521f6fda7}{$\sim$PortManagerBase} ()
\begin{DoxyCompactList}\small\item\em Destructor. \item\end{DoxyCompactList}\item 
\hypertarget{classPortManagerBase_a07e6f52edb1bfa4b18cfc02f6dcb6cf7}{
\hyperlink{classSystem}{SystemType} \& \hyperlink{classPortManagerBase_a07e6f52edb1bfa4b18cfc02f6dcb6cf7}{system} ()}
\label{classPortManagerBase_a07e6f52edb1bfa4b18cfc02f6dcb6cf7}

\begin{DoxyCompactList}\small\item\em Get parent \hyperlink{classSystem}{System} instance. \item\end{DoxyCompactList}\item 
\hypertarget{classPortManagerBase_a9472e1424bdf2374ca80fdeef41cde0b}{
const \hyperlink{classSystem}{SystemType} \& \hyperlink{classPortManagerBase_a9472e1424bdf2374ca80fdeef41cde0b}{system} () const }
\label{classPortManagerBase_a9472e1424bdf2374ca80fdeef41cde0b}

\begin{DoxyCompactList}\small\item\em Get parent \hyperlink{classSystem}{System} instance. \item\end{DoxyCompactList}\item 
\hypertarget{classPortManagerBase_a021d38d9fba498a5a9d67d07debe5c82}{
const PortList \& \hyperlink{classPortManagerBase_a021d38d9fba498a5a9d67d07debe5c82}{const\_\-ports} () const }
\label{classPortManagerBase_a021d38d9fba498a5a9d67d07debe5c82}

\begin{DoxyCompactList}\small\item\em Get list of managed RIP Ports. \item\end{DoxyCompactList}\item 
\hypertarget{classPortManagerBase_a3319e617cdb4deeb8c253b585b5ed45d}{
\hyperlink{classEventLoop}{EventLoop} \& \hyperlink{classPortManagerBase_a3319e617cdb4deeb8c253b585b5ed45d}{eventloop} ()}
\label{classPortManagerBase_a3319e617cdb4deeb8c253b585b5ed45d}

\begin{DoxyCompactList}\small\item\em Get \hyperlink{classEventLoop}{EventLoop}. \item\end{DoxyCompactList}\item 
\hypertarget{classPortManagerBase_ac16ee9cbe5f906816b2e35acfd2b8a48}{
const \hyperlink{classEventLoop}{EventLoop} \& \hyperlink{classPortManagerBase_ac16ee9cbe5f906816b2e35acfd2b8a48}{eventloop} () const }
\label{classPortManagerBase_ac16ee9cbe5f906816b2e35acfd2b8a48}

\begin{DoxyCompactList}\small\item\em Get \hyperlink{classEventLoop}{EventLoop}. \item\end{DoxyCompactList}\item 
\hypertarget{classPortManagerBase_a6adcb99d90b2c83e05de16a0c828ecaa}{
const \hyperlink{classIfMgrIfTree}{IfMgrIfTree} \& \hyperlink{classPortManagerBase_a6adcb99d90b2c83e05de16a0c828ecaa}{iftree} () const }
\label{classPortManagerBase_a6adcb99d90b2c83e05de16a0c828ecaa}

\begin{DoxyCompactList}\small\item\em Get \hyperlink{classIfMgrIfTree}{IfMgrIfTree}. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classPortManagerBase_a2ad325cae04a2549ae281f4a367ecb13}{
PortList \& \hyperlink{classPortManagerBase_a2ad325cae04a2549ae281f4a367ecb13}{ports} ()}
\label{classPortManagerBase_a2ad325cae04a2549ae281f4a367ecb13}

\begin{DoxyCompactList}\small\item\em Get list of managed RIP Ports. \item\end{DoxyCompactList}\item 
\hypertarget{classPortManagerBase_ad610b914a4d70734d015528a4f1e6b26}{
const PortList \& \hyperlink{classPortManagerBase_ad610b914a4d70734d015528a4f1e6b26}{ports} () const }
\label{classPortManagerBase_ad610b914a4d70734d015528a4f1e6b26}

\begin{DoxyCompactList}\small\item\em Get list of managed RIP Ports. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classPortManagerBase_aafdeda18ea15b2cdaa4f3abf901c107d}{
\hyperlink{classSystem}{SystemType} \& {\bfseries \_\-system}}
\label{classPortManagerBase_aafdeda18ea15b2cdaa4f3abf901c107d}

\item 
\hypertarget{classPortManagerBase_a88be4c72f22911d244abf8c54b3f5354}{
PortList {\bfseries \_\-ports}}
\label{classPortManagerBase_a88be4c72f22911d244abf8c54b3f5354}

\item 
\hypertarget{classPortManagerBase_a461ccfd276eec5a5a4513206a50ab64d}{
const \hyperlink{classIfMgrIfTree}{IfMgrIfTree} \& {\bfseries \_\-iftree}}
\label{classPortManagerBase_a461ccfd276eec5a5a4513206a50ab64d}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
\subsubsection*{template$<$typename A$>$ class PortManagerBase$<$ A $>$}

Base for RIP \hyperlink{classPort}{Port} container and factory classes. Classes derived from \hyperlink{protocolthe-p}{the} \hyperlink{classPortManagerBase}{PortManagerBase} are expected to create and manage RIP \hyperlink{classPort}{Port} instances. The created \hyperlink{classPort}{Port} instances should have associated \hyperlink{classIO}{IO} systems attached. 

\subsection{Constructor \& Destructor Documentation}
\hypertarget{classPortManagerBase_abf62999ae8606683a87c8b0521f6fda7}{
\index{PortManagerBase@{PortManagerBase}!$\sim$PortManagerBase@{$\sim$PortManagerBase}}
\index{$\sim$PortManagerBase@{$\sim$PortManagerBase}!PortManagerBase@{PortManagerBase}}
\subsubsection[{$\sim$PortManagerBase}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename A $>$ {\bf PortManagerBase}$<$ A $>$::$\sim${\bf PortManagerBase} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classPortManagerBase_abf62999ae8606683a87c8b0521f6fda7}


Destructor. 

It is important that all \hyperlink{protocolthe-p}{the} routes stored in \hyperlink{protocolthe-p}{the} associated \hyperlink{classSystem}{System} \hyperlink{classRoute}{Route} database and it's update queue are flushed before destructor is invoked. 

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