\hypertarget{class_b_m_a_s_i_p_server}{}\section{B\+M\+A\+S\+I\+P\+Server Class Reference}
\label{class_b_m_a_s_i_p_server}\index{B\+M\+A\+S\+I\+P\+Server@{B\+M\+A\+S\+I\+P\+Server}}


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


Collaboration diagram for B\+M\+A\+S\+I\+P\+Server\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{class_b_m_a_s_i_p_server__coll__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{class_b_m_a_s_i_p_server_ae196b9426443d3d155fc15eca55efb72}\label{class_b_m_a_s_i_p_server_ae196b9426443d3d155fc15eca55efb72}} 
{\bfseries B\+M\+A\+S\+I\+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_s_i_p_server_a13c0a5288399af4a08a389e0a88c0d60}\label{class_b_m_a_s_i_p_server_a13c0a5288399af4a08a389e0a88c0d60}} 
void {\bfseries register\+Handler} (std\+::string request, \hyperlink{class_b_m_a_s_i_p_request_handler}{B\+M\+A\+S\+I\+P\+Request\+Handler} \&request\+Handler)
\item 
\mbox{\Hypertarget{class_b_m_a_s_i_p_server_a89024135ffa80f3423e5623ae0720728}\label{class_b_m_a_s_i_p_server_a89024135ffa80f3423e5623ae0720728}} 
void {\bfseries unregister\+Handler} (\hyperlink{class_b_m_a_s_i_p_request_handler}{B\+M\+A\+S\+I\+P\+Request\+Handler} \&request\+Handler)
\item 
\mbox{\Hypertarget{class_b_m_a_s_i_p_server_a5279cc6f08b3d8b87ec3ca5c2345cabd}\label{class_b_m_a_s_i_p_server_a5279cc6f08b3d8b87ec3ca5c2345cabd}} 
\hyperlink{class_b_m_a_s_i_p_request_handler}{B\+M\+A\+S\+I\+P\+Request\+Handler} $\ast$ {\bfseries get\+Request\+Handler} (std\+::string request)
\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_s_i_p_server_a6b19c46961b603bcad6b268761d0e2ed}{get\+Socket\+Accept} () override
\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}


\subsection{Member Function Documentation}
\mbox{\Hypertarget{class_b_m_a_s_i_p_server_a6b19c46961b603bcad6b268761d0e2ed}\label{class_b_m_a_s_i_p_server_a6b19c46961b603bcad6b268761d0e2ed}} 
\index{B\+M\+A\+S\+I\+P\+Server@{B\+M\+A\+S\+I\+P\+Server}!get\+Socket\+Accept@{get\+Socket\+Accept}}
\index{get\+Socket\+Accept@{get\+Socket\+Accept}!B\+M\+A\+S\+I\+P\+Server@{B\+M\+A\+S\+I\+P\+Server}}
\subsubsection{\texorpdfstring{get\+Socket\+Accept()}{getSocketAccept()}}
{\footnotesize\ttfamily \hyperlink{class_b_m_a_session}{B\+M\+A\+Session} $\ast$ B\+M\+A\+S\+I\+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\+S\+I\+P\+Server.\+h\item 
/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+S\+I\+P\+Server.\+cpp\end{DoxyCompactItemize}
