\hypertarget{class_b_m_a_h_t_t_p_server}{}\section{B\+M\+A\+H\+T\+T\+P\+Server Class Reference}
\label{class_b_m_a_h_t_t_p_server}\index{B\+M\+A\+H\+T\+T\+P\+Server@{B\+M\+A\+H\+T\+T\+P\+Server}}


Inheritance diagram for B\+M\+A\+H\+T\+T\+P\+Server\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=270pt]{class_b_m_a_h_t_t_p_server__inherit__graph}
\end{center}
\end{figure}


Collaboration diagram for B\+M\+A\+H\+T\+T\+P\+Server\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{class_b_m_a_h_t_t_p_server__coll__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{class_b_m_a_h_t_t_p_server_a3c87f61bd95e6b6b7063767107be888f}\label{class_b_m_a_h_t_t_p_server_a3c87f61bd95e6b6b7063767107be888f}} 
{\bfseries B\+M\+A\+H\+T\+T\+P\+Server} (\hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} \&e\+Poll, std\+::string url, short int port, std\+::string command\+Name)
\item 
\mbox{\Hypertarget{class_b_m_a_h_t_t_p_server_af96543117f0ac993e6739671b0fd2cce}\label{class_b_m_a_h_t_t_p_server_af96543117f0ac993e6739671b0fd2cce}} 
void {\bfseries register\+Handler} (std\+::string path, \hyperlink{class_b_m_a_h_t_t_p_request_handler}{B\+M\+A\+H\+T\+T\+P\+Request\+Handler} \&request\+Handler)
\item 
\mbox{\Hypertarget{class_b_m_a_h_t_t_p_server_a52503f63c721e256c215f365c248c684}\label{class_b_m_a_h_t_t_p_server_a52503f63c721e256c215f365c248c684}} 
void {\bfseries unregister\+Handler} (\hyperlink{class_b_m_a_h_t_t_p_request_handler}{B\+M\+A\+H\+T\+T\+P\+Request\+Handler} \&request\+Handler)
\item 
\mbox{\Hypertarget{class_b_m_a_h_t_t_p_server_a97d50eaf2bbfdc82df19a13233e986b8}\label{class_b_m_a_h_t_t_p_server_a97d50eaf2bbfdc82df19a13233e986b8}} 
\hyperlink{class_b_m_a_h_t_t_p_request_handler}{B\+M\+A\+H\+T\+T\+P\+Request\+Handler} $\ast$ {\bfseries get\+Request\+Handler} (std\+::string path)
\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{class_b_m_a_h_t_t_p_server_a9769e9ff4c6dc4b662f1332daa0801d0}\label{class_b_m_a_h_t_t_p_server_a9769e9ff4c6dc4b662f1332daa0801d0}} 
std\+::map$<$ std\+::string, \hyperlink{class_b_m_a_h_t_t_p_request_handler}{B\+M\+A\+H\+T\+T\+P\+Request\+Handler} $\ast$ $>$ {\bfseries request\+Handlers}
\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{class_b_m_a_session}{B\+M\+A\+Session} $\ast$ \hyperlink{class_b_m_a_h_t_t_p_server_a0131e030bf8ee9850059e33f4d160a88}{get\+Socket\+Accept} () override
\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}


\subsection{Member Function Documentation}
\mbox{\Hypertarget{class_b_m_a_h_t_t_p_server_a0131e030bf8ee9850059e33f4d160a88}\label{class_b_m_a_h_t_t_p_server_a0131e030bf8ee9850059e33f4d160a88}} 
\index{B\+M\+A\+H\+T\+T\+P\+Server@{B\+M\+A\+H\+T\+T\+P\+Server}!get\+Socket\+Accept@{get\+Socket\+Accept}}
\index{get\+Socket\+Accept@{get\+Socket\+Accept}!B\+M\+A\+H\+T\+T\+P\+Server@{B\+M\+A\+H\+T\+T\+P\+Server}}
\subsubsection{\texorpdfstring{get\+Socket\+Accept()}{getSocketAccept()}}
{\footnotesize\ttfamily \hyperlink{class_b_m_a_session}{B\+M\+A\+Session} $\ast$ B\+M\+A\+H\+T\+T\+P\+Server\+::get\+Socket\+Accept (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [protected]}, {\ttfamily [virtual]}}

get\+Socket\+Accept is designed to allow a polymorphic extension of this object to return a type of object that extends the definition of the server socket. Returning the appropriate session object that extends from \hyperlink{class_b_m_a_session}{B\+M\+A\+Session} provides the mechanism where the server can select the protocol dialog for the desired service. 

Implements \hyperlink{class_b_m_a_t_c_p_server_socket_a5eb805883d7a496be0a1cbc81c09c145}{B\+M\+A\+T\+C\+P\+Server\+Socket}.



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+H\+T\+T\+P\+Server.\+h\item 
/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+H\+T\+T\+P\+Server.\+cpp\end{DoxyCompactItemize}
