\section{TPProto::Frame\-Builder Class Reference}
\label{classTPProto_1_1FrameBuilder}\index{TPProto::FrameBuilder@{TPProto::FrameBuilder}}
Builds Frames from frame type and \doxyref{Buffer}{p.}{classTPProto_1_1Buffer}.  


{\tt \#include $<$framebuilder.h$>$}

\subsection*{Public Member Functions}
\begin{CompactItemize}
\item 
{\bf Frame\-Builder} ()\label{classTPProto_1_1FrameBuilder_2a9780fce4815e1e236bcc20e5110340}

\begin{CompactList}\small\item\em Constructs object and sets up defaults. \item\end{CompactList}\item 
virtual {\bf $\sim$Frame\-Builder} ()\label{classTPProto_1_1FrameBuilder_d35d664c32f88cdd7597fcdeb71e5063}

\begin{CompactList}\small\item\em Destructor. \item\end{CompactList}\item 
void {\bf set\-Protocol\-Layer} ({\bf Protocol\-Layer} $\ast$pl)
\begin{CompactList}\small\item\em Sets the \doxyref{Protocol\-Layer}{p.}{classTPProto_1_1ProtocolLayer}. \item\end{CompactList}\item 
void \textbf{set\-Order\-Desc\-Cache} ({\bf Order\-Desc\-Cache} $\ast$odc)\label{classTPProto_1_1FrameBuilder_a4c2084078b2739a521963d45d14b1e1}

\item 
void \textbf{set\-Object\-Desc\-Cache} ({\bf Object\-Desc\-Cache} $\ast$odc)\label{classTPProto_1_1FrameBuilder_41c843e9db05e8abc200619289fe1cdb}

\item 
void \textbf{set\-Command\-Desc\-Cache} ({\bf Command\-Desc\-Cache} $\ast$cdc)\label{classTPProto_1_1FrameBuilder_c3c18a9e35b873f4a60b8a59e0672d32}

\item 
virtual void {\bf build\-Frame} (uint32\_\-t type, {\bf Buffer} $\ast$data, uint32\_\-t ftver, uint32\_\-t seqnum)
\begin{CompactList}\small\item\em Builds a frame from it's type. Builds a frame subclass object that corresponds to the type given, or NULL if none is found. \doxyref{Frame}{p.}{classTPProto_1_1Frame} sent to Frame\-Codec::received\-Frame(). \item\end{CompactList}\end{CompactItemize}
\subsection*{Protected Member Functions}
\begin{CompactItemize}
\item 
void \textbf{process\-Order\-Description} ({\bf Frame} $\ast$frame, {\bf Buffer} $\ast$data, boost::shared\_\-ptr$<$ {\bf Order\-Description} $>$ od)\label{classTPProto_1_1FrameBuilder_4a493f4a482e0e86546109b44d9f2b2d}

\item 
void \textbf{process\-Object\-Description} ({\bf Frame} $\ast$frame, {\bf Buffer} $\ast$data, boost::shared\_\-ptr$<$ {\bf Object\-Description} $>$ od)\label{classTPProto_1_1FrameBuilder_23e6d9c0f1f883ca343c92539d87b699}

\item 
void \textbf{process\-Command\-Description} ({\bf Frame} $\ast$frame, {\bf Buffer} $\ast$data, boost::shared\_\-ptr$<$ {\bf Command\-Description} $>$ cd)\label{classTPProto_1_1FrameBuilder_d2fc4f961663a6e22ebc5c327101c82a}

\end{CompactItemize}
\subsection*{Protected Attributes}
\begin{CompactItemize}
\item 
{\bf Protocol\-Layer} $\ast$ {\bf layer}\label{classTPProto_1_1FrameBuilder_324b23527675f74963eb72f748fbd545}

\begin{CompactList}\small\item\em The \doxyref{Protocol\-Layer}{p.}{classTPProto_1_1ProtocolLayer} this \doxyref{Frame\-Builder}{p.}{classTPProto_1_1FrameBuilder} is part of. \item\end{CompactList}\item 
{\bf Order\-Desc\-Cache} $\ast$ {\bf orderdesccache}
\item 
{\bf Object\-Desc\-Cache} $\ast$ {\bf objectdesccache}
\item 
{\bf Command\-Desc\-Cache} $\ast$ {\bf commanddesccache}
\end{CompactItemize}


\subsection{Detailed Description}
Builds Frames from frame type and \doxyref{Buffer}{p.}{classTPProto_1_1Buffer}. 

Also creates Objects from object types, Orders from order types, and Commands from command types. 



\subsection{Member Function Documentation}
\index{TPProto::FrameBuilder@{TPProto::Frame\-Builder}!setProtocolLayer@{setProtocolLayer}}
\index{setProtocolLayer@{setProtocolLayer}!TPProto::FrameBuilder@{TPProto::Frame\-Builder}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void TPProto::Frame\-Builder::set\-Protocol\-Layer ({\bf Protocol\-Layer} $\ast$ {\em pl})}\label{classTPProto_1_1FrameBuilder_610114620270e4891c4dcd8775cefdba}


Sets the \doxyref{Protocol\-Layer}{p.}{classTPProto_1_1ProtocolLayer}. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em pl}]The \doxyref{Protocol\-Layer}{p.}{classTPProto_1_1ProtocolLayer} to use. \end{description}
\end{Desc}
\index{TPProto::FrameBuilder@{TPProto::Frame\-Builder}!buildFrame@{buildFrame}}
\index{buildFrame@{buildFrame}!TPProto::FrameBuilder@{TPProto::Frame\-Builder}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void TPProto::Frame\-Builder::build\-Frame (uint32\_\-t {\em type}, {\bf Buffer} $\ast$ {\em data}, uint32\_\-t {\em ftver}, uint32\_\-t {\em seqnum})\hspace{0.3cm}{\tt  [virtual]}}\label{classTPProto_1_1FrameBuilder_8a73e32df20bc7d16645651f7fafe8a4}


Builds a frame from it's type. Builds a frame subclass object that corresponds to the type given, or NULL if none is found. \doxyref{Frame}{p.}{classTPProto_1_1Frame} sent to Frame\-Codec::received\-Frame(). 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em type}]The type of frame to build. \item[{\em data}]The \doxyref{Buffer}{p.}{classTPProto_1_1Buffer} of data that is the contents of the frame. \item[{\em ftver}]The version of the frametype \item[{\em seqnum}]The sequence number \end{description}
\end{Desc}


\subsection{Member Data Documentation}
\index{TPProto::FrameBuilder@{TPProto::Frame\-Builder}!orderdesccache@{orderdesccache}}
\index{orderdesccache@{orderdesccache}!TPProto::FrameBuilder@{TPProto::Frame\-Builder}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Order\-Desc\-Cache}$\ast$ {\bf TPProto::Frame\-Builder::orderdesccache}\hspace{0.3cm}{\tt  [protected]}}\label{classTPProto_1_1FrameBuilder_edd60f8622766611ecf3000847de78b8}


The \doxyref{Order\-Desc\-Cache}{p.}{classTPProto_1_1OrderDescCache} to use to create Orders. \index{TPProto::FrameBuilder@{TPProto::Frame\-Builder}!objectdesccache@{objectdesccache}}
\index{objectdesccache@{objectdesccache}!TPProto::FrameBuilder@{TPProto::Frame\-Builder}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Object\-Desc\-Cache}$\ast$ {\bf TPProto::Frame\-Builder::objectdesccache}\hspace{0.3cm}{\tt  [protected]}}\label{classTPProto_1_1FrameBuilder_036edff7dca027da79047243c6ad34ac}


The \doxyref{Object\-Desc\-Cache}{p.}{classTPProto_1_1ObjectDescCache} to use to create Objects. \index{TPProto::FrameBuilder@{TPProto::Frame\-Builder}!commanddesccache@{commanddesccache}}
\index{commanddesccache@{commanddesccache}!TPProto::FrameBuilder@{TPProto::Frame\-Builder}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Command\-Desc\-Cache}$\ast$ {\bf TPProto::Frame\-Builder::commanddesccache}\hspace{0.3cm}{\tt  [protected]}}\label{classTPProto_1_1FrameBuilder_c7176d5e54719c5753a892802f5d9b2b}


The \doxyref{Command\-Desc\-Cache}{p.}{classTPProto_1_1CommandDescCache} to use to create Commands. 

The documentation for this class was generated from the following files:\begin{CompactItemize}
\item 
tpproto/{\bf framebuilder.h}\item 
tpproto/framebuilder.cpp\end{CompactItemize}
