\section{TPProto::Component\-Cache Class Reference}
\label{classTPProto_1_1ComponentCache}\index{TPProto::ComponentCache@{TPProto::ComponentCache}}
A \doxyref{Cache}{p.}{classTPProto_1_1Cache} that caches Components.  


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

Inheritance diagram for TPProto::Component\-Cache::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2cm]{classTPProto_1_1ComponentCache}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item 
{\bf Component\-Cache} ()\label{classTPProto_1_1ComponentCache_0ce920a24f0e872d28269a0467623cf3}

\begin{CompactList}\small\item\em Default Constructor. \item\end{CompactList}\item 
virtual {\bf $\sim$Component\-Cache} ()\label{classTPProto_1_1ComponentCache_1393c00d39aae78c35fc0d5070d4a6cf}

\begin{CompactList}\small\item\em Destructor. \item\end{CompactList}\item 
void {\bf request\-Component} (uint32\_\-t compid, const Component\-Callback \&cb)
\begin{CompactList}\small\item\em Gets an \doxyref{Component}{p.}{classTPProto_1_1Component} from the cache. \item\end{CompactList}\item 
boost::signals::connection \textbf{watch\-Component} (uint32\_\-t compid, const Component\-Callback \&cb)\label{classTPProto_1_1ComponentCache_71072ec6736fc86f371e4e09049bb68e}

\item 
void \textbf{request\-Component\-Ids} (const Id\-Set\-Callback \&cb)\label{classTPProto_1_1ComponentCache_ec584b756b6b770bd8d586511b4a15bb}

\item 
boost::signals::connection \textbf{watch\-Component\-Ids} (const Id\-Set\-Callback \&cb)\label{classTPProto_1_1ComponentCache_f46d9368a71ced598d09c0ad567a12df}

\item 
virtual {\bf Get\-Id\-Sequence} $\ast$ {\bf create\-Get\-Id\-Sequence\-Frame} ()\label{classTPProto_1_1ComponentCache_344da14dd002338274524160f5b72dd7}

\begin{CompactList}\small\item\em Create a Get\-Ids\-Sequence subclass frame for the \doxyref{Cache\-Method}{p.}{classTPProto_1_1CacheMethod} to use. Must return the correct type of frame for this \doxyref{Cache}{p.}{classTPProto_1_1Cache}. \item\end{CompactList}\item 
virtual {\bf Get\-By\-Id} $\ast$ {\bf create\-Get\-By\-Id\-Frame} ()\label{classTPProto_1_1ComponentCache_db170c36c82875c8e559d9d846c4e823}

\begin{CompactList}\small\item\em Create a \doxyref{Get\-By\-Id}{p.}{classTPProto_1_1GetById} subclass frame for the \doxyref{Cache\-Method}{p.}{classTPProto_1_1CacheMethod} to use. Must return the correct type of frame for this \doxyref{Cache}{p.}{classTPProto_1_1Cache}. \item\end{CompactList}\item 
virtual uint32\_\-t {\bf get\-Id\-From\-Frame} ({\bf Frame} $\ast$frame)
\begin{CompactList}\small\item\em Get the Id from the \doxyref{Frame}{p.}{classTPProto_1_1Frame} provided. The \doxyref{Frame}{p.}{classTPProto_1_1Frame} is of the correct type. For example, for the \doxyref{Object}{p.}{classTPProto_1_1Object} cache, the \doxyref{Frame}{p.}{classTPProto_1_1Frame} will be an \doxyref{Object}{p.}{classTPProto_1_1Object}. \item\end{CompactList}\item 
virtual uint64\_\-t {\bf get\-Mod\-Time\-From\-Frame} ({\bf Frame} $\ast$frame)
\begin{CompactList}\small\item\em Get the Modification time from the \doxyref{Frame}{p.}{classTPProto_1_1Frame} provided. The \doxyref{Frame}{p.}{classTPProto_1_1Frame} is of the correct type. For example, for the \doxyref{Object}{p.}{classTPProto_1_1Object} cache, the \doxyref{Frame}{p.}{classTPProto_1_1Frame} will be an \doxyref{Object}{p.}{classTPProto_1_1Object}. \item\end{CompactList}\item 
virtual void {\bf new\-Item} (boost::shared\_\-ptr$<$ {\bf Frame} $>$ item)
\begin{CompactList}\small\item\em Receive a new or updated version of an item from the \doxyref{Cache\-Method}{p.}{classTPProto_1_1CacheMethod}. \item\end{CompactList}\item 
virtual void {\bf existing\-Item} (boost::shared\_\-ptr$<$ {\bf Frame} $>$ item)
\begin{CompactList}\small\item\em Receive an existing item from the \doxyref{Cache\-Method}{p.}{classTPProto_1_1CacheMethod}. \item\end{CompactList}\end{CompactItemize}


\subsection{Detailed Description}
A \doxyref{Cache}{p.}{classTPProto_1_1Cache} that caches Components. 



\subsection{Member Function Documentation}
\index{TPProto::ComponentCache@{TPProto::Component\-Cache}!requestComponent@{requestComponent}}
\index{requestComponent@{requestComponent}!TPProto::ComponentCache@{TPProto::Component\-Cache}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void TPProto::Component\-Cache::request\-Component (uint32\_\-t {\em compid}, const Component\-Callback \& {\em cb})}\label{classTPProto_1_1ComponentCache_f6844186b31581aaed9857f3dd67377c}


Gets an \doxyref{Component}{p.}{classTPProto_1_1Component} from the cache. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em compid}]The id of the \doxyref{Component}{p.}{classTPProto_1_1Component} to get. \item[{\em cb}]The Component\-Callback to call to return the \doxyref{Component}{p.}{classTPProto_1_1Component}. \end{description}
\end{Desc}
\index{TPProto::ComponentCache@{TPProto::Component\-Cache}!getIdFromFrame@{getIdFromFrame}}
\index{getIdFromFrame@{getIdFromFrame}!TPProto::ComponentCache@{TPProto::Component\-Cache}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}uint32\_\-t TPProto::Component\-Cache::get\-Id\-From\-Frame ({\bf Frame} $\ast$ {\em frame})\hspace{0.3cm}{\tt  [virtual]}}\label{classTPProto_1_1ComponentCache_8d54929a06ec8e4bcceaa666237bb365}


Get the Id from the \doxyref{Frame}{p.}{classTPProto_1_1Frame} provided. The \doxyref{Frame}{p.}{classTPProto_1_1Frame} is of the correct type. For example, for the \doxyref{Object}{p.}{classTPProto_1_1Object} cache, the \doxyref{Frame}{p.}{classTPProto_1_1Frame} will be an \doxyref{Object}{p.}{classTPProto_1_1Object}. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em frame}]The \doxyref{Frame}{p.}{classTPProto_1_1Frame} to get the Id from. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]The id of the frame. \end{Desc}


Implements {\bf TPProto::Cache} \doxyref{}{p.}{classTPProto_1_1Cache_75a6f039db7cb69b6019c928776c574f}.\index{TPProto::ComponentCache@{TPProto::Component\-Cache}!getModTimeFromFrame@{getModTimeFromFrame}}
\index{getModTimeFromFrame@{getModTimeFromFrame}!TPProto::ComponentCache@{TPProto::Component\-Cache}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}uint64\_\-t TPProto::Component\-Cache::get\-Mod\-Time\-From\-Frame ({\bf Frame} $\ast$ {\em frame})\hspace{0.3cm}{\tt  [virtual]}}\label{classTPProto_1_1ComponentCache_7760928b2db9711e772ac34528626a97}


Get the Modification time from the \doxyref{Frame}{p.}{classTPProto_1_1Frame} provided. The \doxyref{Frame}{p.}{classTPProto_1_1Frame} is of the correct type. For example, for the \doxyref{Object}{p.}{classTPProto_1_1Object} cache, the \doxyref{Frame}{p.}{classTPProto_1_1Frame} will be an \doxyref{Object}{p.}{classTPProto_1_1Object}. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em frame}]The \doxyref{Frame}{p.}{classTPProto_1_1Frame} to get the Modtime from. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]The modtime of the frame. \end{Desc}


Implements {\bf TPProto::Cache} \doxyref{}{p.}{classTPProto_1_1Cache_019bddc598295778f9b0f8f05ad23c2f}.\index{TPProto::ComponentCache@{TPProto::Component\-Cache}!newItem@{newItem}}
\index{newItem@{newItem}!TPProto::ComponentCache@{TPProto::Component\-Cache}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void TPProto::Component\-Cache::new\-Item (boost::shared\_\-ptr$<$ {\bf Frame} $>$ {\em item})\hspace{0.3cm}{\tt  [virtual]}}\label{classTPProto_1_1ComponentCache_f01fc6559e6d288fe382523d129da0d7}


Receive a new or updated version of an item from the \doxyref{Cache\-Method}{p.}{classTPProto_1_1CacheMethod}. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em item}]The existing item in a \doxyref{Frame}{p.}{classTPProto_1_1Frame} \end{description}
\end{Desc}


Implements {\bf TPProto::Cache} \doxyref{}{p.}{classTPProto_1_1Cache_202281d5db63116a41517d794f98c7df}.\index{TPProto::ComponentCache@{TPProto::Component\-Cache}!existingItem@{existingItem}}
\index{existingItem@{existingItem}!TPProto::ComponentCache@{TPProto::Component\-Cache}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void TPProto::Component\-Cache::existing\-Item (boost::shared\_\-ptr$<$ {\bf Frame} $>$ {\em item})\hspace{0.3cm}{\tt  [virtual]}}\label{classTPProto_1_1ComponentCache_ec3444ec77cc228d62916777f6e70247}


Receive an existing item from the \doxyref{Cache\-Method}{p.}{classTPProto_1_1CacheMethod}. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em item}]The existing item in a \doxyref{Frame}{p.}{classTPProto_1_1Frame} \end{description}
\end{Desc}


Implements {\bf TPProto::Cache} \doxyref{}{p.}{classTPProto_1_1Cache_4047c19364373975e47acaaea50665da}.

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