Changed TCPServer to use IPAddress.

This commit is contained in:
Brad Arant committed 2019-02-22 19:48:25 -08:00
1 parent 8d6f414086
commit 41ff757f09
183 files changed
+2139 -878

No files matched your search

+2
View File
@@ -12,6 +12,7 @@ Here are the classes, structs, unions and interfaces with brief descriptions\+:\
\item\contentsline{section}{\hyperlink{classcore_1_1_log}{core\+::\+Log} }{\pageref{classcore_1_1_log}}{}
\item\contentsline{section}{\hyperlink{classcore_1_1_object}{core\+::\+Object} }{\pageref{classcore_1_1_object}}{}
\item\contentsline{section}{\hyperlink{classcore_1_1_response}{core\+::\+Response} }{\pageref{classcore_1_1_response}}{}
\item\contentsline{section}{\hyperlink{classcore_1_1_service}{core\+::\+Service} }{\pageref{classcore_1_1_service}}{}
\item\contentsline{section}{\hyperlink{classcore_1_1_session}{core\+::\+Session} }{\pageref{classcore_1_1_session}}{}
\item\contentsline{section}{\hyperlink{classcore_1_1_session_filter}{core\+::\+Session\+Filter} }{\pageref{classcore_1_1_session_filter}}{}
\item\contentsline{section}{\hyperlink{classcore_1_1_socket}{core\+::\+Socket} }{\pageref{classcore_1_1_socket}}{}
@@ -21,6 +22,7 @@ Here are the classes, structs, unions and interfaces with brief descriptions\+:\
\item\contentsline{section}{\hyperlink{classcore_1_1_thread}{core\+::\+Thread} }{\pageref{classcore_1_1_thread}}{}
\item\contentsline{section}{\hyperlink{classcore_1_1_timer}{core\+::\+Timer} }{\pageref{classcore_1_1_timer}}{}
\item\contentsline{section}{\hyperlink{classcore_1_1_t_l_s_server_socket}{core\+::\+T\+L\+S\+Server\+Socket} }{\pageref{classcore_1_1_t_l_s_server_socket}}{}
\item\contentsline{section}{\hyperlink{classcore_1_1_t_l_s_service}{core\+::\+T\+L\+S\+Service} }{\pageref{classcore_1_1_t_l_s_service}}{}
\item\contentsline{section}{\hyperlink{classcore_1_1_t_l_s_session}{core\+::\+T\+L\+S\+Session} }{\pageref{classcore_1_1_t_l_s_session}}{}
\item\contentsline{section}{\hyperlink{classcore_1_1_u_d_p_server_socket}{core\+::\+U\+D\+P\+Server\+Socket} }{\pageref{classcore_1_1_u_d_p_server_socket}}{}
\item\contentsline{section}{\hyperlink{classcore_1_1_u_d_p_socket}{core\+::\+U\+D\+P\+Socket} }{\pageref{classcore_1_1_u_d_p_socket}}{}
+36 -3
View File
@@ -2,6 +2,10 @@
\label{classcore_1_1_command_list}\index{core\+::\+Command\+List@{core\+::\+Command\+List}}
{\ttfamily \#include $<$Command\+List.\+h$>$}
Inheritance diagram for core\+:\+:Command\+List\+:\nopagebreak
\begin{figure}[H]
\begin{center}
@@ -21,8 +25,11 @@ Collaboration diagram for core\+:\+:Command\+List\+:\nopagebreak
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1_command_list_a7a45e75e3d21a25fd3f7e887acf395e9}\label{classcore_1_1_command_list_a7a45e75e3d21a25fd3f7e887acf395e9}}
void {\bfseries add} (\hyperlink{classcore_1_1_command}{Command} \&command, std\+::string name=\char`\"{}\char`\"{})
\hyperlink{classcore_1_1_command_list_a01b4af82ae73f41b4e8f5b587badde9d}{Command\+List} ()
\item
\hyperlink{classcore_1_1_command_list_a2b5fdae9db6bf9876a5d51e987c49c7e}{$\sim$\+Command\+List} ()
\item
void \hyperlink{classcore_1_1_command_list_a7a45e75e3d21a25fd3f7e887acf395e9}{add} (\hyperlink{classcore_1_1_command}{Command} \&command, std\+::string name=\char`\"{}\char`\"{})
\item
\mbox{\Hypertarget{classcore_1_1_command_list_aaac684effb9ecf5238d23ca60d3fffaa}\label{classcore_1_1_command_list_aaac684effb9ecf5238d23ca60d3fffaa}}
void {\bfseries remove} (\hyperlink{classcore_1_1_command}{Command} \&command)
@@ -35,8 +42,34 @@ int \hyperlink{classcore_1_1_command_list_a53e02bf38c40ac851bad6e1b943316da}{pro
\subsection*{Additional Inherited Members}
\subsection{Detailed Description}
\hyperlink{classcore_1_1_command_list}{Command\+List}
This object organizes \hyperlink{classcore_1_1_command}{Command} objects into a list that is used to parse an input and run the process associated with the selected command.
\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classcore_1_1_command_list_a01b4af82ae73f41b4e8f5b587badde9d}\label{classcore_1_1_command_list_a01b4af82ae73f41b4e8f5b587badde9d}}
\index{core\+::\+Command\+List@{core\+::\+Command\+List}!Command\+List@{Command\+List}}
\index{Command\+List@{Command\+List}!core\+::\+Command\+List@{core\+::\+Command\+List}}
\subsubsection{\texorpdfstring{Command\+List()}{CommandList()}}
{\footnotesize\ttfamily core\+::\+Command\+List\+::\+Command\+List (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
The constructor for the object. \mbox{\Hypertarget{classcore_1_1_command_list_a2b5fdae9db6bf9876a5d51e987c49c7e}\label{classcore_1_1_command_list_a2b5fdae9db6bf9876a5d51e987c49c7e}}
\index{core\+::\+Command\+List@{core\+::\+Command\+List}!````~Command\+List@{$\sim$\+Command\+List}}
\index{````~Command\+List@{$\sim$\+Command\+List}!core\+::\+Command\+List@{core\+::\+Command\+List}}
\subsubsection{\texorpdfstring{$\sim$\+Command\+List()}{~CommandList()}}
{\footnotesize\ttfamily core\+::\+Command\+List\+::$\sim$\+Command\+List (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
The destructor for the object.
\subsection{Member Function Documentation}
\mbox{\Hypertarget{classcore_1_1_command_list_a53e02bf38c40ac851bad6e1b943316da}\label{classcore_1_1_command_list_a53e02bf38c40ac851bad6e1b943316da}}
\mbox{\Hypertarget{classcore_1_1_command_list_a7a45e75e3d21a25fd3f7e887acf395e9}\label{classcore_1_1_command_list_a7a45e75e3d21a25fd3f7e887acf395e9}}
\index{core\+::\+Command\+List@{core\+::\+Command\+List}!add@{add}}
\index{add@{add}!core\+::\+Command\+List@{core\+::\+Command\+List}}
\subsubsection{\texorpdfstring{add()}{add()}}
{\footnotesize\ttfamily void core\+::\+Command\+List\+::add (\begin{DoxyParamCaption}\item[{\hyperlink{classcore_1_1_command}{Command} \&}]{command, }\item[{std\+::string}]{name = {\ttfamily \char`\"{}\char`\"{}} }\end{DoxyParamCaption})}
Add a new command to the command list and assign a default search value. \mbox{\Hypertarget{classcore_1_1_command_list_a53e02bf38c40ac851bad6e1b943316da}\label{classcore_1_1_command_list_a53e02bf38c40ac851bad6e1b943316da}}
\index{core\+::\+Command\+List@{core\+::\+Command\+List}!process\+Command@{process\+Command}}
\index{process\+Command@{process\+Command}!core\+::\+Command\+List@{core\+::\+Command\+List}}
\subsubsection{\texorpdfstring{process\+Command()}{processCommand()}}
+3 -2
View File
@@ -11,7 +11,8 @@ Inheritance diagram for core\+:\+:Console\+Server\+:\nopagebreak
\end{figure}
Collaboration diagram for core\+:\+:Console\+Server\+:\nopagebreak
Collaboration diagram for core\+:\+:Console\+Server\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
@@ -47,7 +48,7 @@ void \hyperlink{classcore_1_1_console_server_a8c2cd23829acd76b76bef60c098eabe3}{
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 B\+M\+A\+Session provides the mechanism where the server can select the protocol dialog for the desired service.
Implements \hyperlink{classcore_1_1_t_c_p_server_socket_ab1b3da899ef32f14c3162ada91d11742}{core\+::\+T\+C\+P\+Server\+Socket}.
Reimplemented from \hyperlink{classcore_1_1_t_c_p_server_socket_aafd7cefcecbcb32a22dfde86fcfeab63}{core\+::\+T\+C\+P\+Server\+Socket}.
@@ -1 +1 @@
18a00e189bad4cfd943ca134ca69b09f
7e914ebb069162af34a3c82d92293701
+16 -6
View File
@@ -15,7 +15,8 @@ Inheritance diagram for core\+:\+:Console\+Session\+:\nopagebreak
\end{figure}
Collaboration diagram for core\+:\+:Console\+Session\+:\nopagebreak
Collaboration diagram for core\+:\+:Console\+Session\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
@@ -25,8 +26,8 @@ Collaboration diagram for core\+:\+:Console\+Session\+:\nopagebreak
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1_console_session_a9b03260001138c7094468aa63a57a1ee}\label{classcore_1_1_console_session_a9b03260001138c7094468aa63a57a1ee}}
{\bfseries Console\+Session} (\hyperlink{classcore_1_1_e_poll}{E\+Poll} \&e\+Poll, \hyperlink{classcore_1_1_console_server}{Console\+Server} \&server)
\mbox{\Hypertarget{classcore_1_1_console_session_a236d8ef395d909acb0d5716cce5fff94}\label{classcore_1_1_console_session_a236d8ef395d909acb0d5716cce5fff94}}
{\bfseries Console\+Session} (\hyperlink{classcore_1_1_e_poll}{E\+Poll} \&e\+Poll, \hyperlink{classcore_1_1_service}{Service} \&service)
\item
virtual void \hyperlink{classcore_1_1_console_session_add592c8b803af65d25f83f7fa4a70078}{output} (std\+::stringstream \&out)
\item
@@ -36,8 +37,7 @@ void {\bfseries write\+Log} (std\+::string data)
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1_console_session_a830cc1e1e0c3fe3b066f0a9f7f469490}\label{classcore_1_1_console_session_a830cc1e1e0c3fe3b066f0a9f7f469490}}
void {\bfseries protocol} (std\+::string data) override
void \hyperlink{classcore_1_1_console_session_a830cc1e1e0c3fe3b066f0a9f7f469490}{protocol} (std\+::string data) override
\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}
@@ -45,7 +45,7 @@ void {\bfseries protocol} (std\+::string data) override
\subsection{Detailed Description}
\hyperlink{classcore_1_1_console_session}{Console\+Session}
Extends the session parameters for this \hyperlink{classcore_1_1_t_c_p_socket}{T\+C\+P\+Socket} derived object. Extend the protocol() method in order to define the behavior and protocol interaction for this socket which is a console session.
Extends the session parameters for this \hyperlink{classcore_1_1_t_c_p_socket}{T\+C\+P\+Socket} derived object. Extend the \hyperlink{classcore_1_1_console_session_a830cc1e1e0c3fe3b066f0a9f7f469490}{protocol()} method in order to define the behavior and protocol interaction for this socket which is a console session.
\subsection{Member Function Documentation}
\mbox{\Hypertarget{classcore_1_1_console_session_add592c8b803af65d25f83f7fa4a70078}\label{classcore_1_1_console_session_add592c8b803af65d25f83f7fa4a70078}}
@@ -58,6 +58,16 @@ The output method is called by a socket session (B\+M\+A\+Session) and will outp
Reimplemented from \hyperlink{classcore_1_1_t_c_p_socket_afacf7528ff3c9ac077d7b5a49e2116fd}{core\+::\+T\+C\+P\+Socket}.
\mbox{\Hypertarget{classcore_1_1_console_session_a830cc1e1e0c3fe3b066f0a9f7f469490}\label{classcore_1_1_console_session_a830cc1e1e0c3fe3b066f0a9f7f469490}}
\index{core\+::\+Console\+Session@{core\+::\+Console\+Session}!protocol@{protocol}}
\index{protocol@{protocol}!core\+::\+Console\+Session@{core\+::\+Console\+Session}}
\subsubsection{\texorpdfstring{protocol()}{protocol()}}
{\footnotesize\ttfamily void core\+::\+Console\+Session\+::protocol (\begin{DoxyParamCaption}\item[{std\+::string}]{data = {\ttfamily \char`\"{}\char`\"{}} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [protected]}, {\ttfamily [virtual]}}
Override the protocol method to manage and control the session communications in your inherited session. If you do not override this method then the \hyperlink{classcore_1_1_session}{Session} default will process the \textquotesingle{}commands\textquotesingle{} added to the server object using the process\+Request method on the session input.
Reimplemented from \hyperlink{classcore_1_1_session_a35b030a36e9e6c72cb4c643519e8e55b}{core\+::\+Session}.
The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
@@ -1 +1 @@
764b77c57b40c54f8d1ef1e97f5d1e83
c01799d4e6b6aba1c04c0fc5315f4510
+2 -1
View File
@@ -15,7 +15,8 @@ Inheritance diagram for core\+:\+:Log\+:\nopagebreak
\end{figure}
Collaboration diagram for core\+:\+:Log\+:\nopagebreak
Collaboration diagram for core\+:\+:Log\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
@@ -1 +1 @@
960bda2d5184e877f7b98c8549efcbd8
8e2dfaeb85e35549ecd487eb5ad8ca32
Binary file not shown.
+2 -1
View File
@@ -2,7 +2,8 @@
\label{classcore_1_1_object}\index{core\+::\+Object@{core\+::\+Object}}
Inheritance diagram for core\+:\+:Object\+:\nopagebreak
Inheritance diagram for core\+:\+:Object\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
@@ -1 +1 @@
a9722fb843856415619249d7bfcfacd4
3c9995b7f1863012da7b31ac28b7ec8a
Binary file not shown.
+6 -6
View File
@@ -37,9 +37,9 @@ enum {\bfseries Mode} \{ {\bfseries L\+E\+N\+G\+TH},
\item
\hyperlink{classcore_1_1_response_aba144a517ada3fe308e663bed08c8b0d}{$\sim$\+Response} ()
\item
std\+::string \hyperlink{classcore_1_1_response_a69bf4fbade329653bfab5f81948cd68b}{get\+Response} (Mode mode)
std\+::string \hyperlink{classcore_1_1_response_a49af564b8dbb0389a47906f5cca800cf}{get\+Response} (Mode mode=L\+E\+N\+G\+TH)
\item
std\+::string \hyperlink{classcore_1_1_response_a3faec262c1f101176b52a90e39cd08ad}{get\+Response} (std\+::string content, Mode mode)
std\+::string \hyperlink{classcore_1_1_response_aedc510111b4c7cc2ed23bb7b107c068a}{get\+Response} (std\+::string content, Mode mode=L\+E\+N\+G\+TH)
\item
void \hyperlink{classcore_1_1_response_a8d1be083101d3bc36c2f55c4db4b2964}{set\+Protocol} (std\+::string protocol)
\item
@@ -76,22 +76,22 @@ The constructor for the object. \mbox{\Hypertarget{classcore_1_1_response_aba144
The destructor for the object.
\subsection{Member Function Documentation}
\mbox{\Hypertarget{classcore_1_1_response_a69bf4fbade329653bfab5f81948cd68b}\label{classcore_1_1_response_a69bf4fbade329653bfab5f81948cd68b}}
\mbox{\Hypertarget{classcore_1_1_response_a49af564b8dbb0389a47906f5cca800cf}\label{classcore_1_1_response_a49af564b8dbb0389a47906f5cca800cf}}
\index{core\+::\+Response@{core\+::\+Response}!get\+Response@{get\+Response}}
\index{get\+Response@{get\+Response}!core\+::\+Response@{core\+::\+Response}}
\subsubsection{\texorpdfstring{get\+Response()}{getResponse()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily std\+::string core\+::\+Response\+::get\+Response (\begin{DoxyParamCaption}\item[{Mode}]{mode }\end{DoxyParamCaption})}
{\footnotesize\ttfamily std\+::string core\+::\+Response\+::get\+Response (\begin{DoxyParamCaption}\item[{Mode}]{mode = {\ttfamily LENGTH} }\end{DoxyParamCaption})}
Returns the response generated from the contained values that do not return a content length. Using this constructor ensures a zero length Content-\/\+Length value.
\begin{DoxyReturn}{Returns}
the complete response string to send to client.
\end{DoxyReturn}
\mbox{\Hypertarget{classcore_1_1_response_a3faec262c1f101176b52a90e39cd08ad}\label{classcore_1_1_response_a3faec262c1f101176b52a90e39cd08ad}}
\mbox{\Hypertarget{classcore_1_1_response_aedc510111b4c7cc2ed23bb7b107c068a}\label{classcore_1_1_response_aedc510111b4c7cc2ed23bb7b107c068a}}
\index{core\+::\+Response@{core\+::\+Response}!get\+Response@{get\+Response}}
\index{get\+Response@{get\+Response}!core\+::\+Response@{core\+::\+Response}}
\subsubsection{\texorpdfstring{get\+Response()}{getResponse()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily std\+::string core\+::\+Response\+::get\+Response (\begin{DoxyParamCaption}\item[{std\+::string}]{content, }\item[{Mode}]{mode }\end{DoxyParamCaption})}
{\footnotesize\ttfamily std\+::string core\+::\+Response\+::get\+Response (\begin{DoxyParamCaption}\item[{std\+::string}]{content, }\item[{Mode}]{mode = {\ttfamily LENGTH} }\end{DoxyParamCaption})}
Returns the response plus the content passed as a parameter.
+94
View File
@@ -0,0 +1,94 @@
\hypertarget{classcore_1_1_service}{}\section{core\+:\+:Service Class Reference}
\label{classcore_1_1_service}\index{core\+::\+Service@{core\+::\+Service}}
{\ttfamily \#include $<$Service.\+h$>$}
Inheritance diagram for core\+:\+:Service\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=172pt]{classcore_1_1_service__inherit__graph}
\end{center}
\end{figure}
Collaboration diagram for core\+:\+:Service\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classcore_1_1_service__coll__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\hyperlink{classcore_1_1_service_ae65a60d10fdab6a430eaebece760a7e1}{Service} (\hyperlink{classcore_1_1_t_c_p_server_socket}{T\+C\+P\+Server\+Socket} \&\hyperlink{classcore_1_1_service_ab3da31eb6e7c84de275ea0ac4db40d87}{server})
\item
\mbox{\Hypertarget{classcore_1_1_service_a26600d90900798a73e564539f6cd4dff}\label{classcore_1_1_service_a26600d90900798a73e564539f6cd4dff}}
void {\bfseries remove\+From\+Session\+List} (\hyperlink{classcore_1_1_session}{Session} $\ast$session)
\item
\mbox{\Hypertarget{classcore_1_1_service_a94fffcdecb61d015f9d8eb8f9a36dcb8}\label{classcore_1_1_service_a94fffcdecb61d015f9d8eb8f9a36dcb8}}
virtual void {\bfseries session\+Error\+Handler} (std\+::string error\+String, \hyperlink{classcore_1_1_session}{Session} $\ast$session)
\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item
std\+::vector$<$ \hyperlink{classcore_1_1_session}{Session} $\ast$ $>$ \hyperlink{classcore_1_1_service_acf2b5cb5da96a7b7478555e477f269a1}{sessions}
\item
\hyperlink{classcore_1_1_t_c_p_server_socket}{T\+C\+P\+Server\+Socket} \& \hyperlink{classcore_1_1_service_ab3da31eb6e7c84de275ea0ac4db40d87}{server}
\item
\hyperlink{classcore_1_1_command_list}{Command\+List} \hyperlink{classcore_1_1_service_a09bbcbc7512240b24b51131b6e1f9366}{commands}
\end{DoxyCompactItemize}
\subsection{Detailed Description}
\hyperlink{classcore_1_1_service}{Service}
The \hyperlink{classcore_1_1_service}{Service} object is instantiated as a single object upon construction of the parent \hyperlink{classcore_1_1_t_c_p_server_socket}{T\+C\+P\+Server\+Socket} and is provided as a parameter whenever a new \hyperlink{classcore_1_1_session}{Session} object is created. It provides server level services to \hyperlink{classcore_1_1_command}{Command} handlers.
\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classcore_1_1_service_ae65a60d10fdab6a430eaebece760a7e1}\label{classcore_1_1_service_ae65a60d10fdab6a430eaebece760a7e1}}
\index{core\+::\+Service@{core\+::\+Service}!Service@{Service}}
\index{Service@{Service}!core\+::\+Service@{core\+::\+Service}}
\subsubsection{\texorpdfstring{Service()}{Service()}}
{\footnotesize\ttfamily core\+::\+Service\+::\+Service (\begin{DoxyParamCaption}\item[{\hyperlink{classcore_1_1_t_c_p_server_socket}{T\+C\+P\+Server\+Socket} \&}]{server }\end{DoxyParamCaption})}
Use this constructor to create a new \hyperlink{classcore_1_1_service}{Service} object.
\begin{DoxyParams}{Parameters}
{\em server} & A reference to the parent server creating the object. \\
\hline
\end{DoxyParams}
\subsection{Member Data Documentation}
\mbox{\Hypertarget{classcore_1_1_service_a09bbcbc7512240b24b51131b6e1f9366}\label{classcore_1_1_service_a09bbcbc7512240b24b51131b6e1f9366}}
\index{core\+::\+Service@{core\+::\+Service}!commands@{commands}}
\index{commands@{commands}!core\+::\+Service@{core\+::\+Service}}
\subsubsection{\texorpdfstring{commands}{commands}}
{\footnotesize\ttfamily \hyperlink{classcore_1_1_command_list}{Command\+List} core\+::\+Service\+::commands}
The commands object is a \hyperlink{classcore_1_1_command_list}{Command\+List} and is used to store \hyperlink{classcore_1_1_command}{Command} objects to be parsed and run as data comes into the session. \mbox{\Hypertarget{classcore_1_1_service_ab3da31eb6e7c84de275ea0ac4db40d87}\label{classcore_1_1_service_ab3da31eb6e7c84de275ea0ac4db40d87}}
\index{core\+::\+Service@{core\+::\+Service}!server@{server}}
\index{server@{server}!core\+::\+Service@{core\+::\+Service}}
\subsubsection{\texorpdfstring{server}{server}}
{\footnotesize\ttfamily \hyperlink{classcore_1_1_t_c_p_server_socket}{T\+C\+P\+Server\+Socket}\& core\+::\+Service\+::server}
The server that is associated to this \hyperlink{classcore_1_1_service}{Service} object. This provides access to the server values and methods through the \hyperlink{classcore_1_1_service}{Service} object which behaves as an interface. \mbox{\Hypertarget{classcore_1_1_service_acf2b5cb5da96a7b7478555e477f269a1}\label{classcore_1_1_service_acf2b5cb5da96a7b7478555e477f269a1}}
\index{core\+::\+Service@{core\+::\+Service}!sessions@{sessions}}
\index{sessions@{sessions}!core\+::\+Service@{core\+::\+Service}}
\subsubsection{\texorpdfstring{sessions}{sessions}}
{\footnotesize\ttfamily std\+::vector$<$\hyperlink{classcore_1_1_session}{Session} $\ast$$>$ core\+::\+Service\+::sessions}
The list of sessions that are currently open and being maintained by this object.
The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item
/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/Service.\+h\item
/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/Service.\+cpp\end{DoxyCompactItemize}
@@ -0,0 +1 @@
f452bb5597e9db95ba24a712587b55a6
Binary file not shown.
@@ -0,0 +1 @@
1ebb53dfd1a32d0dc5d71e51a90b6033
Binary file not shown.
+20 -13
View File
@@ -15,7 +15,8 @@ Inheritance diagram for core\+:\+:Session\+:\nopagebreak
\end{figure}
Collaboration diagram for core\+:\+:Session\+:\nopagebreak
Collaboration diagram for core\+:\+:Session\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
@@ -25,8 +26,8 @@ Collaboration diagram for core\+:\+:Session\+:\nopagebreak
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1_session_a00fdc9bb456bb6780b3678bded262a01}\label{classcore_1_1_session_a00fdc9bb456bb6780b3678bded262a01}}
{\bfseries Session} (\hyperlink{classcore_1_1_e_poll}{E\+Poll} \&e\+Poll, \hyperlink{classcore_1_1_t_c_p_server_socket}{T\+C\+P\+Server\+Socket} \&server)
\mbox{\Hypertarget{classcore_1_1_session_aec54baa5b60cd7dd0e64a095a4e1a908}\label{classcore_1_1_session_aec54baa5b60cd7dd0e64a095a4e1a908}}
{\bfseries Session} (\hyperlink{classcore_1_1_e_poll}{E\+Poll} \&e\+Poll, \hyperlink{classcore_1_1_service}{Service} \&service)
\item
\mbox{\Hypertarget{classcore_1_1_session_ad797996bb98e500f1fe4e99ad9459460}\label{classcore_1_1_session_ad797996bb98e500f1fe4e99ad9459460}}
virtual void {\bfseries init} ()
@@ -38,10 +39,7 @@ void \hyperlink{classcore_1_1_session_af78d7caeea09924ee5227490c15aecfc}{send} (
\item
void \hyperlink{classcore_1_1_session_a0b1722c6abd693702ffd15a810844313}{send\+To\+All} ()
\item
void \hyperlink{classcore_1_1_session_ab2cb1aea2832eabe4a039387030c3b0b}{send\+To\+All} (\hyperlink{classcore_1_1_session_filter}{Session\+Filter} $\ast$filter)
\item
\mbox{\Hypertarget{classcore_1_1_session_a4edbd8dc7a1837b0faece66222124e4e}\label{classcore_1_1_session_a4edbd8dc7a1837b0faece66222124e4e}}
\hyperlink{classcore_1_1_t_c_p_server_socket}{T\+C\+P\+Server\+Socket} \& {\bfseries get\+Server} ()
void \hyperlink{classcore_1_1_session_a17ff9ad6ccf3a0588b59820ba5ba60e4}{send\+To\+All} (\hyperlink{classcore_1_1_session_filter}{Session\+Filter} filter)
\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\begin{DoxyCompactItemize}
@@ -49,8 +47,8 @@ void \hyperlink{classcore_1_1_session_ab2cb1aea2832eabe4a039387030c3b0b}{send\+T
\mbox{\Hypertarget{classcore_1_1_session_a0fb85764a1816114aa3b6cea2f4a7a35}\label{classcore_1_1_session_a0fb85764a1816114aa3b6cea2f4a7a35}}
std\+::stringstream {\bfseries out}
\item
\mbox{\Hypertarget{classcore_1_1_session_a723496cdd780491bc6690ee47fc998ac}\label{classcore_1_1_session_a723496cdd780491bc6690ee47fc998ac}}
\hyperlink{classcore_1_1_t_c_p_server_socket}{T\+C\+P\+Server\+Socket} \& {\bfseries server}
\mbox{\Hypertarget{classcore_1_1_session_a6e0fbc7ead78161d2c301842bce7cd86}\label{classcore_1_1_session_a6e0fbc7ead78161d2c301842bce7cd86}}
\hyperlink{classcore_1_1_service}{Service} \& {\bfseries service}
\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
@@ -59,8 +57,7 @@ void \hyperlink{classcore_1_1_session_aea251cf98c7f1e4d106af5682f43d8c2}{on\+Dat
\begin{DoxyCompactList}\small\item\em Called when data is received from the socket. \end{DoxyCompactList}\item
void \hyperlink{classcore_1_1_session_a9c9596293e6051a35197866f5b1b70ce}{on\+Connected} () override
\begin{DoxyCompactList}\small\item\em Called when socket is open and ready to communicate. \end{DoxyCompactList}\item
\mbox{\Hypertarget{classcore_1_1_session_a23e5d04581d65e00ecfca4062f0f228b}\label{classcore_1_1_session_a23e5d04581d65e00ecfca4062f0f228b}}
virtual void {\bfseries protocol} (std\+::string data)=0
virtual void \hyperlink{classcore_1_1_session_a35b030a36e9e6c72cb4c643519e8e55b}{protocol} (std\+::string data)
\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}
@@ -106,6 +103,16 @@ The on\+Data\+Received method is called when the socket has received an event fr
Implements \hyperlink{classcore_1_1_socket_add22bdee877319a372db2fd707dc5a1c}{core\+::\+Socket}.
\mbox{\Hypertarget{classcore_1_1_session_a35b030a36e9e6c72cb4c643519e8e55b}\label{classcore_1_1_session_a35b030a36e9e6c72cb4c643519e8e55b}}
\index{core\+::\+Session@{core\+::\+Session}!protocol@{protocol}}
\index{protocol@{protocol}!core\+::\+Session@{core\+::\+Session}}
\subsubsection{\texorpdfstring{protocol()}{protocol()}}
{\footnotesize\ttfamily void core\+::\+Session\+::protocol (\begin{DoxyParamCaption}\item[{std\+::string}]{data = {\ttfamily \char`\"{}\char`\"{}} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}}
Override the protocol method to manage and control the session communications in your inherited session. If you do not override this method then the \hyperlink{classcore_1_1_session}{Session} default will process the \textquotesingle{}commands\textquotesingle{} added to the server object using the process\+Request method on the session input.
Reimplemented in \hyperlink{classcore_1_1_t_l_s_session_a547c436ab69f75307f065eca8cfcd109}{core\+::\+T\+L\+S\+Session}, and \hyperlink{classcore_1_1_console_session_a830cc1e1e0c3fe3b066f0a9f7f469490}{core\+::\+Console\+Session}.
\mbox{\Hypertarget{classcore_1_1_session_af78d7caeea09924ee5227490c15aecfc}\label{classcore_1_1_session_af78d7caeea09924ee5227490c15aecfc}}
\index{core\+::\+Session@{core\+::\+Session}!send@{send}}
\index{send@{send}!core\+::\+Session@{core\+::\+Session}}
@@ -118,11 +125,11 @@ The send method is used to output the contents of the out stream to the session
\subsubsection{\texorpdfstring{send\+To\+All()}{sendToAll()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily void core\+::\+Session\+::send\+To\+All (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
Use this send\+To\+All method to output the contents of the out stream to all the connections on the server excluding the sender session. \mbox{\Hypertarget{classcore_1_1_session_ab2cb1aea2832eabe4a039387030c3b0b}\label{classcore_1_1_session_ab2cb1aea2832eabe4a039387030c3b0b}}
Use this send\+To\+All method to output the contents of the out stream to all the connections on the server excluding the sender session. \mbox{\Hypertarget{classcore_1_1_session_a17ff9ad6ccf3a0588b59820ba5ba60e4}\label{classcore_1_1_session_a17ff9ad6ccf3a0588b59820ba5ba60e4}}
\index{core\+::\+Session@{core\+::\+Session}!send\+To\+All@{send\+To\+All}}
\index{send\+To\+All@{send\+To\+All}!core\+::\+Session@{core\+::\+Session}}
\subsubsection{\texorpdfstring{send\+To\+All()}{sendToAll()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily void core\+::\+Session\+::send\+To\+All (\begin{DoxyParamCaption}\item[{\hyperlink{classcore_1_1_session_filter}{Session\+Filter} $\ast$}]{filter }\end{DoxyParamCaption})}
{\footnotesize\ttfamily void core\+::\+Session\+::send\+To\+All (\begin{DoxyParamCaption}\item[{\hyperlink{classcore_1_1_session_filter}{Session\+Filter}}]{filter }\end{DoxyParamCaption})}
Use this send\+To\+All method to output the contents of the out stream to all the connections on the server excluding the sender session and the entries identified by the passed in filter object.
@@ -1 +1 @@
9ee45923a3befc013e784f9989413225
1450b286ca8a5155dc4a22a351c48d7d
Binary file not shown.
@@ -15,7 +15,8 @@ Inheritance diagram for core\+:\+:T\+C\+P\+Server\+Socket\+:\nopagebreak
\end{figure}
Collaboration diagram for core\+:\+:T\+C\+P\+Server\+Socket\+:\nopagebreak
Collaboration diagram for core\+:\+:T\+C\+P\+Server\+Socket\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
@@ -28,17 +29,12 @@ Collaboration diagram for core\+:\+:T\+C\+P\+Server\+Socket\+:\nopagebreak
\hyperlink{classcore_1_1_t_c_p_server_socket_a17a5f151f6c4ac520932f33cab5c5991}{T\+C\+P\+Server\+Socket} (\hyperlink{classcore_1_1_e_poll}{E\+Poll} \&e\+Poll, std\+::string url, short int port)
\item
\hyperlink{classcore_1_1_t_c_p_server_socket_aa2b1403757821701ff411662a3e04ab5}{$\sim$\+T\+C\+P\+Server\+Socket} ()
\item
\mbox{\Hypertarget{classcore_1_1_t_c_p_server_socket_aee10b2a027e7db50f3a7da83a1141fbe}\label{classcore_1_1_t_c_p_server_socket_aee10b2a027e7db50f3a7da83a1141fbe}}
void {\bfseries remove\+From\+Session\+List} (\hyperlink{classcore_1_1_session}{Session} $\ast$session)
\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item
std\+::vector$<$ \hyperlink{classcore_1_1_session}{Session} $\ast$ $>$ \hyperlink{classcore_1_1_t_c_p_server_socket_ab97dc18253d52ecb5668e44360479fe2}{sessions}
\item
\mbox{\Hypertarget{classcore_1_1_t_c_p_server_socket_ade3d62c4de214b0961dea838d8ff941f}\label{classcore_1_1_t_c_p_server_socket_ade3d62c4de214b0961dea838d8ff941f}}
\hyperlink{classcore_1_1_command_list}{Command\+List} {\bfseries commands}
\mbox{\Hypertarget{classcore_1_1_t_c_p_server_socket_a634a719d6a8df973dd6f4f5a7f5f258b}\label{classcore_1_1_t_c_p_server_socket_a634a719d6a8df973dd6f4f5a7f5f258b}}
\hyperlink{classcore_1_1_service}{Service} $\ast$ {\bfseries service}
\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
@@ -46,7 +42,9 @@ std\+::vector$<$ \hyperlink{classcore_1_1_session}{Session} $\ast$ $>$ \hyperlin
\mbox{\Hypertarget{classcore_1_1_t_c_p_server_socket_aca928502f71c45d654cecfbf96b9b9d0}\label{classcore_1_1_t_c_p_server_socket_aca928502f71c45d654cecfbf96b9b9d0}}
virtual void {\bfseries init} ()
\item
virtual \hyperlink{classcore_1_1_session}{Session} $\ast$ \hyperlink{classcore_1_1_t_c_p_server_socket_ab1b3da899ef32f14c3162ada91d11742}{get\+Socket\+Accept} ()=0
virtual \hyperlink{classcore_1_1_session}{Session} $\ast$ \hyperlink{classcore_1_1_t_c_p_server_socket_aafd7cefcecbcb32a22dfde86fcfeab63}{get\+Socket\+Accept} ()
\item
virtual \hyperlink{classcore_1_1_service}{Service} $\ast$ \hyperlink{classcore_1_1_t_c_p_server_socket_aa7b0d0ca4ff12f6c7e358eb6e75e5393}{get\+Service} ()
\item
void \hyperlink{classcore_1_1_t_c_p_server_socket_ab6654ac0712442fd860ec26c70bde8aa}{on\+Data\+Received} (std\+::string data) override
\item
@@ -96,15 +94,25 @@ the instance of the B\+M\+A\+T\+C\+P\+Server\+Socket.
The destructor for this object.
\subsection{Member Function Documentation}
\mbox{\Hypertarget{classcore_1_1_t_c_p_server_socket_ab1b3da899ef32f14c3162ada91d11742}\label{classcore_1_1_t_c_p_server_socket_ab1b3da899ef32f14c3162ada91d11742}}
\mbox{\Hypertarget{classcore_1_1_t_c_p_server_socket_aa7b0d0ca4ff12f6c7e358eb6e75e5393}\label{classcore_1_1_t_c_p_server_socket_aa7b0d0ca4ff12f6c7e358eb6e75e5393}}
\index{core\+::\+T\+C\+P\+Server\+Socket@{core\+::\+T\+C\+P\+Server\+Socket}!get\+Service@{get\+Service}}
\index{get\+Service@{get\+Service}!core\+::\+T\+C\+P\+Server\+Socket@{core\+::\+T\+C\+P\+Server\+Socket}}
\subsubsection{\texorpdfstring{get\+Service()}{getService()}}
{\footnotesize\ttfamily \hyperlink{classcore_1_1_service}{Service} $\ast$ core\+::\+T\+C\+P\+Server\+Socket\+::get\+Service (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}}
T\+CP servers can have an associated \hyperlink{classcore_1_1_service}{Service} object that provides services for sessions created by the server. You can extend the \hyperlink{classcore_1_1_service}{Service} object and place commands and server application support for extended servers.
Reimplemented in \hyperlink{classcore_1_1_t_l_s_server_socket_af9a0c4c9c674668be1158f7aab48bc27}{core\+::\+T\+L\+S\+Server\+Socket}.
\mbox{\Hypertarget{classcore_1_1_t_c_p_server_socket_aafd7cefcecbcb32a22dfde86fcfeab63}\label{classcore_1_1_t_c_p_server_socket_aafd7cefcecbcb32a22dfde86fcfeab63}}
\index{core\+::\+T\+C\+P\+Server\+Socket@{core\+::\+T\+C\+P\+Server\+Socket}!get\+Socket\+Accept@{get\+Socket\+Accept}}
\index{get\+Socket\+Accept@{get\+Socket\+Accept}!core\+::\+T\+C\+P\+Server\+Socket@{core\+::\+T\+C\+P\+Server\+Socket}}
\subsubsection{\texorpdfstring{get\+Socket\+Accept()}{getSocketAccept()}}
{\footnotesize\ttfamily virtual \hyperlink{classcore_1_1_session}{Session}$\ast$ core\+::\+T\+C\+P\+Server\+Socket\+::get\+Socket\+Accept (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [pure virtual]}}
{\footnotesize\ttfamily \hyperlink{classcore_1_1_session}{Session} $\ast$ core\+::\+T\+C\+P\+Server\+Socket\+::get\+Socket\+Accept (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\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 B\+M\+A\+Session provides the mechanism where the server can select the protocol dialog for the desired service.
Implemented in \hyperlink{classcore_1_1_t_l_s_server_socket_a954541082a39b7b417b3cd741ed4eea6}{core\+::\+T\+L\+S\+Server\+Socket}, and \hyperlink{classcore_1_1_console_server_ac1d498a7094fe69acc7b234efa296b1c}{core\+::\+Console\+Server}.
Reimplemented in \hyperlink{classcore_1_1_t_l_s_server_socket_a954541082a39b7b417b3cd741ed4eea6}{core\+::\+T\+L\+S\+Server\+Socket}, and \hyperlink{classcore_1_1_console_server_ac1d498a7094fe69acc7b234efa296b1c}{core\+::\+Console\+Server}.
\mbox{\Hypertarget{classcore_1_1_t_c_p_server_socket_ab6654ac0712442fd860ec26c70bde8aa}\label{classcore_1_1_t_c_p_server_socket_ab6654ac0712442fd860ec26c70bde8aa}}
\index{core\+::\+T\+C\+P\+Server\+Socket@{core\+::\+T\+C\+P\+Server\+Socket}!on\+Data\+Received@{on\+Data\+Received}}
@@ -144,15 +152,6 @@ Implements \hyperlink{classcore_1_1_command_a0b7ae77ea83e463193c52b2c502b7c56}{c
\subsection{Member Data Documentation}
\mbox{\Hypertarget{classcore_1_1_t_c_p_server_socket_ab97dc18253d52ecb5668e44360479fe2}\label{classcore_1_1_t_c_p_server_socket_ab97dc18253d52ecb5668e44360479fe2}}
\index{core\+::\+T\+C\+P\+Server\+Socket@{core\+::\+T\+C\+P\+Server\+Socket}!sessions@{sessions}}
\index{sessions@{sessions}!core\+::\+T\+C\+P\+Server\+Socket@{core\+::\+T\+C\+P\+Server\+Socket}}
\subsubsection{\texorpdfstring{sessions}{sessions}}
{\footnotesize\ttfamily std\+::vector$<$\hyperlink{classcore_1_1_session}{Session} $\ast$$>$ core\+::\+T\+C\+P\+Server\+Socket\+::sessions}
The list of sessions that are currently open and being maintained by this object.
The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item
/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/T\+C\+P\+Server\+Socket.\+h\item
@@ -1 +1 @@
b66657f7cca30155264d83ed626627d2
48d75962e12923ab17a9afda1e6eec7f
@@ -15,7 +15,8 @@ Inheritance diagram for core\+:\+:T\+L\+S\+Server\+Socket\+:\nopagebreak
\end{figure}
Collaboration diagram for core\+:\+:T\+L\+S\+Server\+Socket\+:\nopagebreak
Collaboration diagram for core\+:\+:T\+L\+S\+Server\+Socket\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
@@ -29,16 +30,12 @@ Collaboration diagram for core\+:\+:T\+L\+S\+Server\+Socket\+:\nopagebreak
\item
\hyperlink{classcore_1_1_t_l_s_server_socket_a2433e0cbc0a9edfef1fe9c07b0e74b3d}{$\sim$\+T\+L\+S\+Server\+Socket} ()
\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1_t_l_s_server_socket_af5306e7ec81332ffce0b793ceaf5255f}\label{classcore_1_1_t_l_s_server_socket_af5306e7ec81332ffce0b793ceaf5255f}}
S\+S\+L\+\_\+\+C\+TX $\ast$ {\bfseries ctx}
\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item
\hyperlink{classcore_1_1_session}{Session} $\ast$ \hyperlink{classcore_1_1_t_l_s_server_socket_a954541082a39b7b417b3cd741ed4eea6}{get\+Socket\+Accept} () override
\item
\hyperlink{classcore_1_1_service}{Service} $\ast$ \hyperlink{classcore_1_1_t_l_s_server_socket_af9a0c4c9c674668be1158f7aab48bc27}{get\+Service} () override
\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}
@@ -80,6 +77,16 @@ the instance of the B\+M\+A\+T\+L\+S\+Server\+Socket.
The destructor for this object.
\subsection{Member Function Documentation}
\mbox{\Hypertarget{classcore_1_1_t_l_s_server_socket_af9a0c4c9c674668be1158f7aab48bc27}\label{classcore_1_1_t_l_s_server_socket_af9a0c4c9c674668be1158f7aab48bc27}}
\index{core\+::\+T\+L\+S\+Server\+Socket@{core\+::\+T\+L\+S\+Server\+Socket}!get\+Service@{get\+Service}}
\index{get\+Service@{get\+Service}!core\+::\+T\+L\+S\+Server\+Socket@{core\+::\+T\+L\+S\+Server\+Socket}}
\subsubsection{\texorpdfstring{get\+Service()}{getService()}}
{\footnotesize\ttfamily \hyperlink{classcore_1_1_service}{Service} $\ast$ core\+::\+T\+L\+S\+Server\+Socket\+::get\+Service (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [protected]}, {\ttfamily [virtual]}}
T\+CP servers can have an associated \hyperlink{classcore_1_1_service}{Service} object that provides services for sessions created by the server. You can extend the \hyperlink{classcore_1_1_service}{Service} object and place commands and server application support for extended servers.
Reimplemented from \hyperlink{classcore_1_1_t_c_p_server_socket_aa7b0d0ca4ff12f6c7e358eb6e75e5393}{core\+::\+T\+C\+P\+Server\+Socket}.
\mbox{\Hypertarget{classcore_1_1_t_l_s_server_socket_a954541082a39b7b417b3cd741ed4eea6}\label{classcore_1_1_t_l_s_server_socket_a954541082a39b7b417b3cd741ed4eea6}}
\index{core\+::\+T\+L\+S\+Server\+Socket@{core\+::\+T\+L\+S\+Server\+Socket}!get\+Socket\+Accept@{get\+Socket\+Accept}}
\index{get\+Socket\+Accept@{get\+Socket\+Accept}!core\+::\+T\+L\+S\+Server\+Socket@{core\+::\+T\+L\+S\+Server\+Socket}}
@@ -88,7 +95,7 @@ The destructor for this object.
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 B\+M\+A\+Session provides the mechanism where the server can select the protocol dialog for the desired service.
Implements \hyperlink{classcore_1_1_t_c_p_server_socket_ab1b3da899ef32f14c3162ada91d11742}{core\+::\+T\+C\+P\+Server\+Socket}.
Reimplemented from \hyperlink{classcore_1_1_t_c_p_server_socket_aafd7cefcecbcb32a22dfde86fcfeab63}{core\+::\+T\+C\+P\+Server\+Socket}.
@@ -1 +1 @@
48935e4c53091f066c9284f170c9384c
87f6a63cc7dd8aed34372501421ca3fe
@@ -0,0 +1,40 @@
\hypertarget{classcore_1_1_t_l_s_service}{}\section{core\+:\+:T\+L\+S\+Service Class Reference}
\label{classcore_1_1_t_l_s_service}\index{core\+::\+T\+L\+S\+Service@{core\+::\+T\+L\+S\+Service}}
Inheritance diagram for core\+:\+:T\+L\+S\+Service\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=172pt]{classcore_1_1_t_l_s_service__inherit__graph}
\end{center}
\end{figure}
Collaboration diagram for core\+:\+:T\+L\+S\+Service\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classcore_1_1_t_l_s_service__coll__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1_t_l_s_service_ae5d3183590adf58440ce8b382f02431a}\label{classcore_1_1_t_l_s_service_ae5d3183590adf58440ce8b382f02431a}}
{\bfseries T\+L\+S\+Service} (\hyperlink{classcore_1_1_t_l_s_server_socket}{T\+L\+S\+Server\+Socket} \&\hyperlink{classcore_1_1_service_ab3da31eb6e7c84de275ea0ac4db40d87}{server})
\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1_t_l_s_service_a70d97b4ddc206dbcf8ce2532da0d54b6}\label{classcore_1_1_t_l_s_service_a70d97b4ddc206dbcf8ce2532da0d54b6}}
S\+S\+L\+\_\+\+C\+TX $\ast$ {\bfseries ctx}
\end{DoxyCompactItemize}
The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item
/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/T\+L\+S\+Service.\+h\item
/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/T\+L\+S\+Service.\+cpp\end{DoxyCompactItemize}
@@ -0,0 +1 @@
822789c47963aa4409d474a318dedaa3
@@ -0,0 +1 @@
3214a96d526b0e6c98fe90c7c68d071b
+15 -5
View File
@@ -15,7 +15,8 @@ Inheritance diagram for core\+:\+:T\+L\+S\+Session\+:\nopagebreak
\end{figure}
Collaboration diagram for core\+:\+:T\+L\+S\+Session\+:\nopagebreak
Collaboration diagram for core\+:\+:T\+L\+S\+Session\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
@@ -25,13 +26,12 @@ Collaboration diagram for core\+:\+:T\+L\+S\+Session\+:\nopagebreak
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1_t_l_s_session_a71ab51a776ccbc33ab1584d5da179749}\label{classcore_1_1_t_l_s_session_a71ab51a776ccbc33ab1584d5da179749}}
{\bfseries T\+L\+S\+Session} (\hyperlink{classcore_1_1_e_poll}{E\+Poll} \&e\+Poll, \hyperlink{classcore_1_1_t_l_s_server_socket}{T\+L\+S\+Server\+Socket} \&server)
\mbox{\Hypertarget{classcore_1_1_t_l_s_session_a615ea7308dd53db67773a4c0e4086dbb}\label{classcore_1_1_t_l_s_session_a615ea7308dd53db67773a4c0e4086dbb}}
{\bfseries T\+L\+S\+Session} (\hyperlink{classcore_1_1_e_poll}{E\+Poll} \&e\+Poll, \hyperlink{classcore_1_1_service}{Service} \&service)
\item
virtual void \hyperlink{classcore_1_1_t_l_s_session_ae55de8a035d1ddc560cf619b2030af43}{output} (std\+::stringstream \&out)
\item
\mbox{\Hypertarget{classcore_1_1_t_l_s_session_a547c436ab69f75307f065eca8cfcd109}\label{classcore_1_1_t_l_s_session_a547c436ab69f75307f065eca8cfcd109}}
virtual void {\bfseries protocol} (std\+::string data) override
virtual void \hyperlink{classcore_1_1_t_l_s_session_a547c436ab69f75307f065eca8cfcd109}{protocol} (std\+::string data) override
\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
@@ -62,6 +62,16 @@ The output method is called by a socket session (\hyperlink{classcore_1_1_sessio
Reimplemented from \hyperlink{classcore_1_1_t_c_p_socket_afacf7528ff3c9ac077d7b5a49e2116fd}{core\+::\+T\+C\+P\+Socket}.
\mbox{\Hypertarget{classcore_1_1_t_l_s_session_a547c436ab69f75307f065eca8cfcd109}\label{classcore_1_1_t_l_s_session_a547c436ab69f75307f065eca8cfcd109}}
\index{core\+::\+T\+L\+S\+Session@{core\+::\+T\+L\+S\+Session}!protocol@{protocol}}
\index{protocol@{protocol}!core\+::\+T\+L\+S\+Session@{core\+::\+T\+L\+S\+Session}}
\subsubsection{\texorpdfstring{protocol()}{protocol()}}
{\footnotesize\ttfamily void core\+::\+T\+L\+S\+Session\+::protocol (\begin{DoxyParamCaption}\item[{std\+::string}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}}
Override the protocol method to manage and control the session communications in your inherited session. If you do not override this method then the \hyperlink{classcore_1_1_session}{Session} default will process the \textquotesingle{}commands\textquotesingle{} added to the server object using the process\+Request method on the session input.
Reimplemented from \hyperlink{classcore_1_1_session_a35b030a36e9e6c72cb4c643519e8e55b}{core\+::\+Session}.
\mbox{\Hypertarget{classcore_1_1_t_l_s_session_a1822cb21de545dc1a183ec0bac6cc4f0}\label{classcore_1_1_t_l_s_session_a1822cb21de545dc1a183ec0bac6cc4f0}}
\index{core\+::\+T\+L\+S\+Session@{core\+::\+T\+L\+S\+Session}!receive\+Data@{receive\+Data}}
\index{receive\+Data@{receive\+Data}!core\+::\+T\+L\+S\+Session@{core\+::\+T\+L\+S\+Session}}
@@ -1 +1 @@
15e45349722473ec5bfa0ecaacebe992
f0728c1e77b764f20787670f2fe10eff
@@ -11,7 +11,8 @@ Inheritance diagram for core\+:\+:Terminal\+Session\+:\nopagebreak
\end{figure}
Collaboration diagram for core\+:\+:Terminal\+Session\+:\nopagebreak
Collaboration diagram for core\+:\+:Terminal\+Session\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
@@ -21,8 +22,8 @@ Collaboration diagram for core\+:\+:Terminal\+Session\+:\nopagebreak
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1_terminal_session_ae4f7e59eae3830b0506d83b1d00c9798}\label{classcore_1_1_terminal_session_ae4f7e59eae3830b0506d83b1d00c9798}}
{\bfseries Terminal\+Session} (\hyperlink{classcore_1_1_e_poll}{E\+Poll} \&e\+Poll, \hyperlink{classcore_1_1_t_c_p_server_socket}{T\+C\+P\+Server\+Socket} \&server)
\mbox{\Hypertarget{classcore_1_1_terminal_session_a4451307cb82851cb39230edc0b59a4c0}\label{classcore_1_1_terminal_session_a4451307cb82851cb39230edc0b59a4c0}}
{\bfseries Terminal\+Session} (\hyperlink{classcore_1_1_e_poll}{E\+Poll} \&e\+Poll, \hyperlink{classcore_1_1_service}{Service} \&service)
\item
\mbox{\Hypertarget{classcore_1_1_terminal_session_a0df0106164a7f213acf2e814e725c576}\label{classcore_1_1_terminal_session_a0df0106164a7f213acf2e814e725c576}}
int {\bfseries get\+Lines} ()
@@ -1 +1 @@
9dc3eee684b8a91578b9b8bfc73ae84e
5d9923cb7e966f7effc1f5dccf5543b2
+4
View File
@@ -19,6 +19,10 @@ This inheritance list is sorted roughly, but not completely, alphabetically\+:\b
\item \contentsline{section}{core\+:\+:I\+P\+Address}{\pageref{classcore_1_1_i_p_address}}{}
\item \contentsline{section}{core\+:\+:Log}{\pageref{classcore_1_1_log}}{}
\item \contentsline{section}{core\+:\+:Response}{\pageref{classcore_1_1_response}}{}
\item \contentsline{section}{core\+:\+:Service}{\pageref{classcore_1_1_service}}{}
\begin{DoxyCompactList}
\item \contentsline{section}{core\+:\+:T\+L\+S\+Service}{\pageref{classcore_1_1_t_l_s_service}}{}
\end{DoxyCompactList}
\item \contentsline{section}{core\+:\+:Session\+Filter}{\pageref{classcore_1_1_session_filter}}{}
\item \contentsline{section}{core\+:\+:Socket}{\pageref{classcore_1_1_socket}}{}
\begin{DoxyCompactList}
+4
View File
@@ -27,6 +27,8 @@ class \hyperlink{classcore_1_1_object}{Object}
\item
class \hyperlink{classcore_1_1_response}{Response}
\item
class \hyperlink{classcore_1_1_service}{Service}
\item
class \hyperlink{classcore_1_1_session}{Session}
\item
class \hyperlink{classcore_1_1_session_filter}{Session\+Filter}
@@ -45,6 +47,8 @@ class \hyperlink{classcore_1_1_timer}{Timer}
\item
class \hyperlink{classcore_1_1_t_l_s_server_socket}{T\+L\+S\+Server\+Socket}
\item
class \hyperlink{classcore_1_1_t_l_s_service}{T\+L\+S\+Service}
\item
class \hyperlink{classcore_1_1_t_l_s_session}{T\+L\+S\+Session}
\item
class \hyperlink{classcore_1_1_u_d_p_server_socket}{U\+D\+P\+Server\+Socket}
+2
View File
@@ -159,6 +159,7 @@
\input{classcore_1_1_log}
\input{classcore_1_1_object}
\input{classcore_1_1_response}
\input{classcore_1_1_service}
\input{classcore_1_1_session}
\input{classcore_1_1_session_filter}
\input{classcore_1_1_socket}
@@ -168,6 +169,7 @@
\input{classcore_1_1_thread}
\input{classcore_1_1_timer}
\input{classcore_1_1_t_l_s_server_socket}
\input{classcore_1_1_t_l_s_service}
\input{classcore_1_1_t_l_s_session}
\input{classcore_1_1_u_d_p_server_socket}
\input{classcore_1_1_u_d_p_socket}