\hypertarget{classSystem}{
\section{System$<$ A $>$ Class Template Reference}
\label{classSystem}\index{System@{System}}
}


Top Level container for XORP RIP implementation.  




{\ttfamily \#include $<$system.hh$>$}

Inheritance diagram for System$<$ A $>$:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classSystem}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classSystem_a8d4ddf33ed7e415fa9f6c04dd56400f9}{
typedef \hyperlink{classRouteDB}{RouteDB}$<$ A $>$ {\bfseries RouteDatabase}}
\label{classSystem_a8d4ddf33ed7e415fa9f6c04dd56400f9}

\item 
\hypertarget{classSystem_a7d2da9f6e2729c35a46e225b3660d8fa}{
typedef \hyperlink{classPortManagerBase}{PortManagerBase}$<$ A $>$ {\bfseries PortManager}}
\label{classSystem_a7d2da9f6e2729c35a46e225b3660d8fa}

\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classSystem_afae9984678a9329cf476dc1fd5efcdbb}{
{\bfseries System} (\hyperlink{classEventLoop}{EventLoop} \&e)}
\label{classSystem_afae9984678a9329cf476dc1fd5efcdbb}

\item 
\hypertarget{classSystem_afce8144445465b2450b67fff6f832eba}{
\hyperlink{classEventLoop}{EventLoop} \& \hyperlink{classSystem_afce8144445465b2450b67fff6f832eba}{eventloop} ()}
\label{classSystem_afce8144445465b2450b67fff6f832eba}

\begin{DoxyCompactList}\small\item\em Get \hyperlink{classEventLoop}{EventLoop} instance that each object in system should use. \item\end{DoxyCompactList}\item 
\hypertarget{classSystem_af86cc5d6916916fa25ae0befbf63b004}{
const \hyperlink{classEventLoop}{EventLoop} \& \hyperlink{classSystem_af86cc5d6916916fa25ae0befbf63b004}{eventloop} () const }
\label{classSystem_af86cc5d6916916fa25ae0befbf63b004}

\begin{DoxyCompactList}\small\item\em Get \hyperlink{classEventLoop}{EventLoop} instance that each object in RIP system should use. \item\end{DoxyCompactList}\item 
\hypertarget{classSystem_aacc6814124116714b887ce22eff43823}{
\hyperlink{classRouteDB}{RouteDatabase} \& \hyperlink{classSystem_aacc6814124116714b887ce22eff43823}{route\_\-db} ()}
\label{classSystem_aacc6814124116714b887ce22eff43823}

\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} \hyperlink{classRoute}{Route} Database that each object in \hyperlink{protocolthe-p}{the} RIP system should use. \item\end{DoxyCompactList}\item 
\hypertarget{classSystem_a311392902a8938302815d909c18c825b}{
const \hyperlink{classRouteDB}{RouteDatabase} \& \hyperlink{classSystem_a311392902a8938302815d909c18c825b}{route\_\-db} () const }
\label{classSystem_a311392902a8938302815d909c18c825b}

\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} \hyperlink{classRoute}{Route} Database that each object in \hyperlink{protocolthe-p}{the} RIP system should use. \item\end{DoxyCompactList}\item 
bool \hyperlink{classSystem_abf6ab651ab908fe2a5453195f103b87e}{set\_\-port\_\-manager} (\hyperlink{classPortManagerBase}{PortManager} $\ast$pm)
\begin{DoxyCompactList}\small\item\em Set \hyperlink{protocolthe-p}{the} port manager object associated with \hyperlink{protocolthe-p}{the} system. \item\end{DoxyCompactList}\item 
\hypertarget{classSystem_a96bb33e8923fb29253406c46b02192df}{
\hyperlink{classPortManagerBase}{PortManager} $\ast$ \hyperlink{classSystem_a96bb33e8923fb29253406c46b02192df}{port\_\-manager} ()}
\label{classSystem_a96bb33e8923fb29253406c46b02192df}

\begin{DoxyCompactList}\small\item\em Get pointer to PortManager that \hyperlink{protocolthe-p}{the} RIP system is using. \item\end{DoxyCompactList}\item 
\hypertarget{classSystem_ac5f1f5d93902d0b74fe0d266142fe1eb}{
const \hyperlink{classPortManagerBase}{PortManager} $\ast$ \hyperlink{classSystem_ac5f1f5d93902d0b74fe0d266142fe1eb}{port\_\-manager} () const }
\label{classSystem_ac5f1f5d93902d0b74fe0d266142fe1eb}

\begin{DoxyCompactList}\small\item\em Get pointer PortManager that \hyperlink{protocolthe-p}{the} RIP system is using. \item\end{DoxyCompactList}\item 
void \hyperlink{classSystem_a95f5de8963ee945ce45208f22d5286b8}{configure\_\-filter} (const uint32\_\-t \&filter, const string \&conf)
\begin{DoxyCompactList}\small\item\em Configure a policy filter. \item\end{DoxyCompactList}\item 
void \hyperlink{classSystem_aefab918c5cb984c1dcbc39e9295e9d11}{reset\_\-filter} (const uint32\_\-t \&filter)
\begin{DoxyCompactList}\small\item\em Reset a policy filter. \item\end{DoxyCompactList}\item 
\hypertarget{classSystem_acaa8b2aadf07d22657b8688f6e057a24}{
void \hyperlink{classSystem_acaa8b2aadf07d22657b8688f6e057a24}{push\_\-routes} ()}
\label{classSystem_acaa8b2aadf07d22657b8688f6e057a24}

\begin{DoxyCompactList}\small\item\em \hyperlink{classPush}{Push} routes through policy filters for re-\/filtering. \item\end{DoxyCompactList}\item 
\hyperlink{classPolicyFilters}{PolicyFilters} \& \hyperlink{classSystem_a4c435d9cdaa7268454e29d416d4d2aae}{policy\_\-filters} ()
\item 
\hypertarget{classSystem_a574054d8c7e92b2b9e4553169ad815d7}{
\hyperlink{structTrace}{Trace} \& {\bfseries route\_\-trace} ()}
\label{classSystem_a574054d8c7e92b2b9e4553169ad815d7}

\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classSystem_a372c624bb114f08fa2aa5b5516223edb}{
\hyperlink{classEventLoop}{EventLoop} \& {\bfseries \_\-e}}
\label{classSystem_a372c624bb114f08fa2aa5b5516223edb}

\item 
\hypertarget{classSystem_ac05c1ddb91d43e25977eecad8229a235}{
\hyperlink{classPolicyFilters}{PolicyFilters} {\bfseries \_\-policy\_\-filters}}
\label{classSystem_ac05c1ddb91d43e25977eecad8229a235}

\item 
\hypertarget{classSystem_a8926441f3ff6c31816d0d024dd3e334a}{
\hyperlink{classRouteDB}{RouteDatabase} {\bfseries \_\-rtdb}}
\label{classSystem_a8926441f3ff6c31816d0d024dd3e334a}

\item 
\hypertarget{classSystem_a494d2155d856d22fb751299fc297eab1}{
\hyperlink{classPortManagerBase}{PortManager} $\ast$ {\bfseries \_\-pm}}
\label{classSystem_a494d2155d856d22fb751299fc297eab1}

\end{DoxyCompactItemize}


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

Top Level container for XORP RIP implementation. 

\subsection{Member Function Documentation}
\hypertarget{classSystem_a95f5de8963ee945ce45208f22d5286b8}{
\index{System@{System}!configure\_\-filter@{configure\_\-filter}}
\index{configure\_\-filter@{configure\_\-filter}!System@{System}}
\subsubsection[{configure\_\-filter}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename A$>$ void {\bf System}$<$ A $>$::configure\_\-filter (
\begin{DoxyParamCaption}
\item[{const uint32\_\-t \&}]{filter, }
\item[{const string \&}]{conf}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classSystem_a95f5de8963ee945ce45208f22d5286b8}


Configure a policy filter. 


\begin{DoxyParams}{Parameters}
{\em filter} & id of filter to configure. \\
\hline
{\em conf} & configuration of filter. \\
\hline
\end{DoxyParams}
\hypertarget{classSystem_a4c435d9cdaa7268454e29d416d4d2aae}{
\index{System@{System}!policy\_\-filters@{policy\_\-filters}}
\index{policy\_\-filters@{policy\_\-filters}!System@{System}}
\subsubsection[{policy\_\-filters}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename A$>$ {\bf PolicyFilters}\& {\bf System}$<$ A $>$::policy\_\-filters (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classSystem_a4c435d9cdaa7268454e29d416d4d2aae}
\begin{DoxyReturn}{Returns}
reference to global policy filters. 
\end{DoxyReturn}
\hypertarget{classSystem_aefab918c5cb984c1dcbc39e9295e9d11}{
\index{System@{System}!reset\_\-filter@{reset\_\-filter}}
\index{reset\_\-filter@{reset\_\-filter}!System@{System}}
\subsubsection[{reset\_\-filter}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename A$>$ void {\bf System}$<$ A $>$::reset\_\-filter (
\begin{DoxyParamCaption}
\item[{const uint32\_\-t \&}]{filter}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classSystem_aefab918c5cb984c1dcbc39e9295e9d11}


Reset a policy filter. 


\begin{DoxyParams}{Parameters}
{\em filter} & id of filter to reset. \\
\hline
\end{DoxyParams}
\hypertarget{classSystem_abf6ab651ab908fe2a5453195f103b87e}{
\index{System@{System}!set\_\-port\_\-manager@{set\_\-port\_\-manager}}
\index{set\_\-port\_\-manager@{set\_\-port\_\-manager}!System@{System}}
\subsubsection[{set\_\-port\_\-manager}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename A $>$ bool {\bf System}$<$ A $>$::set\_\-port\_\-manager (
\begin{DoxyParamCaption}
\item[{{\bf PortManager} $\ast$}]{pm}
\end{DoxyParamCaption}
)}}
\label{classSystem_abf6ab651ab908fe2a5453195f103b87e}


Set \hyperlink{protocolthe-p}{the} port manager object associated with \hyperlink{protocolthe-p}{the} system. 


\begin{DoxyParams}{Parameters}
{\em pointer} & to PortManager to be used.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true if port manager has not previously been set and pointer is not null, false otherwise. 
\end{DoxyReturn}


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