\hypertarget{classFirewallTransactionManager}{
\section{FirewallTransactionManager Class Reference}
\label{classFirewallTransactionManager}\index{FirewallTransactionManager@{FirewallTransactionManager}}
}


A class to store and execute firewall transactions.  




{\ttfamily \#include $<$firewall\_\-transaction.hh$>$}

Inheritance diagram for FirewallTransactionManager:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classFirewallTransactionManager}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classFirewallTransactionManager_a62af3981ca2a83b213503493a48dfd10}{FirewallTransactionManager} (\hyperlink{classEventLoop}{EventLoop} \&eventloop)
\begin{DoxyCompactList}\small\item\em Constructor. \item\end{DoxyCompactList}\item 
const string \& \hyperlink{classFirewallTransactionManager_acab915011f64995177dde13ed9991d94}{error} () const 
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} string with \hyperlink{protocolthe-p}{the} first error during commit. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual void \hyperlink{classFirewallTransactionManager_aa500bbec2eb89d812e0b468e76059696}{pre\_\-commit} (uint32\_\-t tid)
\begin{DoxyCompactList}\small\item\em Pre-\/commit method that is called before \hyperlink{protocolthe-p}{the} first operation in a commit. \item\end{DoxyCompactList}\item 
virtual void \hyperlink{classFirewallTransactionManager_a481d4b3ac74f14cd268274dc7e7b5159}{operation\_\-result} (bool success, const \hyperlink{classTransactionOperation}{TransactionOperation} \&op)
\begin{DoxyCompactList}\small\item\em Method that is called after each operation. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Types}
\begin{DoxyCompactItemize}
\item 
enum \{ {\bfseries TIMEOUT\_\-MS} =  5000, 
{\bfseries MAX\_\-PENDING} =  10
 \}
\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classFirewallTransactionManager_a9175de60c40e9854db4a9d81778a44f4}{
void \hyperlink{classFirewallTransactionManager_a9175de60c40e9854db4a9d81778a44f4}{reset\_\-error} ()}
\label{classFirewallTransactionManager_a9175de60c40e9854db4a9d81778a44f4}

\begin{DoxyCompactList}\small\item\em Reset \hyperlink{protocolthe-p}{the} string with \hyperlink{protocolthe-p}{the} error. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classFirewallTransactionManager_aa93fde7c73f1e826b477adabf64a9cce}{
string {\bfseries \_\-first\_\-error}}
\label{classFirewallTransactionManager_aa93fde7c73f1e826b477adabf64a9cce}

\item 
\hypertarget{classFirewallTransactionManager_ad19f967e3549dd04d398f4ce6b9ced21}{
uint32\_\-t {\bfseries \_\-tid\_\-exec}}
\label{classFirewallTransactionManager_ad19f967e3549dd04d398f4ce6b9ced21}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
A class to store and execute firewall transactions. A firewall transaction is a sequence of commands that should executed atomically. 

\subsection{Constructor \& Destructor Documentation}
\hypertarget{classFirewallTransactionManager_a62af3981ca2a83b213503493a48dfd10}{
\index{FirewallTransactionManager@{FirewallTransactionManager}!FirewallTransactionManager@{FirewallTransactionManager}}
\index{FirewallTransactionManager@{FirewallTransactionManager}!FirewallTransactionManager@{FirewallTransactionManager}}
\subsubsection[{FirewallTransactionManager}]{\setlength{\rightskip}{0pt plus 5cm}FirewallTransactionManager::FirewallTransactionManager (
\begin{DoxyParamCaption}
\item[{{\bf EventLoop} \&}]{eventloop}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classFirewallTransactionManager_a62af3981ca2a83b213503493a48dfd10}


Constructor. 


\begin{DoxyParams}{Parameters}
{\em eventloop} & \hyperlink{protocolthe-p}{the} event loop to use. \\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{classFirewallManager}{FirewallManager}. 
\end{DoxySeeAlso}


\subsection{Member Function Documentation}
\hypertarget{classFirewallTransactionManager_acab915011f64995177dde13ed9991d94}{
\index{FirewallTransactionManager@{FirewallTransactionManager}!error@{error}}
\index{error@{error}!FirewallTransactionManager@{FirewallTransactionManager}}
\subsubsection[{error}]{\setlength{\rightskip}{0pt plus 5cm}const string\& FirewallTransactionManager::error (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classFirewallTransactionManager_acab915011f64995177dde13ed9991d94}


Get \hyperlink{protocolthe-p}{the} string with \hyperlink{protocolthe-p}{the} first error during commit. 

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} string with \hyperlink{protocolthe-p}{the} first error during commit or an empty string if no error. 
\end{DoxyReturn}
\hypertarget{classFirewallTransactionManager_a481d4b3ac74f14cd268274dc7e7b5159}{
\index{FirewallTransactionManager@{FirewallTransactionManager}!operation\_\-result@{operation\_\-result}}
\index{operation\_\-result@{operation\_\-result}!FirewallTransactionManager@{FirewallTransactionManager}}
\subsubsection[{operation\_\-result}]{\setlength{\rightskip}{0pt plus 5cm}void FirewallTransactionManager::operation\_\-result (
\begin{DoxyParamCaption}
\item[{bool}]{success, }
\item[{const {\bf TransactionOperation} \&}]{op}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classFirewallTransactionManager_a481d4b3ac74f14cd268274dc7e7b5159}


Method that is called after each operation. 

This is an overriding method.


\begin{DoxyParams}{Parameters}
{\em success} & set to true if \hyperlink{protocolthe-p}{the} operation succeeded, otherwise false. \\
\hline
{\em op} & \hyperlink{protocolthe-p}{the} operation that has been just called. \\
\hline
\end{DoxyParams}


Reimplemented from \hyperlink{classTransactionManager_aedae741412cf8c92f0da9b46e378dc34}{TransactionManager}.

\hypertarget{classFirewallTransactionManager_aa500bbec2eb89d812e0b468e76059696}{
\index{FirewallTransactionManager@{FirewallTransactionManager}!pre\_\-commit@{pre\_\-commit}}
\index{pre\_\-commit@{pre\_\-commit}!FirewallTransactionManager@{FirewallTransactionManager}}
\subsubsection[{pre\_\-commit}]{\setlength{\rightskip}{0pt plus 5cm}void FirewallTransactionManager::pre\_\-commit (
\begin{DoxyParamCaption}
\item[{uint32\_\-t}]{tid}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classFirewallTransactionManager_aa500bbec2eb89d812e0b468e76059696}


Pre-\/commit method that is called before \hyperlink{protocolthe-p}{the} first operation in a commit. 

This is an overriding method.


\begin{DoxyParams}{Parameters}
{\em tid} & \hyperlink{protocolthe-p}{the} transaction ID. \\
\hline
\end{DoxyParams}


Reimplemented from \hyperlink{classTransactionManager_ad7f9e60f752550fffc693cbba51b097e}{TransactionManager}.



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