\hypertarget{class_b_m_a_p_o_p3_server}{}\section{B\+M\+A\+P\+O\+P3\+Server Class Reference}
\label{class_b_m_a_p_o_p3_server}\index{B\+M\+A\+P\+O\+P3\+Server@{B\+M\+A\+P\+O\+P3\+Server}}


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


Collaboration diagram for B\+M\+A\+P\+O\+P3\+Server\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{class_b_m_a_p_o_p3_server__coll__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{class_b_m_a_p_o_p3_server_a904ba7db7b40f202f9852011b331cd60}\label{class_b_m_a_p_o_p3_server_a904ba7db7b40f202f9852011b331cd60}} 
{\bfseries B\+M\+A\+P\+O\+P3\+Server} (\hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} \&e\+Poll, std\+::string url, short int port)
\item 
\hyperlink{class_b_m_a_session}{B\+M\+A\+Session} $\ast$ \hyperlink{class_b_m_a_p_o_p3_server_a1f3688c9a27ee1676eb60a6ead0695be}{get\+Socket\+Accept} ()
\item 
\mbox{\Hypertarget{class_b_m_a_p_o_p3_server_a8d511ffab4ca9a272441a0f446cc9144}\label{class_b_m_a_p_o_p3_server_a8d511ffab4ca9a272441a0f446cc9144}} 
void {\bfseries register\+Command} (\hyperlink{class_b_m_a_command}{B\+M\+A\+Command} \&command)
\item 
\mbox{\Hypertarget{class_b_m_a_p_o_p3_server_a612d09574559c280e02ff8702dcc3991}\label{class_b_m_a_p_o_p3_server_a612d09574559c280e02ff8702dcc3991}} 
int \hyperlink{class_b_m_a_p_o_p3_server_a612d09574559c280e02ff8702dcc3991}{process\+Command} (\hyperlink{class_b_m_a_session}{B\+M\+A\+Session} $\ast$session) override
\begin{DoxyCompactList}\small\item\em Output the consoles array to the console. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{class_b_m_a_p_o_p3_server_ae4c95210c1ed1d81f8c4734a7ca0ca84}\label{class_b_m_a_p_o_p3_server_ae4c95210c1ed1d81f8c4734a7ca0ca84}} 
std\+::vector$<$ \hyperlink{class_b_m_a_command}{B\+M\+A\+Command} $\ast$ $>$ {\bfseries commands}
\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}


\subsection{Member Function Documentation}
\mbox{\Hypertarget{class_b_m_a_p_o_p3_server_a1f3688c9a27ee1676eb60a6ead0695be}\label{class_b_m_a_p_o_p3_server_a1f3688c9a27ee1676eb60a6ead0695be}} 
\index{B\+M\+A\+P\+O\+P3\+Server@{B\+M\+A\+P\+O\+P3\+Server}!get\+Socket\+Accept@{get\+Socket\+Accept}}
\index{get\+Socket\+Accept@{get\+Socket\+Accept}!B\+M\+A\+P\+O\+P3\+Server@{B\+M\+A\+P\+O\+P3\+Server}}
\subsubsection{\texorpdfstring{get\+Socket\+Accept()}{getSocketAccept()}}
{\footnotesize\ttfamily \hyperlink{class_b_m_a_session}{B\+M\+A\+Session}$\ast$ B\+M\+A\+P\+O\+P3\+Server\+::get\+Socket\+Accept (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\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 file\+:\begin{DoxyCompactItemize}
\item 
/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+P\+O\+P3\+Server.\+h\end{DoxyCompactItemize}
