\section{TPProto::Features Class Reference}
\label{classTPProto_1_1Features}\index{TPProto::Features@{TPProto::Features}}
The \doxyref{Features}{p.}{classTPProto_1_1Features} frame is sent from the server to describe some of the options it supports.  


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

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

\begin{CompactList}\small\item\em Default constructor. \item\end{CompactList}\item 
virtual {\bf $\sim$Features} ()\label{classTPProto_1_1Features_f4d97529fffc9047f16a07d2c7b62267}

\begin{CompactList}\small\item\em Required virtual destructor. \item\end{CompactList}\item 
void {\bf pack\-Buffer} ({\bf Buffer} $\ast$buf)
\begin{CompactList}\small\item\em Pack into a \doxyref{Buffer}{p.}{classTPProto_1_1Buffer}, asserts. \item\end{CompactList}\item 
bool {\bf unpack\-Buffer} ({\bf Buffer} $\ast$buf)
\begin{CompactList}\small\item\em Unpack from a \doxyref{Buffer}{p.}{classTPProto_1_1Buffer}. Unpacks the \doxyref{Features}{p.}{classTPProto_1_1Features} frame from the buffer. \item\end{CompactList}\item 
bool {\bf has\-Secure\-This\-Port} () const
\begin{CompactList}\small\item\em Does this port support secure connection. \item\end{CompactList}\item 
bool {\bf has\-Secure\-Other\-Port} () const
\begin{CompactList}\small\item\em Does another port support secure connection. \item\end{CompactList}\item 
bool {\bf has\-Http\-Tunneling\-This\-Port} () const
\begin{CompactList}\small\item\em Does this port support secure connection. \item\end{CompactList}\item 
bool {\bf has\-Http\-Tunneling\-Other\-Port} () const
\begin{CompactList}\small\item\em Does this port support secure connection. \item\end{CompactList}\item 
bool {\bf supports\-Ping} () const
\begin{CompactList}\small\item\em Does this port support secure connection. \item\end{CompactList}\item 
bool {\bf supports\-Server\-Side\-Property\-Calc} () const
\begin{CompactList}\small\item\em Does this port support secure connection. \item\end{CompactList}\item 
bool {\bf is\-Set} (uint32\_\-t val) const 
\begin{CompactList}\small\item\em Does this port support secure connection. \item\end{CompactList}\end{CompactItemize}
\subsection*{Protected Attributes}
\begin{CompactItemize}
\item 
std::set$<$ uint32\_\-t $>$ {\bf features}\label{classTPProto_1_1Features_912f9ac1870111c6c60555907e31e44b}

\begin{CompactList}\small\item\em The set of features supported by the server. \item\end{CompactList}\end{CompactItemize}


\subsection{Detailed Description}
The \doxyref{Features}{p.}{classTPProto_1_1Features} frame is sent from the server to describe some of the options it supports. 



\subsection{Member Function Documentation}
\index{TPProto::Features@{TPProto::Features}!packBuffer@{packBuffer}}
\index{packBuffer@{packBuffer}!TPProto::Features@{TPProto::Features}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void TPProto::Features::pack\-Buffer ({\bf Buffer} $\ast$ {\em buf})\hspace{0.3cm}{\tt  [virtual]}}\label{classTPProto_1_1Features_e3773833dfbfd09dc01c860fb659dd3c}


Pack into a \doxyref{Buffer}{p.}{classTPProto_1_1Buffer}, asserts. 

Packs this \doxyref{Features}{p.}{classTPProto_1_1Features} frame into the buffer. Since the frame only comes from the server, this method assert(0). \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em buf}]\doxyref{Buffer}{p.}{classTPProto_1_1Buffer} to pack into, ignored. \end{description}
\end{Desc}


Implements {\bf TPProto::Frame} \doxyref{}{p.}{classTPProto_1_1Frame_67b50ee76e90385e56f04202ce1da67e}.\index{TPProto::Features@{TPProto::Features}!unpackBuffer@{unpackBuffer}}
\index{unpackBuffer@{unpackBuffer}!TPProto::Features@{TPProto::Features}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool TPProto::Features::unpack\-Buffer ({\bf Buffer} $\ast$ {\em buf})\hspace{0.3cm}{\tt  [virtual]}}\label{classTPProto_1_1Features_54a94f30d3f861bf64e0f5a606d0249b}


Unpack from a \doxyref{Buffer}{p.}{classTPProto_1_1Buffer}. Unpacks the \doxyref{Features}{p.}{classTPProto_1_1Features} frame from the buffer. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em buf}]The \doxyref{Buffer}{p.}{classTPProto_1_1Buffer} to unpack out of. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]True if sucessful, false otherwise. \end{Desc}


Implements {\bf TPProto::Frame} \doxyref{}{p.}{classTPProto_1_1Frame_fe220a4229f471a3cc6a143f7a27e321}.\index{TPProto::Features@{TPProto::Features}!hasSecureThisPort@{hasSecureThisPort}}
\index{hasSecureThisPort@{hasSecureThisPort}!TPProto::Features@{TPProto::Features}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool TPProto::Features::has\-Secure\-This\-Port () const}\label{classTPProto_1_1Features_0a77965dfdcdc4b980efe1d0bc43acb6}


Does this port support secure connection. 

\begin{Desc}
\item[Returns:]True if the server supports secure connection on this port. \end{Desc}
\index{TPProto::Features@{TPProto::Features}!hasSecureOtherPort@{hasSecureOtherPort}}
\index{hasSecureOtherPort@{hasSecureOtherPort}!TPProto::Features@{TPProto::Features}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool TPProto::Features::has\-Secure\-Other\-Port () const}\label{classTPProto_1_1Features_e2e8ff5ad86a6aa59658e8ffeb5f7887}


Does another port support secure connection. 

\begin{Desc}
\item[Returns:]True if the server supports secure connection on a different port. \end{Desc}
\index{TPProto::Features@{TPProto::Features}!hasHttpTunnelingThisPort@{hasHttpTunnelingThisPort}}
\index{hasHttpTunnelingThisPort@{hasHttpTunnelingThisPort}!TPProto::Features@{TPProto::Features}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool TPProto::Features::has\-Http\-Tunneling\-This\-Port () const}\label{classTPProto_1_1Features_c4dad4b93a26d424e19c70fd32cc13eb}


Does this port support secure connection. 

\begin{Desc}
\item[Returns:]True if the server supports secure connection on this port. \end{Desc}
\index{TPProto::Features@{TPProto::Features}!hasHttpTunnelingOtherPort@{hasHttpTunnelingOtherPort}}
\index{hasHttpTunnelingOtherPort@{hasHttpTunnelingOtherPort}!TPProto::Features@{TPProto::Features}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool TPProto::Features::has\-Http\-Tunneling\-Other\-Port () const}\label{classTPProto_1_1Features_9d609e9f93eb02ff447b23f73eb6c0de}


Does this port support secure connection. 

\begin{Desc}
\item[Returns:]True if the server supports secure connection on this port. \end{Desc}
\index{TPProto::Features@{TPProto::Features}!supportsPing@{supportsPing}}
\index{supportsPing@{supportsPing}!TPProto::Features@{TPProto::Features}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool TPProto::Features::supports\-Ping () const}\label{classTPProto_1_1Features_a1b026e570d8f356e7a94522f0f17ac3}


Does this port support secure connection. 

\begin{Desc}
\item[Returns:]True if the server supports secure connection on this port. \end{Desc}
\index{TPProto::Features@{TPProto::Features}!supportsServerSidePropertyCalc@{supportsServerSidePropertyCalc}}
\index{supportsServerSidePropertyCalc@{supportsServerSidePropertyCalc}!TPProto::Features@{TPProto::Features}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool TPProto::Features::supports\-Server\-Side\-Property\-Calc () const}\label{classTPProto_1_1Features_385d9ed1d010e1f69125b9071154f87b}


Does this port support secure connection. 

\begin{Desc}
\item[Returns:]True if the server supports secure connection on this port. \end{Desc}
\index{TPProto::Features@{TPProto::Features}!isSet@{isSet}}
\index{isSet@{isSet}!TPProto::Features@{TPProto::Features}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool TPProto::Features::is\-Set (uint32\_\-t {\em val}) const}\label{classTPProto_1_1Features_c6444b166a55907e7247fa1bc3bf1933}


Does this port support secure connection. 

\begin{Desc}
\item[Returns:]True if the server supports secure connection on this port. \end{Desc}


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