attempt to delete the documentation from repository since its generated.

This commit is contained in:
Brad Arant 2023-06-11 15:03:25 -07:00
parent 2bca178a06
commit 5f61a2280d
123 changed files with 0 additions and 6223 deletions

View File

@ -1,23 +0,0 @@
LATEX_CMD=pdflatex
all: refman.pdf
pdf: refman.pdf
refman.pdf: clean refman.tex
$(LATEX_CMD) refman
makeindex refman.idx
$(LATEX_CMD) refman
latex_count=8 ; \
while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;\
do \
echo "Rerunning latex...." ;\
$(LATEX_CMD) refman ;\
latex_count=`expr $$latex_count - 1` ;\
done
makeindex refman.idx
$(LATEX_CMD) refman
clean:
rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl refman.pdf

View File

@ -1,30 +0,0 @@
\doxysection{Class List}
Here are the classes, structs, unions and interfaces with brief descriptions\+:\begin{DoxyCompactList}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1Command}{core\+::\+Command}} }{\pageref{classcore_1_1Command}}{}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1CommandList}{core\+::\+Command\+List}} }{\pageref{classcore_1_1CommandList}}{}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1ConsoleServer}{core\+::\+Console\+Server}} }{\pageref{classcore_1_1ConsoleServer}}{}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1ConsoleSession}{core\+::\+Console\+Session}} }{\pageref{classcore_1_1ConsoleSession}}{}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1EPoll}{core\+::\+EPoll}} }{\pageref{classcore_1_1EPoll}}{}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1INotify}{core\+::\+INotify}} }{\pageref{classcore_1_1INotify}}{}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1IPAddress}{core\+::\+IPAddress}} }{\pageref{classcore_1_1IPAddress}}{}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1IPAddressList}{core\+::\+IPAddress\+List}} }{\pageref{classcore_1_1IPAddressList}}{}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1Object}{core\+::\+Object}} }{\pageref{classcore_1_1Object}}{}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1SessionFilter}{core\+::\+Session\+Filter}} }{\pageref{classcore_1_1SessionFilter}}{}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1Socket}{core\+::\+Socket}} }{\pageref{classcore_1_1Socket}}{}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1Subscription}{core\+::\+Subscription}} }{\pageref{classcore_1_1Subscription}}{}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1SubscriptionHandler}{core\+::\+Subscription\+Handler}} }{\pageref{classcore_1_1SubscriptionHandler}}{}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1SubscriptionHandlerFactory}{core\+::\+Subscription\+Handler\+Factory}} }{\pageref{classcore_1_1SubscriptionHandlerFactory}}{}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1SubscriptionManager}{core\+::\+Subscription\+Manager}} }{\pageref{classcore_1_1SubscriptionManager}}{}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1TCPServer}{core\+::\+TCPServer}} }{\pageref{classcore_1_1TCPServer}}{}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1TCPSession}{core\+::\+TCPSession}} }{\pageref{classcore_1_1TCPSession}}{}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1TCPSession2}{core\+::\+TCPSession2}} }{\pageref{classcore_1_1TCPSession2}}{}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1TCPSocket}{core\+::\+TCPSocket}} }{\pageref{classcore_1_1TCPSocket}}{}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1TerminalSession}{core\+::\+Terminal\+Session}} }{\pageref{classcore_1_1TerminalSession}}{}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1Thread}{core\+::\+Thread}} }{\pageref{classcore_1_1Thread}}{}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1ThreadScope}{core\+::\+Thread\+Scope}} }{\pageref{classcore_1_1ThreadScope}}{}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1Timer}{core\+::\+Timer}} }{\pageref{classcore_1_1Timer}}{}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1TLSServer}{core\+::\+TLSServer}} }{\pageref{classcore_1_1TLSServer}}{}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1TLSSession}{core\+::\+TLSSession}} }{\pageref{classcore_1_1TLSSession}}{}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1UDPServerSocket}{core\+::\+UDPServer\+Socket}} }{\pageref{classcore_1_1UDPServerSocket}}{}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1UDPSocket}{core\+::\+UDPSocket}} }{\pageref{classcore_1_1UDPSocket}}{}
\end{DoxyCompactList}

View File

@ -1,75 +0,0 @@
\hypertarget{classcore_1_1Command}{}\doxysection{core\+::Command Class Reference}
\label{classcore_1_1Command}\index{core::Command@{core::Command}}
{\ttfamily \#include $<$Command.\+h$>$}
Inheritance diagram for core\+::Command\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classcore_1_1Command__inherit__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
virtual int \mbox{\hyperlink{classcore_1_1Command_a95176f2532c38ee14e3fee40ee28b1bd}{process\+Command}} (coreutils\+::\+ZString \&request, \mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}} \&session)
\item
virtual void \mbox{\hyperlink{classcore_1_1Command_ab6352ce5650e70a5c76c3d6e4eefd292}{output}} (std\+::stringstream \&out)
\end{DoxyCompactItemize}
\doxysubsection{Detailed Description}
\mbox{\hyperlink{classcore_1_1Command}{Command}}
Use the \mbox{\hyperlink{classcore_1_1Command}{Command}} object in combination with a \mbox{\hyperlink{classcore_1_1CommandList}{Command\+List}} object to maintain a list of functions that can be invoked as a result of processing a request.
\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classcore_1_1Command_ab6352ce5650e70a5c76c3d6e4eefd292}\label{classcore_1_1Command_ab6352ce5650e70a5c76c3d6e4eefd292}}
\index{core::Command@{core::Command}!output@{output}}
\index{output@{output}!core::Command@{core::Command}}
\doxysubsubsection{\texorpdfstring{output()}{output()}}
{\footnotesize\ttfamily void core\+::\+Command\+::output (\begin{DoxyParamCaption}\item[{std\+::stringstream \&}]{out }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
Specify the output that will occur to the specified session.
\begin{DoxyParams}{Parameters}
{\em session} & The session that will receive the output. \\
\hline
\end{DoxyParams}
Reimplemented in \mbox{\hyperlink{classcore_1_1TCPServer_a49e3ead1bf4e7830685780e73c4db5db}{core\+::\+TCPServer}}.
\mbox{\Hypertarget{classcore_1_1Command_a95176f2532c38ee14e3fee40ee28b1bd}\label{classcore_1_1Command_a95176f2532c38ee14e3fee40ee28b1bd}}
\index{core::Command@{core::Command}!processCommand@{processCommand}}
\index{processCommand@{processCommand}!core::Command@{core::Command}}
\doxysubsubsection{\texorpdfstring{processCommand()}{processCommand()}}
{\footnotesize\ttfamily int core\+::\+Command\+::process\+Command (\begin{DoxyParamCaption}\item[{coreutils\+::\+ZString \&}]{request, }\item[{\mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}} \&}]{session }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
This method is used to implement the functionality of the requested command. This pure virtual function must be implemented in your inheriting object.
\begin{DoxyParams}{Parameters}
{\em request} & The request that was entered by the user to invoke this command. \\
\hline
{\em session} & Specify the requesting session so that the execution of the command process can return its output to the session. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns 0 if execution of the command was successful. Otherwise returns a non-\/zero value indicating an error condition.
\end{DoxyReturn}
Reimplemented in \mbox{\hyperlink{classcore_1_1TCPServer_a6b7a7e1ac4132942fcaf418ed41c1437}{core\+::\+TCPServer}}, \mbox{\hyperlink{classcore_1_1SubscriptionManager_aaa30bf772ad72b3f319a790662e4f8ae}{core\+::\+Subscription\+Manager}}, \mbox{\hyperlink{classcore_1_1EPoll_a22b5f1545aff3162040844be043abcce}{core\+::\+EPoll}}, and \mbox{\hyperlink{classcore_1_1CommandList_a1819e1cb377b5d8e5e00b4777e2b4aba}{core\+::\+Command\+List}}.
The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item
Command.\+h\item
Command.\+cpp\end{DoxyCompactItemize}

View File

@ -1,123 +0,0 @@
\hypertarget{classcore_1_1CommandList}{}\doxysection{core\+::Command\+List Class Reference}
\label{classcore_1_1CommandList}\index{core::CommandList@{core::CommandList}}
{\ttfamily \#include $<$Command\+List.\+h$>$}
Inheritance diagram for core\+::Command\+List\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=191pt]{classcore_1_1CommandList__inherit__graph}
\end{center}
\end{figure}
Collaboration diagram for core\+::Command\+List\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=191pt]{classcore_1_1CommandList__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1CommandList_a04609187f7b55e881fc31ac3b51a18c4}\label{classcore_1_1CommandList_a04609187f7b55e881fc31ac3b51a18c4}}
{\bfseries Command\+List} (std\+::string delimiter=\char`\"{}\char`\"{}, int depth=0)
\item
void \mbox{\hyperlink{classcore_1_1CommandList_a7a45e75e3d21a25fd3f7e887acf395e9}{add}} (\mbox{\hyperlink{classcore_1_1Command}{Command}} \&command, std\+::string name=\char`\"{}\char`\"{})
\item
void \mbox{\hyperlink{classcore_1_1CommandList_aaac684effb9ecf5238d23ca60d3fffaa}{remove}} (\mbox{\hyperlink{classcore_1_1Command}{Command}} \&command)
\item
int \mbox{\hyperlink{classcore_1_1CommandList_abcfb26e37e1ee6ff5655ebc3d33b1818}{process\+Request}} (coreutils\+::\+ZString \&request, \mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}} \&session)
\item
bool \mbox{\hyperlink{classcore_1_1CommandList_a72aea93a650f148c639ba25a724da243}{grab\+Input}} (\mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}} \&session, \mbox{\hyperlink{classcore_1_1Command}{Command}} \&command)
\item
\mbox{\Hypertarget{classcore_1_1CommandList_a9214dc76dbcde1520277d044c00cc1fc}\label{classcore_1_1CommandList_a9214dc76dbcde1520277d044c00cc1fc}}
void {\bfseries clear\+Grab} (\mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}} \&session)
\item
int \mbox{\hyperlink{classcore_1_1CommandList_a1819e1cb377b5d8e5e00b4777e2b4aba}{process\+Command}} (coreutils\+::\+ZString \&request, \mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}} \&session)
\end{DoxyCompactItemize}
\doxysubsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item
std\+::map$<$ std\+::string, \mbox{\hyperlink{classcore_1_1Command}{Command}} $\ast$ $>$ \mbox{\hyperlink{classcore_1_1CommandList_ad0aedf95828fe743908d8423f171ff36}{commands}}
\item
\mbox{\Hypertarget{classcore_1_1CommandList_adfc9ae3f4473a3cd35d5d1ebb5d1b2eb}\label{classcore_1_1CommandList_adfc9ae3f4473a3cd35d5d1ebb5d1b2eb}}
std\+::string {\bfseries delimiter}
\item
\mbox{\Hypertarget{classcore_1_1CommandList_aa72e019cef882e68b917d87ad06cade8}\label{classcore_1_1CommandList_aa72e019cef882e68b917d87ad06cade8}}
int {\bfseries depth}
\end{DoxyCompactItemize}
\doxysubsection{Detailed Description}
\mbox{\hyperlink{classcore_1_1CommandList}{Command\+List}}
This object organizes \mbox{\hyperlink{classcore_1_1Command}{Command}} objects into a list that is used to parse an input and run the process associated with the selected command.
\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classcore_1_1CommandList_a7a45e75e3d21a25fd3f7e887acf395e9}\label{classcore_1_1CommandList_a7a45e75e3d21a25fd3f7e887acf395e9}}
\index{core::CommandList@{core::CommandList}!add@{add}}
\index{add@{add}!core::CommandList@{core::CommandList}}
\doxysubsubsection{\texorpdfstring{add()}{add()}}
{\footnotesize\ttfamily void core\+::\+Command\+List\+::add (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classcore_1_1Command}{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_1CommandList_a72aea93a650f148c639ba25a724da243}\label{classcore_1_1CommandList_a72aea93a650f148c639ba25a724da243}}
\index{core::CommandList@{core::CommandList}!grabInput@{grabInput}}
\index{grabInput@{grabInput}!core::CommandList@{core::CommandList}}
\doxysubsubsection{\texorpdfstring{grabInput()}{grabInput()}}
{\footnotesize\ttfamily bool core\+::\+Command\+List\+::grab\+Input (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}} \&}]{session, }\item[{\mbox{\hyperlink{classcore_1_1Command}{Command}} \&}]{command }\end{DoxyParamCaption})}
Use \mbox{\hyperlink{classcore_1_1CommandList_a72aea93a650f148c639ba25a724da243}{grab\+Input()}} within a \mbox{\hyperlink{classcore_1_1Command}{Command}} object to force the requesting handler to receive all further input from the socket. Use release\+Grab() method to release the session back to normal command processing. \mbox{\Hypertarget{classcore_1_1CommandList_a1819e1cb377b5d8e5e00b4777e2b4aba}\label{classcore_1_1CommandList_a1819e1cb377b5d8e5e00b4777e2b4aba}}
\index{core::CommandList@{core::CommandList}!processCommand@{processCommand}}
\index{processCommand@{processCommand}!core::CommandList@{core::CommandList}}
\doxysubsubsection{\texorpdfstring{processCommand()}{processCommand()}}
{\footnotesize\ttfamily int core\+::\+Command\+List\+::process\+Command (\begin{DoxyParamCaption}\item[{coreutils\+::\+ZString \&}]{request, }\item[{\mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}} \&}]{session }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
This method is used to implement the functionality of the requested command. This pure virtual function must be implemented in your inheriting object.
\begin{DoxyParams}{Parameters}
{\em request} & The request that was entered by the user to invoke this command. \\
\hline
{\em session} & Specify the requesting session so that the execution of the command process can return its output to the session. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns 0 if execution of the command was successful. Otherwise returns a non-\/zero value indicating an error condition.
\end{DoxyReturn}
Reimplemented from \mbox{\hyperlink{classcore_1_1Command_a95176f2532c38ee14e3fee40ee28b1bd}{core\+::\+Command}}.
\mbox{\Hypertarget{classcore_1_1CommandList_abcfb26e37e1ee6ff5655ebc3d33b1818}\label{classcore_1_1CommandList_abcfb26e37e1ee6ff5655ebc3d33b1818}}
\index{core::CommandList@{core::CommandList}!processRequest@{processRequest}}
\index{processRequest@{processRequest}!core::CommandList@{core::CommandList}}
\doxysubsubsection{\texorpdfstring{processRequest()}{processRequest()}}
{\footnotesize\ttfamily int core\+::\+Command\+List\+::process\+Request (\begin{DoxyParamCaption}\item[{coreutils\+::\+ZString \&}]{request, }\item[{\mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}} \&}]{session }\end{DoxyParamCaption})}
Use this method to apply a parsed ZString to the command set and execute the matching parameter. The selected command will return a true on a call to check(). If there is a handler that has a grab on the process handler then control is given to the process handler holding the grab on the input. \mbox{\Hypertarget{classcore_1_1CommandList_aaac684effb9ecf5238d23ca60d3fffaa}\label{classcore_1_1CommandList_aaac684effb9ecf5238d23ca60d3fffaa}}
\index{core::CommandList@{core::CommandList}!remove@{remove}}
\index{remove@{remove}!core::CommandList@{core::CommandList}}
\doxysubsubsection{\texorpdfstring{remove()}{remove()}}
{\footnotesize\ttfamily void core\+::\+Command\+List\+::remove (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classcore_1_1Command}{Command}} \&}]{command }\end{DoxyParamCaption})}
Remove a command object from the command list.
\doxysubsection{Member Data Documentation}
\mbox{\Hypertarget{classcore_1_1CommandList_ad0aedf95828fe743908d8423f171ff36}\label{classcore_1_1CommandList_ad0aedf95828fe743908d8423f171ff36}}
\index{core::CommandList@{core::CommandList}!commands@{commands}}
\index{commands@{commands}!core::CommandList@{core::CommandList}}
\doxysubsubsection{\texorpdfstring{commands}{commands}}
{\footnotesize\ttfamily std\+::map$<$std\+::string, \mbox{\hyperlink{classcore_1_1Command}{Command}} $\ast$$>$ core\+::\+Command\+List\+::commands\hspace{0.3cm}{\ttfamily [protected]}}
The vector of all registered commands.
The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item
Command\+List.\+h\item
Command\+List.\+cpp\end{DoxyCompactItemize}

View File

@ -1 +0,0 @@
a96f3e328f89a36f8c825e2406f69cfd

View File

@ -1 +0,0 @@
a96f3e328f89a36f8c825e2406f69cfd

View File

@ -1 +0,0 @@
a6101fc959b5d2ef84a8a6db1830dc39

View File

@ -1 +0,0 @@
3526df9d00552d3dc2c0c203a1be8aaa

View File

@ -1,51 +0,0 @@
\hypertarget{classcore_1_1ConsoleServer}{}\doxysection{core\+::Console\+Server Class Reference}
\label{classcore_1_1ConsoleServer}\index{core::ConsoleServer@{core::ConsoleServer}}
Inheritance diagram for core\+::Console\+Server\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classcore_1_1ConsoleServer__inherit__graph}
\end{center}
\end{figure}
Collaboration diagram for core\+::Console\+Server\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classcore_1_1ConsoleServer__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1ConsoleServer_a938c93207ced5bfa3e15e9f4a1cbf3f0}\label{classcore_1_1ConsoleServer_a938c93207ced5bfa3e15e9f4a1cbf3f0}}
{\bfseries Console\+Server} (\mbox{\hyperlink{classcore_1_1EPoll}{EPoll}} \&e\+Poll, \mbox{\hyperlink{classcore_1_1IPAddress}{IPAddress}} address)
\item
\mbox{\Hypertarget{classcore_1_1ConsoleServer_ace482706881fd6cbec4e01534c091391}\label{classcore_1_1ConsoleServer_ace482706881fd6cbec4e01534c091391}}
void {\bfseries log\+Send} (std\+::string out) override
\item
\mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}} $\ast$ \mbox{\hyperlink{classcore_1_1ConsoleServer_a80d9ea7f3fc5e07c50d5b9e0d4943ca8}{get\+Socket\+Accept}} (\mbox{\hyperlink{classcore_1_1EPoll}{EPoll}} \&e\+Poll) override
\end{DoxyCompactItemize}
\doxysubsection*{Additional Inherited Members}
\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classcore_1_1ConsoleServer_a80d9ea7f3fc5e07c50d5b9e0d4943ca8}\label{classcore_1_1ConsoleServer_a80d9ea7f3fc5e07c50d5b9e0d4943ca8}}
\index{core::ConsoleServer@{core::ConsoleServer}!getSocketAccept@{getSocketAccept}}
\index{getSocketAccept@{getSocketAccept}!core::ConsoleServer@{core::ConsoleServer}}
\doxysubsubsection{\texorpdfstring{getSocketAccept()}{getSocketAccept()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}} $\ast$ core\+::\+Console\+Server\+::get\+Socket\+Accept (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classcore_1_1EPoll}{EPoll}} \&}]{epoll }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\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 Session provides the mechanism where the server can select the protocol dialog for the desired service.
Reimplemented from \mbox{\hyperlink{classcore_1_1TCPServer_a841f02799ad8529aad7cea132f4de8a9}{core\+::\+TCPServer}}.
The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item
Console\+Server.\+h\item
Console\+Server.\+cpp\end{DoxyCompactItemize}

View File

@ -1 +0,0 @@
2b84fc428bb8e9797d274620f6a66c23

View File

@ -1 +0,0 @@
d8a7b139f69b81405af9117126175bb6

View File

@ -1,65 +0,0 @@
\hypertarget{classcore_1_1ConsoleSession}{}\doxysection{core\+::Console\+Session Class Reference}
\label{classcore_1_1ConsoleSession}\index{core::ConsoleSession@{core::ConsoleSession}}
{\ttfamily \#include $<$Console\+Session.\+h$>$}
Inheritance diagram for core\+::Console\+Session\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=203pt]{classcore_1_1ConsoleSession__inherit__graph}
\end{center}
\end{figure}
Collaboration diagram for core\+::Console\+Session\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classcore_1_1ConsoleSession__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1ConsoleSession_ae735e9739fb4cfd2ef983cc56f9982c7}\label{classcore_1_1ConsoleSession_ae735e9739fb4cfd2ef983cc56f9982c7}}
{\bfseries Console\+Session} (\mbox{\hyperlink{classcore_1_1EPoll}{EPoll}} \&e\+Poll, \mbox{\hyperlink{classcore_1_1TCPServer}{TCPServer}} \&server)
\item
\mbox{\Hypertarget{classcore_1_1ConsoleSession_a6e6b56503966f1cae5bdff8b3814e2b9}\label{classcore_1_1ConsoleSession_a6e6b56503966f1cae5bdff8b3814e2b9}}
void {\bfseries write\+Log} (std\+::string data)
\end{DoxyCompactItemize}
\doxysubsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item
void \mbox{\hyperlink{classcore_1_1ConsoleSession_aa1818efcd33a4152d2089aa545f08833}{protocol}} (coreutils\+::\+ZString \&data) override
\end{DoxyCompactItemize}
\doxysubsection*{Additional Inherited Members}
\doxysubsection{Detailed Description}
\mbox{\hyperlink{classcore_1_1ConsoleSession}{Console\+Session}}
Extends the session parameters for this \mbox{\hyperlink{classcore_1_1TCPSocket}{TCPSocket}} derived object. Extend the \mbox{\hyperlink{classcore_1_1ConsoleSession_aa1818efcd33a4152d2089aa545f08833}{protocol()}} method in order to define the behavior and protocol interaction for this socket which is a console session.
\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classcore_1_1ConsoleSession_aa1818efcd33a4152d2089aa545f08833}\label{classcore_1_1ConsoleSession_aa1818efcd33a4152d2089aa545f08833}}
\index{core::ConsoleSession@{core::ConsoleSession}!protocol@{protocol}}
\index{protocol@{protocol}!core::ConsoleSession@{core::ConsoleSession}}
\doxysubsubsection{\texorpdfstring{protocol()}{protocol()}}
{\footnotesize\ttfamily void core\+::\+Console\+Session\+::protocol (\begin{DoxyParamCaption}\item[{coreutils\+::\+ZString \&}]{data }\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 Session default will process the \textquotesingle{}commands\textquotesingle{} added to the server object using the process\+Request method on the session input.
When data is received within the session two modes are available to pass the data through the protocol method\+: LINE or BLOCK.
Reimplemented from \mbox{\hyperlink{classcore_1_1TCPSession_a98a65da2346b79bee659fca6902e94c7}{core\+::\+TCPSession}}.
The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item
Console\+Session.\+h\item
Console\+Session.\+cpp\end{DoxyCompactItemize}

View File

@ -1 +0,0 @@
f3f48e062605018bc14a3be75ed1b838

View File

@ -1 +0,0 @@
0f5e7e7912dc563e80e4ac78360dc9fe

View File

@ -1,183 +0,0 @@
\hypertarget{classcore_1_1EPoll}{}\doxysection{core\+::EPoll Class Reference}
\label{classcore_1_1EPoll}\index{core::EPoll@{core::EPoll}}
{\ttfamily \#include $<$EPoll.\+h$>$}
Inheritance diagram for core\+::EPoll\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=174pt]{classcore_1_1EPoll__inherit__graph}
\end{center}
\end{figure}
Collaboration diagram for core\+::EPoll\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=174pt]{classcore_1_1EPoll__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\hyperlink{classcore_1_1EPoll_a2fd5cc4336b5f72990ecc0e7ea3d7641}{EPoll}} ()
\item
\mbox{\hyperlink{classcore_1_1EPoll_a8e7a2496d684b745a6410f9bd3e88534}{$\sim$\+EPoll}} ()
\item
bool \mbox{\hyperlink{classcore_1_1EPoll_aaefe2caef75eb538af90cb34682d277b}{start}} (int number\+Of\+Threads, int \mbox{\hyperlink{classcore_1_1EPoll_acfcef2513d94f7b9a191fed3dc744d90}{max\+Sockets}})
\begin{DoxyCompactList}\small\item\em Start the BMAEPoll processing. \end{DoxyCompactList}\item
bool \mbox{\hyperlink{classcore_1_1EPoll_a0c2865acd31d14fbf19dbc42cc084ddc}{stop}} ()
\begin{DoxyCompactList}\small\item\em Stop and shut down the BMAEPoll processing. \end{DoxyCompactList}\item
bool \mbox{\hyperlink{classcore_1_1EPoll_a301b46b71ac7ac61a687ff723fe269b3}{is\+Stopping}} ()
\begin{DoxyCompactList}\small\item\em Returns a true if the stop command has been requested. \end{DoxyCompactList}\item
int \mbox{\hyperlink{classcore_1_1EPoll_a1e52017e1deae15c1c87c6b6a099e1ed}{get\+Descriptor}} ()
\begin{DoxyCompactList}\small\item\em Return the descriptor for the e\+Poll socket. \end{DoxyCompactList}\item
void \mbox{\hyperlink{classcore_1_1EPoll_a3238b150b5d0a57eb2e1b17daa236d3b}{event\+Received}} (struct epoll\+\_\+event event)
\begin{DoxyCompactList}\small\item\em Dispatch event to appropriate socket. \end{DoxyCompactList}\item
int \mbox{\hyperlink{classcore_1_1EPoll_a22b5f1545aff3162040844be043abcce}{process\+Command}} (coreutils\+::\+ZString \&request, \mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}} \&session) override
\begin{DoxyCompactList}\small\item\em Output the threads array to the console. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1EPoll_a61aa8c4c90733287fd497f860bf521ab}\label{classcore_1_1EPoll_a61aa8c4c90733287fd497f860bf521ab}}
volatile long long {\bfseries event\+Id} = 0
\item
int \mbox{\hyperlink{classcore_1_1EPoll_acfcef2513d94f7b9a191fed3dc744d90}{max\+Sockets}}
\begin{DoxyCompactList}\small\item\em The maximum number of socket allowed. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection{Detailed Description}
\mbox{\hyperlink{classcore_1_1EPoll}{EPoll}}
Manage socket events from the epoll system call.
Use this object to establish a socket server using the epoll network structure of Linux.
Use this object to establish the basis of working with multiple sockets of all sorts using the epoll capabilities of the Linux platform. \mbox{\hyperlink{classcore_1_1Socket}{Socket}} objects can register with \mbox{\hyperlink{classcore_1_1EPoll}{EPoll}} which will establish a communication mechanism with that socket.
The maximum number of sockets to communicate with is specified on the start method.
Threads are used to establish a read queue for epoll. The desired number of threads (or queues) is established by a parameter on the start method.
\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classcore_1_1EPoll_a2fd5cc4336b5f72990ecc0e7ea3d7641}\label{classcore_1_1EPoll_a2fd5cc4336b5f72990ecc0e7ea3d7641}}
\index{core::EPoll@{core::EPoll}!EPoll@{EPoll}}
\index{EPoll@{EPoll}!core::EPoll@{core::EPoll}}
\doxysubsubsection{\texorpdfstring{EPoll()}{EPoll()}}
{\footnotesize\ttfamily core\+::\+EPoll\+::\+EPoll (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
The constructor for the BMAEPoll object. \mbox{\Hypertarget{classcore_1_1EPoll_a8e7a2496d684b745a6410f9bd3e88534}\label{classcore_1_1EPoll_a8e7a2496d684b745a6410f9bd3e88534}}
\index{core::EPoll@{core::EPoll}!````~EPoll@{$\sim$EPoll}}
\index{````~EPoll@{$\sim$EPoll}!core::EPoll@{core::EPoll}}
\doxysubsubsection{\texorpdfstring{$\sim$EPoll()}{~EPoll()}}
{\footnotesize\ttfamily core\+::\+EPoll\+::$\sim$\+EPoll (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
The destructor for the BMAEPoll object.
\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classcore_1_1EPoll_a3238b150b5d0a57eb2e1b17daa236d3b}\label{classcore_1_1EPoll_a3238b150b5d0a57eb2e1b17daa236d3b}}
\index{core::EPoll@{core::EPoll}!eventReceived@{eventReceived}}
\index{eventReceived@{eventReceived}!core::EPoll@{core::EPoll}}
\doxysubsubsection{\texorpdfstring{eventReceived()}{eventReceived()}}
{\footnotesize\ttfamily void core\+::\+EPoll\+::event\+Received (\begin{DoxyParamCaption}\item[{struct epoll\+\_\+event}]{event }\end{DoxyParamCaption})}
Dispatch event to appropriate socket.
Receive the epoll events and dispatch the event to the socket making the request. \mbox{\Hypertarget{classcore_1_1EPoll_a1e52017e1deae15c1c87c6b6a099e1ed}\label{classcore_1_1EPoll_a1e52017e1deae15c1c87c6b6a099e1ed}}
\index{core::EPoll@{core::EPoll}!getDescriptor@{getDescriptor}}
\index{getDescriptor@{getDescriptor}!core::EPoll@{core::EPoll}}
\doxysubsubsection{\texorpdfstring{getDescriptor()}{getDescriptor()}}
{\footnotesize\ttfamily int core\+::\+EPoll\+::get\+Descriptor (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
Return the descriptor for the e\+Poll socket.
Use this method to obtain the current descriptor socket number for the epoll function call. \mbox{\Hypertarget{classcore_1_1EPoll_a301b46b71ac7ac61a687ff723fe269b3}\label{classcore_1_1EPoll_a301b46b71ac7ac61a687ff723fe269b3}}
\index{core::EPoll@{core::EPoll}!isStopping@{isStopping}}
\index{isStopping@{isStopping}!core::EPoll@{core::EPoll}}
\doxysubsubsection{\texorpdfstring{isStopping()}{isStopping()}}
{\footnotesize\ttfamily bool core\+::\+EPoll\+::is\+Stopping (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
Returns a true if the stop command has been requested.
This method returns a true if the \mbox{\hyperlink{classcore_1_1EPoll_a0c2865acd31d14fbf19dbc42cc084ddc}{stop()}} method has been called and the epoll system is shutting. \mbox{\Hypertarget{classcore_1_1EPoll_a22b5f1545aff3162040844be043abcce}\label{classcore_1_1EPoll_a22b5f1545aff3162040844be043abcce}}
\index{core::EPoll@{core::EPoll}!processCommand@{processCommand}}
\index{processCommand@{processCommand}!core::EPoll@{core::EPoll}}
\doxysubsubsection{\texorpdfstring{processCommand()}{processCommand()}}
{\footnotesize\ttfamily int core\+::\+EPoll\+::process\+Command (\begin{DoxyParamCaption}\item[{coreutils\+::\+ZString \&}]{request, }\item[{\mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}} \&}]{session }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}}
Output the threads array to the console.
The \mbox{\hyperlink{classcore_1_1EPoll_a22b5f1545aff3162040844be043abcce}{process\+Command()}} method displays the thread array to the requesting console via the session passed as parameter.
\begin{DoxyParams}{Parameters}
{\em session} & the session to write the requested data to. \\
\hline
\end{DoxyParams}
Reimplemented from \mbox{\hyperlink{classcore_1_1Command_a95176f2532c38ee14e3fee40ee28b1bd}{core\+::\+Command}}.
\mbox{\Hypertarget{classcore_1_1EPoll_aaefe2caef75eb538af90cb34682d277b}\label{classcore_1_1EPoll_aaefe2caef75eb538af90cb34682d277b}}
\index{core::EPoll@{core::EPoll}!start@{start}}
\index{start@{start}!core::EPoll@{core::EPoll}}
\doxysubsubsection{\texorpdfstring{start()}{start()}}
{\footnotesize\ttfamily bool core\+::\+EPoll\+::start (\begin{DoxyParamCaption}\item[{int}]{number\+Of\+Threads, }\item[{int}]{max\+Sockets }\end{DoxyParamCaption})}
Start the BMAEPoll processing.
Use the \mbox{\hyperlink{classcore_1_1EPoll_aaefe2caef75eb538af90cb34682d277b}{start()}} method to initiate the threads and begin epoll queue processing.
\begin{DoxyParams}{Parameters}
{\em number\+Of\+Threads} & the number of threads to start for processing epoll entries. \\
\hline
{\em max\+Sockets} & the maximum number of open sockets that epoll will manage. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classcore_1_1EPoll_a0c2865acd31d14fbf19dbc42cc084ddc}\label{classcore_1_1EPoll_a0c2865acd31d14fbf19dbc42cc084ddc}}
\index{core::EPoll@{core::EPoll}!stop@{stop}}
\index{stop@{stop}!core::EPoll@{core::EPoll}}
\doxysubsubsection{\texorpdfstring{stop()}{stop()}}
{\footnotesize\ttfamily bool core\+::\+EPoll\+::stop (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
Stop and shut down the BMAEPoll processing.
Use the \mbox{\hyperlink{classcore_1_1EPoll_a0c2865acd31d14fbf19dbc42cc084ddc}{stop()}} method to initiate the shutdown process for the epoll socket management.
A complete shutdown of all managed sockets will be initiated by this method call.
\doxysubsection{Member Data Documentation}
\mbox{\Hypertarget{classcore_1_1EPoll_acfcef2513d94f7b9a191fed3dc744d90}\label{classcore_1_1EPoll_acfcef2513d94f7b9a191fed3dc744d90}}
\index{core::EPoll@{core::EPoll}!maxSockets@{maxSockets}}
\index{maxSockets@{maxSockets}!core::EPoll@{core::EPoll}}
\doxysubsubsection{\texorpdfstring{maxSockets}{maxSockets}}
{\footnotesize\ttfamily int core\+::\+EPoll\+::max\+Sockets}
The maximum number of socket allowed.
The maximum number of sockets that can be managed by the epoll system.
The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item
EPoll.\+h\item
EPoll.\+cpp\end{DoxyCompactItemize}

View File

@ -1 +0,0 @@
98b90bfe6ece875f9b9fa2075b6d694f

View File

@ -1 +0,0 @@
98b90bfe6ece875f9b9fa2075b6d694f

View File

@ -1,77 +0,0 @@
\hypertarget{classcore_1_1INotify}{}\doxysection{core\+::INotify Class Reference}
\label{classcore_1_1INotify}\index{core::INotify@{core::INotify}}
Inheritance diagram for core\+::INotify\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=157pt]{classcore_1_1INotify__inherit__graph}
\end{center}
\end{figure}
Collaboration diagram for core\+::INotify\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=174pt]{classcore_1_1INotify__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1INotify_a777d8ab058639165974b7c0144564b26}\label{classcore_1_1INotify_a777d8ab058639165974b7c0144564b26}}
{\bfseries INotify} (\mbox{\hyperlink{classcore_1_1EPoll}{EPoll}} \&e\+Poll)
\item
\mbox{\Hypertarget{classcore_1_1INotify_a387caaa1bea6e6cba95054d5adf4ac55}\label{classcore_1_1INotify_a387caaa1bea6e6cba95054d5adf4ac55}}
int {\bfseries add\+Watch} (coreutils\+::\+ZString \&watch)
\item
\mbox{\Hypertarget{classcore_1_1INotify_a5ce2a1bbfd69f5a88ef807f7ed439c06}\label{classcore_1_1INotify_a5ce2a1bbfd69f5a88ef807f7ed439c06}}
void {\bfseries remove\+Watch} (int wd)
\item
\mbox{\Hypertarget{classcore_1_1INotify_a642e44e906da81ce8180beb2bc09d602}\label{classcore_1_1INotify_a642e44e906da81ce8180beb2bc09d602}}
void {\bfseries on\+Data\+Received} (coreutils\+::\+ZString \&data) override
\item
\mbox{\Hypertarget{classcore_1_1INotify_a551ffbcf700e287f0f8f3a1a8cbd0eec}\label{classcore_1_1INotify_a551ffbcf700e287f0f8f3a1a8cbd0eec}}
virtual void {\bfseries in\+Access} (coreutils\+::\+ZString name)
\item
\mbox{\Hypertarget{classcore_1_1INotify_ab11e39edc303c6f18250a6381ed225d8}\label{classcore_1_1INotify_ab11e39edc303c6f18250a6381ed225d8}}
virtual void {\bfseries in\+Attrib} (std\+::string name)
\item
\mbox{\Hypertarget{classcore_1_1INotify_aab4c420c6f1661c31f795e8222a24090}\label{classcore_1_1INotify_aab4c420c6f1661c31f795e8222a24090}}
virtual void {\bfseries in\+Close\+Write} (std\+::string name)
\item
\mbox{\Hypertarget{classcore_1_1INotify_adc4e710fd3a7fa4aa104814f4de47879}\label{classcore_1_1INotify_adc4e710fd3a7fa4aa104814f4de47879}}
virtual void {\bfseries in\+Close\+No\+Write} (std\+::string name)
\item
\mbox{\Hypertarget{classcore_1_1INotify_adb552aaac3a8c05e2a5588245c1b7269}\label{classcore_1_1INotify_adb552aaac3a8c05e2a5588245c1b7269}}
virtual void {\bfseries in\+Create} (coreutils\+::\+ZString \&name)
\item
\mbox{\Hypertarget{classcore_1_1INotify_a0f46651b97d2f081b8ef968e8328c827}\label{classcore_1_1INotify_a0f46651b97d2f081b8ef968e8328c827}}
virtual void {\bfseries in\+Delete} (std\+::string name)
\item
\mbox{\Hypertarget{classcore_1_1INotify_ada67b3841d1bfb383c6374a7f8bb06a7}\label{classcore_1_1INotify_ada67b3841d1bfb383c6374a7f8bb06a7}}
virtual void {\bfseries in\+Delete\+Self} (std\+::string name)
\item
\mbox{\Hypertarget{classcore_1_1INotify_a5d687a9fd3601a466d3e973bf4370431}\label{classcore_1_1INotify_a5d687a9fd3601a466d3e973bf4370431}}
virtual void {\bfseries in\+Modify} (std\+::string name)
\item
\mbox{\Hypertarget{classcore_1_1INotify_a4fc6ec43473adfa3563cbf72617d4bba}\label{classcore_1_1INotify_a4fc6ec43473adfa3563cbf72617d4bba}}
virtual void {\bfseries in\+Move\+Self} (std\+::string name)
\item
\mbox{\Hypertarget{classcore_1_1INotify_ae9e429c6ce68424d5b58153ace41c25b}\label{classcore_1_1INotify_ae9e429c6ce68424d5b58153ace41c25b}}
virtual void {\bfseries in\+Moved\+From} (std\+::string name)
\item
\mbox{\Hypertarget{classcore_1_1INotify_ad7e5079ffc805954fc4f0542555694a4}\label{classcore_1_1INotify_ad7e5079ffc805954fc4f0542555694a4}}
virtual void {\bfseries in\+Moved\+To} (std\+::string name)
\item
\mbox{\Hypertarget{classcore_1_1INotify_a96894ea43c6aa89e986303ef36bdbcc3}\label{classcore_1_1INotify_a96894ea43c6aa89e986303ef36bdbcc3}}
virtual void {\bfseries in\+Open} (std\+::string name)
\end{DoxyCompactItemize}
The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item
INotify.\+h\item
INotify.\+cpp\end{DoxyCompactItemize}

View File

@ -1 +0,0 @@
4ce64bfd98c2c85efcf959f9b2ce61d2

View File

@ -1 +0,0 @@
3f5ea77c62672e519022863919c4aea3

View File

@ -1,56 +0,0 @@
\hypertarget{classcore_1_1IPAddress}{}\doxysection{core\+::IPAddress Class Reference}
\label{classcore_1_1IPAddress}\index{core::IPAddress@{core::IPAddress}}
Inheritance diagram for core\+::IPAddress\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=172pt]{classcore_1_1IPAddress__inherit__graph}
\end{center}
\end{figure}
Collaboration diagram for core\+::IPAddress\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=172pt]{classcore_1_1IPAddress__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1IPAddress_a31fb55b1b979f0e8a07446285f9a99f8}\label{classcore_1_1IPAddress_a31fb55b1b979f0e8a07446285f9a99f8}}
{\bfseries IPAddress} (std\+::string address)
\item
\mbox{\Hypertarget{classcore_1_1IPAddress_a37d942b8fae09010adbda33f714808c0}\label{classcore_1_1IPAddress_a37d942b8fae09010adbda33f714808c0}}
{\bfseries IPAddress} (std\+::string address, int port)
\item
\mbox{\Hypertarget{classcore_1_1IPAddress_a095a5ab48cc72161c1614ddfa89ac3ee}\label{classcore_1_1IPAddress_a095a5ab48cc72161c1614ddfa89ac3ee}}
struct sockaddr $\ast$ {\bfseries get\+Pointer} ()
\item
\mbox{\Hypertarget{classcore_1_1IPAddress_ae5e7e28589d026bbbc6c3423d418b008}\label{classcore_1_1IPAddress_ae5e7e28589d026bbbc6c3423d418b008}}
std\+::string \mbox{\hyperlink{classcore_1_1IPAddress_ae5e7e28589d026bbbc6c3423d418b008}{get\+Client\+Address}} ()
\begin{DoxyCompactList}\small\item\em Get the client network address as xxx.\+xxx.\+xxx.\+xxx. \end{DoxyCompactList}\item
\mbox{\Hypertarget{classcore_1_1IPAddress_abea870f1a048cb7bba1d2bad98558232}\label{classcore_1_1IPAddress_abea870f1a048cb7bba1d2bad98558232}}
std\+::string \mbox{\hyperlink{classcore_1_1IPAddress_abea870f1a048cb7bba1d2bad98558232}{get\+Client\+Address\+And\+Port}} ()
\begin{DoxyCompactList}\small\item\em Get the client network address and port as xxx.\+xxx.\+xxx.\+xxx\+:ppppp. \end{DoxyCompactList}\item
\mbox{\Hypertarget{classcore_1_1IPAddress_a39f706f2d43d7d001296ecead4b587e8}\label{classcore_1_1IPAddress_a39f706f2d43d7d001296ecead4b587e8}}
int \mbox{\hyperlink{classcore_1_1IPAddress_a39f706f2d43d7d001296ecead4b587e8}{get\+Client\+Port}} ()
\begin{DoxyCompactList}\small\item\em Get the client network port number. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1IPAddress_ac1291bdc515fc5b2c9ba177ddec06454}\label{classcore_1_1IPAddress_ac1291bdc515fc5b2c9ba177ddec06454}}
struct sockaddr\+\_\+in {\bfseries addr}
\item
\mbox{\Hypertarget{classcore_1_1IPAddress_a00856ef1b1deccd0341cd7ea6d1bc8e5}\label{classcore_1_1IPAddress_a00856ef1b1deccd0341cd7ea6d1bc8e5}}
socklen\+\_\+t {\bfseries address\+Length}
\end{DoxyCompactItemize}
The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item
IPAddress.\+h\item
IPAddress.\+cpp\end{DoxyCompactItemize}

View File

@ -1,23 +0,0 @@
\hypertarget{classcore_1_1IPAddressList}{}\doxysection{core\+::IPAddress\+List Class Reference}
\label{classcore_1_1IPAddressList}\index{core::IPAddressList@{core::IPAddressList}}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1IPAddressList_a740cf5f7e2633836b7a741b9f048036f}\label{classcore_1_1IPAddressList_a740cf5f7e2633836b7a741b9f048036f}}
std\+::map$<$ std\+::string, \mbox{\hyperlink{classcore_1_1IPAddress}{IPAddress}} $>$ {\bfseries get\+List} ()
\item
\mbox{\Hypertarget{classcore_1_1IPAddressList_ab98c5a502d8f5cfb4e8c451c48dbc131}\label{classcore_1_1IPAddressList_ab98c5a502d8f5cfb4e8c451c48dbc131}}
void {\bfseries add} (\mbox{\hyperlink{classcore_1_1IPAddress}{IPAddress}} ip\+Address)
\item
\mbox{\Hypertarget{classcore_1_1IPAddressList_a86e9890e15e8e0d87e34f36b637d5c40}\label{classcore_1_1IPAddressList_a86e9890e15e8e0d87e34f36b637d5c40}}
bool {\bfseries remove} (\mbox{\hyperlink{classcore_1_1IPAddress}{IPAddress}} ip\+Address)
\item
\mbox{\Hypertarget{classcore_1_1IPAddressList_add254c996687fd8f9ada0b5335e477cd}\label{classcore_1_1IPAddressList_add254c996687fd8f9ada0b5335e477cd}}
bool {\bfseries contains} (std\+::string ip\+Address)
\end{DoxyCompactItemize}
The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item
IPAddress\+List.\+h\item
IPAddress\+List.\+cpp\end{DoxyCompactItemize}

View File

@ -1 +0,0 @@
7f7ac9b55c8d17116ebd1c299b44c348

View File

@ -1 +0,0 @@
7f7ac9b55c8d17116ebd1c299b44c348

View File

@ -1,25 +0,0 @@
\hypertarget{classcore_1_1Object}{}\doxysection{core\+::Object Class Reference}
\label{classcore_1_1Object}\index{core::Object@{core::Object}}
Inheritance diagram for core\+::Object\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classcore_1_1Object__inherit__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1Object_aa096b2bab35f1019c91077ef3ec106ce}\label{classcore_1_1Object_aa096b2bab35f1019c91077ef3ec106ce}}
std\+::string {\bfseries name}
\item
\mbox{\Hypertarget{classcore_1_1Object_ad503c264c529c41c25528c34421c83df}\label{classcore_1_1Object_ad503c264c529c41c25528c34421c83df}}
std\+::string {\bfseries tag}
\end{DoxyCompactItemize}
The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item
Object.\+h\end{DoxyCompactItemize}

View File

@ -1 +0,0 @@
0072956b617b9e545ab65b3703c04beb

View File

@ -1,32 +0,0 @@
\hypertarget{classcore_1_1SessionFilter}{}\doxysection{core\+::Session\+Filter Class Reference}
\label{classcore_1_1SessionFilter}\index{core::SessionFilter@{core::SessionFilter}}
Inheritance diagram for core\+::Session\+Filter\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=185pt]{classcore_1_1SessionFilter__inherit__graph}
\end{center}
\end{figure}
Collaboration diagram for core\+::Session\+Filter\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=185pt]{classcore_1_1SessionFilter__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1SessionFilter_a9871d18a9f90c8028f879b0993b25b6f}\label{classcore_1_1SessionFilter_a9871d18a9f90c8028f879b0993b25b6f}}
virtual bool {\bfseries test} (\mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}} \&session)
\end{DoxyCompactItemize}
\doxysubsection*{Additional Inherited Members}
The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item
Session\+Filter.\+h\end{DoxyCompactItemize}

View File

@ -1 +0,0 @@
18bd2019d4b8e217560cd8e7622ec59f

View File

@ -1 +0,0 @@
18bd2019d4b8e217560cd8e7622ec59f

View File

@ -1,235 +0,0 @@
\hypertarget{classcore_1_1Socket}{}\doxysection{core\+::Socket Class Reference}
\label{classcore_1_1Socket}\index{core::Socket@{core::Socket}}
{\ttfamily \#include $<$Socket.\+h$>$}
Inheritance diagram for core\+::Socket\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classcore_1_1Socket__inherit__graph}
\end{center}
\end{figure}
Collaboration diagram for core\+::Socket\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=174pt]{classcore_1_1Socket__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\hyperlink{classcore_1_1Socket_a4c3f87fd1de3c9eab4bf5efbb30ce87d}{Socket}} (\mbox{\hyperlink{classcore_1_1EPoll}{EPoll}} \&e\+Poll, std\+::string text=\char`\"{}\char`\"{})
\item
virtual \mbox{\hyperlink{classcore_1_1Socket_aa5003845f8ae464ad2fa206176381be0}{$\sim$\+Socket}} ()
\item
void \mbox{\hyperlink{classcore_1_1Socket_af2d1b6de7a64a9d446b0305b6ec47b31}{shutdown}} (std\+::string text=\char`\"{}unknown\char`\"{})
\item
void \mbox{\hyperlink{classcore_1_1Socket_ac44f6ae3196a8a3e09a6a85fcf495762}{set\+Descriptor}} (int descriptor)
\begin{DoxyCompactList}\small\item\em Set the descriptor for the socket. \end{DoxyCompactList}\item
\mbox{\Hypertarget{classcore_1_1Socket_a06ba54744530439d4131e6aba4623d08}\label{classcore_1_1Socket_a06ba54744530439d4131e6aba4623d08}}
int \mbox{\hyperlink{classcore_1_1Socket_a06ba54744530439d4131e6aba4623d08}{get\+Descriptor}} ()
\begin{DoxyCompactList}\small\item\em Get the descriptor for the socket. \end{DoxyCompactList}\item
bool \mbox{\hyperlink{classcore_1_1Socket_a1a045e15fb5851d666a21be05ac4c5d7}{event\+Received}} (struct epoll\+\_\+event event, long long event\+Id)
\begin{DoxyCompactList}\small\item\em Parse epoll event and call specified callbacks. \end{DoxyCompactList}\item
int \mbox{\hyperlink{classcore_1_1Socket_a1413c826307ef0f29d7457770af675e3}{write}} (std\+::string data)
\item
\mbox{\Hypertarget{classcore_1_1Socket_a4855594af113428eacdaa7448d661121}\label{classcore_1_1Socket_a4855594af113428eacdaa7448d661121}}
void {\bfseries write} (char $\ast$buffer, int length)
\item
\mbox{\Hypertarget{classcore_1_1Socket_ad67b0f95127bd987b98323120f40f6ed}\label{classcore_1_1Socket_ad67b0f95127bd987b98323120f40f6ed}}
void {\bfseries output} (std\+::stringstream \&out)
\item
virtual void \mbox{\hyperlink{classcore_1_1Socket_a81e5ee3e17834166d97c6e8b7dfe0da0}{on\+Register}} ()
\begin{DoxyCompactList}\small\item\em Called before the socket has registered with the epoll processing. \end{DoxyCompactList}\item
\mbox{\Hypertarget{classcore_1_1Socket_a23b9824653bbe4652a716acb828665b1}\label{classcore_1_1Socket_a23b9824653bbe4652a716acb828665b1}}
virtual void \mbox{\hyperlink{classcore_1_1Socket_a23b9824653bbe4652a716acb828665b1}{on\+Registered}} ()
\begin{DoxyCompactList}\small\item\em Called after the socket has been registered with epoll processing. \end{DoxyCompactList}\item
\mbox{\Hypertarget{classcore_1_1Socket_aa1d380db54a5b2efbc859e3744bd898b}\label{classcore_1_1Socket_aa1d380db54a5b2efbc859e3744bd898b}}
virtual void {\bfseries on\+Unregister} ()
\item
virtual void \mbox{\hyperlink{classcore_1_1Socket_ae9be59697c2b2e5efb19aaae3ba943d2}{on\+Unregistered}} ()
\begin{DoxyCompactList}\small\item\em Called when the socket has finished unregistering for the epoll processing. \end{DoxyCompactList}\item
\mbox{\Hypertarget{classcore_1_1Socket_a43247bfe43c2be5ab3863d9057d46b7c}\label{classcore_1_1Socket_a43247bfe43c2be5ab3863d9057d46b7c}}
bool {\bfseries needs\+To\+Write} ()
\item
\mbox{\Hypertarget{classcore_1_1Socket_a04a41baed2feb95cab02d6e61d4f33ce}\label{classcore_1_1Socket_a04a41baed2feb95cab02d6e61d4f33ce}}
void {\bfseries enable\+Socket} ()
\item
\mbox{\Hypertarget{classcore_1_1Socket_a2ff4d1d1240f8a51cf19d620b4f51f20}\label{classcore_1_1Socket_a2ff4d1d1240f8a51cf19d620b4f51f20}}
void {\bfseries disable\+Socket} ()
\end{DoxyCompactItemize}
\doxysubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1Socket_a9f9a89f5caab42f77b3759ceb54a0a78}\label{classcore_1_1Socket_a9f9a89f5caab42f77b3759ceb54a0a78}}
bool {\bfseries reset} = false
\item
\mbox{\Hypertarget{classcore_1_1Socket_a6303734821a2979f7b19add6ce1367b9}\label{classcore_1_1Socket_a6303734821a2979f7b19add6ce1367b9}}
volatile bool {\bfseries shut\+Down} = false
\end{DoxyCompactItemize}
\doxysubsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1Socket_a71c77a162698b9c074a7497beab7b5d8}\label{classcore_1_1Socket_a71c77a162698b9c074a7497beab7b5d8}}
void {\bfseries set\+Buffer\+Size} (int length)
\item
\mbox{\Hypertarget{classcore_1_1Socket_aa9195676bb7ecbec167ecf5336921cbb}\label{classcore_1_1Socket_aa9195676bb7ecbec167ecf5336921cbb}}
int {\bfseries get\+Buffer\+Size} ()
\item
virtual void \mbox{\hyperlink{classcore_1_1Socket_ac8d6a2c54696eb6fc2024cf6bcf6b4e5}{on\+Data\+Received}} (std\+::string data)
\begin{DoxyCompactList}\small\item\em Called when data is received from the socket. \end{DoxyCompactList}\item
\mbox{\Hypertarget{classcore_1_1Socket_ae048b57ac2c34381378f3da0e758b3c8}\label{classcore_1_1Socket_ae048b57ac2c34381378f3da0e758b3c8}}
virtual void {\bfseries on\+Data\+Received} (coreutils\+::\+ZString \&data)
\item
virtual void \mbox{\hyperlink{classcore_1_1Socket_a46ed2e240852d3fa949979ebbc4ac875}{receive\+Data}} (coreutils\+::\+ZString \&buffer)
\end{DoxyCompactItemize}
\doxysubsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1Socket_a3b0b139ac7da581f0d969f6ae9a0c97c}\label{classcore_1_1Socket_a3b0b139ac7da581f0d969f6ae9a0c97c}}
\mbox{\hyperlink{classcore_1_1EPoll}{EPoll}} \& {\bfseries e\+Poll}
\end{DoxyCompactItemize}
\doxysubsection{Detailed Description}
\mbox{\hyperlink{classcore_1_1Socket}{Socket}}
The core component to managing a socket.
Hooks into the \mbox{\hyperlink{classcore_1_1EPoll}{EPoll}} through the registration and unregistration process and provides a communication socket of the specified protocol type. This object provides for all receiving data threading through use of the \mbox{\hyperlink{classcore_1_1EPoll}{EPoll}} object and also provides buffering for output data requests to the socket.
A program using a socket object can request to open a socket (network or device) and communicate through the streambuffer interface of the socket object.
The socket side of the \mbox{\hyperlink{classcore_1_1Socket}{Socket}} accepts EPOLLIN event and will maintain the data in a buffer for the stream readers to read. A on\+Data\+Received event is then sent with the data received in the buffer that can be read through the stream. Only sockets that send events to epoll can be used with this object.
When writing to the stream the data is written into a buffer and a EPOLLOUT is scheduled. Upon receiving the EPOLLOUT event then the buffer is written to the socket output.
\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classcore_1_1Socket_a4c3f87fd1de3c9eab4bf5efbb30ce87d}\label{classcore_1_1Socket_a4c3f87fd1de3c9eab4bf5efbb30ce87d}}
\index{core::Socket@{core::Socket}!Socket@{Socket}}
\index{Socket@{Socket}!core::Socket@{core::Socket}}
\doxysubsubsection{\texorpdfstring{Socket()}{Socket()}}
{\footnotesize\ttfamily core\+::\+Socket\+::\+Socket (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classcore_1_1EPoll}{EPoll}} \&}]{e\+Poll, }\item[{std\+::string}]{text = {\ttfamily \char`\"{}\char`\"{}} }\end{DoxyParamCaption})}
Constructor
\begin{DoxyParams}{Parameters}
{\em e\+Poll} & The \mbox{\hyperlink{classcore_1_1EPoll}{EPoll}} socket descriptor. \\
\hline
{\em text} & A title for this socket. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classcore_1_1Socket_aa5003845f8ae464ad2fa206176381be0}\label{classcore_1_1Socket_aa5003845f8ae464ad2fa206176381be0}}
\index{core::Socket@{core::Socket}!````~Socket@{$\sim$Socket}}
\index{````~Socket@{$\sim$Socket}!core::Socket@{core::Socket}}
\doxysubsubsection{\texorpdfstring{$\sim$Socket()}{~Socket()}}
{\footnotesize\ttfamily core\+::\+Socket\+::$\sim$\+Socket (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
Destructor
\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classcore_1_1Socket_a1a045e15fb5851d666a21be05ac4c5d7}\label{classcore_1_1Socket_a1a045e15fb5851d666a21be05ac4c5d7}}
\index{core::Socket@{core::Socket}!eventReceived@{eventReceived}}
\index{eventReceived@{eventReceived}!core::Socket@{core::Socket}}
\doxysubsubsection{\texorpdfstring{eventReceived()}{eventReceived()}}
{\footnotesize\ttfamily bool core\+::\+Socket\+::event\+Received (\begin{DoxyParamCaption}\item[{struct epoll\+\_\+event}]{event, }\item[{long long}]{event\+Id }\end{DoxyParamCaption})}
Parse epoll event and call specified callbacks.
The event received from epoll is sent through the event\+Received method which will parse the event and call the read and write callbacks on the socket.
This method is called by the BMAEPoll object and should not be called from any user extended classes unless an epoll event is being simulated.
The return value of false will delete the socket object causing the destructors to run. The return value of true will enable the socket on e\+Poll to receive more events. \mbox{\Hypertarget{classcore_1_1Socket_ac8d6a2c54696eb6fc2024cf6bcf6b4e5}\label{classcore_1_1Socket_ac8d6a2c54696eb6fc2024cf6bcf6b4e5}}
\index{core::Socket@{core::Socket}!onDataReceived@{onDataReceived}}
\index{onDataReceived@{onDataReceived}!core::Socket@{core::Socket}}
\doxysubsubsection{\texorpdfstring{onDataReceived()}{onDataReceived()}}
{\footnotesize\ttfamily void core\+::\+Socket\+::on\+Data\+Received (\begin{DoxyParamCaption}\item[{std\+::string}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}}
Called when data is received from the socket.
The on\+Connected method is called when the socket is ready to communicate. Writing to the socket can begin on this call to initiate a contact with the remote device. The on\+Data\+Received method is called when the socket has received an event from epoll and there is data ready to be read from the socket. The default handler will pull the data and put it into the streambuf for the socket. EPOLLIN
\begin{DoxyParams}{Parameters}
{\em data} & the data that has been received from the socket. \\
\hline
\end{DoxyParams}
Reimplemented in \mbox{\hyperlink{classcore_1_1UDPServerSocket_a41933ca153c854a800e3d047ab18313e}{core\+::\+UDPServer\+Socket}}, and \mbox{\hyperlink{classcore_1_1TCPServer_a276ccbc8cb9b4380ebd78807b97f0159}{core\+::\+TCPServer}}.
\mbox{\Hypertarget{classcore_1_1Socket_a81e5ee3e17834166d97c6e8b7dfe0da0}\label{classcore_1_1Socket_a81e5ee3e17834166d97c6e8b7dfe0da0}}
\index{core::Socket@{core::Socket}!onRegister@{onRegister}}
\index{onRegister@{onRegister}!core::Socket@{core::Socket}}
\doxysubsubsection{\texorpdfstring{onRegister()}{onRegister()}}
{\footnotesize\ttfamily void core\+::\+Socket\+::on\+Register (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
Called before the socket has registered with the epoll processing.
The on\+Register method is called before the socket is registered with e\+Poll so objects extending the \mbox{\hyperlink{classcore_1_1Socket}{Socket}} definition can initialize the socket before receiving events. Evoked when the descriptor is set using set\+Descriptor for the socket.
Reimplemented in \mbox{\hyperlink{classcore_1_1TLSSession_a76cec7cf4851eb27abe77a2339344c6d}{core\+::\+TLSSession}}.
\mbox{\Hypertarget{classcore_1_1Socket_ae9be59697c2b2e5efb19aaae3ba943d2}\label{classcore_1_1Socket_ae9be59697c2b2e5efb19aaae3ba943d2}}
\index{core::Socket@{core::Socket}!onUnregistered@{onUnregistered}}
\index{onUnregistered@{onUnregistered}!core::Socket@{core::Socket}}
\doxysubsubsection{\texorpdfstring{onUnregistered()}{onUnregistered()}}
{\footnotesize\ttfamily void core\+::\+Socket\+::on\+Unregistered (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
Called when the socket has finished unregistering for the epoll processing.
e\+Poll and socket communcation events will be stopped. The default method will close the socket and clean up the connection. If this is overridden by an extended object then the object should call this method to clean the socket up. \mbox{\Hypertarget{classcore_1_1Socket_a46ed2e240852d3fa949979ebbc4ac875}\label{classcore_1_1Socket_a46ed2e240852d3fa949979ebbc4ac875}}
\index{core::Socket@{core::Socket}!receiveData@{receiveData}}
\index{receiveData@{receiveData}!core::Socket@{core::Socket}}
\doxysubsubsection{\texorpdfstring{receiveData()}{receiveData()}}
{\footnotesize\ttfamily void core\+::\+Socket\+::receive\+Data (\begin{DoxyParamCaption}\item[{coreutils\+::\+ZString \&}]{buffer }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}}
receive\+Data will read the data from the socket and place it in the socket buffer. TLS layer overrides this to be able to read from SSL.
Reimplemented in \mbox{\hyperlink{classcore_1_1TLSSession_a8507cdcd23ac4b340ce6f6d5f0b26a52}{core\+::\+TLSSession}}.
\mbox{\Hypertarget{classcore_1_1Socket_ac44f6ae3196a8a3e09a6a85fcf495762}\label{classcore_1_1Socket_ac44f6ae3196a8a3e09a6a85fcf495762}}
\index{core::Socket@{core::Socket}!setDescriptor@{setDescriptor}}
\index{setDescriptor@{setDescriptor}!core::Socket@{core::Socket}}
\doxysubsubsection{\texorpdfstring{setDescriptor()}{setDescriptor()}}
{\footnotesize\ttfamily void core\+::\+Socket\+::set\+Descriptor (\begin{DoxyParamCaption}\item[{int}]{descriptor }\end{DoxyParamCaption})}
Set the descriptor for the socket.
set\+Descriptor establishes the file descriptor for the socket and registers the socket on the \mbox{\hyperlink{classcore_1_1EPoll}{EPoll}} controller. set\+Descriptor will invoke the \mbox{\hyperlink{classcore_1_1Socket_a81e5ee3e17834166d97c6e8b7dfe0da0}{on\+Register()}} event. \mbox{\Hypertarget{classcore_1_1Socket_af2d1b6de7a64a9d446b0305b6ec47b31}\label{classcore_1_1Socket_af2d1b6de7a64a9d446b0305b6ec47b31}}
\index{core::Socket@{core::Socket}!shutdown@{shutdown}}
\index{shutdown@{shutdown}!core::Socket@{core::Socket}}
\doxysubsubsection{\texorpdfstring{shutdown()}{shutdown()}}
{\footnotesize\ttfamily void core\+::\+Socket\+::shutdown (\begin{DoxyParamCaption}\item[{std\+::string}]{text = {\ttfamily \char`\"{}unknown\char`\"{}} }\end{DoxyParamCaption})}
Use the \mbox{\hyperlink{classcore_1_1Socket_af2d1b6de7a64a9d446b0305b6ec47b31}{shutdown()}} method to terminate the socket connection and remove resources. This method is provided to ensure that all destructors are called for all inherited objects with a virtual destructor. \mbox{\Hypertarget{classcore_1_1Socket_a1413c826307ef0f29d7457770af675e3}\label{classcore_1_1Socket_a1413c826307ef0f29d7457770af675e3}}
\index{core::Socket@{core::Socket}!write@{write}}
\index{write@{write}!core::Socket@{core::Socket}}
\doxysubsubsection{\texorpdfstring{write()}{write()}}
{\footnotesize\ttfamily int core\+::\+Socket\+::write (\begin{DoxyParamCaption}\item[{std\+::string}]{data }\end{DoxyParamCaption})}
Write data to the socket.
The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item
Socket.\+h\item
Socket.\+cpp\end{DoxyCompactItemize}

View File

@ -1 +0,0 @@
601ffa7b2c2f8f190cefef69aff78b25

View File

@ -1 +0,0 @@
854355342b517c40faec978a7a4a8024

View File

@ -1,68 +0,0 @@
\hypertarget{classcore_1_1Subscription}{}\doxysection{core\+::Subscription Class Reference}
\label{classcore_1_1Subscription}\index{core::Subscription@{core::Subscription}}
Collaboration diagram for core\+::Subscription\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classcore_1_1Subscription__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1Subscription_a348a4ec8232ada37f5be2b6f756f01f3}\label{classcore_1_1Subscription_a348a4ec8232ada37f5be2b6f756f01f3}}
{\bfseries Subscription} (std\+::string id, std\+::string mode=\char`\"{}$\ast$AUTHOR\char`\"{})
\item
\mbox{\Hypertarget{classcore_1_1Subscription_a1b993509cd113d8ed564d710955c94a0}\label{classcore_1_1Subscription_a1b993509cd113d8ed564d710955c94a0}}
{\bfseries Subscription} (std\+::string id, \mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}} \&session, std\+::string mode)
\item
\mbox{\Hypertarget{classcore_1_1Subscription_ae21b7a4a1084da8959cd8022fa138c0e}\label{classcore_1_1Subscription_ae21b7a4a1084da8959cd8022fa138c0e}}
{\bfseries Subscription} (std\+::string id, \mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}} \&session, std\+::string mode, \mbox{\hyperlink{classcore_1_1SubscriptionHandler}{Subscription\+Handler}} $\ast$handler)
\item
\mbox{\Hypertarget{classcore_1_1Subscription_a57c23d7c49328eecf8358f84b485f7cb}\label{classcore_1_1Subscription_a57c23d7c49328eecf8358f84b485f7cb}}
int {\bfseries subscribe} (\mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}} \&session)
\item
\mbox{\Hypertarget{classcore_1_1Subscription_a4b6d9f10c605f20c7e27c308577ab8d4}\label{classcore_1_1Subscription_a4b6d9f10c605f20c7e27c308577ab8d4}}
int {\bfseries unsubscribe} (\mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}} \&session)
\item
\mbox{\Hypertarget{classcore_1_1Subscription_afe97bd6c3c714df84381fdd6d66e5037}\label{classcore_1_1Subscription_afe97bd6c3c714df84381fdd6d66e5037}}
virtual int {\bfseries process} (coreutils\+::\+ZString \&request, std\+::stringstream \&out, \mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}} \&session)
\item
\mbox{\Hypertarget{classcore_1_1Subscription_aa4f32bfd024a3609ad795876860088d9}\label{classcore_1_1Subscription_aa4f32bfd024a3609ad795876860088d9}}
virtual int {\bfseries on\+Subscribe} (\mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}} \&session, \mbox{\hyperlink{classcore_1_1Subscription}{Subscription}} $\ast$subscription)
\item
\mbox{\Hypertarget{classcore_1_1Subscription_adfd211503f5eccfda620995de58c73f9}\label{classcore_1_1Subscription_adfd211503f5eccfda620995de58c73f9}}
int {\bfseries event} (std\+::stringstream \&out)
\item
\mbox{\Hypertarget{classcore_1_1Subscription_addf187a8e97c2be1ac0cce9c21da5a28}\label{classcore_1_1Subscription_addf187a8e97c2be1ac0cce9c21da5a28}}
bool {\bfseries if\+Subscriber} (\mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}} \&session)
\item
\mbox{\Hypertarget{classcore_1_1Subscription_aae12af263ca5355c7217d1bf015bba5f}\label{classcore_1_1Subscription_aae12af263ca5355c7217d1bf015bba5f}}
bool {\bfseries sub\+Invite} (\mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}} \&session)
\end{DoxyCompactItemize}
\doxysubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1Subscription_a6a952ecf3d9d4a2c69c6b09c3c5c6cb2}\label{classcore_1_1Subscription_a6a952ecf3d9d4a2c69c6b09c3c5c6cb2}}
std\+::string {\bfseries id}
\item
\mbox{\Hypertarget{classcore_1_1Subscription_a5f7d38b845a674d860fd78aa7cdd5858}\label{classcore_1_1Subscription_a5f7d38b845a674d860fd78aa7cdd5858}}
std\+::string {\bfseries mode}
\item
\mbox{\Hypertarget{classcore_1_1Subscription_a5526427600aa4a5b180f76f201e85f58}\label{classcore_1_1Subscription_a5526427600aa4a5b180f76f201e85f58}}
\mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}} $\ast$ {\bfseries owner}
\item
\mbox{\Hypertarget{classcore_1_1Subscription_ab4f020e6bdee846121f508fcdb6f7aeb}\label{classcore_1_1Subscription_ab4f020e6bdee846121f508fcdb6f7aeb}}
\mbox{\hyperlink{classcore_1_1SubscriptionHandler}{Subscription\+Handler}} $\ast$ {\bfseries handler}
\item
\mbox{\Hypertarget{classcore_1_1Subscription_ad1a5c1a3e5a6e253eb34795f43d4f9be}\label{classcore_1_1Subscription_ad1a5c1a3e5a6e253eb34795f43d4f9be}}
std\+::vector$<$ \mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}} $\ast$ $>$ {\bfseries subscribers}
\end{DoxyCompactItemize}
The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item
Subscription.\+h\item
Subscription.\+cpp\end{DoxyCompactItemize}

View File

@ -1,16 +0,0 @@
\hypertarget{classcore_1_1SubscriptionHandler}{}\doxysection{core\+::Subscription\+Handler Class Reference}
\label{classcore_1_1SubscriptionHandler}\index{core::SubscriptionHandler@{core::SubscriptionHandler}}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1SubscriptionHandler_afbf8d787ed2242122b0a63f45a668922}\label{classcore_1_1SubscriptionHandler_afbf8d787ed2242122b0a63f45a668922}}
virtual int {\bfseries process} (coreutils\+::\+ZString \&request, std\+::stringstream \&out, \mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}} \&session, \mbox{\hyperlink{classcore_1_1Subscription}{Subscription}} $\ast$subscription)
\item
\mbox{\Hypertarget{classcore_1_1SubscriptionHandler_a8e436ab79fa2c612e4e395c9efd9ddc2}\label{classcore_1_1SubscriptionHandler_a8e436ab79fa2c612e4e395c9efd9ddc2}}
virtual int {\bfseries on\+Subscribe} (\mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}} \&session, \mbox{\hyperlink{classcore_1_1Subscription}{Subscription}} $\ast$subscription)
\end{DoxyCompactItemize}
The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item
Subscription\+Handler.\+h\end{DoxyCompactItemize}

View File

@ -1,68 +0,0 @@
\hypertarget{classcore_1_1SubscriptionManager}{}\doxysection{core\+::Subscription\+Manager Class Reference}
\label{classcore_1_1SubscriptionManager}\index{core::SubscriptionManager@{core::SubscriptionManager}}
Inheritance diagram for core\+::Subscription\+Manager\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=226pt]{classcore_1_1SubscriptionManager__inherit__graph}
\end{center}
\end{figure}
Collaboration diagram for core\+::Subscription\+Manager\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=334pt]{classcore_1_1SubscriptionManager__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1SubscriptionManager_ad1a021be5d55d1e9f0944c97f79ae9e2}\label{classcore_1_1SubscriptionManager_ad1a021be5d55d1e9f0944c97f79ae9e2}}
int {\bfseries add} (\mbox{\hyperlink{classcore_1_1Subscription}{Subscription}} \&subscription)
\item
\mbox{\Hypertarget{classcore_1_1SubscriptionManager_aed407c183c390f4459bb6527b30c8198}\label{classcore_1_1SubscriptionManager_aed407c183c390f4459bb6527b30c8198}}
int {\bfseries remove\+Session\+Subscriptions} (\mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}} \&session)
\item
int \mbox{\hyperlink{classcore_1_1SubscriptionManager_aaa30bf772ad72b3f319a790662e4f8ae}{process\+Command}} (coreutils\+::\+ZString \&request, \mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}} \&session) override
\end{DoxyCompactItemize}
\doxysubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1SubscriptionManager_a1cc00944a562efe1937b70ad5a6f3834}\label{classcore_1_1SubscriptionManager_a1cc00944a562efe1937b70ad5a6f3834}}
\mbox{\hyperlink{classcore_1_1SubscriptionHandlerFactory}{Subscription\+Handler\+Factory}} $\ast$ {\bfseries factory}
\end{DoxyCompactItemize}
\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classcore_1_1SubscriptionManager_aaa30bf772ad72b3f319a790662e4f8ae}\label{classcore_1_1SubscriptionManager_aaa30bf772ad72b3f319a790662e4f8ae}}
\index{core::SubscriptionManager@{core::SubscriptionManager}!processCommand@{processCommand}}
\index{processCommand@{processCommand}!core::SubscriptionManager@{core::SubscriptionManager}}
\doxysubsubsection{\texorpdfstring{processCommand()}{processCommand()}}
{\footnotesize\ttfamily int core\+::\+Subscription\+Manager\+::process\+Command (\begin{DoxyParamCaption}\item[{coreutils\+::\+ZString \&}]{request, }\item[{\mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}} \&}]{session }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}}
This method is used to implement the functionality of the requested command. This pure virtual function must be implemented in your inheriting object.
\begin{DoxyParams}{Parameters}
{\em request} & The request that was entered by the user to invoke this command. \\
\hline
{\em session} & Specify the requesting session so that the execution of the command process can return its output to the session. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns 0 if execution of the command was successful. Otherwise returns a non-\/zero value indicating an error condition.
\end{DoxyReturn}
Reimplemented from \mbox{\hyperlink{classcore_1_1Command_a95176f2532c38ee14e3fee40ee28b1bd}{core\+::\+Command}}.
The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item
Subscription\+Manager.\+h\item
Subscription\+Manager.\+cpp\end{DoxyCompactItemize}

View File

@ -1 +0,0 @@
8f1014bb269c79bae8d723d03546ef93

View File

@ -1 +0,0 @@
64505415bff46906df08a028a1ac62cb

View File

@ -1 +0,0 @@
4b94cf6b50b0335caab4fdd7767b852a

View File

@ -1 +0,0 @@
71754a92b8eb564627eaab7051245720

View File

@ -1,215 +0,0 @@
\hypertarget{classcore_1_1TCPServer}{}\doxysection{core\+::TCPServer Class Reference}
\label{classcore_1_1TCPServer}\index{core::TCPServer@{core::TCPServer}}
{\ttfamily \#include $<$TCPServer.\+h$>$}
Inheritance diagram for core\+::TCPServer\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=304pt]{classcore_1_1TCPServer__inherit__graph}
\end{center}
\end{figure}
Collaboration diagram for core\+::TCPServer\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classcore_1_1TCPServer__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\hyperlink{classcore_1_1TCPServer_abaecb97c336b757d1029d45277f9fc5b}{TCPServer}} (\mbox{\hyperlink{classcore_1_1EPoll}{EPoll}} \&e\+Poll, \mbox{\hyperlink{classcore_1_1IPAddress}{IPAddress}} address, std\+::string delimiter=\char`\"{} \char`\"{}, int depth=10, std\+::string text=\char`\"{}\char`\"{})
\item
virtual \mbox{\hyperlink{classcore_1_1TCPServer_a7ccdc057c9eee8504fce796301f82088}{$\sim$\+TCPServer}} ()
\item
\mbox{\Hypertarget{classcore_1_1TCPServer_a554ec6e67d368e7bb545d95635c0a0df}\label{classcore_1_1TCPServer_a554ec6e67d368e7bb545d95635c0a0df}}
virtual void {\bfseries session\+Error\+Handler} (std\+::string error\+String, std\+::stringstream \&out)
\item
virtual \mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}} $\ast$ \mbox{\hyperlink{classcore_1_1TCPServer_a841f02799ad8529aad7cea132f4de8a9}{get\+Socket\+Accept}} (\mbox{\hyperlink{classcore_1_1EPoll}{EPoll}} \&epoll)
\item
\mbox{\Hypertarget{classcore_1_1TCPServer_a88c603cd5df9dbc1632fd4b5e164d75b}\label{classcore_1_1TCPServer_a88c603cd5df9dbc1632fd4b5e164d75b}}
void {\bfseries remove\+From\+Session\+List} (\mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}} $\ast$session)
\item
\mbox{\Hypertarget{classcore_1_1TCPServer_a49e3ead1bf4e7830685780e73c4db5db}\label{classcore_1_1TCPServer_a49e3ead1bf4e7830685780e73c4db5db}}
void \mbox{\hyperlink{classcore_1_1TCPServer_a49e3ead1bf4e7830685780e73c4db5db}{output}} (std\+::stringstream \&out)
\begin{DoxyCompactList}\small\item\em Output the consoles array to the console. \end{DoxyCompactList}\item
\mbox{\Hypertarget{classcore_1_1TCPServer_a9cfcf2984ddc7e1d8f157c9f07ad03e1}\label{classcore_1_1TCPServer_a9cfcf2984ddc7e1d8f157c9f07ad03e1}}
void {\bfseries send\+To\+All} (std\+::stringstream \&out)
\item
void \mbox{\hyperlink{classcore_1_1TCPServer_a7080f7d45e734087e81b83c5e1f8e676}{send\+To\+All}} (std\+::stringstream \&out, \mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}} \&sender, \mbox{\hyperlink{classcore_1_1SessionFilter}{Session\+Filter}} filter)
\item
void \mbox{\hyperlink{classcore_1_1TCPServer_af708df59e1bc60077c16db97f9cc8ff0}{send\+To\+All}} (std\+::stringstream \&out, \mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}} \&sender)
\item
\mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}} $\ast$ \mbox{\hyperlink{classcore_1_1TCPServer_a9042281193e227a6cd8dab3ff8b46a40}{get\+Session\+By\+Alias}} (void $\ast$alias)
\end{DoxyCompactItemize}
\doxysubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item
std\+::vector$<$ \mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}} $\ast$ $>$ \mbox{\hyperlink{classcore_1_1TCPServer_aeed1bc55d099667ccda51cd682bfc633}{sessions}}
\item
\mbox{\hyperlink{classcore_1_1CommandList}{Command\+List}} \mbox{\hyperlink{classcore_1_1TCPServer_afcc44802b988e2f4292504e804dccf8b}{commands}}
\item
\mbox{\hyperlink{classcore_1_1IPAddressList}{IPAddress\+List}} $\ast$ \mbox{\hyperlink{classcore_1_1TCPServer_a82f6bf16e4ab20d8b30da09e034fffff}{black\+List}}
\item
\mbox{\hyperlink{classcore_1_1IPAddressList}{IPAddress\+List}} $\ast$ \mbox{\hyperlink{classcore_1_1TCPServer_abad6300b6234ca8b69cef9128755342e}{white\+List}}
\item
\mbox{\hyperlink{classcore_1_1SubscriptionManager}{Subscription\+Manager}} \mbox{\hyperlink{classcore_1_1TCPServer_a28302dd844cfc971ee41de2000d24aa0}{subscriptions}}
\end{DoxyCompactItemize}
\doxysubsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item
void \mbox{\hyperlink{classcore_1_1TCPServer_a276ccbc8cb9b4380ebd78807b97f0159}{on\+Data\+Received}} (std\+::string data) override
\item
int \mbox{\hyperlink{classcore_1_1TCPServer_a6b7a7e1ac4132942fcaf418ed41c1437}{process\+Command}} (coreutils\+::\+ZString \&request, \mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}} \&session) override
\end{DoxyCompactItemize}
\doxysubsection*{Additional Inherited Members}
\doxysubsection{Detailed Description}
\mbox{\hyperlink{classcore_1_1TCPServer}{TCPServer}}
Manage a socket connection as a TCP server type. Connections to the socket are processed through the accept functionality.
A list of connections is maintained in a vector object.
This object extends the BMACommand object as well so it can be added to a Console object and process commands to display status information.
\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classcore_1_1TCPServer_abaecb97c336b757d1029d45277f9fc5b}\label{classcore_1_1TCPServer_abaecb97c336b757d1029d45277f9fc5b}}
\index{core::TCPServer@{core::TCPServer}!TCPServer@{TCPServer}}
\index{TCPServer@{TCPServer}!core::TCPServer@{core::TCPServer}}
\doxysubsubsection{\texorpdfstring{TCPServer()}{TCPServer()}}
{\footnotesize\ttfamily core\+::\+TCPServer\+::\+TCPServer (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classcore_1_1EPoll}{EPoll}} \&}]{e\+Poll, }\item[{\mbox{\hyperlink{classcore_1_1IPAddress}{IPAddress}}}]{address, }\item[{std\+::string}]{delimiter = {\ttfamily \char`\"{}~\char`\"{}}, }\item[{int}]{depth = {\ttfamily 10}, }\item[{std\+::string}]{text = {\ttfamily \char`\"{}\char`\"{}} }\end{DoxyParamCaption})}
The constructor for the \mbox{\hyperlink{classcore_1_1TCPServer}{TCPServer}} object.
\begin{DoxyParams}{Parameters}
{\em e\+Poll} & the \mbox{\hyperlink{classcore_1_1EPoll}{EPoll}} instance that manages the socket. \\
\hline
{\em url} & the IP address for the socket to receive connection requests. \\
\hline
{\em port} & the port number that the socket will listen on. \\
\hline
{\em command\+Name} & the name of the command used to invoke the status display for this object. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classcore_1_1TCPServer_a7ccdc057c9eee8504fce796301f82088}\label{classcore_1_1TCPServer_a7ccdc057c9eee8504fce796301f82088}}
\index{core::TCPServer@{core::TCPServer}!````~TCPServer@{$\sim$TCPServer}}
\index{````~TCPServer@{$\sim$TCPServer}!core::TCPServer@{core::TCPServer}}
\doxysubsubsection{\texorpdfstring{$\sim$TCPServer()}{~TCPServer()}}
{\footnotesize\ttfamily core\+::\+TCPServer\+::$\sim$\+TCPServer (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
The destructor for this object.
\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classcore_1_1TCPServer_a9042281193e227a6cd8dab3ff8b46a40}\label{classcore_1_1TCPServer_a9042281193e227a6cd8dab3ff8b46a40}}
\index{core::TCPServer@{core::TCPServer}!getSessionByAlias@{getSessionByAlias}}
\index{getSessionByAlias@{getSessionByAlias}!core::TCPServer@{core::TCPServer}}
\doxysubsubsection{\texorpdfstring{getSessionByAlias()}{getSessionByAlias()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}} $\ast$ core\+::\+TCPServer\+::get\+Session\+By\+Alias (\begin{DoxyParamCaption}\item[{void $\ast$}]{alias }\end{DoxyParamCaption})}
Use the get\+Session\+By\+Alias to retrieve a session pointer by the value of the alias pointer. \mbox{\Hypertarget{classcore_1_1TCPServer_a841f02799ad8529aad7cea132f4de8a9}\label{classcore_1_1TCPServer_a841f02799ad8529aad7cea132f4de8a9}}
\index{core::TCPServer@{core::TCPServer}!getSocketAccept@{getSocketAccept}}
\index{getSocketAccept@{getSocketAccept}!core::TCPServer@{core::TCPServer}}
\doxysubsubsection{\texorpdfstring{getSocketAccept()}{getSocketAccept()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}} $\ast$ core\+::\+TCPServer\+::get\+Socket\+Accept (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classcore_1_1EPoll}{EPoll}} \&}]{epoll }\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 Session provides the mechanism where the server can select the protocol dialog for the desired service.
Reimplemented in \mbox{\hyperlink{classcore_1_1ConsoleServer_a80d9ea7f3fc5e07c50d5b9e0d4943ca8}{core\+::\+Console\+Server}}.
\mbox{\Hypertarget{classcore_1_1TCPServer_a276ccbc8cb9b4380ebd78807b97f0159}\label{classcore_1_1TCPServer_a276ccbc8cb9b4380ebd78807b97f0159}}
\index{core::TCPServer@{core::TCPServer}!onDataReceived@{onDataReceived}}
\index{onDataReceived@{onDataReceived}!core::TCPServer@{core::TCPServer}}
\doxysubsubsection{\texorpdfstring{onDataReceived()}{onDataReceived()}}
{\footnotesize\ttfamily void core\+::\+TCPServer\+::on\+Data\+Received (\begin{DoxyParamCaption}\item[{std\+::string}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [protected]}, {\ttfamily [virtual]}}
Override the virtual data\+Received since for the server these are requests to accept the new connection socket. No data is to be read or written when this method is called. It is the response to the fact that a new connection is coming into the system
\begin{DoxyParams}{Parameters}
{\em data} & the pointer to the buffer containing the received data. \\
\hline
{\em length} & the length of the associated data buffer. \\
\hline
\end{DoxyParams}
Reimplemented from \mbox{\hyperlink{classcore_1_1Socket_ac8d6a2c54696eb6fc2024cf6bcf6b4e5}{core\+::\+Socket}}.
\mbox{\Hypertarget{classcore_1_1TCPServer_a6b7a7e1ac4132942fcaf418ed41c1437}\label{classcore_1_1TCPServer_a6b7a7e1ac4132942fcaf418ed41c1437}}
\index{core::TCPServer@{core::TCPServer}!processCommand@{processCommand}}
\index{processCommand@{processCommand}!core::TCPServer@{core::TCPServer}}
\doxysubsubsection{\texorpdfstring{processCommand()}{processCommand()}}
{\footnotesize\ttfamily int core\+::\+TCPServer\+::process\+Command (\begin{DoxyParamCaption}\item[{coreutils\+::\+ZString \&}]{request, }\item[{\mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}} \&}]{session }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [protected]}, {\ttfamily [virtual]}}
This method is called when the \mbox{\hyperlink{classcore_1_1Command}{Command}} associated with this object is requested because a user has typed in the associated command name on a command entry line.
\begin{DoxyParams}{Parameters}
{\em the} & session object to write the output to. \\
\hline
\end{DoxyParams}
Reimplemented from \mbox{\hyperlink{classcore_1_1Command_a95176f2532c38ee14e3fee40ee28b1bd}{core\+::\+Command}}.
\mbox{\Hypertarget{classcore_1_1TCPServer_af708df59e1bc60077c16db97f9cc8ff0}\label{classcore_1_1TCPServer_af708df59e1bc60077c16db97f9cc8ff0}}
\index{core::TCPServer@{core::TCPServer}!sendToAll@{sendToAll}}
\index{sendToAll@{sendToAll}!core::TCPServer@{core::TCPServer}}
\doxysubsubsection{\texorpdfstring{sendToAll()}{sendToAll()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily void core\+::\+TCPServer\+::send\+To\+All (\begin{DoxyParamCaption}\item[{std\+::stringstream \&}]{out, }\item[{\mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}} \&}]{sender }\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. \mbox{\Hypertarget{classcore_1_1TCPServer_a7080f7d45e734087e81b83c5e1f8e676}\label{classcore_1_1TCPServer_a7080f7d45e734087e81b83c5e1f8e676}}
\index{core::TCPServer@{core::TCPServer}!sendToAll@{sendToAll}}
\index{sendToAll@{sendToAll}!core::TCPServer@{core::TCPServer}}
\doxysubsubsection{\texorpdfstring{sendToAll()}{sendToAll()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily void core\+::\+TCPServer\+::send\+To\+All (\begin{DoxyParamCaption}\item[{std\+::stringstream \&}]{out, }\item[{\mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}} \&}]{sender, }\item[{\mbox{\hyperlink{classcore_1_1SessionFilter}{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.
\doxysubsection{Member Data Documentation}
\mbox{\Hypertarget{classcore_1_1TCPServer_a82f6bf16e4ab20d8b30da09e034fffff}\label{classcore_1_1TCPServer_a82f6bf16e4ab20d8b30da09e034fffff}}
\index{core::TCPServer@{core::TCPServer}!blackList@{blackList}}
\index{blackList@{blackList}!core::TCPServer@{core::TCPServer}}
\doxysubsubsection{\texorpdfstring{blackList}{blackList}}
{\footnotesize\ttfamily \mbox{\hyperlink{classcore_1_1IPAddressList}{IPAddress\+List}}$\ast$ core\+::\+TCPServer\+::black\+List}
If not NULL the blacklist object can be assigned to this server socket and the server IP addresses connecting to the server attempting to accept a socket are contained in this list then the connection is rejected and no accept is granted. \mbox{\Hypertarget{classcore_1_1TCPServer_afcc44802b988e2f4292504e804dccf8b}\label{classcore_1_1TCPServer_afcc44802b988e2f4292504e804dccf8b}}
\index{core::TCPServer@{core::TCPServer}!commands@{commands}}
\index{commands@{commands}!core::TCPServer@{core::TCPServer}}
\doxysubsubsection{\texorpdfstring{commands}{commands}}
{\footnotesize\ttfamily \mbox{\hyperlink{classcore_1_1CommandList}{Command\+List}} core\+::\+TCPServer\+::commands}
The commands object is a \mbox{\hyperlink{classcore_1_1CommandList}{Command\+List}} and is used to store \mbox{\hyperlink{classcore_1_1Command}{Command}} objects to be parsed and run as data comes into the session. \mbox{\Hypertarget{classcore_1_1TCPServer_aeed1bc55d099667ccda51cd682bfc633}\label{classcore_1_1TCPServer_aeed1bc55d099667ccda51cd682bfc633}}
\index{core::TCPServer@{core::TCPServer}!sessions@{sessions}}
\index{sessions@{sessions}!core::TCPServer@{core::TCPServer}}
\doxysubsubsection{\texorpdfstring{sessions}{sessions}}
{\footnotesize\ttfamily std\+::vector$<$\mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}} $\ast$$>$ core\+::\+TCPServer\+::sessions}
The list of sessions that are currently open and being maintained by this object. \mbox{\Hypertarget{classcore_1_1TCPServer_a28302dd844cfc971ee41de2000d24aa0}\label{classcore_1_1TCPServer_a28302dd844cfc971ee41de2000d24aa0}}
\index{core::TCPServer@{core::TCPServer}!subscriptions@{subscriptions}}
\index{subscriptions@{subscriptions}!core::TCPServer@{core::TCPServer}}
\doxysubsubsection{\texorpdfstring{subscriptions}{subscriptions}}
{\footnotesize\ttfamily \mbox{\hyperlink{classcore_1_1SubscriptionManager}{Subscription\+Manager}} core\+::\+TCPServer\+::subscriptions}
The \mbox{\hyperlink{classcore_1_1Subscription}{Subscription}} Manager tracks all subscriptions on the server. \mbox{\Hypertarget{classcore_1_1TCPServer_abad6300b6234ca8b69cef9128755342e}\label{classcore_1_1TCPServer_abad6300b6234ca8b69cef9128755342e}}
\index{core::TCPServer@{core::TCPServer}!whiteList@{whiteList}}
\index{whiteList@{whiteList}!core::TCPServer@{core::TCPServer}}
\doxysubsubsection{\texorpdfstring{whiteList}{whiteList}}
{\footnotesize\ttfamily \mbox{\hyperlink{classcore_1_1IPAddressList}{IPAddress\+List}}$\ast$ core\+::\+TCPServer\+::white\+List}
If not NULL the blacklist object can be assigned to this server socket and the server IP addresses connecting to the server attempting to accept a socket are contained in this list then the connection is rejected and no accept is granted.
The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item
TCPServer.\+h\item
TCPServer.\+cpp\end{DoxyCompactItemize}

View File

@ -1 +0,0 @@
f8b3d4be2480728fd43fb3b09ec15871

View File

@ -1 +0,0 @@
b99be97b5935f58c2a5f55c17513c720

View File

@ -1,183 +0,0 @@
\hypertarget{classcore_1_1TCPSession}{}\doxysection{core\+::TCPSession Class Reference}
\label{classcore_1_1TCPSession}\index{core::TCPSession@{core::TCPSession}}
{\ttfamily \#include $<$TCPSession.\+h$>$}
Inheritance diagram for core\+::TCPSession\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=320pt]{classcore_1_1TCPSession__inherit__graph}
\end{center}
\end{figure}
Collaboration diagram for core\+::TCPSession\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classcore_1_1TCPSession__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1TCPSession_a7e1192babcdeb688f463d3e9e85d0979}\label{classcore_1_1TCPSession_a7e1192babcdeb688f463d3e9e85d0979}}
{\bfseries TCPSession} (\mbox{\hyperlink{classcore_1_1EPoll}{EPoll}} \&e\+Poll, \mbox{\hyperlink{classcore_1_1TCPServer}{TCPServer}} \&server, std\+::string text=\char`\"{}\char`\"{})
\item
virtual void \mbox{\hyperlink{classcore_1_1TCPSession_a50037cbfc515650e04054e5481785981}{output}} (std\+::stringstream \&data)
\item
void \mbox{\hyperlink{classcore_1_1TCPSession_a2b09eeafef5e44009a77d9da43e3b889}{send}} ()
\item
void \mbox{\hyperlink{classcore_1_1TCPSession_a34936745e8d7669d5400e78d353a56d3}{terminate}} ()
\item
\mbox{\Hypertarget{classcore_1_1TCPSession_a31d95c498870e67c218d952ded5e9894}\label{classcore_1_1TCPSession_a31d95c498870e67c218d952ded5e9894}}
virtual bool {\bfseries compare\+Alias} (void $\ast$\mbox{\hyperlink{classcore_1_1TCPSession_a014ae6b1465bf36606763703aa8a930d}{alias}})
\item
\mbox{\Hypertarget{classcore_1_1TCPSession_a36ce8685c7af4ea7545721d65c26caec}\label{classcore_1_1TCPSession_a36ce8685c7af4ea7545721d65c26caec}}
virtual void {\bfseries output\+Alias} (std\+::stringstream \&\mbox{\hyperlink{classcore_1_1TCPSession_abb302bbb3d7e7bc75490c736364f0d4d}{out}})
\end{DoxyCompactItemize}
\doxysubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1TCPSession_a2c39191d695d79891989ea628f42c0a8}\label{classcore_1_1TCPSession_a2c39191d695d79891989ea628f42c0a8}}
\mbox{\hyperlink{classcore_1_1Command}{Command}} $\ast$ {\bfseries grab} = NULL
\item
\mbox{\Hypertarget{classcore_1_1TCPSession_a265d9493fa544e601b5ad5fb1663340c}\label{classcore_1_1TCPSession_a265d9493fa544e601b5ad5fb1663340c}}
\mbox{\hyperlink{classcore_1_1TCPServer}{TCPServer}} \& {\bfseries server}
\item
std\+::stringstream \mbox{\hyperlink{classcore_1_1TCPSession_abb302bbb3d7e7bc75490c736364f0d4d}{out}}
\item
char \mbox{\hyperlink{classcore_1_1TCPSession_a2ccd4968f5c53d1c16a57e04081db692}{uuid}} \mbox{[}37\mbox{]}
\item
void $\ast$ \mbox{\hyperlink{classcore_1_1TCPSession_a014ae6b1465bf36606763703aa8a930d}{alias}}
\end{DoxyCompactItemize}
\doxysubsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1TCPSession_aed4ed499b978bcea57a8efefe929fc98}\label{classcore_1_1TCPSession_aed4ed499b978bcea57a8efefe929fc98}}
virtual void \mbox{\hyperlink{classcore_1_1TCPSession_aed4ed499b978bcea57a8efefe929fc98}{on\+Registered}} () override
\begin{DoxyCompactList}\small\item\em Called after the socket has been registered with epoll processing. \end{DoxyCompactList}\item
virtual void \mbox{\hyperlink{classcore_1_1TCPSession_afc2d2a92bc65e1e5122a93d120253a1d}{on\+Data\+Received}} (coreutils\+::\+ZString \&data) override
\item
virtual void \mbox{\hyperlink{classcore_1_1TCPSession_a3d9e0f14e7d24357fd1950b3f9b4eaff}{on\+Line\+Received}} (coreutils\+::\+ZString \&line)
\item
virtual void \mbox{\hyperlink{classcore_1_1TCPSession_a9c996cbbfa2e592c23cf67ed8b15a32a}{on\+Block\+Received}} (coreutils\+::\+ZString \&block)
\item
virtual void \mbox{\hyperlink{classcore_1_1TCPSession_a8719952f7bb00bf7239ec40aa2868626}{on\+Connected}} ()
\item
virtual void \mbox{\hyperlink{classcore_1_1TCPSession_a98a65da2346b79bee659fca6902e94c7}{protocol}} (coreutils\+::\+ZString \&data)
\item
void \mbox{\hyperlink{classcore_1_1TCPSession_a836fb3fd5ee543ebc93262a980ae88b5}{set\+Block\+Size}} (int size=0)
\end{DoxyCompactItemize}
\doxysubsection*{Additional Inherited Members}
\doxysubsection{Detailed Description}
\mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}}
\mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}} defines the nature of the interaction with the client and stores persistent data for a defined session. \mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}} objects are not sockets but instead provide a communications control mechanism. Protocol conversations are provided through extensions from this object.
\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classcore_1_1TCPSession_a9c996cbbfa2e592c23cf67ed8b15a32a}\label{classcore_1_1TCPSession_a9c996cbbfa2e592c23cf67ed8b15a32a}}
\index{core::TCPSession@{core::TCPSession}!onBlockReceived@{onBlockReceived}}
\index{onBlockReceived@{onBlockReceived}!core::TCPSession@{core::TCPSession}}
\doxysubsubsection{\texorpdfstring{onBlockReceived()}{onBlockReceived()}}
{\footnotesize\ttfamily void core\+::\+TCPSession\+::on\+Block\+Received (\begin{DoxyParamCaption}\item[{coreutils\+::\+ZString \&}]{block }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}}
Override the on\+Block\+Received method to receive a string of characters that represents a single block of data of length determined by the block length value. If on\+Data\+Received was overriden this method will not be called unless the on\+Data\+Received calls this method explicitly using the class and member name. \mbox{\Hypertarget{classcore_1_1TCPSession_a8719952f7bb00bf7239ec40aa2868626}\label{classcore_1_1TCPSession_a8719952f7bb00bf7239ec40aa2868626}}
\index{core::TCPSession@{core::TCPSession}!onConnected@{onConnected}}
\index{onConnected@{onConnected}!core::TCPSession@{core::TCPSession}}
\doxysubsubsection{\texorpdfstring{onConnected()}{onConnected()}}
{\footnotesize\ttfamily void core\+::\+TCPSession\+::on\+Connected (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}}
This method is called from within the protocol method when protocol is called on the initial connection where the data is an empty string. Use this method to deliver a message to the connection upon connection. \mbox{\Hypertarget{classcore_1_1TCPSession_afc2d2a92bc65e1e5122a93d120253a1d}\label{classcore_1_1TCPSession_afc2d2a92bc65e1e5122a93d120253a1d}}
\index{core::TCPSession@{core::TCPSession}!onDataReceived@{onDataReceived}}
\index{onDataReceived@{onDataReceived}!core::TCPSession@{core::TCPSession}}
\doxysubsubsection{\texorpdfstring{onDataReceived()}{onDataReceived()}}
{\footnotesize\ttfamily void core\+::\+TCPSession\+::on\+Data\+Received (\begin{DoxyParamCaption}\item[{coreutils\+::\+ZString \&}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [protected]}, {\ttfamily [virtual]}}
Override this method to receive data directly from the socket as data is received. If you need data split by line termination characters then override the on\+Line\+Received method instead.
Reimplemented from \mbox{\hyperlink{classcore_1_1Socket}{core\+::\+Socket}}.
\mbox{\Hypertarget{classcore_1_1TCPSession_a3d9e0f14e7d24357fd1950b3f9b4eaff}\label{classcore_1_1TCPSession_a3d9e0f14e7d24357fd1950b3f9b4eaff}}
\index{core::TCPSession@{core::TCPSession}!onLineReceived@{onLineReceived}}
\index{onLineReceived@{onLineReceived}!core::TCPSession@{core::TCPSession}}
\doxysubsubsection{\texorpdfstring{onLineReceived()}{onLineReceived()}}
{\footnotesize\ttfamily void core\+::\+TCPSession\+::on\+Line\+Received (\begin{DoxyParamCaption}\item[{coreutils\+::\+ZString \&}]{line }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}}
Override the on\+Line\+Received method to receive a string of characters that represents a single line of data terminated by a LF or CRLF. If on\+Data\+Received was overriden this method will not be called unless the on\+Data\+Received calls this method explicitly using the class and member name. \mbox{\Hypertarget{classcore_1_1TCPSession_a50037cbfc515650e04054e5481785981}\label{classcore_1_1TCPSession_a50037cbfc515650e04054e5481785981}}
\index{core::TCPSession@{core::TCPSession}!output@{output}}
\index{output@{output}!core::TCPSession@{core::TCPSession}}
\doxysubsubsection{\texorpdfstring{output()}{output()}}
{\footnotesize\ttfamily void core\+::\+TCPSession\+::output (\begin{DoxyParamCaption}\item[{std\+::stringstream \&}]{out }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
The output method is called by a socket session (\mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}}) and will output the detail information for the client socket. When extending BMATCPSocket or BMASession you can override the method to add attributes to the list.
Reimplemented from \mbox{\hyperlink{classcore_1_1TCPSocket_afacf7528ff3c9ac077d7b5a49e2116fd}{core\+::\+TCPSocket}}.
Reimplemented in \mbox{\hyperlink{classcore_1_1TLSSession_ae55de8a035d1ddc560cf619b2030af43}{core\+::\+TLSSession}}.
\mbox{\Hypertarget{classcore_1_1TCPSession_a98a65da2346b79bee659fca6902e94c7}\label{classcore_1_1TCPSession_a98a65da2346b79bee659fca6902e94c7}}
\index{core::TCPSession@{core::TCPSession}!protocol@{protocol}}
\index{protocol@{protocol}!core::TCPSession@{core::TCPSession}}
\doxysubsubsection{\texorpdfstring{protocol()}{protocol()}}
{\footnotesize\ttfamily void core\+::\+TCPSession\+::protocol (\begin{DoxyParamCaption}\item[{coreutils\+::\+ZString \&}]{data }\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 Session default will process the \textquotesingle{}commands\textquotesingle{} added to the server object using the process\+Request method on the session input.
When data is received within the session two modes are available to pass the data through the protocol method\+: LINE or BLOCK.
Reimplemented in \mbox{\hyperlink{classcore_1_1TLSSession_a208145cc1fcdc14054602aacc2c51d91}{core\+::\+TLSSession}}, and \mbox{\hyperlink{classcore_1_1ConsoleSession_aa1818efcd33a4152d2089aa545f08833}{core\+::\+Console\+Session}}.
\mbox{\Hypertarget{classcore_1_1TCPSession_a2b09eeafef5e44009a77d9da43e3b889}\label{classcore_1_1TCPSession_a2b09eeafef5e44009a77d9da43e3b889}}
\index{core::TCPSession@{core::TCPSession}!send@{send}}
\index{send@{send}!core::TCPSession@{core::TCPSession}}
\doxysubsubsection{\texorpdfstring{send()}{send()}}
{\footnotesize\ttfamily void core\+::\+TCPSession\+::send (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
The send method is used to output the contents of the out stream to the session containing the stream. \mbox{\Hypertarget{classcore_1_1TCPSession_a836fb3fd5ee543ebc93262a980ae88b5}\label{classcore_1_1TCPSession_a836fb3fd5ee543ebc93262a980ae88b5}}
\index{core::TCPSession@{core::TCPSession}!setBlockSize@{setBlockSize}}
\index{setBlockSize@{setBlockSize}!core::TCPSession@{core::TCPSession}}
\doxysubsubsection{\texorpdfstring{setBlockSize()}{setBlockSize()}}
{\footnotesize\ttfamily void core\+::\+TCPSession\+::set\+Block\+Size (\begin{DoxyParamCaption}\item[{int}]{size = {\ttfamily 0} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}}
Use set\+Block\+Size to set the amount of data that should be read at once from the session data buffer. If this value is set to 0 then the data will be retrieved \mbox{\Hypertarget{classcore_1_1TCPSession_a34936745e8d7669d5400e78d353a56d3}\label{classcore_1_1TCPSession_a34936745e8d7669d5400e78d353a56d3}}
\index{core::TCPSession@{core::TCPSession}!terminate@{terminate}}
\index{terminate@{terminate}!core::TCPSession@{core::TCPSession}}
\doxysubsubsection{\texorpdfstring{terminate()}{terminate()}}
{\footnotesize\ttfamily void core\+::\+TCPSession\+::terminate (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
Use this method to terminate this \mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}}.
\doxysubsection{Member Data Documentation}
\mbox{\Hypertarget{classcore_1_1TCPSession_a014ae6b1465bf36606763703aa8a930d}\label{classcore_1_1TCPSession_a014ae6b1465bf36606763703aa8a930d}}
\index{core::TCPSession@{core::TCPSession}!alias@{alias}}
\index{alias@{alias}!core::TCPSession@{core::TCPSession}}
\doxysubsubsection{\texorpdfstring{alias}{alias}}
{\footnotesize\ttfamily void$\ast$ core\+::\+TCPSession\+::alias}
alias is a void pointer that can be set to point to any object that identifies this session uniquely. Using this approach, inheriting objects can determine how it knows the contacts that this server manages. \mbox{\Hypertarget{classcore_1_1TCPSession_abb302bbb3d7e7bc75490c736364f0d4d}\label{classcore_1_1TCPSession_abb302bbb3d7e7bc75490c736364f0d4d}}
\index{core::TCPSession@{core::TCPSession}!out@{out}}
\index{out@{out}!core::TCPSession@{core::TCPSession}}
\doxysubsubsection{\texorpdfstring{out}{out}}
{\footnotesize\ttfamily std\+::stringstream core\+::\+TCPSession\+::out}
Use out to send data to the session socket or other session sockets. \mbox{\Hypertarget{classcore_1_1TCPSession_a2ccd4968f5c53d1c16a57e04081db692}\label{classcore_1_1TCPSession_a2ccd4968f5c53d1c16a57e04081db692}}
\index{core::TCPSession@{core::TCPSession}!uuid@{uuid}}
\index{uuid@{uuid}!core::TCPSession@{core::TCPSession}}
\doxysubsubsection{\texorpdfstring{uuid}{uuid}}
{\footnotesize\ttfamily char core\+::\+TCPSession\+::uuid\mbox{[}37\mbox{]}}
uuid is generated automatically when the session object is instantiated. This value can be used to uniquely identify a session and is the default value pointed to by the alias pointer.
The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item
TCPSession.\+h\item
TCPSession.\+cpp\end{DoxyCompactItemize}

View File

@ -1,152 +0,0 @@
\hypertarget{classcore_1_1TCPSession2}{}\doxysection{core\+::TCPSession2 Class Reference}
\label{classcore_1_1TCPSession2}\index{core::TCPSession2@{core::TCPSession2}}
{\ttfamily \#include $<$TCPSession2.\+h$>$}
Inheritance diagram for core\+::TCPSession2\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=186pt]{classcore_1_1TCPSession2__inherit__graph}
\end{center}
\end{figure}
Collaboration diagram for core\+::TCPSession2\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=344pt]{classcore_1_1TCPSession2__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1TCPSession2_a1802e408a99b1a821b6cfc3fb64e083a}\label{classcore_1_1TCPSession2_a1802e408a99b1a821b6cfc3fb64e083a}}
{\bfseries TCPSession2} (\mbox{\hyperlink{classcore_1_1EPoll}{EPoll}} \&e\+Poll, std\+::string text=\char`\"{}\char`\"{})
\item
virtual void \mbox{\hyperlink{classcore_1_1TCPSession2_ae7648a7759570a00d3d4a8c169183291}{output}} (std\+::stringstream \&data)
\item
void \mbox{\hyperlink{classcore_1_1TCPSession2_aca2f7127b4081fa0e2d2d128083fb0f7}{send}} ()
\item
void \mbox{\hyperlink{classcore_1_1TCPSession2_a6b999e7ea6551a1b513ee057afaa9e4a}{terminate}} ()
\end{DoxyCompactItemize}
\doxysubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1TCPSession2_a1d0170cac9acda04f66971b843660676}\label{classcore_1_1TCPSession2_a1d0170cac9acda04f66971b843660676}}
\mbox{\hyperlink{classcore_1_1Command}{Command}} $\ast$ {\bfseries grab} = NULL
\item
std\+::stringstream \mbox{\hyperlink{classcore_1_1TCPSession2_a6b8005e611b6007a00ad3288973a522d}{out}}
\end{DoxyCompactItemize}
\doxysubsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1TCPSession2_a76096659b82c5dcbf6eac1d916511e60}\label{classcore_1_1TCPSession2_a76096659b82c5dcbf6eac1d916511e60}}
virtual void \mbox{\hyperlink{classcore_1_1TCPSession2_a76096659b82c5dcbf6eac1d916511e60}{on\+Registered}} () override
\begin{DoxyCompactList}\small\item\em Called after the socket has been registered with epoll processing. \end{DoxyCompactList}\item
virtual void \mbox{\hyperlink{classcore_1_1TCPSession2_a67c473e1a22b10fc100ae54206f7471b}{on\+Data\+Received}} (coreutils\+::\+ZString \&data) override
\item
virtual void \mbox{\hyperlink{classcore_1_1TCPSession2_a6cd36b444d9548d1024190c6ba747e18}{on\+Line\+Received}} (coreutils\+::\+ZString \&line)
\item
virtual void \mbox{\hyperlink{classcore_1_1TCPSession2_a6c88775e81dc0074ef0832146be9f4b9}{on\+Block\+Received}} (coreutils\+::\+ZString \&block)
\item
virtual void \mbox{\hyperlink{classcore_1_1TCPSession2_af1913cb444a9e07c0f31a2cd8d934a62}{on\+Connected}} ()
\item
virtual void \mbox{\hyperlink{classcore_1_1TCPSession2_a45df5db21355bf7d3585d68789b371ce}{protocol}} (coreutils\+::\+ZString \&data)
\item
void \mbox{\hyperlink{classcore_1_1TCPSession2_a6f4ed04cd2848e5b903b8331b2e951c8}{set\+Block\+Size}} (int size=0)
\end{DoxyCompactItemize}
\doxysubsection*{Additional Inherited Members}
\doxysubsection{Detailed Description}
\mbox{\hyperlink{classcore_1_1TCPSession2}{TCPSession2}}
\mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}} defines the nature of the interaction with the client and stores persistent data for a defined session. \mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}} objects are not sockets but instead provide a communications control mechanism. Protocol conversations are provided through extensions from this object.
\mbox{\hyperlink{classcore_1_1TCPSession2}{TCPSession2}} is designed to be \textquotesingle{}connected\textquotesingle{} instead of being served by a server.
\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classcore_1_1TCPSession2_a6c88775e81dc0074ef0832146be9f4b9}\label{classcore_1_1TCPSession2_a6c88775e81dc0074ef0832146be9f4b9}}
\index{core::TCPSession2@{core::TCPSession2}!onBlockReceived@{onBlockReceived}}
\index{onBlockReceived@{onBlockReceived}!core::TCPSession2@{core::TCPSession2}}
\doxysubsubsection{\texorpdfstring{onBlockReceived()}{onBlockReceived()}}
{\footnotesize\ttfamily void core\+::\+TCPSession2\+::on\+Block\+Received (\begin{DoxyParamCaption}\item[{coreutils\+::\+ZString \&}]{block }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}}
Override the on\+Block\+Received method to receive a string of characters that represents a single block of data of length determined by the block length value. If on\+Data\+Received was overriden this method will not be called unless the on\+Data\+Received calls this method explicitly using the class and member name. \mbox{\Hypertarget{classcore_1_1TCPSession2_af1913cb444a9e07c0f31a2cd8d934a62}\label{classcore_1_1TCPSession2_af1913cb444a9e07c0f31a2cd8d934a62}}
\index{core::TCPSession2@{core::TCPSession2}!onConnected@{onConnected}}
\index{onConnected@{onConnected}!core::TCPSession2@{core::TCPSession2}}
\doxysubsubsection{\texorpdfstring{onConnected()}{onConnected()}}
{\footnotesize\ttfamily void core\+::\+TCPSession2\+::on\+Connected (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}}
This method is called from within the protocol method when protocol is called on the initial connection where the data is an empty string. Use this method to deliver a message to the connection upon connection. \mbox{\Hypertarget{classcore_1_1TCPSession2_a67c473e1a22b10fc100ae54206f7471b}\label{classcore_1_1TCPSession2_a67c473e1a22b10fc100ae54206f7471b}}
\index{core::TCPSession2@{core::TCPSession2}!onDataReceived@{onDataReceived}}
\index{onDataReceived@{onDataReceived}!core::TCPSession2@{core::TCPSession2}}
\doxysubsubsection{\texorpdfstring{onDataReceived()}{onDataReceived()}}
{\footnotesize\ttfamily void core\+::\+TCPSession2\+::on\+Data\+Received (\begin{DoxyParamCaption}\item[{coreutils\+::\+ZString \&}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [protected]}, {\ttfamily [virtual]}}
Override this method to receive data directly from the socket as data is received. If you need data split by line termination characters then override the on\+Line\+Received method instead.
Reimplemented from \mbox{\hyperlink{classcore_1_1Socket}{core\+::\+Socket}}.
\mbox{\Hypertarget{classcore_1_1TCPSession2_a6cd36b444d9548d1024190c6ba747e18}\label{classcore_1_1TCPSession2_a6cd36b444d9548d1024190c6ba747e18}}
\index{core::TCPSession2@{core::TCPSession2}!onLineReceived@{onLineReceived}}
\index{onLineReceived@{onLineReceived}!core::TCPSession2@{core::TCPSession2}}
\doxysubsubsection{\texorpdfstring{onLineReceived()}{onLineReceived()}}
{\footnotesize\ttfamily void core\+::\+TCPSession2\+::on\+Line\+Received (\begin{DoxyParamCaption}\item[{coreutils\+::\+ZString \&}]{line }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}}
Override the on\+Line\+Received method to receive a string of characters that represents a single line of data terminated by a LF or CRLF. If on\+Data\+Received was overriden this method will not be called unless the on\+Data\+Received calls this method explicitly using the class and member name. \mbox{\Hypertarget{classcore_1_1TCPSession2_ae7648a7759570a00d3d4a8c169183291}\label{classcore_1_1TCPSession2_ae7648a7759570a00d3d4a8c169183291}}
\index{core::TCPSession2@{core::TCPSession2}!output@{output}}
\index{output@{output}!core::TCPSession2@{core::TCPSession2}}
\doxysubsubsection{\texorpdfstring{output()}{output()}}
{\footnotesize\ttfamily void core\+::\+TCPSession2\+::output (\begin{DoxyParamCaption}\item[{std\+::stringstream \&}]{out }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
The output method is called by a socket session (\mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}}) and will output the detail information for the client socket. When extending BMATCPSocket or BMASession you can override the method to add attributes to the list.
Reimplemented from \mbox{\hyperlink{classcore_1_1TCPSocket_afacf7528ff3c9ac077d7b5a49e2116fd}{core\+::\+TCPSocket}}.
\mbox{\Hypertarget{classcore_1_1TCPSession2_a45df5db21355bf7d3585d68789b371ce}\label{classcore_1_1TCPSession2_a45df5db21355bf7d3585d68789b371ce}}
\index{core::TCPSession2@{core::TCPSession2}!protocol@{protocol}}
\index{protocol@{protocol}!core::TCPSession2@{core::TCPSession2}}
\doxysubsubsection{\texorpdfstring{protocol()}{protocol()}}
{\footnotesize\ttfamily void core\+::\+TCPSession2\+::protocol (\begin{DoxyParamCaption}\item[{coreutils\+::\+ZString \&}]{data }\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 Session default will process the \textquotesingle{}commands\textquotesingle{} added to the server object using the process\+Request method on the session input.
When data is received within the session two modes are available to pass the data through the protocol method\+: LINE or BLOCK. \mbox{\Hypertarget{classcore_1_1TCPSession2_aca2f7127b4081fa0e2d2d128083fb0f7}\label{classcore_1_1TCPSession2_aca2f7127b4081fa0e2d2d128083fb0f7}}
\index{core::TCPSession2@{core::TCPSession2}!send@{send}}
\index{send@{send}!core::TCPSession2@{core::TCPSession2}}
\doxysubsubsection{\texorpdfstring{send()}{send()}}
{\footnotesize\ttfamily void core\+::\+TCPSession2\+::send (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
The send method is used to output the contents of the out stream to the session containing the stream. \mbox{\Hypertarget{classcore_1_1TCPSession2_a6f4ed04cd2848e5b903b8331b2e951c8}\label{classcore_1_1TCPSession2_a6f4ed04cd2848e5b903b8331b2e951c8}}
\index{core::TCPSession2@{core::TCPSession2}!setBlockSize@{setBlockSize}}
\index{setBlockSize@{setBlockSize}!core::TCPSession2@{core::TCPSession2}}
\doxysubsubsection{\texorpdfstring{setBlockSize()}{setBlockSize()}}
{\footnotesize\ttfamily void core\+::\+TCPSession2\+::set\+Block\+Size (\begin{DoxyParamCaption}\item[{int}]{size = {\ttfamily 0} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}}
Use set\+Block\+Size to set the amount of data that should be read at once from the session data buffer. If this value is set to 0 then the data will be retrieved \mbox{\Hypertarget{classcore_1_1TCPSession2_a6b999e7ea6551a1b513ee057afaa9e4a}\label{classcore_1_1TCPSession2_a6b999e7ea6551a1b513ee057afaa9e4a}}
\index{core::TCPSession2@{core::TCPSession2}!terminate@{terminate}}
\index{terminate@{terminate}!core::TCPSession2@{core::TCPSession2}}
\doxysubsubsection{\texorpdfstring{terminate()}{terminate()}}
{\footnotesize\ttfamily void core\+::\+TCPSession2\+::terminate (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
Use this method to terminate this \mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}}.
\doxysubsection{Member Data Documentation}
\mbox{\Hypertarget{classcore_1_1TCPSession2_a6b8005e611b6007a00ad3288973a522d}\label{classcore_1_1TCPSession2_a6b8005e611b6007a00ad3288973a522d}}
\index{core::TCPSession2@{core::TCPSession2}!out@{out}}
\index{out@{out}!core::TCPSession2@{core::TCPSession2}}
\doxysubsubsection{\texorpdfstring{out}{out}}
{\footnotesize\ttfamily std\+::stringstream core\+::\+TCPSession2\+::out}
Use out to send data to the session socket or other session sockets.
The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item
TCPSession2.\+h\item
TCPSession2.\+cpp\end{DoxyCompactItemize}

View File

@ -1 +0,0 @@
fe64599d41e7ccac39d8893112bb841e

View File

@ -1 +0,0 @@
de71d95381b2d963b0009617c90d96b4

View File

@ -1 +0,0 @@
d87972b51f072a08ebf9b9fcdc680564

View File

@ -1 +0,0 @@
01b803dfb26ef948867565d97c1cc8c4

View File

@ -1,71 +0,0 @@
\hypertarget{classcore_1_1TCPSocket}{}\doxysection{core\+::TCPSocket Class Reference}
\label{classcore_1_1TCPSocket}\index{core::TCPSocket@{core::TCPSocket}}
{\ttfamily \#include $<$TCPSocket.\+h$>$}
Inheritance diagram for core\+::TCPSocket\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classcore_1_1TCPSocket__inherit__graph}
\end{center}
\end{figure}
Collaboration diagram for core\+::TCPSocket\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=275pt]{classcore_1_1TCPSocket__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1TCPSocket_a09089f0bc701edcf6c148958fd29d374}\label{classcore_1_1TCPSocket_a09089f0bc701edcf6c148958fd29d374}}
{\bfseries TCPSocket} (\mbox{\hyperlink{classcore_1_1EPoll}{EPoll}} \&e\+Poll)
\item
\mbox{\Hypertarget{classcore_1_1TCPSocket_aa7ffbbd17827ffe769684fa8345862d6}\label{classcore_1_1TCPSocket_aa7ffbbd17827ffe769684fa8345862d6}}
{\bfseries TCPSocket} (\mbox{\hyperlink{classcore_1_1EPoll}{EPoll}} \&e\+Poll, std\+::string text)
\item
\mbox{\Hypertarget{classcore_1_1TCPSocket_a22dae8f5b7989d206fab918297e0df94}\label{classcore_1_1TCPSocket_a22dae8f5b7989d206fab918297e0df94}}
void {\bfseries connect} (\mbox{\hyperlink{classcore_1_1IPAddress}{IPAddress}} \&address)
\item
virtual void \mbox{\hyperlink{classcore_1_1TCPSocket_afacf7528ff3c9ac077d7b5a49e2116fd}{output}} (std\+::stringstream \&out)
\end{DoxyCompactItemize}
\doxysubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1TCPSocket_abe7d0a740dc0c19c058661270a6fb630}\label{classcore_1_1TCPSocket_abe7d0a740dc0c19c058661270a6fb630}}
\mbox{\hyperlink{classcore_1_1IPAddress}{IPAddress}} {\bfseries ip\+Address}
\end{DoxyCompactItemize}
\doxysubsection*{Additional Inherited Members}
\doxysubsection{Detailed Description}
\mbox{\hyperlink{classcore_1_1TCPSocket}{TCPSocket}}
Provides a network TCP socket.
For accessing TCP network functions use this object. The connection oriented nature of TCP provides a single client persistent connection with data error correction and a durable synchronous data connection.
\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classcore_1_1TCPSocket_afacf7528ff3c9ac077d7b5a49e2116fd}\label{classcore_1_1TCPSocket_afacf7528ff3c9ac077d7b5a49e2116fd}}
\index{core::TCPSocket@{core::TCPSocket}!output@{output}}
\index{output@{output}!core::TCPSocket@{core::TCPSocket}}
\doxysubsubsection{\texorpdfstring{output()}{output()}}
{\footnotesize\ttfamily void core\+::\+TCPSocket\+::output (\begin{DoxyParamCaption}\item[{std\+::stringstream \&}]{out }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
The output method is called by a socket session (\mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}}) and will output the detail information for the client socket. When extending BMATCPSocket or BMASession you can override the method to add attributes to the list.
Reimplemented in \mbox{\hyperlink{classcore_1_1TLSSession_ae55de8a035d1ddc560cf619b2030af43}{core\+::\+TLSSession}}, \mbox{\hyperlink{classcore_1_1TCPServer_a49e3ead1bf4e7830685780e73c4db5db}{core\+::\+TCPServer}}, \mbox{\hyperlink{classcore_1_1TCPSession2_ae7648a7759570a00d3d4a8c169183291}{core\+::\+TCPSession2}}, and \mbox{\hyperlink{classcore_1_1TCPSession_a50037cbfc515650e04054e5481785981}{core\+::\+TCPSession}}.
The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item
TCPSocket.\+h\item
TCPSocket.\+cpp\end{DoxyCompactItemize}

View File

@ -1 +0,0 @@
a33fab216720a2263f2d7805928efbed

View File

@ -1 +0,0 @@
ac090ff3a3eea09b52baeca9fefa5670

View File

@ -1,83 +0,0 @@
\hypertarget{classcore_1_1TLSServer}{}\doxysection{core\+::TLSServer Class Reference}
\label{classcore_1_1TLSServer}\index{core::TLSServer@{core::TLSServer}}
{\ttfamily \#include $<$TLSServer.\+h$>$}
Inheritance diagram for core\+::TLSServer\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=288pt]{classcore_1_1TLSServer__inherit__graph}
\end{center}
\end{figure}
Collaboration diagram for core\+::TLSServer\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classcore_1_1TLSServer__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\hyperlink{classcore_1_1TLSServer_a6460f9872936015efdfd0b8de04aa2fe}{TLSServer}} (\mbox{\hyperlink{classcore_1_1EPoll}{EPoll}} \&e\+Poll, \mbox{\hyperlink{classcore_1_1IPAddress}{IPAddress}} address)
\item
\mbox{\hyperlink{classcore_1_1TLSServer_ac71db77c796a1bf65357409cb96054c7}{$\sim$\+TLSServer}} ()
\item
\mbox{\Hypertarget{classcore_1_1TLSServer_a984dfd9faaa792e29f905e860d2e4a9e}\label{classcore_1_1TLSServer_a984dfd9faaa792e29f905e860d2e4a9e}}
\mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}} $\ast$ {\bfseries get\+Socket\+Accept} ()
\end{DoxyCompactItemize}
\doxysubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1TLSServer_ab4e788350bda508fa44604d146e7537f}\label{classcore_1_1TLSServer_ab4e788350bda508fa44604d146e7537f}}
SSL\+\_\+\+CTX $\ast$ {\bfseries ctx}
\end{DoxyCompactItemize}
\doxysubsection*{Additional Inherited Members}
\doxysubsection{Detailed Description}
\mbox{\hyperlink{classcore_1_1TLSServer}{TLSServer}}
Manage a socket connection as a TLS server type. Connections to the socket are processed through the accept functionality.
\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classcore_1_1TLSServer_a6460f9872936015efdfd0b8de04aa2fe}\label{classcore_1_1TLSServer_a6460f9872936015efdfd0b8de04aa2fe}}
\index{core::TLSServer@{core::TLSServer}!TLSServer@{TLSServer}}
\index{TLSServer@{TLSServer}!core::TLSServer@{core::TLSServer}}
\doxysubsubsection{\texorpdfstring{TLSServer()}{TLSServer()}}
{\footnotesize\ttfamily core\+::\+TLSServer\+::\+TLSServer (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classcore_1_1EPoll}{EPoll}} \&}]{e\+Poll, }\item[{\mbox{\hyperlink{classcore_1_1IPAddress}{IPAddress}}}]{address }\end{DoxyParamCaption})}
The constructor.
\begin{DoxyParams}{Parameters}
{\em e\+Poll} & the BMAEPoll instance that manages the socket. \\
\hline
{\em url} & the IP address for the socket to receive connection requests. \\
\hline
{\em port} & the port number that the socket will listen on. \\
\hline
{\em command\+Name} & the name of the command used to invoke the status display for this object. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the instance of the BMATLSServer\+Socket.
\end{DoxyReturn}
\mbox{\Hypertarget{classcore_1_1TLSServer_ac71db77c796a1bf65357409cb96054c7}\label{classcore_1_1TLSServer_ac71db77c796a1bf65357409cb96054c7}}
\index{core::TLSServer@{core::TLSServer}!````~TLSServer@{$\sim$TLSServer}}
\index{````~TLSServer@{$\sim$TLSServer}!core::TLSServer@{core::TLSServer}}
\doxysubsubsection{\texorpdfstring{$\sim$TLSServer()}{~TLSServer()}}
{\footnotesize\ttfamily core\+::\+TLSServer\+::$\sim$\+TLSServer (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
The destructor for this object.
The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item
TLSServer.\+h\item
TLSServer.\+cpp\end{DoxyCompactItemize}

View File

@ -1 +0,0 @@
570f4c102411fb289b8d1a36fa8859e6

View File

@ -1 +0,0 @@
d627f85b92b90c661bf33ed669aca2d6

View File

@ -1,107 +0,0 @@
\hypertarget{classcore_1_1TLSSession}{}\doxysection{core\+::TLSSession Class Reference}
\label{classcore_1_1TLSSession}\index{core::TLSSession@{core::TLSSession}}
{\ttfamily \#include $<$TLSSession.\+h$>$}
Inheritance diagram for core\+::TLSSession\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=180pt]{classcore_1_1TLSSession__inherit__graph}
\end{center}
\end{figure}
Collaboration diagram for core\+::TLSSession\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classcore_1_1TLSSession__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1TLSSession_ac2bd48a18a46a3b6827cd689775e3552}\label{classcore_1_1TLSSession_ac2bd48a18a46a3b6827cd689775e3552}}
{\bfseries TLSSession} (\mbox{\hyperlink{classcore_1_1EPoll}{EPoll}} \&e\+Poll, \mbox{\hyperlink{classcore_1_1TCPServer}{TCPServer}} \&server)
\item
virtual void \mbox{\hyperlink{classcore_1_1TLSSession_ae55de8a035d1ddc560cf619b2030af43}{output}} (std\+::stringstream \&\mbox{\hyperlink{classcore_1_1TCPSession_abb302bbb3d7e7bc75490c736364f0d4d}{out}})
\item
virtual void \mbox{\hyperlink{classcore_1_1TLSSession_a208145cc1fcdc14054602aacc2c51d91}{protocol}} (coreutils\+::\+ZString \&data) override
\end{DoxyCompactItemize}
\doxysubsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item
void \mbox{\hyperlink{classcore_1_1TLSSession_a8507cdcd23ac4b340ce6f6d5f0b26a52}{receive\+Data}} (coreutils\+::\+ZString \&buffer) override
\item
void \mbox{\hyperlink{classcore_1_1TLSSession_a76cec7cf4851eb27abe77a2339344c6d}{on\+Register}} ()
\begin{DoxyCompactList}\small\item\em Called before the socket has registered with the epoll processing. \end{DoxyCompactList}\item
\mbox{\Hypertarget{classcore_1_1TLSSession_a8e26fdc9e8a6c573b5a504a1f1b137a9}\label{classcore_1_1TLSSession_a8e26fdc9e8a6c573b5a504a1f1b137a9}}
void \mbox{\hyperlink{classcore_1_1TLSSession_a8e26fdc9e8a6c573b5a504a1f1b137a9}{on\+Registered}} ()
\begin{DoxyCompactList}\small\item\em Called after the socket has been registered with epoll processing. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Additional Inherited Members}
\doxysubsection{Detailed Description}
\mbox{\hyperlink{classcore_1_1TLSSession}{TLSSession}}
Provides a network TLS socket.
For accessing TLS network functions use this object. The connection oriented nature of TLS provides a single client persistent connection with data error correction and a durable synchronous data connection.
\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classcore_1_1TLSSession_a76cec7cf4851eb27abe77a2339344c6d}\label{classcore_1_1TLSSession_a76cec7cf4851eb27abe77a2339344c6d}}
\index{core::TLSSession@{core::TLSSession}!onRegister@{onRegister}}
\index{onRegister@{onRegister}!core::TLSSession@{core::TLSSession}}
\doxysubsubsection{\texorpdfstring{onRegister()}{onRegister()}}
{\footnotesize\ttfamily void core\+::\+TLSSession\+::on\+Register (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}}
Called before the socket has registered with the epoll processing.
The on\+Register method is called before the socket is registered with e\+Poll so objects extending the \mbox{\hyperlink{classcore_1_1Socket}{Socket}} definition can initialize the socket before receiving events. Evoked when the descriptor is set using set\+Descriptor for the socket.
Reimplemented from \mbox{\hyperlink{classcore_1_1Socket_a81e5ee3e17834166d97c6e8b7dfe0da0}{core\+::\+Socket}}.
\mbox{\Hypertarget{classcore_1_1TLSSession_ae55de8a035d1ddc560cf619b2030af43}\label{classcore_1_1TLSSession_ae55de8a035d1ddc560cf619b2030af43}}
\index{core::TLSSession@{core::TLSSession}!output@{output}}
\index{output@{output}!core::TLSSession@{core::TLSSession}}
\doxysubsubsection{\texorpdfstring{output()}{output()}}
{\footnotesize\ttfamily void core\+::\+TLSSession\+::output (\begin{DoxyParamCaption}\item[{std\+::stringstream \&}]{out }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
The output method is called by a socket session (Session) and will output the detail information for the client socket. When extending TLSSocket or Session you can override the method to add attributes to the list.
Reimplemented from \mbox{\hyperlink{classcore_1_1TCPSession_a50037cbfc515650e04054e5481785981}{core\+::\+TCPSession}}.
\mbox{\Hypertarget{classcore_1_1TLSSession_a208145cc1fcdc14054602aacc2c51d91}\label{classcore_1_1TLSSession_a208145cc1fcdc14054602aacc2c51d91}}
\index{core::TLSSession@{core::TLSSession}!protocol@{protocol}}
\index{protocol@{protocol}!core::TLSSession@{core::TLSSession}}
\doxysubsubsection{\texorpdfstring{protocol()}{protocol()}}
{\footnotesize\ttfamily void core\+::\+TLSSession\+::protocol (\begin{DoxyParamCaption}\item[{coreutils\+::\+ZString \&}]{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 Session default will process the \textquotesingle{}commands\textquotesingle{} added to the server object using the process\+Request method on the session input.
When data is received within the session two modes are available to pass the data through the protocol method\+: LINE or BLOCK.
Reimplemented from \mbox{\hyperlink{classcore_1_1TCPSession_a98a65da2346b79bee659fca6902e94c7}{core\+::\+TCPSession}}.
\mbox{\Hypertarget{classcore_1_1TLSSession_a8507cdcd23ac4b340ce6f6d5f0b26a52}\label{classcore_1_1TLSSession_a8507cdcd23ac4b340ce6f6d5f0b26a52}}
\index{core::TLSSession@{core::TLSSession}!receiveData@{receiveData}}
\index{receiveData@{receiveData}!core::TLSSession@{core::TLSSession}}
\doxysubsubsection{\texorpdfstring{receiveData()}{receiveData()}}
{\footnotesize\ttfamily void core\+::\+TLSSession\+::receive\+Data (\begin{DoxyParamCaption}\item[{coreutils\+::\+ZString \&}]{buffer }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [protected]}, {\ttfamily [virtual]}}
receive\+Data will read the data from the socket and place it in the socket buffer. TLS layer overrides this to be able to read from SSL.
Reimplemented from \mbox{\hyperlink{classcore_1_1Socket_a46ed2e240852d3fa949979ebbc4ac875}{core\+::\+Socket}}.
The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item
TLSSession.\+h\item
TLSSession.\+cpp\end{DoxyCompactItemize}

View File

@ -1 +0,0 @@
3a1c4c43a650ff535e4abe8ddf98bc47

View File

@ -1 +0,0 @@
547702fb1dc57c45ed4be5e1a8eb0583

View File

@ -1,84 +0,0 @@
\hypertarget{classcore_1_1TerminalSession}{}\doxysection{core\+::Terminal\+Session Class Reference}
\label{classcore_1_1TerminalSession}\index{core::TerminalSession@{core::TerminalSession}}
Inheritance diagram for core\+::Terminal\+Session\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=203pt]{classcore_1_1TerminalSession__inherit__graph}
\end{center}
\end{figure}
Collaboration diagram for core\+::Terminal\+Session\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classcore_1_1TerminalSession__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1TerminalSession_a6773b1897d2e417ab573b28fa127230c}\label{classcore_1_1TerminalSession_a6773b1897d2e417ab573b28fa127230c}}
{\bfseries Terminal\+Session} (\mbox{\hyperlink{classcore_1_1EPoll}{EPoll}} \&e\+Poll, \mbox{\hyperlink{classcore_1_1TCPServer}{TCPServer}} \&server)
\item
\mbox{\Hypertarget{classcore_1_1TerminalSession_a0df0106164a7f213acf2e814e725c576}\label{classcore_1_1TerminalSession_a0df0106164a7f213acf2e814e725c576}}
int {\bfseries get\+Lines} ()
\item
void \mbox{\hyperlink{classcore_1_1TerminalSession_a42bb06857891220a831da04248233935}{clear}} ()
\item
void \mbox{\hyperlink{classcore_1_1TerminalSession_aa660768eed03b0b996a749e8a146446c}{clear\+EOL}} ()
\item
void \mbox{\hyperlink{classcore_1_1TerminalSession_aa9939cbe36c08e1a0b8413a96ca251fa}{set\+Cursor\+Location}} (int x, int y)
\item
\mbox{\Hypertarget{classcore_1_1TerminalSession_abb104a3743f52c8237afc25c9abd3815}\label{classcore_1_1TerminalSession_abb104a3743f52c8237afc25c9abd3815}}
void {\bfseries set\+Color} (int color)
\item
\mbox{\Hypertarget{classcore_1_1TerminalSession_a96c909e28a87f2e5b64fe2ca7ab79ca7}\label{classcore_1_1TerminalSession_a96c909e28a87f2e5b64fe2ca7ab79ca7}}
void {\bfseries set\+Back\+Color} (int color)
\item
\mbox{\Hypertarget{classcore_1_1TerminalSession_a930de98aea34eca4723a1efbc0272223}\label{classcore_1_1TerminalSession_a930de98aea34eca4723a1efbc0272223}}
void {\bfseries save\+Cursor} ()
\item
\mbox{\Hypertarget{classcore_1_1TerminalSession_afc89dc99e1b104bee7717b0cda2f9b37}\label{classcore_1_1TerminalSession_afc89dc99e1b104bee7717b0cda2f9b37}}
void {\bfseries restore\+Cursor} ()
\item
\mbox{\Hypertarget{classcore_1_1TerminalSession_a21f8ec433bcb4c7f55807cdcbc929134}\label{classcore_1_1TerminalSession_a21f8ec433bcb4c7f55807cdcbc929134}}
void {\bfseries Next\+Line} (int lines)
\item
\mbox{\Hypertarget{classcore_1_1TerminalSession_aea2f243e65074cb174ddf8844c9126ff}\label{classcore_1_1TerminalSession_aea2f243e65074cb174ddf8844c9126ff}}
void {\bfseries Previous\+Line} (int lines)
\item
\mbox{\Hypertarget{classcore_1_1TerminalSession_a2305ddd73d1ccb8a303abd718cd6e7b0}\label{classcore_1_1TerminalSession_a2305ddd73d1ccb8a303abd718cd6e7b0}}
void {\bfseries scroll\+Area} (int start, int end)
\end{DoxyCompactItemize}
\doxysubsection*{Additional Inherited Members}
\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classcore_1_1TerminalSession_a42bb06857891220a831da04248233935}\label{classcore_1_1TerminalSession_a42bb06857891220a831da04248233935}}
\index{core::TerminalSession@{core::TerminalSession}!clear@{clear}}
\index{clear@{clear}!core::TerminalSession@{core::TerminalSession}}
\doxysubsubsection{\texorpdfstring{clear()}{clear()}}
{\footnotesize\ttfamily void core\+::\+Terminal\+Session\+::clear (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
Clear the display. \mbox{\Hypertarget{classcore_1_1TerminalSession_aa660768eed03b0b996a749e8a146446c}\label{classcore_1_1TerminalSession_aa660768eed03b0b996a749e8a146446c}}
\index{core::TerminalSession@{core::TerminalSession}!clearEOL@{clearEOL}}
\index{clearEOL@{clearEOL}!core::TerminalSession@{core::TerminalSession}}
\doxysubsubsection{\texorpdfstring{clearEOL()}{clearEOL()}}
{\footnotesize\ttfamily void core\+::\+Terminal\+Session\+::clear\+EOL (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
Clear the display from the cursor to the end of line. \mbox{\Hypertarget{classcore_1_1TerminalSession_aa9939cbe36c08e1a0b8413a96ca251fa}\label{classcore_1_1TerminalSession_aa9939cbe36c08e1a0b8413a96ca251fa}}
\index{core::TerminalSession@{core::TerminalSession}!setCursorLocation@{setCursorLocation}}
\index{setCursorLocation@{setCursorLocation}!core::TerminalSession@{core::TerminalSession}}
\doxysubsubsection{\texorpdfstring{setCursorLocation()}{setCursorLocation()}}
{\footnotesize\ttfamily void core\+::\+Terminal\+Session\+::set\+Cursor\+Location (\begin{DoxyParamCaption}\item[{int}]{x, }\item[{int}]{y }\end{DoxyParamCaption})}
Set the location of the cursor on the display.
The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item
Terminal\+Session.\+h\item
Terminal\+Session.\+cpp\end{DoxyCompactItemize}

View File

@ -1 +0,0 @@
00641485784139c701aa818005d8d704

View File

@ -1 +0,0 @@
3e581dfae79d3970f63743d4be890c78

View File

@ -1,71 +0,0 @@
\hypertarget{classcore_1_1Thread}{}\doxysection{core\+::Thread Class Reference}
\label{classcore_1_1Thread}\index{core::Thread@{core::Thread}}
{\ttfamily \#include $<$Thread.\+h$>$}
Inheritance diagram for core\+::Thread\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=157pt]{classcore_1_1Thread__inherit__graph}
\end{center}
\end{figure}
Collaboration diagram for core\+::Thread\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=157pt]{classcore_1_1Thread__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1Thread_acf8e7e682431fa6a4a3a77ce9b33aefc}\label{classcore_1_1Thread_acf8e7e682431fa6a4a3a77ce9b33aefc}}
{\bfseries Thread} (\mbox{\hyperlink{classcore_1_1EPoll}{EPoll}} \&e\+Poll)
\item
\mbox{\Hypertarget{classcore_1_1Thread_a88638bbc82ac8d05fc4400db90a89451}\label{classcore_1_1Thread_a88638bbc82ac8d05fc4400db90a89451}}
{\bfseries Thread} (\mbox{\hyperlink{classcore_1_1EPoll}{EPoll}} \&e\+Poll, \mbox{\hyperlink{classcore_1_1ThreadScope}{Thread\+Scope}} $\ast$thread)
\item
void \mbox{\hyperlink{classcore_1_1Thread_ae6885df9a9b9503669e5776518b19054}{start}} ()
\item
\mbox{\Hypertarget{classcore_1_1Thread_a9ba3b9a5127dcfa0ee2c5f315d6a648d}\label{classcore_1_1Thread_a9ba3b9a5127dcfa0ee2c5f315d6a648d}}
void {\bfseries join} ()
\item
\mbox{\Hypertarget{classcore_1_1Thread_a0b5d8efe9bf913e06a7768cb5ef75c8a}\label{classcore_1_1Thread_a0b5d8efe9bf913e06a7768cb5ef75c8a}}
std\+::string {\bfseries get\+Status} ()
\item
\mbox{\Hypertarget{classcore_1_1Thread_adddf5bccd9189cbd81eeadf0311dbdd6}\label{classcore_1_1Thread_adddf5bccd9189cbd81eeadf0311dbdd6}}
pid\+\_\+t {\bfseries get\+Thread\+Id} ()
\item
\mbox{\Hypertarget{classcore_1_1Thread_aca6a18a5aba7e87fe91a828f4896d654}\label{classcore_1_1Thread_aca6a18a5aba7e87fe91a828f4896d654}}
int {\bfseries get\+Count} ()
\item
\mbox{\Hypertarget{classcore_1_1Thread_aa5b676aa441735c2ac60d05fd3ab02b5}\label{classcore_1_1Thread_aa5b676aa441735c2ac60d05fd3ab02b5}}
void {\bfseries output} (std\+::stringstream \&data)
\end{DoxyCompactItemize}
\doxysubsection*{Additional Inherited Members}
\doxysubsection{Detailed Description}
\mbox{\hyperlink{classcore_1_1Thread}{Thread}}
This thread object is designed to be the thread processor for the \mbox{\hyperlink{classcore_1_1EPoll}{EPoll}} object. It wraps the thread object to allow maintaining a status value for monitoring the thread activity. \mbox{\hyperlink{classcore_1_1EPoll}{EPoll}} will instantiate a \mbox{\hyperlink{classcore_1_1Thread}{Thread}} object for each thread specified in the \mbox{\hyperlink{classcore_1_1EPoll}{EPoll}}\textquotesingle{}s start method.
\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classcore_1_1Thread_ae6885df9a9b9503669e5776518b19054}\label{classcore_1_1Thread_ae6885df9a9b9503669e5776518b19054}}
\index{core::Thread@{core::Thread}!start@{start}}
\index{start@{start}!core::Thread@{core::Thread}}
\doxysubsubsection{\texorpdfstring{start()}{start()}}
{\footnotesize\ttfamily void core\+::\+Thread\+::start (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
Start the thread object. This will cause the epoll scheduler to commence reading the epoll queue.
The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item
Thread.\+h\item
Thread.\+cpp\end{DoxyCompactItemize}

View File

@ -1,7 +0,0 @@
\hypertarget{classcore_1_1ThreadScope}{}\doxysection{core\+::Thread\+Scope Class Reference}
\label{classcore_1_1ThreadScope}\index{core::ThreadScope@{core::ThreadScope}}
The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item
Thread\+Scope.\+h\end{DoxyCompactItemize}

View File

@ -1 +0,0 @@
c6c8d331b9f919c769d46392c930a2b0

Some files were not shown because too many files have changed in this diff Show More