diff --git a/.buildconfig b/.buildconfig new file mode 100644 index 0000000..e2abde9 --- /dev/null +++ b/.buildconfig @@ -0,0 +1,10 @@ +[default] +name=Default +runtime=host +config-opts= +run-opts= +prefix=/home/bradarant/.cache/gnome-builder/install/html/host +app-id= +postbuild= +prebuild= +default=true diff --git a/Command.cpp b/Command.cpp index 09d376f..d40ffbd 100644 --- a/Command.cpp +++ b/Command.cpp @@ -7,14 +7,14 @@ namespace core { void Command::output(Session *session) {} - bool Command::check(std::string request) { + bool Command::check(std::string request) { if(request != "") { - if(name.length() > 0) { - size_t start = request.find_first_not_of(" "); - if(name == request.substr(start, name.length())) - return true; - } - return false; + if(name.length() > 0) { + size_t start = request.find_first_not_of(" "); + if(name == request.substr(start, name.length())) + return true; + } + return false; } } diff --git a/CommandList.cpp b/CommandList.cpp index 491a3f1..047e621 100644 --- a/CommandList.cpp +++ b/CommandList.cpp @@ -1,4 +1,4 @@ -#include "CommandList.h" +#include "CommandList.h"\ namespace core { @@ -9,7 +9,6 @@ namespace core { void CommandList::add(Command &command, std::string name) { command.setName(name); commands.push_back(&command); - } void CommandList::remove(Command &command) { @@ -17,7 +16,6 @@ namespace core { } bool CommandList::processRequest(std::string request, Session *session, std::stringstream &data) { - for(auto *command : commands) { if(command->check(request)) { command->processCommand(request, session, data); diff --git a/CommandList.h b/CommandList.h index 27f1131..88c16ed 100644 --- a/CommandList.h +++ b/CommandList.h @@ -3,6 +3,7 @@ #include "Session.h" #include "Command.h" +#include "Log.h" namespace core { diff --git a/ConsoleServer.cpp b/ConsoleServer.cpp index e6c5052..d7278dc 100644 --- a/ConsoleServer.cpp +++ b/ConsoleServer.cpp @@ -5,24 +5,15 @@ namespace core { - ConsoleServer::ConsoleServer(EPoll &ePoll, Service service, IPAddress address) + ConsoleServer::ConsoleServer(EPoll &ePoll, Service &service, IPAddress address) : TCPServerSocket(ePoll, service, address) { - Log(this); + coreutils::Log(this); } - - ConsoleServer::~ConsoleServer() {} - - void ConsoleServer::sendToConnectedConsoles(std::string out) { + + void ConsoleServer::logSend(std::string out) { for(auto *session : service.sessions) - ((ConsoleSession *)session)->writeLog(out); - } - - Session * ConsoleServer::getSocketAccept() { - return new ConsoleSession(ePoll, this->service); - } - - void ConsoleServer::output(Session *session) { - session->out << "|" << session->ipAddress.getClientAddressAndPort(); + ((ConsoleSession *)session)->writeLog(out); } + } diff --git a/ConsoleServer.h b/ConsoleServer.h index a8820fd..29676ea 100644 --- a/ConsoleServer.h +++ b/ConsoleServer.h @@ -16,7 +16,7 @@ namespace core { /// /// - class ConsoleServer : public TCPServerSocket { + class ConsoleServer : public TCPServerSocket, coreutils::LogListener { public: @@ -24,22 +24,14 @@ namespace core { // // - ConsoleServer(EPoll &ePoll, Service service, IPAddress address); + ConsoleServer(EPoll &ePoll, Service &service, IPAddress address); // // // - - ~ConsoleServer(); - - void sendToConnectedConsoles(std::string out); - - void output(Session *session) override; ///output(out); + ConsoleSession::ConsoleSession(EPoll &ePoll, Service &service) : TerminalSession(ePoll, service) { + coreutils::Log(coreutils::LOG_DEBUG_2) << "Constructing ConsoleSession..."; } + ConsoleSession::~ConsoleSession() {} + void ConsoleSession::protocol(std::string data = "") { switch (status) { @@ -62,7 +60,6 @@ namespace core { break; case PROMPT: - Log(LOG_DEBUG_1) << "Lines is " << getLines() << "."; setCursorLocation(17, 1); clearEOL(); out << ("--> "); diff --git a/ConsoleSession.h b/ConsoleSession.h index b76b1fe..272a892 100644 --- a/ConsoleSession.h +++ b/ConsoleSession.h @@ -22,7 +22,6 @@ namespace core { ConsoleSession(EPoll &ePoll, Service &service); ~ConsoleSession(); - virtual void output(std::stringstream &out); void writeLog(std::string data); protected: diff --git a/EPoll.cpp b/EPoll.cpp index b1d9664..6803d61 100644 --- a/EPoll.cpp +++ b/EPoll.cpp @@ -8,7 +8,7 @@ namespace core { EPoll::EPoll() : Command() { - Log(LOG_DEBUG_2) << "EPoll object being constructed."; + coreutils::Log(coreutils::LOG_DEBUG_2) << "EPoll object being constructed."; maxSockets = 1000; epfd = epoll_create1(0); @@ -16,17 +16,17 @@ namespace core { } EPoll::~EPoll() { - Log(LOG_DEBUG_2) << "BMAEPoll destructed."; + coreutils::Log(coreutils::LOG_DEBUG_2) << "BMAEPoll destructed."; } bool EPoll::start(int numberOfThreads, int maxSockets) { - Log(LOG_DEBUG_2) << "Starting epoll event processing."; + coreutils::Log(coreutils::LOG_DEBUG_2) << "Starting epoll event processing."; this->numberOfThreads = numberOfThreads; - Log(LOG_DEBUG_3) << "Number of threads starting is " << numberOfThreads << "."; - Log(LOG_DEBUG_3) << "Maximum connections is " << maxSockets << "."; + coreutils::Log(coreutils::LOG_DEBUG_3) << "Number of threads starting is " << numberOfThreads << "."; + coreutils::Log(coreutils::LOG_DEBUG_3) << "Maximum connections is " << maxSockets << "."; // TODO: Set the number of maximum open files to the maxSockets value. // @@ -37,10 +37,10 @@ namespace core { //---------------------------------------------------------------------- for(int ix = 0; ix < numberOfThreads; ++ix) - threads.emplace_back(*this); + threads.emplace_back(*this); for(int ix = 0; ix < numberOfThreads; ++ix) - threads[ix].start(); + threads[ix].start(); return true; } @@ -54,7 +54,7 @@ namespace core { //-------------------------------------------------------- for(int ix = 0; ix < numberOfThreads; ++ix) - threads[ix].join(); + threads[ix].join(); //-------------------------- // Close the epoll socket. @@ -73,8 +73,8 @@ namespace core { lock.lock(); std::map::iterator temp = sockets.find(socket->getDescriptor()); if(temp != sockets.end()) - throw Exception("Attempt to register socket that is already registered."); - Log(LOG_DEBUG_3) << "Registering socket " << socket->getDescriptor() << "."; + throw coreutils::Exception("Attempt to register socket that is already registered."); + coreutils::Log(coreutils::LOG_DEBUG_3) << "Registering socket " << socket->getDescriptor() << "."; sockets.insert(std::pair(socket->getDescriptor(), socket)); lock.unlock(); socket->enable(true); @@ -85,10 +85,10 @@ namespace core { bool EPoll::unregisterSocket(Socket *socket /**< The Socket to unregister. */) { lock.lock(); socket->enable(false); - Log(LOG_DEBUG_3) << "Unregistering socket " << socket->getDescriptor() << "."; + coreutils::Log(coreutils::LOG_DEBUG_3) << "Unregistering socket " << socket->getDescriptor() << "."; std::map::iterator temp = sockets.find(socket->getDescriptor()); if(temp == sockets.end()) - throw Exception("Attempt to unregister socket that is not registered."); + throw coreutils::Exception("Attempt to unregister socket that is not registered."); sockets.erase(temp); lock.unlock(); socket->onUnregistered(); @@ -100,10 +100,10 @@ namespace core { std::map::iterator socket = sockets.find(event.data.fd); lock.unlock(); if(socket != sockets.end()) { - (socket->second)->eventReceived(event); + (socket->second)->eventReceived(event); } else { - Log(LOG_WARN) << "System problem. Reference to socket " << event.data.fd << " that has no object."; - throw Exception("System problem occurred."); + coreutils::Log(coreutils::LOG_WARN) << "System problem. Reference to socket " << event.data.fd << " that has no object."; + throw coreutils::Exception("System problem occurred."); } } @@ -112,12 +112,9 @@ namespace core { } int EPoll::processCommand(std::string command, Session *session, std::stringstream &data) { - - int sequence = 0; - + int sequence = 0; for(auto threadx : threads) { data << "|" << ++sequence; - data << "|" ; threadx.output(data); data << "|" << std::endl; } diff --git a/Exception.cpp b/Exception.cpp deleted file mode 100644 index a97e987..0000000 --- a/Exception.cpp +++ /dev/null @@ -1,20 +0,0 @@ -#include "Exception.h" -#include "Log.h" - -namespace core { - - Exception::Exception(std::string text, std::string file, int line, int errorNumber) { - this->text = text; - this->file = file; - this->line = line; - if(errorNumber == -1) - this->errorNumber = errno; - else - this->errorNumber = errorNumber; - - Log(LOG_EXCEPT) << text; - } - - Exception::~Exception() {} - -} diff --git a/Exception.h b/Exception.h deleted file mode 100644 index e4dc6b3..0000000 --- a/Exception.h +++ /dev/null @@ -1,24 +0,0 @@ -#ifndef __Exception_h__ -#define __Exception_h__ - -#include "includes" - -namespace core { - - class Exception { - - public: - Exception(std::string text, std::string file = __FILE__, int line = __LINE__, int errorNumber = -1); - ~Exception(); - - std::string className; - std::string file; - int line; - std::string text; - int errorNumber; - - }; - -} - -#endif diff --git a/File.cpp b/File.cpp deleted file mode 100644 index 5e6ae1b..0000000 --- a/File.cpp +++ /dev/null @@ -1,43 +0,0 @@ -#include "File.h" -#include "Exception.h" - -namespace core { - - File::File(std::string fileName, int mode, int authority) { - - this->fileName = fileName; - - struct stat status; - stat(fileName.c_str(), &status); - - buffer = NULL; - - setBufferSize(status.st_size); - - fd = open(fileName.c_str(), mode, authority); - if(fd < 0) { - std::stringstream temp; - temp << "Error opening file " << fileName << "."; - throw Exception(temp.str(), __FILE__, __LINE__); - } - } - - File::~File() { - - } - - void File::setBufferSize(size_t size) { - buffer = (char *)realloc(buffer, size); - this->size = size; - } - - void File::read() { - size = ::read(fd, buffer, size); - setBufferSize(size); - } - - void File::write(std::string data) { - ::write(fd, data.c_str(), data.length()); - } - -} diff --git a/File.h b/File.h deleted file mode 100644 index 96ffbcc..0000000 --- a/File.h +++ /dev/null @@ -1,35 +0,0 @@ -#ifndef __File_h__ -#define __File_h__ - -#include "includes" - -/// -/// File -/// -/// File abstraction class for accessing local file system files. -/// - -namespace core { - - class File { - - public: - File(std::string fileName, int mode = O_RDONLY, int authority = 0664); - ~File(); - void setBufferSize(size_t size); - void read(); - void write(std::string data); - - char *buffer; - size_t size; - - std::string fileName; - - private: - int fd; - - }; - -} - -#endif diff --git a/IPAddressList.cpp b/IPAddressList.cpp index b658c81..d13ec16 100644 --- a/IPAddressList.cpp +++ b/IPAddressList.cpp @@ -17,7 +17,7 @@ namespace core { } bool IPAddressList::contains(std::string ipAddress) { - return list.find(ipAddress) != list.end(); + return list.size() > 0 ? list.find(ipAddress) != list.end(): false; } } diff --git a/Log.cpp b/Log.cpp deleted file mode 100644 index ffbe803..0000000 --- a/Log.cpp +++ /dev/null @@ -1,80 +0,0 @@ -#include "ConsoleSession.h" -#include "Log.h" -#include "ConsoleServer.h" - -namespace core { - - ConsoleServer *Log::consoleServer = NULL; - File *Log::logFile = NULL; - int Log::seq = 0; - - Log::Log(ConsoleServer *consoleServer) { - this->consoleServer = consoleServer; - } - - Log::Log(File *logFile) { - this->logFile = logFile; - } - - Log::Log(int level) { - - output = true; - - auto clock = std::chrono::system_clock::now(); - time_t theTime = std::chrono::system_clock::to_time_t(clock); - std::string timeOut = std::string(ctime(&theTime)); - timeOut = timeOut.substr(0, timeOut.length() - 1); - - *this << timeOut; - *this << " "; - - switch(level) { - case LOG_NONE: - *this << "[NONE] :"; - break; - case LOG_INFO: - *this << "[INFO] :"; - break; - case LOG_WARN: - *this << "[WARN] :"; - break; - case LOG_EXCEPT: - *this << "[EXCEPT]: "; - break; - case LOG_DEBUG_1: - *this << "[DEBUG1]: "; - break; - case LOG_DEBUG_2: - *this << "[DEBUG2]: "; - break; - case LOG_DEBUG_3: - *this << "[DEBUG3]: "; - break; - case LOG_DEBUG_4: - *this << "[DEBUG4]: "; - break; - default: - *this << "[?] ?"; - break; - }; - } - - Log::~Log() { - - if(output) { - - std::stringstream out; - out << seq << "." << this->str() << std::endl;; - - if(consoleServer) - consoleServer->sendToConnectedConsoles(out.str()); - - if(logFile) - logFile->write(out.str()); - - std::cout << out.str(); - ++seq; - } - } - -} diff --git a/Log.h b/Log.h deleted file mode 100644 index 2c45a1f..0000000 --- a/Log.h +++ /dev/null @@ -1,94 +0,0 @@ -#ifndef __Log_h__ -#define __Log_h__ - -#include "includes" -#include "File.h" -#include "Object.h" - -namespace core { - - class ConsoleServer; - - static const int LOG_NONE = 0; - static const int LOG_INFO = 1; - static const int LOG_WARN = 2; - static const int LOG_EXCEPT = 4; - static const int LOG_DEBUG_1 = 8; - static const int LOG_DEBUG_2 = 16; - static const int LOG_DEBUG_3 = 32; - static const int LOG_DEBUG_4 = 64; - - /// - /// Log - /// - /// Provides easy to access and use logging features to maintain a - /// history of activity and provide information for activity debugging. - /// - - class Log : public std::ostringstream, public Object { - - public: - - /// - /// Constructor method that accepts a pointer to the applications - /// console server. This enables the Log object to send new log - /// messages to the connected console sessions. - /// - /// @param consoleServer a pointer to the console server that will - /// be used to echo log entries. - /// - - Log(ConsoleServer *consoleServer); - - /// - /// Constructor method accepts a file object that will be used to - /// echo all log entries. This provides a permanent disk file record - /// of all logged activity. - /// - - Log(File *logFile); - - /// - /// Constructor method that is used to send a message to the log. - /// - /// @param level the logging level to associate with this message. - /// - /// To send log message: Log(LOG_INFO) << "This is a log message."; - /// - - Log(int level); - - /// - /// The destructor for the log object. - /// - - ~Log(); - - bool output = false; - - /// - /// Set the consoleServer to point to the instantiated ConsoleServer - /// object for the application. - /// - - static ConsoleServer *consoleServer; - - /// - /// Specify a File object where the log entries will be written as - /// a permanent record to disk. - /// - - static File *logFile; - - /// - /// A meaningless sequenctial number that starts from - at the - /// beginning of the logging process. - /// - - static int seq; - - }; - -} - -#endif diff --git a/ServerCore.mk b/ServerCore.mk index 570b61c..596e2eb 100644 --- a/ServerCore.mk +++ b/ServerCore.mk @@ -13,7 +13,7 @@ CurrentFileName := CurrentFilePath := CurrentFileFullPath := User :=Brad Arant -Date :=27/07/19 +Date :=12/09/19 CodeLitePath :=/home/bradarant/.codelite LinkerName :=/usr/bin/x86_64-linux-gnu-g++ SharedObjectLinkerName :=/usr/bin/x86_64-linux-gnu-g++ -shared -fPIC @@ -36,7 +36,7 @@ ObjectsFileList :="ServerCore.txt" PCHCompileFlags := MakeDirCommand :=mkdir -p LinkOptions := -IncludePath := $(IncludeSwitch). $(IncludeSwitch). +IncludePath := $(IncludeSwitch). $(IncludeSwitch). $(IncludeSwitch)../CoreUtils IncludePCH := RcIncludePath := Libs := @@ -60,9 +60,9 @@ AS := /usr/bin/x86_64-linux-gnu-as ## User defined environment variables ## CodeLiteDir:=/usr/share/codelite -Objects0=$(IntermediateDirectory)/Command.cpp$(ObjectSuffix) $(IntermediateDirectory)/ConsoleServer.cpp$(ObjectSuffix) $(IntermediateDirectory)/ConsoleSession.cpp$(ObjectSuffix) $(IntermediateDirectory)/EPoll.cpp$(ObjectSuffix) $(IntermediateDirectory)/Exception.cpp$(ObjectSuffix) $(IntermediateDirectory)/File.cpp$(ObjectSuffix) $(IntermediateDirectory)/IPAddress.cpp$(ObjectSuffix) $(IntermediateDirectory)/Log.cpp$(ObjectSuffix) $(IntermediateDirectory)/Session.cpp$(ObjectSuffix) $(IntermediateDirectory)/Socket.cpp$(ObjectSuffix) \ - $(IntermediateDirectory)/TCPServerSocket.cpp$(ObjectSuffix) $(IntermediateDirectory)/TCPSocket.cpp$(ObjectSuffix) $(IntermediateDirectory)/Thread.cpp$(ObjectSuffix) $(IntermediateDirectory)/Timer.cpp$(ObjectSuffix) $(IntermediateDirectory)/TLSServerSocket.cpp$(ObjectSuffix) $(IntermediateDirectory)/TLSSession.cpp$(ObjectSuffix) $(IntermediateDirectory)/UDPServerSocket.cpp$(ObjectSuffix) $(IntermediateDirectory)/UDPSocket.cpp$(ObjectSuffix) $(IntermediateDirectory)/CommandList.cpp$(ObjectSuffix) $(IntermediateDirectory)/TerminalSession.cpp$(ObjectSuffix) \ - $(IntermediateDirectory)/Service.cpp$(ObjectSuffix) $(IntermediateDirectory)/IPAddressList.cpp$(ObjectSuffix) +Objects0=$(IntermediateDirectory)/Command.cpp$(ObjectSuffix) $(IntermediateDirectory)/ConsoleServer.cpp$(ObjectSuffix) $(IntermediateDirectory)/ConsoleSession.cpp$(ObjectSuffix) $(IntermediateDirectory)/EPoll.cpp$(ObjectSuffix) $(IntermediateDirectory)/IPAddress.cpp$(ObjectSuffix) $(IntermediateDirectory)/Session.cpp$(ObjectSuffix) $(IntermediateDirectory)/Socket.cpp$(ObjectSuffix) $(IntermediateDirectory)/TCPServerSocket.cpp$(ObjectSuffix) $(IntermediateDirectory)/TCPSocket.cpp$(ObjectSuffix) $(IntermediateDirectory)/Thread.cpp$(ObjectSuffix) \ + $(IntermediateDirectory)/Timer.cpp$(ObjectSuffix) $(IntermediateDirectory)/TLSServerSocket.cpp$(ObjectSuffix) $(IntermediateDirectory)/TLSSession.cpp$(ObjectSuffix) $(IntermediateDirectory)/UDPServerSocket.cpp$(ObjectSuffix) $(IntermediateDirectory)/UDPSocket.cpp$(ObjectSuffix) $(IntermediateDirectory)/CommandList.cpp$(ObjectSuffix) $(IntermediateDirectory)/TerminalSession.cpp$(ObjectSuffix) $(IntermediateDirectory)/Service.cpp$(ObjectSuffix) $(IntermediateDirectory)/IPAddressList.cpp$(ObjectSuffix) $(IntermediateDirectory)/ConsoleService.cpp$(ObjectSuffix) \ + @@ -127,22 +127,6 @@ $(IntermediateDirectory)/EPoll.cpp$(DependSuffix): EPoll.cpp $(IntermediateDirectory)/EPoll.cpp$(PreprocessSuffix): EPoll.cpp $(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) $(PreprocessOnlySwitch) $(OutputSwitch) $(IntermediateDirectory)/EPoll.cpp$(PreprocessSuffix) EPoll.cpp -$(IntermediateDirectory)/Exception.cpp$(ObjectSuffix): Exception.cpp $(IntermediateDirectory)/Exception.cpp$(DependSuffix) - $(CXX) $(IncludePCH) $(SourceSwitch) "/home/bradarant/barant/ServerCore/Exception.cpp" $(CXXFLAGS) $(ObjectSwitch)$(IntermediateDirectory)/Exception.cpp$(ObjectSuffix) $(IncludePath) -$(IntermediateDirectory)/Exception.cpp$(DependSuffix): Exception.cpp - @$(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) -MG -MP -MT$(IntermediateDirectory)/Exception.cpp$(ObjectSuffix) -MF$(IntermediateDirectory)/Exception.cpp$(DependSuffix) -MM Exception.cpp - -$(IntermediateDirectory)/Exception.cpp$(PreprocessSuffix): Exception.cpp - $(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) $(PreprocessOnlySwitch) $(OutputSwitch) $(IntermediateDirectory)/Exception.cpp$(PreprocessSuffix) Exception.cpp - -$(IntermediateDirectory)/File.cpp$(ObjectSuffix): File.cpp $(IntermediateDirectory)/File.cpp$(DependSuffix) - $(CXX) $(IncludePCH) $(SourceSwitch) "/home/bradarant/barant/ServerCore/File.cpp" $(CXXFLAGS) $(ObjectSwitch)$(IntermediateDirectory)/File.cpp$(ObjectSuffix) $(IncludePath) -$(IntermediateDirectory)/File.cpp$(DependSuffix): File.cpp - @$(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) -MG -MP -MT$(IntermediateDirectory)/File.cpp$(ObjectSuffix) -MF$(IntermediateDirectory)/File.cpp$(DependSuffix) -MM File.cpp - -$(IntermediateDirectory)/File.cpp$(PreprocessSuffix): File.cpp - $(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) $(PreprocessOnlySwitch) $(OutputSwitch) $(IntermediateDirectory)/File.cpp$(PreprocessSuffix) File.cpp - $(IntermediateDirectory)/IPAddress.cpp$(ObjectSuffix): IPAddress.cpp $(IntermediateDirectory)/IPAddress.cpp$(DependSuffix) $(CXX) $(IncludePCH) $(SourceSwitch) "/home/bradarant/barant/ServerCore/IPAddress.cpp" $(CXXFLAGS) $(ObjectSwitch)$(IntermediateDirectory)/IPAddress.cpp$(ObjectSuffix) $(IncludePath) $(IntermediateDirectory)/IPAddress.cpp$(DependSuffix): IPAddress.cpp @@ -151,14 +135,6 @@ $(IntermediateDirectory)/IPAddress.cpp$(DependSuffix): IPAddress.cpp $(IntermediateDirectory)/IPAddress.cpp$(PreprocessSuffix): IPAddress.cpp $(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) $(PreprocessOnlySwitch) $(OutputSwitch) $(IntermediateDirectory)/IPAddress.cpp$(PreprocessSuffix) IPAddress.cpp -$(IntermediateDirectory)/Log.cpp$(ObjectSuffix): Log.cpp $(IntermediateDirectory)/Log.cpp$(DependSuffix) - $(CXX) $(IncludePCH) $(SourceSwitch) "/home/bradarant/barant/ServerCore/Log.cpp" $(CXXFLAGS) $(ObjectSwitch)$(IntermediateDirectory)/Log.cpp$(ObjectSuffix) $(IncludePath) -$(IntermediateDirectory)/Log.cpp$(DependSuffix): Log.cpp - @$(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) -MG -MP -MT$(IntermediateDirectory)/Log.cpp$(ObjectSuffix) -MF$(IntermediateDirectory)/Log.cpp$(DependSuffix) -MM Log.cpp - -$(IntermediateDirectory)/Log.cpp$(PreprocessSuffix): Log.cpp - $(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) $(PreprocessOnlySwitch) $(OutputSwitch) $(IntermediateDirectory)/Log.cpp$(PreprocessSuffix) Log.cpp - $(IntermediateDirectory)/Session.cpp$(ObjectSuffix): Session.cpp $(IntermediateDirectory)/Session.cpp$(DependSuffix) $(CXX) $(IncludePCH) $(SourceSwitch) "/home/bradarant/barant/ServerCore/Session.cpp" $(CXXFLAGS) $(ObjectSwitch)$(IntermediateDirectory)/Session.cpp$(ObjectSuffix) $(IncludePath) $(IntermediateDirectory)/Session.cpp$(DependSuffix): Session.cpp @@ -271,6 +247,14 @@ $(IntermediateDirectory)/IPAddressList.cpp$(DependSuffix): IPAddressList.cpp $(IntermediateDirectory)/IPAddressList.cpp$(PreprocessSuffix): IPAddressList.cpp $(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) $(PreprocessOnlySwitch) $(OutputSwitch) $(IntermediateDirectory)/IPAddressList.cpp$(PreprocessSuffix) IPAddressList.cpp +$(IntermediateDirectory)/ConsoleService.cpp$(ObjectSuffix): ConsoleService.cpp $(IntermediateDirectory)/ConsoleService.cpp$(DependSuffix) + $(CXX) $(IncludePCH) $(SourceSwitch) "/home/bradarant/barant/ServerCore/ConsoleService.cpp" $(CXXFLAGS) $(ObjectSwitch)$(IntermediateDirectory)/ConsoleService.cpp$(ObjectSuffix) $(IncludePath) +$(IntermediateDirectory)/ConsoleService.cpp$(DependSuffix): ConsoleService.cpp + @$(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) -MG -MP -MT$(IntermediateDirectory)/ConsoleService.cpp$(ObjectSuffix) -MF$(IntermediateDirectory)/ConsoleService.cpp$(DependSuffix) -MM ConsoleService.cpp + +$(IntermediateDirectory)/ConsoleService.cpp$(PreprocessSuffix): ConsoleService.cpp + $(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) $(PreprocessOnlySwitch) $(OutputSwitch) $(IntermediateDirectory)/ConsoleService.cpp$(PreprocessSuffix) ConsoleService.cpp + -include $(IntermediateDirectory)/*$(DependSuffix) ## diff --git a/ServerCore.project b/ServerCore.project index 4af529c..57e21c2 100644 --- a/ServerCore.project +++ b/ServerCore.project @@ -2,6 +2,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -15,6 +63,7 @@ + @@ -91,56 +140,4 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ServerCore.txt b/ServerCore.txt index 81a6551..ff49318 100644 --- a/ServerCore.txt +++ b/ServerCore.txt @@ -1 +1 @@ -./Debug/Command.cpp.o ./Debug/ConsoleServer.cpp.o ./Debug/ConsoleSession.cpp.o ./Debug/EPoll.cpp.o ./Debug/Exception.cpp.o ./Debug/File.cpp.o ./Debug/IPAddress.cpp.o ./Debug/Log.cpp.o ./Debug/Session.cpp.o ./Debug/Socket.cpp.o ./Debug/TCPServerSocket.cpp.o ./Debug/TCPSocket.cpp.o ./Debug/Thread.cpp.o ./Debug/Timer.cpp.o ./Debug/TLSServerSocket.cpp.o ./Debug/TLSSession.cpp.o ./Debug/UDPServerSocket.cpp.o ./Debug/UDPSocket.cpp.o ./Debug/CommandList.cpp.o ./Debug/TerminalSession.cpp.o ./Debug/Service.cpp.o ./Debug/IPAddressList.cpp.o +./Debug/Command.cpp.o ./Debug/ConsoleServer.cpp.o ./Debug/ConsoleSession.cpp.o ./Debug/EPoll.cpp.o ./Debug/IPAddress.cpp.o ./Debug/Session.cpp.o ./Debug/Socket.cpp.o ./Debug/TCPServerSocket.cpp.o ./Debug/TCPSocket.cpp.o ./Debug/Thread.cpp.o ./Debug/Timer.cpp.o ./Debug/TLSServerSocket.cpp.o ./Debug/TLSSession.cpp.o ./Debug/UDPServerSocket.cpp.o ./Debug/UDPSocket.cpp.o ./Debug/CommandList.cpp.o ./Debug/TerminalSession.cpp.o ./Debug/Service.cpp.o ./Debug/IPAddressList.cpp.o ./Debug/ConsoleService.cpp.o diff --git a/Service.cpp b/Service.cpp index b313c82..5a7e4f3 100644 --- a/Service.cpp +++ b/Service.cpp @@ -6,20 +6,24 @@ namespace core { Service::Service() {} - void Service::init(TCPServerSocket *server) { - this->server = server; - } - void Service::removeFromSessionList(Session *session) { std::vector::iterator cursor; for(cursor = sessions.begin(); cursor < sessions.end(); ++cursor) - if(*cursor == session) - sessions.erase(cursor); + if(*cursor == session) + sessions.erase(cursor); } void Service::sessionErrorHandler(std::string errorString, Session *session) { - throw Exception(errorString); + throw coreutils::Exception(errorString); } + Session * Service::getSocketAccept(EPoll &ePoll) { + return new Session(ePoll, *this); + } + + void Service::output(Session *session) { + session->out << "|" << session->ipAddress.getClientAddressAndPort(); + } + } diff --git a/Service.h b/Service.h index c2040b9..963f61d 100644 --- a/Service.h +++ b/Service.h @@ -6,7 +6,7 @@ namespace core { - class TCPServerSocket; +// class TCPServerSocket; /// /// Service @@ -14,10 +14,10 @@ namespace core { /// The Service object is instantiated as a single object upon construction /// of the parent TCPServerSocket and is provided as a parameter whenever /// a new Session object is created. It provides server level services to - /// Command handlers. + /// Command handlers as well as determining the behavior of the socket. /// - class Service : public Object { + class Service : public Command { public: @@ -29,32 +29,35 @@ namespace core { Service(); - virtual void init(TCPServerSocket *server); - void removeFromSessionList(Session *session); virtual void sessionErrorHandler(std::string errorString, Session *session); + /// + /// getSocketAccept 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. + /// + + virtual Session * getSocketAccept(EPoll &epoll); + + void output(Session *session) override; /// sessions; - /// - /// The server that is associated to this Service object. This provides access to the - /// server values and methods through the Service object which behaves as an interface. - /// - - TCPServerSocket *server; - /// /// The commands object is a CommandList and is used to store Command objects to be /// parsed and run as data comes into the session. /// CommandList commands; - + }; } diff --git a/Session.cpp b/Session.cpp index 61edb81..d642b10 100644 --- a/Session.cpp +++ b/Session.cpp @@ -9,9 +9,7 @@ namespace core { Session::~Session() { service.removeFromSessionList(this); } - - void Session::init() {} - + void Session::output(std::stringstream &data) { data << "|" << ipAddress.getClientAddressAndPort(); } @@ -19,7 +17,7 @@ namespace core { void Session::protocol(std::string data = "") { if(data.length() > 0) { if(!service.commands.processRequest(data, this, out)) - service.sessionErrorHandler("Invalid data received.", this); + service.sessionErrorHandler("Invalid data received.", this); send(); } } @@ -34,18 +32,18 @@ namespace core { void Session::sendToAll() { for(auto session : service.sessions) { - if(session != this) - session->write(out.str()); - } + if(session != this) + session->write(out.str()); + } out.str(""); } void Session::sendToAll(SessionFilter filter) { for(auto session : service.sessions) { - if(filter.test(*session)) { - if(session != this) - session->write(out.str()); - } + if(filter.test(*session)) { + if(session != this) + session->write(out.str()); + } } out.str(""); } diff --git a/Session.h b/Session.h index 6699dcd..63ede5c 100644 --- a/Session.h +++ b/Session.h @@ -25,8 +25,6 @@ namespace core { Session(EPoll &ePoll, Service &service); ~Session(); - virtual void init(); - virtual void output(std::stringstream &data); /// diff --git a/SessionFilter.h b/SessionFilter.h index 51f3b3c..8867e8f 100644 --- a/SessionFilter.h +++ b/SessionFilter.h @@ -11,7 +11,8 @@ namespace core { public: virtual bool test(Session &session) { - return true;}; + return true; + } }; diff --git a/Socket.cpp b/Socket.cpp index dcd7ee8..8feac65 100644 --- a/Socket.cpp +++ b/Socket.cpp @@ -6,8 +6,8 @@ namespace core { Socket::Socket(EPoll &ePoll) : ePoll(ePoll) { - Log(LOG_DEBUG_2) << "BMASocket object created."; - Log(LOG_DEBUG_3) << "Buffer size set to default (4096)."; + coreutils::Log(coreutils::LOG_DEBUG_2) << "BMASocket object created."; + coreutils::Log(coreutils::LOG_DEBUG_3) << "Buffer size set to default (4096)."; buffer = (char *)malloc(4096); length = 4096; } @@ -19,9 +19,9 @@ namespace core { } void Socket::setDescriptor(int descriptor) { - Log(LOG_DEBUG_3) << "Descriptor set to " << descriptor << " for Socket."; + coreutils::Log(coreutils::LOG_DEBUG_3) << "Descriptor set to " << descriptor << " for Socket."; if(descriptor < 3) - throw Exception("Descriptor out of range", __FILE__, __LINE__); + throw coreutils::Exception("Descriptor out of range", __FILE__, __LINE__); this->descriptor = descriptor; onTLSInit(); } @@ -46,44 +46,54 @@ namespace core { } void Socket::eventReceived(struct epoll_event event) { - + if(event.events & EPOLLRDHUP) { - Log(LOG_DEBUG_2) << "Socket " << descriptor << " received disconnect from client."; + readHangup = true; + enable(false); shutdown(); return; } - + if(event.events & EPOLLIN) - receiveData(buffer, length); - + receiveData(buffer, length); + if(event.events & EPOLLOUT) writeSocket(); + + if(event.events & EPOLLHUP) { + shutdown(); + return; + } enable(true); } void Socket::enable(bool mode) { if(mode) { - if(fifo.empty()) - active ? resetRead(): setRead(); - else - active ? resetReadWrite(5): setReadWrite(); - active = true; + if(fifo.empty()) { + if(!readHangup) { + active ? resetRead(): setRead(); + } + } + else { + active ? resetReadWrite(): setReadWrite(); + } + active = true; } else - clear(); + clear(); } void Socket::receiveData(char *buffer, int bufferLength) { if(bufferLength <= 0) - throw Exception("Request to receive data with a zero buffer length.", __FILE__, __LINE__, -1); + throw coreutils::Exception("Request to receive data with a zero buffer length.", __FILE__, __LINE__, -1); int len; int error = -1; if((len = ::read(getDescriptor(), buffer, bufferLength)) >= 0) - onDataReceived(std::string(buffer, len)); + onDataReceived(std::string(buffer, len)); else { error = errno; @@ -101,7 +111,7 @@ namespace core { break; default: - throw Exception("Error in read of data from socket.", __FILE__, __LINE__, error); + throw coreutils::Exception("Error in read of data from socket.", __FILE__, __LINE__, error); } } } @@ -112,9 +122,9 @@ namespace core { void Socket::writeSocket() { lock.lock(); if(fifo.size() > 0) { - ::write(descriptor, fifo.front().c_str(), fifo.front().length()); - fifo.pop(); - enable(true); + ::write(descriptor, fifo.front().c_str(), fifo.front().length()); + fifo.pop(); + enable(true); } lock.unlock(); } @@ -163,7 +173,7 @@ namespace core { epoll_ctl(ePoll.getDescriptor(), EPOLL_CTL_MOD, descriptor, &event); } - void Socket::resetReadWrite(int x) { + void Socket::resetReadWrite() { event.data.fd = descriptor; event.events = EPOLLIN | EPOLLOUT | EPOLLONESHOT | EPOLLRDHUP | EPOLLET; epoll_ctl(ePoll.getDescriptor(), EPOLL_CTL_MOD, descriptor, &event); @@ -174,7 +184,7 @@ namespace core { } void Socket::shutdown() { - Log (LOG_DEBUG_2) << "Shutdown requested on socket " << descriptor << "."; + coreutils::Log(coreutils::LOG_DEBUG_2) << "Shutdown requested on socket " << descriptor << "."; shutDown = true; enable(false); delete this; diff --git a/Socket.h b/Socket.h index ac5b39f..f1e00a8 100644 --- a/Socket.h +++ b/Socket.h @@ -138,6 +138,7 @@ namespace core { int descriptor = -1; std::mutex lock; + bool readHangup = false; struct epoll_event event; // Event selection construction structure. @@ -150,7 +151,7 @@ namespace core { void setReadWrite(); void resetRead(); void resetWrite();; - void resetReadWrite(int x); + void resetReadWrite(); void clear(); //------------------------------------------------------------------------------------- diff --git a/TCPServerSocket.cpp b/TCPServerSocket.cpp index d793e1d..920161d 100644 --- a/TCPServerSocket.cpp +++ b/TCPServerSocket.cpp @@ -7,15 +7,14 @@ namespace core { TCPServerSocket::TCPServerSocket(EPoll &ePoll, Service &service, IPAddress address) : TCPSocket(ePoll), service(service) { - service.init(this); setDescriptor(socket(AF_INET, SOCK_STREAM, 0)); int yes = 1; setsockopt(getDescriptor(), SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(int)); if(bind(getDescriptor(), address.getPointer(), address.addressLength) < 0) - throw Exception("Error on bind to socket: " + std::to_string(errno)); + throw coreutils::Exception("Error on bind to socket: " + std::to_string(errno)); if(listen(getDescriptor(), 10) < 0) - throw Exception("Error on listen to socket"); - ePoll.registerSocket(this); + throw coreutils::Exception("Error on listen to socket"); + ePoll.registerSocket(this); } TCPServerSocket::~TCPServerSocket() { @@ -23,36 +22,31 @@ namespace core { } void TCPServerSocket::onDataReceived(std::string data) { - Log(LOG_DEBUG_2) << "Connection request on socket " << getDescriptor() << "."; Session *session = accept(); if(session) service.sessions.push_back(session); } Session * TCPServerSocket::accept() { - Session *session = getSocketAccept(); + Session *session = service.getSocketAccept(ePoll); session->setDescriptor(::accept(getDescriptor(), (struct sockaddr *)&session->ipAddress.addr, &session->ipAddress.addressLength)); - if(blackList && blackList->contains(session->ipAddress.getClientAddress())) { - session->shutdown(); - Log(LOG_WARN) << "Client at IP address " << session->ipAddress.getClientAddress() << " is blacklisted and was denied a connection."; - return NULL; - } - - if(whiteList && !whiteList->contains(session->ipAddress.getClientAddress())) { - session->shutdown(); - Log(LOG_WARN) << "Client at IP address " << session->ipAddress.getClientAddress() << " is not authorized and was denied a connection."; - return NULL; - } +// if(blackList && blackList->contains(session->ipAddress.getClientAddress())) { +// session->shutdown(); +// Log(LOG_WARN) << "Client at IP address " << session->ipAddress.getClientAddress() << " is blacklisted and was denied a connection."; +// return NULL; +// } +// +// if(whiteList && !whiteList->contains(session->ipAddress.getClientAddress())) { +// session->shutdown(); +// Log(LOG_WARN) << "Client at IP address " << session->ipAddress.getClientAddress() << " is not authorized and was denied a connection."; +// return NULL; +// } ePoll.registerSocket(session); - Log(LOG_DEBUG_2) << "Session started on socket " << session->getDescriptor() << "."; + coreutils::Log(coreutils::LOG_DEBUG_2) << "Session started on socket " << session->getDescriptor() << "."; return session; } - Session * TCPServerSocket::getSocketAccept() { - return new Session(ePoll, service); - } - int TCPServerSocket::processCommand(std::string command, Session *session, std::stringstream &data) { int sequence = 0; for(auto *sessionx : service.sessions) { diff --git a/TCPServerSocket.h b/TCPServerSocket.h index 070f336..fc938f8 100644 --- a/TCPServerSocket.h +++ b/TCPServerSocket.h @@ -64,19 +64,7 @@ namespace core { IPAddressList *whiteList; protected: - -// virtual void init(); - - /// - /// getSocketAccept 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 BMASession provides - /// the mechanism where the server can select the protocol dialog for the desired - /// service. - /// - - virtual Session * getSocketAccept(); - + /// /// Override the virtual dataReceived since for the server these /// are requests to accept the new connection socket. diff --git a/TCPSocket.cpp b/TCPSocket.cpp index 830ccf5..325e1b8 100644 --- a/TCPSocket.cpp +++ b/TCPSocket.cpp @@ -12,7 +12,7 @@ namespace core { void TCPSocket::connect(IPAddress &address) { setDescriptor(socket(AF_INET, SOCK_STREAM, 0)); if(::connect(getDescriptor(), (struct sockaddr *)&address.addr, address.addressLength) == -1) - throw Exception("Error on connect to TCP socket."); + throw coreutils::Exception("Error on connect to TCP socket."); } diff --git a/TLSServerSocket.cpp b/TLSServerSocket.cpp index f445bcc..ca6b34d 100644 --- a/TLSServerSocket.cpp +++ b/TLSServerSocket.cpp @@ -20,24 +20,24 @@ namespace core { tlsServerInit(); // TODO: Convert to use core::Exception object. if(!(((TLSService &)service).ctx = SSL_CTX_new(SSLv23_server_method()))) - throw Exception("Error while setting server method SSLv23."); + throw coreutils::Exception("Error while setting server method SSLv23."); SSL_CTX_set_mode(((TLSService &)service).ctx, SSL_MODE_RELEASE_BUFFERS | SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER); SSL_CTX_set_options(((TLSService &)service).ctx, SSL_OP_NO_TICKET); SSL_CTX_set_session_cache_mode(((TLSService &)service).ctx, SSL_SESS_CACHE_SERVER); // SSL_CTX_set_generate_session_id(ctx, generate_session_id); SSL_CTX_set_cipher_list(((TLSService &)service).ctx, "ECDH-ECDSA-AES256-GCM-SHA384:DHE-DSS-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA256:DHE-RSA-AES256-SHA:DHE-DSS-AES256-SHA:AES256-GCM-SHA384:AES256-SHA256:AES256-SHA:AES128-GCM-SHA256:AES128-SHA256:AES128-SHA"); if(SSL_CTX_use_certificate_file(((TLSService &)service).ctx, sip_cert, SSL_FILETYPE_PEM) <= 0) - throw Exception("Error looking up certificate."); + throw coreutils::Exception("Error looking up certificate."); if(SSL_CTX_use_PrivateKey_file(((TLSService &)service).ctx, sip_key, SSL_FILETYPE_PEM) < 0) - throw Exception("Error with private key."); + throw coreutils::Exception("Error with private key."); if(SSL_CTX_check_private_key(((TLSService &)service).ctx) != 1) - throw Exception("Private key does not match certificate."); + throw coreutils::Exception("Private key does not match certificate."); SSL_CTX_set_verify(((TLSService &)service).ctx, SSL_VERIFY_PEER, NULL); SSL_CTX_set_verify_depth(((TLSService &)service).ctx, 1); if(!SSL_CTX_load_verify_locations(((TLSService &)service).ctx, sip_cacert, NULL)) - throw Exception("Cannot verify locations."); + throw coreutils::Exception("Cannot verify locations."); SSL_CTX_set_client_CA_list(((TLSService &)service).ctx, SSL_load_client_CA_file(sip_cacert)); - Log(LOG_DEBUG_1) << "Server key authenticated."; + coreutils::Log(coreutils::LOG_DEBUG_1) << "Server key authenticated."; } TLSServerSocket::~TLSServerSocket() { @@ -52,16 +52,16 @@ namespace core { for(int i = 0; i < CRYPTO_num_locks(); ++i) pthread_mutex_init(&(lockarray[i]), NULL); - CRYPTO_set_id_callback((unsigned long (*)())thread_id); - CRYPTO_set_locking_callback((void ()(int, int, const char *, int))lock_callback); +// CRYPTO_set_id_callback((unsigned long (*)())thread_id); +// CRYPTO_set_locking_callback((void ()(int, int, const char *, int))lock_callback); SSLeay_add_ssl_algorithms(); RAND_load_file("/dev/hwrng", 1024); } - Session * TLSServerSocket::getSocketAccept() { - Session *session = new TLSSession(ePoll, this->service); - return session; - } +// Session * TLSServerSocket::getSocketAccept() { +// Session *session = new TLSSession(ePoll, this->service); +// return session; +// } } diff --git a/TLSServerSocket.h b/TLSServerSocket.h index 6f7d0a5..2b1f309 100644 --- a/TLSServerSocket.h +++ b/TLSServerSocket.h @@ -39,10 +39,7 @@ namespace core { ~TLSServerSocket(); // SSL_CTX *ctx; - - protected: - Session * getSocketAccept() override; - + private: void tlsServerInit(); diff --git a/TLSSession.cpp b/TLSSession.cpp index f38b2d1..bb0ae5c 100644 --- a/TLSSession.cpp +++ b/TLSSession.cpp @@ -10,7 +10,7 @@ namespace core { static int generate_session_id(const SSL *ssl, unsigned char *id, unsigned int *id_len) { char *session_id_prefix = (char *)"BARANT"; unsigned int count = 0; - Log(LOG_DEBUG_3) << "Generating unique session id."; + coreutils::Log(coreutils::LOG_DEBUG_3) << "Generating unique session id."; do { RAND_bytes(id, *id_len); memcpy(id, session_id_prefix, (strlen(session_id_prefix) < *id_len)); @@ -19,7 +19,7 @@ namespace core { } void handshake_complete(const SSL *ssl, int where, int ret) { - Log(LOG_DEBUG_3) << "==>" << SSL_state_string_long(ssl) << "<=="; + coreutils::Log(coreutils::LOG_DEBUG_3) << "==>" << SSL_state_string_long(ssl) << "<=="; if(where & SSL_CB_HANDSHAKE_DONE) { X509 *ssl_client_cert = SSL_get_peer_certificate(ssl); if(!ssl_client_cert) @@ -27,54 +27,54 @@ namespace core { X509_free(ssl_client_cert); if(SSL_get_verify_result(ssl) != X509_V_OK) throw std::string("Certificate verification failed."); - Log(LOG_DEBUG_3) << "Certificate verified successfully."; + coreutils::Log(coreutils::LOG_DEBUG_3) << "Certificate verified successfully."; } else - Log(LOG_DEBUG_3) << "No client certificate."; + coreutils::Log(coreutils::LOG_DEBUG_3) << "No client certificate."; } TLSSession::TLSSession(EPoll &ePoll, Service &service) : Session(ePoll, service) {} - void TLSSession::init() { - - initialized = true; - - int ret; - - Log(LOG_DEBUG_3) << "TLS socket initializing..."; - - fcntl(getDescriptor(), F_SETFL, fcntl(getDescriptor(), F_GETFL, 0) | O_NONBLOCK); - - if(!(ssl = SSL_new(((TLSService &)service).ctx))) - throw std::string("Error creating new TLS socket."); - - SSL_set_info_callback(ssl, handshake_complete); - - if((ret = SSL_set_fd(ssl, getDescriptor())) == 0) - throw std::string("Error setting TLS socket descriptor."); - -// if(!SSL_set_generate_session_id(ssl, generate_session_id)) -// throw std::string("Error setting session identifier callback."); - - switch (SSL_get_error(ssl, SSL_accept(ssl))) { - case SSL_ERROR_SSL: - Log(LOG_DEBUG_3) << "ERROR_SSL on ssl_accept. errno=" << errno; - break; - case SSL_ERROR_WANT_READ: - Log(LOG_DEBUG_3) << "ERROR_WANT_READ on ssl_accept."; - break; - case SSL_ERROR_WANT_WRITE: - Log(LOG_DEBUG_3) << "ERROR_WANT_WRITE on ssl_accept."; - break; - case SSL_ERROR_SYSCALL: - Log(LOG_DEBUG_3) << "ERROR_SYSCALL on ssl_accept. errno=" << errno; - shutdown(); - break; - default: - Log(LOG_DEBUG_3) << "Unknown ERROR on ssl_accept."; - break; - } - } +// void TLSSession::init() { +// +// initialized = true; +// +// int ret; +// +// coreutils::Log(coreutils::LOG_DEBUG_3) << "TLS socket initializing..."; +// +// fcntl(getDescriptor(), F_SETFL, fcntl(getDescriptor(), F_GETFL, 0) | O_NONBLOCK); +// +// if(!(ssl = SSL_new(((TLSService &)service).ctx))) +// throw std::string("Error creating new TLS socket."); +// +// SSL_set_info_callback(ssl, handshake_complete); +// +// if((ret = SSL_set_fd(ssl, getDescriptor())) == 0) +// throw std::string("Error setting TLS socket descriptor."); +// +//// if(!SSL_set_generate_session_id(ssl, generate_session_id)) +//// throw std::string("Error setting session identifier callback."); +// +// switch (SSL_get_error(ssl, SSL_accept(ssl))) { +// case SSL_ERROR_SSL: +// coreutils::Log(coreutils::LOG_DEBUG_3) << "ERROR_SSL on ssl_accept. errno=" << errno; +// break; +// case SSL_ERROR_WANT_READ: +// coreutils::Log(coreutils::LOG_DEBUG_3) << "ERROR_WANT_READ on ssl_accept."; +// break; +// case SSL_ERROR_WANT_WRITE: +// coreutils::Log(coreutils::LOG_DEBUG_3) << "ERROR_WANT_WRITE on ssl_accept."; +// break; +// case SSL_ERROR_SYSCALL: +// coreutils::Log(coreutils::LOG_DEBUG_3) << "ERROR_SYSCALL on ssl_accept. errno=" << errno; +// shutdown(); +// break; +// default: +// coreutils::Log(coreutils::LOG_DEBUG_3) << "Unknown ERROR on ssl_accept."; +// break; +// } +// } TLSSession::~TLSSession() { @@ -86,8 +86,8 @@ namespace core { void TLSSession::receiveData(char *buffer, int bufferLength) { - if(!initialized) - init(); +// if(!initialized) +// init(); int len; // int error = -1; @@ -101,19 +101,19 @@ namespace core { else { switch (SSL_get_error(ssl, len)) { case SSL_ERROR_SSL: - Log(LOG_DEBUG_3) << "ERROR_SSL on ssl_read. error=" << errno; + coreutils::Log(coreutils::LOG_DEBUG_3) << "ERROR_SSL on ssl_read. error=" << errno; break; case SSL_ERROR_WANT_READ: - Log(LOG_DEBUG_3) << "ERROR_WANT_READ on ssl_read."; + coreutils::Log(coreutils::LOG_DEBUG_3) << "ERROR_WANT_READ on ssl_read."; break; case SSL_ERROR_WANT_WRITE: - Log(LOG_DEBUG_3) << "ERROR_WANT_WRITE on ssl_read."; + coreutils::Log(coreutils::LOG_DEBUG_3) << "ERROR_WANT_WRITE on ssl_read."; break; case SSL_ERROR_SYSCALL: - Log(LOG_DEBUG_3) << "ERROR_SYSCALL on ssl_read. errno=" << errno; + coreutils::Log(coreutils::LOG_DEBUG_3) << "ERROR_SYSCALL on ssl_read. errno=" << errno; break; default: - Log(LOG_DEBUG_3) << "Unknown ERROR on ssl_read."; + coreutils::Log(coreutils::LOG_DEBUG_3) << "Unknown ERROR on ssl_read."; break; } } diff --git a/TLSSession.h b/TLSSession.h index 947ee8a..68e3537 100644 --- a/TLSSession.h +++ b/TLSSession.h @@ -38,12 +38,10 @@ namespace core { virtual void protocol(std::string data) override; protected: - void init() override; void receiveData(char *buffer, int bufferLength) override; private: bool initialized = false; -// TLSServerSocket &server; SSL *ssl; }; diff --git a/Thread.cpp b/Thread.cpp index d414887..7e4de56 100644 --- a/Thread.cpp +++ b/Thread.cpp @@ -38,7 +38,7 @@ namespace core { threadId = syscall(SYS_gettid); - Log(LOG_DEBUG_1) << "Thread started with thread id " << threadId << "."; + coreutils::Log(coreutils::LOG_DEBUG_1) << "Thread started with thread id " << threadId << "."; count = 0; @@ -59,7 +59,13 @@ namespace core { break; } else if(rc > 0) { for(int ix = 0; ix < rc; ++ix) { - ++count; + ++count; +// std::cout << "Event " << events[ix].events << " on socket " << events[ix].data.fd << " on thread " << getThreadId() << ": "; +// std::cout << ((events[ix].events & EPOLLIN) ? "EPOLLIN ": ""); +// std::cout << ((events[ix].events & EPOLLOUT) ? "EPOLLOUT ": ""); +// std::cout << ((events[ix].events & EPOLLRDHUP) ? "EPOLLRDHUP ": ""); +// std::cout << ((events[ix].events & EPOLLHUP) ? "EPOLLHUP ": ""); +// std::cout << "." << std::endl; ePoll.eventReceived(events[ix]); } } diff --git a/docs/html/_command_8h_source.html b/docs/html/_command_8h_source.html index e82b82a..c35f82d 100644 --- a/docs/html/_command_8h_source.html +++ b/docs/html/_command_8h_source.html @@ -5,7 +5,7 @@ -BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/Command.h Source File +BMA Server Framework: /home/bradarant/barant/ServerCore/Command.h Source File @@ -59,17 +59,17 @@ $(function() {
-
/home/barant/Development/BMA/server_core/ServerCore/Command.h
+
/home/bradarant/barant/ServerCore/Command.h
-
1 #ifndef __Command_h__
2 # define __Command_h__
3 
4 # include "includes"
5 # include "Object.h"
6 
7 namespace core {
8 
9  class Session;
10 
17 
18  class Command : public Object {
19 
20  public:
21 
35 
36  virtual bool check(std::string request);
37 
48 
49  virtual int processCommand(std::string request, Session *session) = 0;
50 
56 
57  virtual void output(Session *session);
58 
67 
68  void setName(std::string name);
69 
70  std::string getName();
71 
72  private:
73  std::string name;
74 
75  };
76 
77 }
78 
79 #endif
Definition: Command.cpp:4
+
1 #ifndef __Command_h__
2 #define __Command_h__
3 
4 #include "includes"
5 #include "Object.h"
6 
7 namespace core {
8 
9  class Session;
10 
17 
18  class Command : public Object {
19 
20  public:
21 
35 
36  virtual bool check(std::string request);
37 
48 
49  virtual int processCommand(std::string request, Session *session, std::stringstream &data);
50 
56 
57  virtual void output(Session *session);
58 
67 
68  void setName(std::string name);
69 
70  std::string getName();
71 
72  private:
73  std::string name;
74 
75  };
76 
77 }
78 
79 #endif
virtual int processCommand(std::string request, Session *session, std::stringstream &data)
Definition: Command.cpp:6
+
Definition: Command.cpp:4
Definition: Session.h:22
-
void setName(std::string name)
Definition: Command.cpp:19
-
virtual int processCommand(std::string request, Session *session)=0
-
virtual bool check(std::string request)
Definition: Command.cpp:8
+
void setName(std::string name)
Definition: Command.cpp:21
+
virtual bool check(std::string request)
Definition: Command.cpp:10
Definition: Object.h:8
Definition: Command.h:18
-
virtual void output(Session *session)
Definition: Command.cpp:6
+
virtual void output(Session *session)
Definition: Command.cpp:8
-
1 #ifndef __CommandList_h__
2 #define __CommandList_h__
3 
4 #include "Session.h"
5 #include "Command.h"
6 
7 namespace core {
8 
16 
17  class CommandList : public Command {
18 
19  public:
20 
24 
25  CommandList();
26 
30 
31  ~CommandList();
32 
36 
37  void add(Command &command, std::string name = "");
38 
39  void remove(Command &command);
40 
41  bool processRequest(std::string request, Session *session);
42 
43  int processCommand(std::string request, Session *session) override;
44 
45  private:
46  std::vector<Command *> commands;
47 
48  };
49 
50 }
51 
52 #endif
CommandList()
Definition: CommandList.cpp:5
+
1 #ifndef __CommandList_h__
2 #define __CommandList_h__
3 
4 #include "Session.h"
5 #include "Command.h"
6 #include "Log.h"
7 
8 namespace core {
9 
17 
18  class CommandList : public Command {
19 
20  public:
21 
25 
26  CommandList();
27 
31 
32  ~CommandList();
33 
37 
38  void add(Command &command, std::string name = "");
39 
40  void remove(Command &command);
41 
42  bool processRequest(std::string request, Session *session, std::stringstream &data);
43 
44  int processCommand(std::string request, Session *session, std::stringstream &data) override;
45 
46  protected:
47  std::vector<Command *> commands;
48 
49  };
50 
51 }
52 
53 #endif
CommandList()
Definition: CommandList.cpp:5
Definition: Command.cpp:4
Definition: Session.h:22
~CommandList()
Definition: CommandList.cpp:7
-
int processCommand(std::string request, Session *session) override
Definition: CommandList.cpp:28
+
int processCommand(std::string request, Session *session, std::stringstream &data) override
Definition: CommandList.cpp:28
Definition: Command.h:18
-
Definition: CommandList.h:17
+
Definition: CommandList.h:18
void add(Command &command, std::string name="")
Definition: CommandList.cpp:9
diff --git a/docs/html/_console_server_8h_source.html b/docs/html/_console_server_8h_source.html index fa88f07..dc1754e 100644 --- a/docs/html/_console_server_8h_source.html +++ b/docs/html/_console_server_8h_source.html @@ -5,7 +5,7 @@ -BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/ConsoleServer.h Source File +BMA Server Framework: /home/bradarant/barant/ServerCore/ConsoleServer.h Source File @@ -59,18 +59,16 @@ $(function() {
-
/home/barant/Development/BMA/server_core/ServerCore/ConsoleServer.h
+
/home/bradarant/barant/ServerCore/ConsoleServer.h
-
1 #ifndef __ConsoleServer_h__
2 #define __ConsoleServer_h__
3 
4 #include "includes"
5 #include "TCPServerSocket.h"
6 #include "Service.h"
7 #include "Command.h"
8 #include "Session.h"
9 #include "EPoll.h"
10 
11 namespace core {
12 
13  class TCPSocket;
14 
18 
19  class ConsoleServer : public TCPServerSocket {
20 
21  public:
22 
23  //
24  //
25  //
26 
27  ConsoleServer(EPoll &ePoll, Service service, IPAddress address);
28 
29  //
30  //
31  //
32 
33  ~ConsoleServer();
34 
35  void sendToConnectedConsoles(std::string out);
36 
37  void output(Session *session) override;
38 
39  protected:
40 
41  Session * getSocketAccept() override;
42 
43  };
44 
45 }
46 
47 
48 #endif
Definition: EPoll.h:31
+
1 #ifndef __ConsoleServer_h__
2 #define __ConsoleServer_h__
3 
4 #include "includes"
5 #include "TCPServerSocket.h"
6 #include "Service.h"
7 #include "Command.h"
8 #include "Session.h"
9 #include "EPoll.h"
10 
11 namespace core {
12 
13  class TCPSocket;
14 
18 
19  class ConsoleServer : public TCPServerSocket, coreutils::LogListener {
20 
21  public:
22 
23  //
24  //
25  //
26 
27  ConsoleServer(EPoll &ePoll, Service &service, IPAddress address);
28 
29  //
30  //
31  //
32 
33  void logSend(std::string out) override;
34 
35  };
36 
37 }
38 
39 
40 #endif
Definition: EPoll.h:31
+
Service & service
Definition: TCPServerSocket.h:50
Definition: Command.cpp:4
-
Definition: Session.h:22
Definition: IPAddress.h:9
Definition: Service.h:20
-
Session * getSocketAccept() override
Definition: ConsoleServer.cpp:20
-
void output(Session *session) override
Output the consoles array to the console.
Definition: ConsoleServer.cpp:24
Definition: ConsoleServer.h:19
-
Definition: TCPServerSocket.h:22
+
Definition: TCPServerSocket.h:23
-
1 #ifndef __ConsoleSession_h__
2 #define __ConsoleSession_h__
3 
4 #include "TerminalSession.h"
5 #include "Session.h"
6 #include "Service.h"
7 #include "CommandList.h"
8 
9 namespace core {
10 
18 
20 
21  public:
22  ConsoleSession(EPoll &ePoll, Service &service);
23  ~ConsoleSession();
24 
25  virtual void output(std::stringstream &out);
26  void writeLog(std::string data);
27 
28  protected:
29  void protocol(std::string data) override;
30 
31  private:
32  enum Status {WELCOME, LOGIN, WAIT_USER_PROFILE, PASSWORD, WAIT_PASSWORD, PROMPT, INPUT, PROCESS, DONE};
33  Status status = WELCOME;
34  void doCommand(std::string request);
35  std::string command;
36 
37  };
38 
39 }
40 
41 #endif
Definition: EPoll.h:31
+
1 #ifndef __ConsoleSession_h__
2 #define __ConsoleSession_h__
3 
4 #include "TerminalSession.h"
5 #include "Session.h"
6 #include "Service.h"
7 #include "CommandList.h"
8 
9 namespace core {
10 
18 
20 
21  public:
22  ConsoleSession(EPoll &ePoll, Service &service);
23  ~ConsoleSession();
24 
25  void writeLog(std::string data);
26 
27  protected:
28  void protocol(std::string data) override;
29 
30  private:
31  enum Status {WELCOME, LOGIN, WAIT_USER_PROFILE, PASSWORD, WAIT_PASSWORD, PROMPT, INPUT, PROCESS, DONE};
32  Status status = WELCOME;
33  void doCommand(std::string request);
34  std::string command;
35 
36  };
37 
38 }
39 
40 #endif
Definition: EPoll.h:31
Definition: Command.cpp:4
Definition: ConsoleSession.h:19
-
virtual void output(std::stringstream &out)
Definition: ConsoleSession.cpp:10
Definition: Service.h:20
-
void protocol(std::string data) override
Definition: ConsoleSession.cpp:14
+
void protocol(std::string data) override
Definition: ConsoleSession.cpp:12
Definition: TerminalSession.h:30
diff --git a/docs/html/_e_poll_8h_source.html b/docs/html/_e_poll_8h_source.html index 1fb7da5..d673ed2 100644 --- a/docs/html/_e_poll_8h_source.html +++ b/docs/html/_e_poll_8h_source.html @@ -5,7 +5,7 @@ -BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/EPoll.h Source File +BMA Server Framework: /home/bradarant/barant/ServerCore/EPoll.h Source File @@ -59,14 +59,14 @@ $(function() {
-
/home/barant/Development/BMA/server_core/ServerCore/EPoll.h
+
/home/bradarant/barant/ServerCore/EPoll.h
-
1 #ifndef __EPoll_h__
2 #define __EPoll_h__
3 
4 #include "Log.h"
5 #include "Socket.h"
6 #include "Thread.h"
7 #include "Session.h"
8 #include "Command.h"
9 
10 namespace core {
11 
30 
31  class EPoll : public Command {
32 
33  public:
34 
38 
39  EPoll();
40 
44 
45  ~EPoll();
46 
53 
54  bool start(int numberOfThreads, int maxSockets);
55 
61 
62  bool stop();
63 
68 
69  bool isStopping();
70 
79 
80  bool registerSocket(Socket *socket);
81 
85 
86  bool unregisterSocket(Socket *socket);
87 
91 
92  int getDescriptor();
93 
97 
98  int maxSockets;
99 
103 
104  void eventReceived(struct epoll_event event);
105 
112 
113  int processCommand(std::string command, Session *session) override;
114 
115  private:
116 
117  int epfd;
118  int numberOfThreads;
119  std::map<int, Socket *> sockets;
120  std::vector<Thread> threads;
121  volatile bool terminateThreads;
122  std::mutex lock;
123 
124  };
125 
126 }
127 
128 #endif
129 
void eventReceived(struct epoll_event event)
Dispatch event to appropriate socket.
Definition: EPoll.cpp:98
-
int processCommand(std::string command, Session *session) override
Output the threads array to the console.
Definition: EPoll.cpp:114
+
1 #ifndef __EPoll_h__
2 #define __EPoll_h__
3 
4 #include "Log.h"
5 #include "Socket.h"
6 #include "Thread.h"
7 #include "Session.h"
8 #include "Command.h"
9 
10 namespace core {
11 
30 
31  class EPoll : public Command {
32 
33  public:
34 
38 
39  EPoll();
40 
44 
45  ~EPoll();
46 
53 
54  bool start(int numberOfThreads, int maxSockets);
55 
61 
62  bool stop();
63 
68 
69  bool isStopping();
70 
79 
80  bool registerSocket(Socket *socket);
81 
85 
86  bool unregisterSocket(Socket *socket);
87 
91 
92  int getDescriptor();
93 
97 
98  int maxSockets;
99 
103 
104  void eventReceived(struct epoll_event event);
105 
112 
113  int processCommand(std::string command, Session *session, std::stringstream &data) override;
114 
115  private:
116 
117  int epfd;
118  int numberOfThreads;
119  std::map<int, Socket *> sockets;
120  std::vector<Thread> threads;
121  volatile bool terminateThreads;
122  std::mutex lock;
123 
124  };
125 
126 }
127 
128 #endif
129 
void eventReceived(struct epoll_event event)
Dispatch event to appropriate socket.
Definition: EPoll.cpp:98
Definition: EPoll.h:31
Definition: Command.cpp:4
Definition: Session.h:22
+
int processCommand(std::string command, Session *session, std::stringstream &data) override
Output the threads array to the console.
Definition: EPoll.cpp:114
~EPoll()
Definition: EPoll.cpp:18
int getDescriptor()
Return the descriptor for the ePoll socket.
Definition: EPoll.cpp:110
bool unregisterSocket(Socket *socket)
Unregister a BMASocket from monitoring by BMAEPoll.
Definition: EPoll.cpp:85
diff --git a/docs/html/_exception_8h_source.html b/docs/html/_exception_8h_source.html index 7860b79..cb3cafd 100644 --- a/docs/html/_exception_8h_source.html +++ b/docs/html/_exception_8h_source.html @@ -5,7 +5,7 @@ -BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/Exception.h Source File +BMA Server Framework: /home/bradarant/barant/ServerCore/Exception.h Source File @@ -59,7 +59,7 @@ $(function() {
-
/home/barant/Development/BMA/server_core/ServerCore/Exception.h
+
/home/bradarant/barant/ServerCore/Exception.h
1 #ifndef __Exception_h__
2 #define __Exception_h__
3 
4 #include "includes"
5 
6 namespace core {
7 
8  class Exception {
9 
10  public:
11  Exception(std::string text, std::string file = __FILE__, int line = __LINE__, int errorNumber = -1);
12  ~Exception();
13 
14  std::string className;
15  std::string file;
16  int line;
17  std::string text;
18  int errorNumber;
19 
20  };
21 
22 }
23 
24 #endif
Definition: Exception.h:8
diff --git a/docs/html/_file_8h_source.html b/docs/html/_file_8h_source.html index f137fd9..43fa6aa 100644 --- a/docs/html/_file_8h_source.html +++ b/docs/html/_file_8h_source.html @@ -5,7 +5,7 @@ -BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/File.h Source File +BMA Server Framework: /home/bradarant/barant/ServerCore/File.h Source File @@ -59,7 +59,7 @@ $(function() {
-
/home/barant/Development/BMA/server_core/ServerCore/File.h
+
/home/bradarant/barant/ServerCore/File.h
1 #ifndef __File_h__
2 #define __File_h__
3 
4 #include "includes"
5 
11 
12 namespace core {
13 
14  class File {
15 
16  public:
17  File(std::string fileName, int mode = O_RDONLY, int authority = 0664);
18  ~File();
19  void setBufferSize(size_t size);
20  void read();
21  void write(std::string data);
22 
23  char *buffer;
24  size_t size;
25 
26  std::string fileName;
27 
28  private:
29  int fd;
30 
31  };
32 
33 }
34 
35 #endif
Definition: File.h:14
diff --git a/docs/html/_i_p_address_8h_source.html b/docs/html/_i_p_address_8h_source.html index 8ab02af..3398804 100644 --- a/docs/html/_i_p_address_8h_source.html +++ b/docs/html/_i_p_address_8h_source.html @@ -5,7 +5,7 @@ -BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/IPAddress.h Source File +BMA Server Framework: /home/bradarant/barant/ServerCore/IPAddress.h Source File @@ -59,7 +59,7 @@ $(function() {
-
/home/barant/Development/BMA/server_core/ServerCore/IPAddress.h
+
/home/bradarant/barant/ServerCore/IPAddress.h
1 #ifndef __IPAddress_h__
2 #define __IPAddress_h__
3 
4 #include "includes"
5 #include "Object.h"
6 
7 namespace core {
8 
9  class IPAddress : public Object {
10 
11  public:
12  IPAddress();
13  IPAddress(std::string address);
14  IPAddress(std::string address, int port);
15  ~IPAddress();
16 
17  struct sockaddr_in addr;
18  socklen_t addressLength;
19 
20  struct sockaddr * getPointer();
21  std::string getClientAddress();
22  std::string getClientAddressAndPort();
23  int getClientPort();
24 
25  };
26 
27 }
28 
29 #endif
int getClientPort()
Get the client network port number.
Definition: IPAddress.cpp:47
diff --git a/docs/html/_i_p_address_list_8h_source.html b/docs/html/_i_p_address_list_8h_source.html new file mode 100644 index 0000000..5b80155 --- /dev/null +++ b/docs/html/_i_p_address_list_8h_source.html @@ -0,0 +1,76 @@ + + + + + + + +BMA Server Framework: /home/bradarant/barant/ServerCore/IPAddressList.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/bradarant/barant/ServerCore/IPAddressList.h
+
+
+
1 #ifndef __IPAddressList_h__
2 #define __IPAddressList_h__
3 
4 #include "includes"
5 #include "IPAddress.h"
6 
7 namespace core {
8 
9  class IPAddressList {
10 
11  public:
12  IPAddressList();
13 
14  std::map<std::string, IPAddress> getList();
15  bool add(IPAddress ipAddress);
16  bool remove(IPAddress ipAddress);
17  bool contains(std::string ipAddress);
18 
19  private:
20  std::map<std::string, IPAddress> list;
21  std::map<std::string, IPAddress>::iterator it = list.begin();
22  };
23 
24 }
25 
26 #endif
Definition: Command.cpp:4
+
Definition: IPAddress.h:9
+
Definition: IPAddressList.h:9
+
+ + + + diff --git a/docs/html/_log_8h_source.html b/docs/html/_log_8h_source.html index 9ea9063..74f2ce0 100644 --- a/docs/html/_log_8h_source.html +++ b/docs/html/_log_8h_source.html @@ -5,7 +5,7 @@ -BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/Log.h Source File +BMA Server Framework: /home/bradarant/barant/ServerCore/Log.h Source File @@ -59,7 +59,7 @@ $(function() {
-
/home/barant/Development/BMA/server_core/ServerCore/Log.h
+
/home/bradarant/barant/ServerCore/Log.h
1 #ifndef __Log_h__
2 #define __Log_h__
3 
4 #include "includes"
5 #include "File.h"
6 #include "Object.h"
7 
8 namespace core {
9 
10  class ConsoleServer;
11 
12  static const int LOG_NONE = 0;
13  static const int LOG_INFO = 1;
14  static const int LOG_WARN = 2;
15  static const int LOG_EXCEPT = 4;
16  static const int LOG_DEBUG_1 = 8;
17  static const int LOG_DEBUG_2 = 16;
18  static const int LOG_DEBUG_3 = 32;
19  static const int LOG_DEBUG_4 = 64;
20 
27 
28  class Log : public std::ostringstream, public Object {
29 
30  public:
31 
40 
42 
48 
49  Log(File *logFile);
50 
58 
59  Log(int level);
60 
64 
65  ~Log();
66 
67  bool output = false;
68 
73 
75 
80 
81  static File *logFile;
82 
87 
88  static int seq;
89 
90  };
91 
92 }
93 
94 #endif
Definition: Log.h:28
diff --git a/docs/html/_object_8h_source.html b/docs/html/_object_8h_source.html index a319821..1ec14fb 100644 --- a/docs/html/_object_8h_source.html +++ b/docs/html/_object_8h_source.html @@ -5,7 +5,7 @@ -BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/Object.h Source File +BMA Server Framework: /home/bradarant/barant/ServerCore/Object.h Source File @@ -59,7 +59,7 @@ $(function() {
-
/home/barant/Development/BMA/server_core/ServerCore/Object.h
+
/home/bradarant/barant/ServerCore/Object.h
1 #ifndef __Object_h__
2 #define __Object_h__
3 
4 #include "includes"
5 
6 namespace core {
7 
8  class Object {
9 
10  public:
11 
12  std::string name;
13  std::string tag;
14 
15  };
16 
17 }
18 
19 #endif
Definition: Command.cpp:4
diff --git a/docs/html/_service_8h_source.html b/docs/html/_service_8h_source.html index b5603ec..e86d515 100644 --- a/docs/html/_service_8h_source.html +++ b/docs/html/_service_8h_source.html @@ -5,7 +5,7 @@ -BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/Service.h Source File +BMA Server Framework: /home/bradarant/barant/ServerCore/Service.h Source File @@ -59,19 +59,20 @@ $(function() {
-
/home/barant/Development/BMA/server_core/ServerCore/Service.h
+
/home/bradarant/barant/ServerCore/Service.h
-
1 #ifndef __Service_h__
2 #define __Service_h__
3 
4 #include "Object.h"
5 #include "CommandList.h"
6 
7 namespace core {
8 
9  class TCPServerSocket;
10 
19 
20  class Service : public Object {
21 
22  public:
23 
29 
30  Service();
31 
32  virtual void init(TCPServerSocket *server);
33 
34  void removeFromSessionList(Session *session);
35 
36  virtual void sessionErrorHandler(std::string errorString, Session *session);
37 
41 
42  std::vector<Session *> sessions;
43 
48 
50 
55 
57 
58  };
59 
60 }
61 
62 #endif
Service()
Definition: Service.cpp:7
-
CommandList commands
Definition: Service.h:56
+
1 #ifndef __Service_h__
2 #define __Service_h__
3 
4 #include "Object.h"
5 #include "CommandList.h"
6 
7 namespace core {
8 
9 // class TCPServerSocket;
10 
19 
20  class Service : public Command {
21 
22  public:
23 
29 
30  Service();
31 
32  void removeFromSessionList(Session *session);
33 
34  virtual void sessionErrorHandler(std::string errorString, Session *session);
35 
43 
44  virtual Session * getSocketAccept(EPoll &epoll);
45 
46  void output(Session *session) override;
47 
51 
52  std::vector<Session *> sessions;
53 
58 
60 
61  };
62 
63 }
64 
65 #endif
Service()
Definition: Service.cpp:7
+
void output(Session *session) override
Output the consoles array to the console.
Definition: Service.cpp:24
+
Definition: EPoll.h:31
+
CommandList commands
Definition: Service.h:59
Definition: Command.cpp:4
Definition: Session.h:22
-
std::vector< Session * > sessions
Definition: Service.h:42
-
TCPServerSocket * server
Definition: Service.h:49
+
virtual Session * getSocketAccept(EPoll &epoll)
Definition: Service.cpp:20
+
std::vector< Session * > sessions
Definition: Service.h:52
Definition: Service.h:20
-
Definition: Object.h:8
-
Definition: CommandList.h:17
-
Definition: TCPServerSocket.h:22
+
Definition: Command.h:18
+
Definition: CommandList.h:18
-
1 #ifndef __Session_h__
2 #define __Session_h__
3 
4 #include "TCPSocket.h"
5 #include "SessionFilter.h"
6 //#include "Service.h"
7 
8 namespace core {
9 
10  class Service;
11 
21 
22  class Session : public TCPSocket {
23 
24  public:
25  Session(EPoll &ePoll, Service &service);
26  ~Session();
27 
28  virtual void init();
29 
30  virtual void output(Session *session);
31 
36 
37  void send();
38 
43 
44  void sendToAll();
45 
51 
52  void sendToAll(SessionFilter filter);
53 
54  std::stringstream out;
55 
56  Service &service;
57 
58  protected:
59 
60  void onDataReceived(std::string data) override;
61  void onConnected() override;
62 
69 
70  virtual void protocol(std::string data);
71 
72  };
73 
74 }
75 
76 #endif
Definition: EPoll.h:31
+
1 #ifndef __Session_h__
2 #define __Session_h__
3 
4 #include "TCPSocket.h"
5 #include "SessionFilter.h"
6 //#include "Service.h"
7 
8 namespace core {
9 
10  class Service;
11 
21 
22  class Session : public TCPSocket {
23 
24  public:
25  Session(EPoll &ePoll, Service &service);
26  ~Session();
27 
28  virtual void output(std::stringstream &data);
29 
34 
35  void send();
36 
41 
42  void sendToAll();
43 
49 
50  void sendToAll(SessionFilter filter);
51 
52  std::stringstream out;
53 
54  Service &service;
55 
56  protected:
57 
58  void onDataReceived(std::string data) override;
59  void onConnected() override;
60 
67 
68  virtual void protocol(std::string data);
69 
70  };
71 
72 }
73 
74 #endif
Definition: EPoll.h:31
Definition: Command.cpp:4
Definition: Session.h:22
void onDataReceived(std::string data) override
Called when data is received from the socket.
Definition: Session.cpp:29
+
virtual void output(std::stringstream &data)
Definition: Session.cpp:13
Definition: Service.h:20
Definition: TCPSocket.h:20
void sendToAll()
Definition: Session.cpp:33
void onConnected() override
Called when socket is open and ready to communicate.
Definition: Session.cpp:25
Definition: SessionFilter.h:10
void send()
Definition: Session.cpp:51
-
virtual void protocol(std::string data)
Definition: Session.cpp:19
+
virtual void protocol(std::string data)
Definition: Session.cpp:17
-
1 #ifndef __SessionFilter_h__
2 #define __SessionFilter_h__
3 
4 //#include "Session.h"
5 
6 namespace core {
7 
8  class Session;
9 
10  class SessionFilter : public Object {
11 
12  public:
13  virtual bool test(Session &session) {
14  return true;};
15 
16  };
17 
18 }
19 
20 #endif
Definition: Command.cpp:4
+
1 #ifndef __SessionFilter_h__
2 #define __SessionFilter_h__
3 
4 //#include "Session.h"
5 
6 namespace core {
7 
8  class Session;
9 
10  class SessionFilter : public Object {
11 
12  public:
13  virtual bool test(Session &session) {
14  return true;
15  }
16 
17  };
18 
19 }
20 
21 #endif
Definition: Command.cpp:4
Definition: Session.h:22
Definition: Object.h:8
Definition: SessionFilter.h:10
diff --git a/docs/html/_socket_8h_source.html b/docs/html/_socket_8h_source.html index d1c8990..93c6eec 100644 --- a/docs/html/_socket_8h_source.html +++ b/docs/html/_socket_8h_source.html @@ -5,7 +5,7 @@ -BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/Socket.h Source File +BMA Server Framework: /home/bradarant/barant/ServerCore/Socket.h Source File @@ -59,23 +59,23 @@ $(function() {
-
/home/barant/Development/BMA/server_core/ServerCore/Socket.h
+
/home/bradarant/barant/ServerCore/Socket.h
-
1 #ifndef __Socket_h__
2 #define __Socket_h__
3 
4 #include "includes"
5 #include "Object.h"
6 
7 namespace core {
8 
9  class EPoll;
10 
31 
32  class Socket : public std::streambuf,
33  public core::Object {
34 
35  public:
36 
37  Socket(EPoll &ePoll);
38  ~Socket();
39 
40  void setDescriptor(int descriptor);
41 
42  int getDescriptor();
43 
44  class {
45  int value;
46 
47  public:
48  int & operator = (const int &i) { return value = i; }
49  operator int () const { return value; }
50 
51  } bufferSize;
52 
62 
63  void eventReceived(struct epoll_event event);
64 
68 
69  void write(std::string data);
70  void write(char *buffer, int length);
71 
72  void output(std::stringstream &out);
73 
78 
79  virtual void onRegistered();
80 
87 
88  virtual void onUnregistered();
89 
90  void enable(bool mode);
91 
92  protected:
93 
94  EPoll &ePoll; // The EPoll control object.
95 
96  bool shutDown = false;
97 
98  void setBufferSize(int length);
99 
105 
106  virtual void onConnected();
107 
108  virtual void onTLSInit();
109 
113 
114 // virtual void onDisconnected(); ///< Called when socket is closing and no longer ready to communicate.
115 
123 
124  virtual void onDataReceived(std::string data) = 0;
125 
126  void shutdown();
127 
132 
133  virtual void receiveData(char *buffer, int bufferLength);
134 
135  private:
136 
137  int descriptor = -1;
138  std::mutex lock;
139 
140  struct epoll_event event; // Event selection construction structure.
141 
142  //--------------------------------------------------
143  // These are used to schedule the socket activity.
144  //--------------------------------------------------
145 
146  void setRead();
147  void setWrite();
148  void setReadWrite();
149  void resetRead();
150  void resetWrite();;
151  void resetReadWrite(int x);
152  void clear();
153 
154  //-------------------------------------------------------------------------------------
155  // the writeSocket is called when epoll has received a write request for a socket.
156  // Writing data to this socket is queued in the streambuf and permission is requested
157  // to write to the socket. This routine handles the writing of the streambuf data
158  // buffer to the socket.
159  //-------------------------------------------------------------------------------------
160 
161  void writeSocket();
162 
163  // int_type underflow();
164 // int_type uflow();
165 // int_type pbackfail(int_type ch);
166 // streamsize showmanyc();
167 
168  char *buffer; // This is a pointer to the managed buffer space.
169  int length; // This is the length of the buffer.
170 
171 // const char * const begin_;
172 // const char * const end_;
173 // const char * const current_;
174 
175  std::queue<std::string> fifo;
176 
177  bool active = false;
178 
179  };
180 
181 }
182 
183 #endif
184 
Definition: EPoll.h:31
-
virtual void receiveData(char *buffer, int bufferLength)
Definition: Socket.cpp:86
+
1 #ifndef __Socket_h__
2 #define __Socket_h__
3 
4 #include "includes"
5 #include "Object.h"
6 
7 namespace core {
8 
9  class EPoll;
10 
31 
32  class Socket : public std::streambuf,
33  public core::Object {
34 
35  public:
36 
37  Socket(EPoll &ePoll);
38  ~Socket();
39 
41 
42  void shutdown();
43 
44  void setDescriptor(int descriptor);
45 
46  int getDescriptor();
47 
48  class {
49  int value;
50 
51  public:
52  int & operator = (const int &i) { return value = i; }
53  operator int () const { return value; }
54 
55  } bufferSize;
56 
66 
67  void eventReceived(struct epoll_event event);
68 
72 
73  void write(std::string data);
74  void write(char *buffer, int length);
75 
76  void output(std::stringstream &out);
77 
82 
83  virtual void onRegistered();
84 
91 
92  virtual void onUnregistered();
93 
94  void enable(bool mode);
95 
96  protected:
97 
98  EPoll &ePoll; // The EPoll control object.
99 
100  bool shutDown = false;
101 
102  void setBufferSize(int length);
103 
109 
110  virtual void onConnected();
111 
112  virtual void onTLSInit();
113 
117 
118 // virtual void onDisconnected(); ///< Called when socket is closing and no longer ready to communicate.
119 
127 
128  virtual void onDataReceived(std::string data) = 0;
129 
134 
135  virtual void receiveData(char *buffer, int bufferLength);
136 
137  private:
138 
139  int descriptor = -1;
140  std::mutex lock;
141  bool readHangup = false;
142 
143  struct epoll_event event; // Event selection construction structure.
144 
145  //--------------------------------------------------
146  // These are used to schedule the socket activity.
147  //--------------------------------------------------
148 
149  void setRead();
150  void setWrite();
151  void setReadWrite();
152  void resetRead();
153  void resetWrite();;
154  void resetReadWrite();
155  void clear();
156 
157  //-------------------------------------------------------------------------------------
158  // the writeSocket is called when epoll has received a write request for a socket.
159  // Writing data to this socket is queued in the streambuf and permission is requested
160  // to write to the socket. This routine handles the writing of the streambuf data
161  // buffer to the socket.
162  //-------------------------------------------------------------------------------------
163 
164  void writeSocket();
165 
166  // int_type underflow();
167 // int_type uflow();
168 // int_type pbackfail(int_type ch);
169 // streamsize showmanyc();
170 
171  char *buffer; // This is a pointer to the managed buffer space.
172  int length; // This is the length of the buffer.
173 
174 // const char * const begin_;
175 // const char * const end_;
176 // const char * const current_;
177 
178  std::queue<std::string> fifo;
179 
180  bool active = false;
181 
182  };
183 
184 }
185 
186 #endif
187 
Definition: EPoll.h:31
+
virtual void receiveData(char *buffer, int bufferLength)
Definition: Socket.cpp:87
virtual void onUnregistered()
Called when the socket has finished unregistering for the epoll processing.
Definition: Socket.cpp:44
Definition: Command.cpp:4
-
void enable(bool mode)
Enable the socket to read or write based upon buffer.
Definition: Socket.cpp:74
+
void enable(bool mode)
Enable the socket to read or write based upon buffer.
Definition: Socket.cpp:71
virtual void onDataReceived(std::string data)=0
Called when data is received from the socket.
void setDescriptor(int descriptor)
Set the descriptor for the socket.
Definition: Socket.cpp:21
-
void write(std::string data)
Definition: Socket.cpp:131
+
void write(std::string data)
Definition: Socket.cpp:132
Definition: Socket.h:32
void eventReceived(struct epoll_event event)
Parse epoll event and call specified callbacks.
Definition: Socket.cpp:48
int getDescriptor()
Get the descriptor for the socket.
Definition: Socket.cpp:29
virtual void onRegistered()
Called when the socket has finished registering with the epoll processing.
Definition: Socket.cpp:40
Definition: Object.h:8
-
virtual void onConnected()
Called when socket is open and ready to communicate.
Definition: Socket.cpp:118
+
virtual void onConnected()
Called when socket is open and ready to communicate.
Definition: Socket.cpp:119
-
1 #ifndef __TCPServerSocket_h__
2 #define __TCPServerSocket_h__
3 
4 #include "Socket.h"
5 #include "TCPSocket.h"
6 #include "Service.h"
7 
8 namespace core {
9 
21 
22  class TCPServerSocket : public TCPSocket, public Command {
23 
24  public:
25 
34 
35  TCPServerSocket(EPoll &ePoll, Service service, IPAddress address);
36 
40 
42 
43  Service &service;
44 
45  protected:
46 
47 // virtual void init();
48 
56 
57  virtual Session * getSocketAccept();
58 
68 
69  void onDataReceived(std::string data) override;
70 
77 
78  int processCommand(std::string command, Session *session) override;
79 
80  private:
81 
82  Session * accept();
83 
84  };
85 
86 }
87 
88 #endif
Definition: EPoll.h:31
+
1 #ifndef __TCPServerSocket_h__
2 #define __TCPServerSocket_h__
3 
4 #include "Socket.h"
5 #include "TCPSocket.h"
6 #include "Service.h"
7 #include "IPAddressList.h"
8 
9 namespace core {
10 
22 
23  class TCPServerSocket : public TCPSocket, public Command {
24 
25  public:
26 
36 
37  TCPServerSocket(EPoll &ePoll, Service &service, IPAddress address);
38 
42 
44 
49 
51 
57 
65 
66  protected:
67 
77 
78  void onDataReceived(std::string data) override;
79 
86 
87  int processCommand(std::string command, Session *session, std::stringstream &data) override;
88 
89  private:
90 
91  Session * accept();
92 
93  };
94 
95 }
96 
97 #endif
Definition: EPoll.h:31
+
Service & service
Definition: TCPServerSocket.h:50
Definition: Command.cpp:4
Definition: Session.h:22
void onDataReceived(std::string data) override
Definition: TCPServerSocket.cpp:24
Definition: IPAddress.h:9
-
virtual Session * getSocketAccept()
Definition: TCPServerSocket.cpp:38
-
TCPServerSocket(EPoll &ePoll, Service service, IPAddress address)
Definition: TCPServerSocket.cpp:8
+
IPAddressList * whiteList
Definition: TCPServerSocket.h:64
+
TCPServerSocket(EPoll &ePoll, Service &service, IPAddress address)
Definition: TCPServerSocket.cpp:9
+
IPAddressList * blackList
Definition: TCPServerSocket.h:58
Definition: Service.h:20
-
int processCommand(std::string command, Session *session) override
Definition: TCPServerSocket.cpp:42
Definition: Command.h:18
Definition: TCPSocket.h:20
-
Definition: TCPServerSocket.h:22
+
int processCommand(std::string command, Session *session, std::stringstream &data) override
Definition: TCPServerSocket.cpp:50
+
Definition: TCPServerSocket.h:23
+
Definition: IPAddressList.h:9
~TCPServerSocket()
Definition: TCPServerSocket.cpp:20
diff --git a/docs/html/_t_c_p_socket_8h_source.html b/docs/html/_t_c_p_socket_8h_source.html index 718afb2..2f39ab2 100644 --- a/docs/html/_t_c_p_socket_8h_source.html +++ b/docs/html/_t_c_p_socket_8h_source.html @@ -5,7 +5,7 @@ -BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/TCPSocket.h Source File +BMA Server Framework: /home/bradarant/barant/ServerCore/TCPSocket.h Source File @@ -59,7 +59,7 @@ $(function() {
-
/home/barant/Development/BMA/server_core/ServerCore/TCPSocket.h
+
/home/bradarant/barant/ServerCore/TCPSocket.h
1 #ifndef __TCPSocket_h__
2 #define __TCPSocket_h__
3 
4 #include "includes"
5 #include "Socket.h"
6 #include "IPAddress.h"
7 
8 namespace core {
9 
19 
20  class TCPSocket : public Socket {
21 
22  public:
23 
24  TCPSocket(EPoll &ePoll);
25  ~TCPSocket();
26 
27  void connect(IPAddress &address);
28 
29  IPAddress ipAddress;
30 
37 
38  virtual void output(std::stringstream &out);
39 
40  };
41 
42 }
43 
44 #endif
Definition: EPoll.h:31
diff --git a/docs/html/_t_l_s_server_socket_8h_source.html b/docs/html/_t_l_s_server_socket_8h_source.html index c2fdab3..fb60c7c 100644 --- a/docs/html/_t_l_s_server_socket_8h_source.html +++ b/docs/html/_t_l_s_server_socket_8h_source.html @@ -5,7 +5,7 @@ -BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/TLSServerSocket.h Source File +BMA Server Framework: /home/bradarant/barant/ServerCore/TLSServerSocket.h Source File @@ -59,17 +59,16 @@ $(function() {
-
/home/barant/Development/BMA/server_core/ServerCore/TLSServerSocket.h
+
/home/bradarant/barant/ServerCore/TLSServerSocket.h
-
1 #ifndef TLSServerSocket_h__
2 #define TLSServerSocket_h__
3 
4 #include "Socket.h"
5 #include "TCPServerSocket.h"
6 #include "Command.h"
7 #include "Session.h"
8 #include "IPAddress.h"
9 #include "Service.h"
10 
11 namespace core {
12 
19 
21 
22  public:
23 
32 
33  TLSServerSocket(EPoll &ePoll, Service service, IPAddress address);
34 
38 
40 
41 // SSL_CTX *ctx;
42 
43  protected:
44  Session * getSocketAccept() override;
45 
46  private:
47  void tlsServerInit();
48 
49  char *sip_cacert = (char *)"/home/barant/testkeys/certs/pbxca.crt";
50  char *sip_cert = (char *)"/home/barant/testkeys/certs/pbxserver.crt";
51  char *sip_key = (char *)"/home/barant/testkeys/certs/pbxserver.key";
52 
53  };
54 
55 }
56 
57 #endif
Definition: EPoll.h:31
+
1 #ifndef TLSServerSocket_h__
2 #define TLSServerSocket_h__
3 
4 #include "Socket.h"
5 #include "TCPServerSocket.h"
6 #include "Command.h"
7 #include "Session.h"
8 #include "IPAddress.h"
9 #include "Service.h"
10 
11 namespace core {
12 
19 
21 
22  public:
23 
32 
33  TLSServerSocket(EPoll &ePoll, Service service, IPAddress address);
34 
38 
40 
41 // SSL_CTX *ctx;
42 
43  private:
44  void tlsServerInit();
45 
46  char *sip_cacert = (char *)"/home/barant/testkeys/certs/pbxca.crt";
47  char *sip_cert = (char *)"/home/barant/testkeys/certs/pbxserver.crt";
48  char *sip_key = (char *)"/home/barant/testkeys/certs/pbxserver.key";
49 
50  };
51 
52 }
53 
54 #endif
Definition: EPoll.h:31
+
Service & service
Definition: TCPServerSocket.h:50
Definition: Command.cpp:4
-
Definition: Session.h:22
Definition: IPAddress.h:9
Definition: Service.h:20
~TLSServerSocket()
Definition: TLSServerSocket.cpp:43
-
Session * getSocketAccept() override
Definition: TLSServerSocket.cpp:62
-
Definition: TCPServerSocket.h:22
+
Definition: TCPServerSocket.h:23
TLSServerSocket(EPoll &ePoll, Service service, IPAddress address)
Definition: TLSServerSocket.cpp:19
Definition: TLSServerSocket.h:20
diff --git a/docs/html/_t_l_s_service_8h_source.html b/docs/html/_t_l_s_service_8h_source.html index 26cee6b..ddefb99 100644 --- a/docs/html/_t_l_s_service_8h_source.html +++ b/docs/html/_t_l_s_service_8h_source.html @@ -5,7 +5,7 @@ -BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/TLSService.h Source File +BMA Server Framework: /home/bradarant/barant/ServerCore/TLSService.h Source File @@ -59,12 +59,11 @@ $(function() {
-
/home/barant/Development/BMA/server_core/ServerCore/TLSService.h
+
/home/bradarant/barant/ServerCore/TLSService.h
-
1 #ifndef __TLSService_h__
2 #define __TLSService_h__
3 
4 #include "includes"
5 #include "Service.h"
6 #include "TLSServerSocket.h"
7 
8 namespace core {
9 
10  class TLSService : public Service {
11 
12  public:
14  SSL_CTX *ctx;
15 
16 
17  };
18 
19 }
20 
21 #endif
Definition: TLSService.h:10
+
1 #ifndef __TLSService_h__
2 #define __TLSService_h__
3 
4 #include "includes"
5 #include "Service.h"
6 #include "TLSServerSocket.h"
7 
8 namespace core {
9 
10  class TLSService : public Service {
11 
12  public:
13  TLSService(TLSServerSocket &server);
14  SSL_CTX *ctx;
15 
16 
17  };
18 
19 }
20 
21 #endif
Definition: TLSService.h:10
Definition: Command.cpp:4
-
TCPServerSocket * server
Definition: Service.h:49
Definition: Service.h:20
Definition: TLSServerSocket.h:20
diff --git a/docs/html/_t_l_s_session_8h_source.html b/docs/html/_t_l_s_session_8h_source.html index 26033f5..ba3e7eb 100644 --- a/docs/html/_t_l_s_session_8h_source.html +++ b/docs/html/_t_l_s_session_8h_source.html @@ -5,7 +5,7 @@ -BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/TLSSession.h Source File +BMA Server Framework: /home/bradarant/barant/ServerCore/TLSSession.h Source File @@ -59,10 +59,10 @@ $(function() {
-
/home/barant/Development/BMA/server_core/ServerCore/TLSSession.h
+
/home/bradarant/barant/ServerCore/TLSSession.h
-
1 #ifndef __TLSSession_h__
2 #define __TLSSession_h__
3 
4 #include "includes"
5 #include "Session.h"
6 #include "TLSServerSocket.h"
7 #include <openssl/ssl.h>
8 
9 namespace core {
10 
11  class TLSServerSocket;
12 
22 
23  class TLSSession : public Session {
24 
25  public:
26 
27  TLSSession(EPoll &ePoll, Service &service);
28  ~TLSSession();
29 
36 
37  virtual void output(std::stringstream &out);
38  virtual void protocol(std::string data) override;
39 
40  protected:
41  void init() override;
42  void receiveData(char *buffer, int bufferLength) override;
43 
44  private:
45  bool initialized = false;
46 // TLSServerSocket &server;
47  SSL *ssl;
48 
49  };
50 
51 }
52 
53 #endif
Definition: EPoll.h:31
+
1 #ifndef __TLSSession_h__
2 #define __TLSSession_h__
3 
4 #include "includes"
5 #include "Session.h"
6 #include "TLSServerSocket.h"
7 #include <openssl/ssl.h>
8 
9 namespace core {
10 
11  class TLSServerSocket;
12 
22 
23  class TLSSession : public Session {
24 
25  public:
26 
27  TLSSession(EPoll &ePoll, Service &service);
28  ~TLSSession();
29 
36 
37  virtual void output(std::stringstream &out);
38  virtual void protocol(std::string data) override;
39 
40  protected:
41  void receiveData(char *buffer, int bufferLength) override;
42 
43  private:
44  bool initialized = false;
45  SSL *ssl;
46 
47  };
48 
49 }
50 
51 #endif
Definition: EPoll.h:31
Definition: Command.cpp:4
Definition: Session.h:22
virtual void protocol(std::string data) override
Definition: TLSSession.cpp:83
diff --git a/docs/html/_terminal_session_8h_source.html b/docs/html/_terminal_session_8h_source.html index 3f2c81f..2373377 100644 --- a/docs/html/_terminal_session_8h_source.html +++ b/docs/html/_terminal_session_8h_source.html @@ -5,7 +5,7 @@ -BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/TerminalSession.h Source File +BMA Server Framework: /home/bradarant/barant/ServerCore/TerminalSession.h Source File @@ -59,7 +59,7 @@ $(function() {
-
/home/barant/Development/BMA/server_core/ServerCore/TerminalSession.h
+
/home/bradarant/barant/ServerCore/TerminalSession.h
1 #ifndef __Terminal_h__
2 #define __Terminal_h__
3 
4 #include "includes"
5 #include "Session.h"
6 #include "TCPServerSocket.h"
7 
8 namespace core {
9 
10  static const int FG_BLACK = 30;
11  static const int FG_RED = 31;
12  static const int FG_GREEN = 32;
13  static const int FG_YELLOW = 33;
14  static const int FG_BLUE = 34;
15  static const int FG_MAGENTA = 35;
16  static const int FG_CYAN = 36;
17  static const int FG_WHITE = 37;
18 
19  static const int BG_BLACK = 40;
20  static const int BG_RED = 41;
21  static const int BG_GREEN = 42;
22  static const int BG_YELLOW = 43;
23  static const int BG_BLUE = 44;
24  static const int BG_MAGENTA = 45;
25  static const int BG_CYAN = 46;
26  static const int BG_WHITE = 47;
27 
28  static const char esc = 0x1b;
29 
30  class TerminalSession : public Session {
31 
32  public:
33  TerminalSession(EPoll &ePoll, Service &service);
34  ~TerminalSession();
35 
36  int getLines();
37 
38  void clear();
39  void clearEOL();
40  void setCursorLocation(int x, int y);
41  void setColor(int color);
42  void setBackColor(int color);
43  void saveCursor();
44  void restoreCursor();
45  void NextLine(int lines);
46  void PreviousLine(int lines);
47  void scrollArea(int start, int end);
48 
49  };
50 
51 }
52 
53 #endif
Definition: EPoll.h:31
diff --git a/docs/html/_thread_8h_source.html b/docs/html/_thread_8h_source.html index d6e5d19..e4c3e92 100644 --- a/docs/html/_thread_8h_source.html +++ b/docs/html/_thread_8h_source.html @@ -5,7 +5,7 @@ -BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/Thread.h Source File +BMA Server Framework: /home/bradarant/barant/ServerCore/Thread.h Source File @@ -59,12 +59,11 @@ $(function() {
-
/home/barant/Development/BMA/server_core/ServerCore/Thread.h
+
/home/bradarant/barant/ServerCore/Thread.h
-
1 #ifndef __Thread_h__
2 #define __Thread_h__
3 
4 #include "includes"
5 #include "Log.h"
6 #include "Object.h"
7 #include "Session.h"
8 
9 namespace core {
10 
11  class EPoll;
12 
20 
21  class Thread : public Object {
22 
23  public:
24  Thread(EPoll &ePoll);
25  ~Thread();
26 
30 
31  void start();
32  void join();
33  std::string getStatus();
34  pid_t getThreadId();
35  int getCount();
36  void output(Session *session);
37 
38  private:
39  EPoll &ePoll; // The EPoll control object.
40  std::string status;
41  int count;
42  std::thread *_thread;
43  void print_thread_start_log();
44  pid_t threadId;
45  void run();
46 
47  };
48 
49 }
50 
51 #endif
Definition: EPoll.h:31
+
1 #ifndef __Thread_h__
2 #define __Thread_h__
3 
4 #include "includes"
5 #include "Log.h"
6 #include "Object.h"
7 #include "Session.h"
8 
9 namespace core {
10 
11  class EPoll;
12 
20 
21  class Thread : public Object {
22 
23  public:
24  Thread(EPoll &ePoll);
25  ~Thread();
26 
30 
31  void start();
32  void join();
33  std::string getStatus();
34  pid_t getThreadId();
35  int getCount();
36  void output(std::stringstream &data);
37 
38  private:
39  EPoll &ePoll; // The EPoll control object.
40  std::string status;
41  int count;
42  std::thread *_thread;
43  void print_thread_start_log();
44  pid_t threadId;
45  void run();
46 
47  };
48 
49 }
50 
51 #endif
Definition: EPoll.h:31
Definition: Command.cpp:4
-
Definition: Session.h:22
Definition: Thread.h:21
void start()
Definition: Thread.cpp:10
Definition: Object.h:8
diff --git a/docs/html/_timer_8h_source.html b/docs/html/_timer_8h_source.html index 10fe635..c8bc24f 100644 --- a/docs/html/_timer_8h_source.html +++ b/docs/html/_timer_8h_source.html @@ -5,7 +5,7 @@ -BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/Timer.h Source File +BMA Server Framework: /home/bradarant/barant/ServerCore/Timer.h Source File @@ -59,7 +59,7 @@ $(function() {
-
/home/barant/Development/BMA/server_core/ServerCore/Timer.h
+
/home/bradarant/barant/ServerCore/Timer.h
1 #ifndef __Timer_h__
2 #define __Timer_h__
3 
4 #include "Socket.h"
5 #include "EPoll.h"
6 
7 namespace core {
8 
17 
18  class Timer : Socket {
19 
20  public:
21  Timer(EPoll &ePoll);
22  Timer(EPoll &ePoll, double delay);
23  ~Timer();
24 
32 
33  void setTimer(double delay);
34 
38 
39  void clearTimer();
40 
45 
46  double getElapsed();
47 
48  double getEpoch();
49 
50  protected:
51 
55 
56  virtual void onTimeout() = 0;
57 
58  private:
59  void onDataReceived(std::string data) override;
60  double delayValue;
61 
62  };
63 
64 }
65 
66 #endif
Definition: EPoll.h:31
diff --git a/docs/html/_u_d_p_server_socket_8h_source.html b/docs/html/_u_d_p_server_socket_8h_source.html index 8da133e..7f6ad7b 100644 --- a/docs/html/_u_d_p_server_socket_8h_source.html +++ b/docs/html/_u_d_p_server_socket_8h_source.html @@ -5,7 +5,7 @@ -BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/UDPServerSocket.h Source File +BMA Server Framework: /home/bradarant/barant/ServerCore/UDPServerSocket.h Source File @@ -59,12 +59,11 @@ $(function() {
-
/home/barant/Development/BMA/server_core/ServerCore/UDPServerSocket.h
+
/home/bradarant/barant/ServerCore/UDPServerSocket.h
-
1 #ifndef __UDPServerSocket_h__
2 #define __UDPServerSocket_h__
3 
4 #include "Socket.h"
5 #include "UDPSocket.h"
6 #include "Command.h"
7 
8 namespace core {
9 
16 
17  class UDPServerSocket : public UDPSocket, public Command {
18 
19  public:
20 
21  UDPServerSocket(EPoll &ePoll, std::string url, short int port, std::string commandName);
22  ~UDPServerSocket();
23 
24  protected:
25 
26  //---------------------------------------------------------------
27  // Override the virtual dataReceived since for the server these
28  // are requests to accept the new connection socket.
29  //---------------------------------------------------------------
30 
31  void onDataReceived(std::string data) override;
32 
33  int processCommand(Session *session);
34 
35  //------------------------------------------------------------------------------------
36  // The retrieved socket connections are placed into the client vector list.
37  //------------------------------------------------------------------------------------
38 
39  std::vector<Session *> sessions;
40 
41  private:
42 
43 
44  };
45 
46 }
47 
48 #endif
Definition: EPoll.h:31
+
1 #ifndef __UDPServerSocket_h__
2 #define __UDPServerSocket_h__
3 
4 #include "Socket.h"
5 #include "UDPSocket.h"
6 #include "Command.h"
7 
8 namespace core {
9 
16 
17  class UDPServerSocket : public UDPSocket, public Command {
18 
19  public:
20 
21  UDPServerSocket(EPoll &ePoll, std::string url, short int port, std::string commandName);
22  ~UDPServerSocket();
23 
24  protected:
25 
26  //---------------------------------------------------------------
27  // Override the virtual dataReceived since for the server these
28  // are requests to accept the new connection socket.
29  //---------------------------------------------------------------
30 
31  void onDataReceived(std::string data) override;
32 
33  int processCommand(std::string request, std::stringstream &data);
34 
35  //------------------------------------------------------------------------------------
36  // The retrieved socket connections are placed into the client vector list.
37  //------------------------------------------------------------------------------------
38 
39  std::vector<Session *> sessions;
40 
41  private:
42 
43 
44  };
45 
46 }
47 
48 #endif
Definition: EPoll.h:31
Definition: Command.cpp:4
-
Definition: Session.h:22
Definition: UDPSocket.h:9
Definition: UDPServerSocket.h:17
void onDataReceived(std::string data) override
Called when data is received from the socket.
Definition: UDPServerSocket.cpp:35
diff --git a/docs/html/_u_d_p_socket_8h_source.html b/docs/html/_u_d_p_socket_8h_source.html index dea0949..6679074 100644 --- a/docs/html/_u_d_p_socket_8h_source.html +++ b/docs/html/_u_d_p_socket_8h_source.html @@ -5,7 +5,7 @@ -BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/UDPSocket.h Source File +BMA Server Framework: /home/bradarant/barant/ServerCore/UDPSocket.h Source File @@ -59,7 +59,7 @@ $(function() {
-
/home/barant/Development/BMA/server_core/ServerCore/UDPSocket.h
+
/home/bradarant/barant/ServerCore/UDPSocket.h
1 #ifndef UDPSocket_h__
2 #define UDPSocket_h__
3 
4 #include "Socket.h"
5 #include "Session.h"
6 
7 namespace core {
8 
9  class UDPSocket : public Socket {
10 
11  public:
12  UDPSocket(EPoll &ePoll);
13  ~UDPSocket();
14 
15 // virtual int open(string address, short int port);
16 // virtual void write(istream data);
17 
18 };
19 
20 }
21 
22 #endif
Definition: EPoll.h:31
diff --git a/docs/html/annotated.html b/docs/html/annotated.html index e932de3..ef6c5de 100644 --- a/docs/html/annotated.html +++ b/docs/html/annotated.html @@ -64,33 +64,30 @@ $(function() {
Here are the classes, structs, unions and interfaces with brief descriptions:
diff --git a/docs/html/classcore_1_1_command-members.html b/docs/html/classcore_1_1_command-members.html index 42cc53a..55126de 100644 --- a/docs/html/classcore_1_1_command-members.html +++ b/docs/html/classcore_1_1_command-members.html @@ -58,7 +58,7 @@ $(function() {
@@ -72,7 +72,7 @@ $(function() { check(std::string request)core::Commandvirtual getName() (defined in core::Command)core::Command output(Session *session)core::Commandvirtual - processCommand(std::string request, Session *session)=0core::Commandpure virtual + processCommand(std::string request, Session *session, std::stringstream &data)core::Commandvirtual setName(std::string name)core::Command tag (defined in core::Object)core::Object
diff --git a/docs/html/classcore_1_1_command.html b/docs/html/classcore_1_1_command.html index 59fe124..ea99e75 100644 --- a/docs/html/classcore_1_1_command.html +++ b/docs/html/classcore_1_1_command.html @@ -58,7 +58,7 @@ $(function() {
@@ -66,7 +66,7 @@ $(function() { Public Member Functions | List of all members
-
core::Command Class Referenceabstract
+
core::Command Class Reference
@@ -76,13 +76,16 @@ Inheritance diagram for core::Command:
Inheritance graph
- - - - - - - + + + + + + + + + +
[legend]
@@ -98,8 +101,8 @@ Collaboration diagram for core::Command:
Public Member Functions virtual bool check (std::string request)   -virtual int processCommand (std::string request, Session *session)=0 -  +virtual int processCommand (std::string request, Session *session, std::stringstream &data) +  virtual void output (Session *session)   void setName (std::string name) @@ -188,12 +191,12 @@ std::string tag -

Reimplemented in core::ConsoleServer.

+

Reimplemented in core::Service.

- -

◆ processCommand()

+ +

◆ processCommand()

@@ -202,7 +205,7 @@ std::string tag - + @@ -211,7 +214,13 @@ std::string  - + + + + + + + @@ -221,7 +230,7 @@ std::string  +virtual
virtual int core::Command::processCommand int core::Command::processCommand ( std::string  request, tag Sessionsession session,
std::stringstream & data 
tag -pure virtual
@@ -235,7 +244,7 @@ std::string tag
Returns
Returns 0 if execution of the command was successful. Otherwise returns a non-zero value indicating an error condition.
-

Implemented in core::EPoll, core::TCPServerSocket, and core::CommandList.

+

Reimplemented in core::EPoll, core::TCPServerSocket, and core::CommandList.

@@ -265,8 +274,8 @@ std::string tag

The documentation for this class was generated from the following files:
    -
  • /home/barant/Development/BMA/server_core/ServerCore/Command.h
  • -
  • /home/barant/Development/BMA/server_core/ServerCore/Command.cpp
  • +
  • /home/bradarant/barant/ServerCore/Command.h
  • +
  • /home/bradarant/barant/ServerCore/Command.cpp
diff --git a/docs/html/classcore_1_1_command__coll__graph.md5 b/docs/html/classcore_1_1_command__coll__graph.md5 index 4956832..c2dde0a 100644 --- a/docs/html/classcore_1_1_command__coll__graph.md5 +++ b/docs/html/classcore_1_1_command__coll__graph.md5 @@ -1 +1 @@ -fb20e2e2818e0deb25bd92d98bab297f \ No newline at end of file +016a0812a170ebbf263addd82e03d7ee \ No newline at end of file diff --git a/docs/html/classcore_1_1_command__inherit__graph.map b/docs/html/classcore_1_1_command__inherit__graph.map index f8db9bf..947620a 100644 --- a/docs/html/classcore_1_1_command__inherit__graph.map +++ b/docs/html/classcore_1_1_command__inherit__graph.map @@ -1,9 +1,12 @@ - - - - - - - + + + + + + + + + + diff --git a/docs/html/classcore_1_1_command__inherit__graph.md5 b/docs/html/classcore_1_1_command__inherit__graph.md5 index 2bbc839..cc5c036 100644 --- a/docs/html/classcore_1_1_command__inherit__graph.md5 +++ b/docs/html/classcore_1_1_command__inherit__graph.md5 @@ -1 +1 @@ -b6b680faa1173f2504c2ffed3daa67a1 \ No newline at end of file +145e5dc2c911ca7678658f103e9d526e \ No newline at end of file diff --git a/docs/html/classcore_1_1_command__inherit__graph.png b/docs/html/classcore_1_1_command__inherit__graph.png index 0773c0c..25623ca 100644 Binary files a/docs/html/classcore_1_1_command__inherit__graph.png and b/docs/html/classcore_1_1_command__inherit__graph.png differ diff --git a/docs/html/classcore_1_1_command_list-members.html b/docs/html/classcore_1_1_command_list-members.html index cfa94e2..7b461c1 100644 --- a/docs/html/classcore_1_1_command_list-members.html +++ b/docs/html/classcore_1_1_command_list-members.html @@ -58,7 +58,7 @@ $(function() {
@@ -72,14 +72,15 @@ $(function() { add(Command &command, std::string name="")core::CommandList check(std::string request)core::Commandvirtual CommandList()core::CommandList - getName() (defined in core::Command)core::Command - output(Session *session)core::Commandvirtual - processCommand(std::string request, Session *session) overridecore::CommandListvirtual - processRequest(std::string request, Session *session) (defined in core::CommandList)core::CommandList - remove(Command &command) (defined in core::CommandList)core::CommandList - setName(std::string name)core::Command - tag (defined in core::Object)core::Object - ~CommandList()core::CommandList + commands (defined in core::CommandList)core::CommandListprotected + getName() (defined in core::Command)core::Command + output(Session *session)core::Commandvirtual + processCommand(std::string request, Session *session, std::stringstream &data) overridecore::CommandListvirtual + processRequest(std::string request, Session *session, std::stringstream &data) (defined in core::CommandList)core::CommandList + remove(Command &command) (defined in core::CommandList)core::CommandList + setName(std::string name)core::Command + tag (defined in core::Object)core::Object + ~CommandList()core::CommandList
core::CommandList Class Reference
@@ -101,11 +102,11 @@ Public Member Functions void remove (Command &command)   - -bool processRequest (std::string request, Session *session) -  -int processCommand (std::string request, Session *session) override -  + +bool processRequest (std::string request, Session *session, std::stringstream &data) +  +int processCommand (std::string request, Session *session, std::stringstream &data) override +  - Public Member Functions inherited from core::Command virtual bool check (std::string request)   @@ -117,6 +118,12 @@ bool processRequest (s std::string getName ()   + + + +

+Protected Attributes

+std::vector< Command * > commands
 
@@ -197,8 +204,8 @@ std::string  - -

◆ processCommand()

+ +

◆ processCommand()

@@ -216,7 +223,13 @@ std::string 
- + + + + + + + @@ -240,13 +253,13 @@ std::string 
Returns
Returns 0 if execution of the command was successful. Otherwise returns a non-zero value indicating an error condition.
-

Implements core::Command.

+

Reimplemented from core::Command.


The documentation for this class was generated from the following files:
    -
  • /home/barant/Development/BMA/server_core/ServerCore/CommandList.h
  • -
  • /home/barant/Development/BMA/server_core/ServerCore/CommandList.cpp
  • +
  • /home/bradarant/barant/ServerCore/CommandList.h
  • +
  • /home/bradarant/barant/ServerCore/CommandList.cpp
diff --git a/docs/html/classcore_1_1_console_server-members.html b/docs/html/classcore_1_1_console_server-members.html index b4dfaeb..47e9bae 100644 --- a/docs/html/classcore_1_1_console_server-members.html +++ b/docs/html/classcore_1_1_console_server-members.html @@ -58,7 +58,7 @@ $(function() {
@@ -69,42 +69,42 @@ $(function() {

This is the complete list of members for core::ConsoleServer, including all inherited members.

Additional Inherited Members

- Public Attributes inherited from core::Object
tag tag Sessionsession session,
std::stringstream & data 
tag
- - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - + + - + - - - + + + diff --git a/docs/html/classcore_1_1_console_server.html b/docs/html/classcore_1_1_console_server.html index 0ade2e6..a25474d 100644 --- a/docs/html/classcore_1_1_console_server.html +++ b/docs/html/classcore_1_1_console_server.html @@ -58,13 +58,12 @@ $(function() {
core::ConsoleServer Class Reference
@@ -87,33 +86,30 @@ Collaboration diagram for core::ConsoleServer:
Collaboration graph
- - - - - - - - - + + + + + + + + + +
[legend]
bufferSize (defined in core::Socket)core::Socket
check(std::string request)core::Commandvirtual
connect(IPAddress &address) (defined in core::TCPSocket)core::TCPSocket
ConsoleServer(EPoll &ePoll, Service service, IPAddress address) (defined in core::ConsoleServer)core::ConsoleServer
enable(bool mode)core::Socket
ePoll (defined in core::Socket)core::Socketprotected
eventReceived(struct epoll_event event)core::Socket
getDescriptor()core::Socket
getName() (defined in core::Command)core::Command
getSocketAccept() overridecore::ConsoleServerprotectedvirtual
blackListcore::TCPServerSocket
bufferSize (defined in core::Socket)core::Socket
check(std::string request)core::Commandvirtual
connect(IPAddress &address) (defined in core::TCPSocket)core::TCPSocket
ConsoleServer(EPoll &ePoll, Service &service, IPAddress address) (defined in core::ConsoleServer)core::ConsoleServer
enable(bool mode)core::Socket
ePoll (defined in core::Socket)core::Socketprotected
eventReceived(struct epoll_event event)core::Socket
getDescriptor()core::Socket
getName() (defined in core::Command)core::Command
ipAddress (defined in core::TCPSocket)core::TCPSocket
name (defined in core::Object)core::Object
onConnected()core::Socketprotectedvirtual
onDataReceived(std::string data) overridecore::TCPServerSocketprotectedvirtual
onRegistered()core::Socketvirtual
onTLSInit() (defined in core::Socket)core::Socketprotectedvirtual
onUnregistered()core::Socketvirtual
output(Session *session) overridecore::ConsoleServervirtual
core::TCPServerSocket::output(std::stringstream &out)core::TCPSocketvirtual
processCommand(std::string command, Session *session) overridecore::TCPServerSocketprotectedvirtual
receiveData(char *buffer, int bufferLength)core::Socketprotectedvirtual
sendToConnectedConsoles(std::string out) (defined in core::ConsoleServer)core::ConsoleServer
service (defined in core::TCPServerSocket)core::TCPServerSocket
logSend(std::string out) override (defined in core::ConsoleServer)core::ConsoleServer
name (defined in core::Object)core::Object
onConnected()core::Socketprotectedvirtual
onDataReceived(std::string data) overridecore::TCPServerSocketprotectedvirtual
onRegistered()core::Socketvirtual
onTLSInit() (defined in core::Socket)core::Socketprotectedvirtual
onUnregistered()core::Socketvirtual
core::output(std::stringstream &out)core::TCPSocketvirtual
core::Command::output(Session *session)core::Commandvirtual
processCommand(std::string command, Session *session, std::stringstream &data) overridecore::TCPServerSocketprotectedvirtual
receiveData(char *buffer, int bufferLength)core::Socketprotectedvirtual
servicecore::TCPServerSocket
setBufferSize(int length) (defined in core::Socket)core::Socketprotected
setDescriptor(int descriptor)core::Socket
setName(std::string name)core::Command
shutDown (defined in core::Socket)core::Socketprotected
shutdown() (defined in core::Socket)core::Socketprotected
shutdown() (defined in core::Socket)core::Socket
shutDown (defined in core::Socket)core::Socketprotected
Socket(EPoll &ePoll) (defined in core::Socket)core::Socket
tag (defined in core::Object)core::Object
tag (defined in core::Object)core::Object
TCPServerSocket(EPoll &ePoll, Service service, IPAddress address)core::TCPServerSocket
TCPServerSocket(EPoll &ePoll, Service &service, IPAddress address)core::TCPServerSocket
TCPSocket(EPoll &ePoll) (defined in core::TCPSocket)core::TCPSocket
write(std::string data)core::Socket
write(char *buffer, int length) (defined in core::Socket)core::Socket
~ConsoleServer() (defined in core::ConsoleServer)core::ConsoleServer
whiteListcore::TCPServerSocket
write(std::string data)core::Socket
write(char *buffer, int length) (defined in core::Socket)core::Socket
~Socket() (defined in core::Socket)core::Socket
~TCPServerSocket()core::TCPServerSocket
~TCPSocket() (defined in core::TCPSocket)core::TCPSocket
- - - - - - - + + + + - - + + @@ -129,6 +125,9 @@ void  + + @@ -161,43 +160,23 @@ void  + +

Public Member Functions

ConsoleServer (EPoll &ePoll, Service service, IPAddress address)
 
-void sendToConnectedConsoles (std::string out)
 
-void output (Session *session) override
 Output the consoles array to the console.
 
ConsoleServer (EPoll &ePoll, Service &service, IPAddress address)
 
+void logSend (std::string out) override
 
- Public Member Functions inherited from core::TCPServerSocket
 TCPServerSocket (EPoll &ePoll, Service service, IPAddress address)
 
 TCPServerSocket (EPoll &ePoll, Service &service, IPAddress address)
 
 ~TCPServerSocket ()
 
- Public Member Functions inherited from core::TCPSocket
connect (  Socket (EPoll &ePoll)
 
+void shutdown ()
 
void setDescriptor (int descriptor)
 Set the descriptor for the socket.
- Public Member Functions inherited from core::Command
virtual bool check (std::string request)
 
virtual void output (Session *session)
 
void setName (std::string name)
 
std::string getName ()
 
- - - - - - - - - - - - - - - - - - - - -

-Protected Member Functions

SessiongetSocketAccept () override
 
- Protected Member Functions inherited from core::TCPServerSocket
void onDataReceived (std::string data) override
 
int processCommand (std::string command, Session *session) override
 
- Protected Member Functions inherited from core::Socket
-void setBufferSize (int length)
 
virtual void onConnected ()
 Called when socket is open and ready to communicate. More...
 
-virtual void onTLSInit ()
 
-void shutdown ()
 
virtual void receiveData (char *buffer, int bufferLength)
 
- + + + + + @@ -214,6 +193,23 @@ std::string < + + + + + + + + + + + + + + + @@ -222,38 +218,9 @@ std::string 

Additional Inherited Members

- Public Attributes inherited from core::TCPServerSocket
-Serviceservice
Serviceservice
 
IPAddressListblackList
 
IPAddressListwhiteList
 
- Public Attributes inherited from core::TCPSocket
IPAddress ipAddress
name
std::string tag
 
- Protected Member Functions inherited from core::TCPServerSocket
void onDataReceived (std::string data) override
 
int processCommand (std::string command, Session *session, std::stringstream &data) override
 
- Protected Member Functions inherited from core::Socket
+void setBufferSize (int length)
 
virtual void onConnected ()
 Called when socket is open and ready to communicate. More...
 
+virtual void onTLSInit ()
 
virtual void receiveData (char *buffer, int bufferLength)
 
- Protected Attributes inherited from core::Socket
EPollePoll
tagshutDown = false
 
-

Member Function Documentation

- -

◆ getSocketAccept()

- -
-
- - - - - -
- - - - - - - -
Session * core::ConsoleServer::getSocketAccept ()
-
-overrideprotectedvirtual
-
-

getSocketAccept 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 BMASession provides the mechanism where the server can select the protocol dialog for the desired service.

- -

Reimplemented from core::TCPServerSocket.

- -
-

The documentation for this class was generated from the following files:
    -
  • /home/barant/Development/BMA/server_core/ServerCore/ConsoleServer.h
  • -
  • /home/barant/Development/BMA/server_core/ServerCore/ConsoleServer.cpp
  • +
  • /home/bradarant/barant/ServerCore/ConsoleServer.h
  • +
  • /home/bradarant/barant/ServerCore/ConsoleServer.cpp
diff --git a/docs/html/classcore_1_1_console_server__coll__graph.map b/docs/html/classcore_1_1_console_server__coll__graph.map index 05a8b38..f7260ab 100644 --- a/docs/html/classcore_1_1_console_server__coll__graph.map +++ b/docs/html/classcore_1_1_console_server__coll__graph.map @@ -1,11 +1,12 @@ - - - - - - - - - + + + + + + + + + + diff --git a/docs/html/classcore_1_1_console_server__coll__graph.md5 b/docs/html/classcore_1_1_console_server__coll__graph.md5 index 5abda55..15b561f 100644 --- a/docs/html/classcore_1_1_console_server__coll__graph.md5 +++ b/docs/html/classcore_1_1_console_server__coll__graph.md5 @@ -1 +1 @@ -18ad3665456c27703f94154d8cffe9fd \ No newline at end of file +490c3ba765c082348545d0ef7cd4932f \ No newline at end of file diff --git a/docs/html/classcore_1_1_console_server__coll__graph.png b/docs/html/classcore_1_1_console_server__coll__graph.png index 38eef61..4d1fa73 100644 Binary files a/docs/html/classcore_1_1_console_server__coll__graph.png and b/docs/html/classcore_1_1_console_server__coll__graph.png differ diff --git a/docs/html/classcore_1_1_console_server__inherit__graph.md5 b/docs/html/classcore_1_1_console_server__inherit__graph.md5 index 27b823e..77434a8 100644 --- a/docs/html/classcore_1_1_console_server__inherit__graph.md5 +++ b/docs/html/classcore_1_1_console_server__inherit__graph.md5 @@ -1 +1 @@ -54fa52528dbab3f7683f5f1b6f3c4417 \ No newline at end of file +b460800e668caf615b039e3f2d729959 \ No newline at end of file diff --git a/docs/html/classcore_1_1_console_server__inherit__graph.png b/docs/html/classcore_1_1_console_server__inherit__graph.png index 7b6447f..9b58393 100644 Binary files a/docs/html/classcore_1_1_console_server__inherit__graph.png and b/docs/html/classcore_1_1_console_server__inherit__graph.png differ diff --git a/docs/html/classcore_1_1_console_service-members.html b/docs/html/classcore_1_1_console_service-members.html new file mode 100644 index 0000000..88f139c --- /dev/null +++ b/docs/html/classcore_1_1_console_service-members.html @@ -0,0 +1,92 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
core::ConsoleService Member List
+
+
+ +

This is the complete list of members for core::ConsoleService, including all inherited members.

+ + + + + + + + + + + + + +
check(std::string request)core::Commandvirtual
commandscore::Service
getName() (defined in core::Command)core::Command
getSocketAccept(EPoll &ePoll) overridecore::ConsoleServicevirtual
output(Session *session) overridecore::Servicevirtual
processCommand(std::string request, Session *session, std::stringstream &data)core::Commandvirtual
removeFromSessionList(Session *session) (defined in core::Service)core::Service
Service()core::Service
sessionErrorHandler(std::string errorString, Session *session) (defined in core::Service)core::Servicevirtual
sessionscore::Service
setName(std::string name)core::Command
tag (defined in core::Object)core::Object
+ + + + diff --git a/docs/html/classcore_1_1_console_service.html b/docs/html/classcore_1_1_console_service.html new file mode 100644 index 0000000..bfe0aff --- /dev/null +++ b/docs/html/classcore_1_1_console_service.html @@ -0,0 +1,179 @@ + + + + + + + +BMA Server Framework: core::ConsoleService Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
core::ConsoleService Class Reference
+
+
+
+Inheritance diagram for core::ConsoleService:
+
+
Inheritance graph
+ + + + + +
[legend]
+
+Collaboration diagram for core::ConsoleService:
+
+
Collaboration graph
+ + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

SessiongetSocketAccept (EPoll &ePoll) override
 
- Public Member Functions inherited from core::Service
 Service ()
 
+void removeFromSessionList (Session *session)
 
+virtual void sessionErrorHandler (std::string errorString, Session *session)
 
+void output (Session *session) override
 Output the consoles array to the console.
 
- Public Member Functions inherited from core::Command
virtual bool check (std::string request)
 
virtual int processCommand (std::string request, Session *session, std::stringstream &data)
 
void setName (std::string name)
 
+std::string getName ()
 
+ + + + + + + + + + + +

+Additional Inherited Members

- Public Attributes inherited from core::Service
std::vector< Session * > sessions
 
CommandList commands
 
- Public Attributes inherited from core::Object
+std::string name
 
+std::string tag
 
+

Member Function Documentation

+ +

◆ getSocketAccept()

+ +
+
+ + + + + +
+ + + + + + + + +
Session * core::ConsoleService::getSocketAccept (EPollepoll)
+
+overridevirtual
+
+

getSocketAccept 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 core::Service.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • /home/bradarant/barant/ServerCore/ConsoleService.h
  • +
  • /home/bradarant/barant/ServerCore/ConsoleService.cpp
  • +
+
+ + + + diff --git a/docs/html/classcore_1_1_console_service__coll__graph.map b/docs/html/classcore_1_1_console_service__coll__graph.map new file mode 100644 index 0000000..3edbf37 --- /dev/null +++ b/docs/html/classcore_1_1_console_service__coll__graph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/html/classcore_1_1_console_service__coll__graph.md5 b/docs/html/classcore_1_1_console_service__coll__graph.md5 new file mode 100644 index 0000000..77aae1a --- /dev/null +++ b/docs/html/classcore_1_1_console_service__coll__graph.md5 @@ -0,0 +1 @@ +340db7c5e17ca89ac92788f00eaef604 \ No newline at end of file diff --git a/docs/html/classcore_1_1_console_service__coll__graph.png b/docs/html/classcore_1_1_console_service__coll__graph.png new file mode 100644 index 0000000..5a83cce Binary files /dev/null and b/docs/html/classcore_1_1_console_service__coll__graph.png differ diff --git a/docs/html/classcore_1_1_console_service__inherit__graph.map b/docs/html/classcore_1_1_console_service__inherit__graph.map new file mode 100644 index 0000000..309c72b --- /dev/null +++ b/docs/html/classcore_1_1_console_service__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/html/classcore_1_1_console_service__inherit__graph.md5 b/docs/html/classcore_1_1_console_service__inherit__graph.md5 new file mode 100644 index 0000000..32ed5ff --- /dev/null +++ b/docs/html/classcore_1_1_console_service__inherit__graph.md5 @@ -0,0 +1 @@ +1995991829bffe59ff96dca1dfdeb04a \ No newline at end of file diff --git a/docs/html/classcore_1_1_console_service__inherit__graph.png b/docs/html/classcore_1_1_console_service__inherit__graph.png new file mode 100644 index 0000000..983cb00 Binary files /dev/null and b/docs/html/classcore_1_1_console_service__inherit__graph.png differ diff --git a/docs/html/classcore_1_1_console_session-members.html b/docs/html/classcore_1_1_console_session-members.html index b2c8027..545f0c9 100644 --- a/docs/html/classcore_1_1_console_session-members.html +++ b/docs/html/classcore_1_1_console_session-members.html @@ -58,7 +58,7 @@ $(function() {
@@ -79,18 +79,16 @@ $(function() { eventReceived(struct epoll_event event)core::Socket getDescriptor()core::Socket getLines() (defined in core::TerminalSession)core::TerminalSession - init() (defined in core::Session)core::Sessionvirtual - ipAddress (defined in core::TCPSocket)core::TCPSocket - name (defined in core::Object)core::Object - NextLine(int lines) (defined in core::TerminalSession)core::TerminalSession - onConnected() overridecore::Sessionprotectedvirtual - onDataReceived(std::string data) overridecore::Sessionprotectedvirtual - onRegistered()core::Socketvirtual - onTLSInit() (defined in core::Socket)core::Socketprotectedvirtual - onUnregistered()core::Socketvirtual - out (defined in core::Session)core::Session - output(std::stringstream &out)core::ConsoleSessionvirtual - output(Session *session) (defined in core::Session)core::Sessionvirtual + ipAddress (defined in core::TCPSocket)core::TCPSocket + name (defined in core::Object)core::Object + NextLine(int lines) (defined in core::TerminalSession)core::TerminalSession + onConnected() overridecore::Sessionprotectedvirtual + onDataReceived(std::string data) overridecore::Sessionprotectedvirtual + onRegistered()core::Socketvirtual + onTLSInit() (defined in core::Socket)core::Socketprotectedvirtual + onUnregistered()core::Socketvirtual + out (defined in core::Session)core::Session + output(std::stringstream &data)core::Sessionvirtual PreviousLine(int lines) (defined in core::TerminalSession)core::TerminalSession protocol(std::string data) overridecore::ConsoleSessionprotectedvirtual receiveData(char *buffer, int bufferLength)core::Socketprotectedvirtual @@ -108,7 +106,7 @@ $(function() { setCursorLocation(int x, int y) (defined in core::TerminalSession)core::TerminalSession setDescriptor(int descriptor)core::Socket shutDown (defined in core::Socket)core::Socketprotected - shutdown() (defined in core::Socket)core::Socketprotected + shutdown() (defined in core::Socket)core::Socket Socket(EPoll &ePoll) (defined in core::Socket)core::Socket tag (defined in core::Object)core::Object TCPSocket(EPoll &ePoll) (defined in core::TCPSocket)core::TCPSocket diff --git a/docs/html/classcore_1_1_console_session.html b/docs/html/classcore_1_1_console_session.html index c8fb6a0..015881a 100644 --- a/docs/html/classcore_1_1_console_session.html +++ b/docs/html/classcore_1_1_console_session.html @@ -58,7 +58,7 @@ $(function() {
@@ -89,17 +89,16 @@ Collaboration diagram for core::ConsoleSession:
Collaboration graph
- - - - - - - + + + + + + - - - + + +
[legend]
@@ -108,8 +107,6 @@ Public Member Functions - - @@ -154,12 +151,8 @@ void  - - - - + + @@ -177,6 +170,9 @@ void  + + @@ -225,9 +221,6 @@ void  - -
 ConsoleSession (EPoll &ePoll, Service &service)
 
virtual void output (std::stringstream &out)
 
void writeLog (std::string data)
 
scrollArea (int s
 Session (EPoll &ePoll, Service &service)
 
-virtual void init ()
 
-virtual void output (Session *session)
 
virtual void output (std::stringstream &data)
 
void send ()
 
void sendToAll ()
connect (  Socket (EPoll &ePoll)
 
+void shutdown ()
 
void setDescriptor (int descriptor)
 Set the descriptor for the socket.
setBufferSize (in
virtual void onTLSInit ()
 
-void shutdown ()
 
virtual void receiveData (char *buffer, int bufferLength)
 
@@ -268,35 +261,6 @@ bool  - + diff --git a/docs/html/classcore_1_1_e_poll.html b/docs/html/classcore_1_1_e_poll.html index e7248db..b3a88b7 100644 --- a/docs/html/classcore_1_1_e_poll.html +++ b/docs/html/classcore_1_1_e_poll.html @@ -58,7 +58,7 @@ $(function() {
@@ -118,9 +118,9 @@ Public Member Functions
- - - + + + @@ -251,8 +251,8 @@ std::string  - -

◆ processCommand()

+ +

◆ processCommand()

@@ -270,7 +270,13 @@ std::string 
- + + + + + + + @@ -286,7 +292,7 @@ std::string 

Output the threads array to the console.

-

The processCommand() method displays the thread array to the requesting console via the session passed as parameter.

+

The processCommand() method displays the thread array to the requesting console via the session passed as parameter.

Parameters
shutDown = false<

ConsoleSession

Extends the session parameters for this TCPSocket derived object. Extend the protocol() method in order to define the behavior and protocol interaction for this socket which is a console session.

Member Function Documentation

- -

◆ output()

- -
-
- - - - - -
- - - - - - - - -
void core::ConsoleSession::output (std::stringstream & out)
-
-virtual
-
-

The output method is called by a socket session (BMASession) 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 core::TCPSocket.

- -
-

◆ protocol()

@@ -327,8 +291,8 @@ bool 
shutDown = false<
The documentation for this class was generated from the following files:
    -
  • /home/barant/Development/BMA/server_core/ServerCore/ConsoleSession.h
  • -
  • /home/barant/Development/BMA/server_core/ServerCore/ConsoleSession.cpp
  • +
  • /home/bradarant/barant/ServerCore/ConsoleSession.h
  • +
  • /home/bradarant/barant/ServerCore/ConsoleSession.cpp
diff --git a/docs/html/classcore_1_1_console_session__coll__graph.map b/docs/html/classcore_1_1_console_session__coll__graph.map index 6d9345f..2952663 100644 --- a/docs/html/classcore_1_1_console_session__coll__graph.map +++ b/docs/html/classcore_1_1_console_session__coll__graph.map @@ -1,13 +1,12 @@ - - - - - - - + + + + + + - - - + + + diff --git a/docs/html/classcore_1_1_console_session__coll__graph.md5 b/docs/html/classcore_1_1_console_session__coll__graph.md5 index 74891e1..2ee08cf 100644 --- a/docs/html/classcore_1_1_console_session__coll__graph.md5 +++ b/docs/html/classcore_1_1_console_session__coll__graph.md5 @@ -1 +1 @@ -1d38f157105696b5f6f17fbb77551672 \ No newline at end of file +af4e708eceb75b67ed8b52740fc3c95c \ No newline at end of file diff --git a/docs/html/classcore_1_1_console_session__coll__graph.png b/docs/html/classcore_1_1_console_session__coll__graph.png index eb29ae1..2edf806 100644 Binary files a/docs/html/classcore_1_1_console_session__coll__graph.png and b/docs/html/classcore_1_1_console_session__coll__graph.png differ diff --git a/docs/html/classcore_1_1_e_poll-members.html b/docs/html/classcore_1_1_e_poll-members.html index 66be75c..3c1f4ce 100644 --- a/docs/html/classcore_1_1_e_poll-members.html +++ b/docs/html/classcore_1_1_e_poll-members.html @@ -58,7 +58,7 @@ $(function() {
@@ -77,7 +77,7 @@ $(function() {
isStopping()core::EPoll
maxSocketscore::EPoll
output(Session *session)core::Commandvirtual
processCommand(std::string command, Session *session) overridecore::EPollvirtual
processCommand(std::string command, Session *session, std::stringstream &data) overridecore::EPollvirtual
registerSocket(Socket *socket)core::EPoll
setName(std::string name)core::Command
start(int numberOfThreads, int maxSockets)core::EPoll
void eventReceived (struct epoll_event event)
 Dispatch event to appropriate socket. More...
 
int processCommand (std::string command, Session *session) override
 Output the threads array to the console. More...
 
int processCommand (std::string command, Session *session, std::stringstream &data) override
 Output the threads array to the console. More...
 
- Public Member Functions inherited from core::Command
virtual bool check (std::string request)
 
tag tag Sessionsession session,
std::stringstream & data 
tag
@@ -294,7 +300,7 @@ std::string  -

Implements core::Command.

+

Reimplemented from core::Command.

@@ -437,8 +443,8 @@ std::string 
The documentation for this class was generated from the following files:
    -
  • /home/barant/Development/BMA/server_core/ServerCore/EPoll.h
  • -
  • /home/barant/Development/BMA/server_core/ServerCore/EPoll.cpp
  • +
  • /home/bradarant/barant/ServerCore/EPoll.h
  • +
  • /home/bradarant/barant/ServerCore/EPoll.cpp
diff --git a/docs/html/classcore_1_1_exception.html b/docs/html/classcore_1_1_exception.html index 0c50be9..c6dc039 100644 --- a/docs/html/classcore_1_1_exception.html +++ b/docs/html/classcore_1_1_exception.html @@ -96,8 +96,8 @@ int 
sessionthe session to write the requested data to.
tag tag errorNumber 

The documentation for this class was generated from the following files:
    -
  • /home/barant/Development/BMA/server_core/ServerCore/Exception.h
  • -
  • /home/barant/Development/BMA/server_core/ServerCore/Exception.cpp
  • +
  • /home/bradarant/barant/ServerCore/Exception.h
  • +
  • /home/bradarant/barant/ServerCore/Exception.cpp
diff --git a/docs/html/classcore_1_1_file.html b/docs/html/classcore_1_1_file.html index a146d1e..28477e0 100644 --- a/docs/html/classcore_1_1_file.html +++ b/docs/html/classcore_1_1_file.html @@ -99,8 +99,8 @@ std::string fileName 
The documentation for this class was generated from the following files:
    -
  • /home/barant/Development/BMA/server_core/ServerCore/File.h
  • -
  • /home/barant/Development/BMA/server_core/ServerCore/File.cpp
  • +
  • /home/bradarant/barant/ServerCore/File.h
  • +
  • /home/bradarant/barant/ServerCore/File.cpp
diff --git a/docs/html/classcore_1_1_i_p_address-members.html b/docs/html/classcore_1_1_i_p_address-members.html index 922abda..28812bd 100644 --- a/docs/html/classcore_1_1_i_p_address-members.html +++ b/docs/html/classcore_1_1_i_p_address-members.html @@ -58,7 +58,7 @@ $(function() {
diff --git a/docs/html/classcore_1_1_i_p_address.html b/docs/html/classcore_1_1_i_p_address.html index 7efb72a..a542616 100644 --- a/docs/html/classcore_1_1_i_p_address.html +++ b/docs/html/classcore_1_1_i_p_address.html @@ -58,7 +58,7 @@ $(function() {
@@ -128,8 +128,8 @@ std::string tag 
The documentation for this class was generated from the following files:
    -
  • /home/barant/Development/BMA/server_core/ServerCore/IPAddress.h
  • -
  • /home/barant/Development/BMA/server_core/ServerCore/IPAddress.cpp
  • +
  • /home/bradarant/barant/ServerCore/IPAddress.h
  • +
  • /home/bradarant/barant/ServerCore/IPAddress.cpp
diff --git a/docs/html/classcore_1_1_i_p_address_list-members.html b/docs/html/classcore_1_1_i_p_address_list-members.html new file mode 100644 index 0000000..2c10d47 --- /dev/null +++ b/docs/html/classcore_1_1_i_p_address_list-members.html @@ -0,0 +1,85 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
core::IPAddressList Member List
+
+
+ +

This is the complete list of members for core::IPAddressList, including all inherited members.

+ + + + + + +
add(IPAddress ipAddress) (defined in core::IPAddressList)core::IPAddressList
contains(std::string ipAddress) (defined in core::IPAddressList)core::IPAddressList
getList() (defined in core::IPAddressList)core::IPAddressList
IPAddressList() (defined in core::IPAddressList)core::IPAddressList
remove(IPAddress ipAddress) (defined in core::IPAddressList)core::IPAddressList
+ + + + diff --git a/docs/html/classcore_1_1_i_p_address_list.html b/docs/html/classcore_1_1_i_p_address_list.html new file mode 100644 index 0000000..12842ec --- /dev/null +++ b/docs/html/classcore_1_1_i_p_address_list.html @@ -0,0 +1,100 @@ + + + + + + + +BMA Server Framework: core::IPAddressList Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
core::IPAddressList Class Reference
+
+
+ + + + + + + + + + +

+Public Member Functions

+std::map< std::string, IPAddressgetList ()
 
+bool add (IPAddress ipAddress)
 
+bool remove (IPAddress ipAddress)
 
+bool contains (std::string ipAddress)
 
+
The documentation for this class was generated from the following files:
    +
  • /home/bradarant/barant/ServerCore/IPAddressList.h
  • +
  • /home/bradarant/barant/ServerCore/IPAddressList.cpp
  • +
+
+ + + + diff --git a/docs/html/classcore_1_1_log.html b/docs/html/classcore_1_1_log.html index 17a05fe..296b331 100644 --- a/docs/html/classcore_1_1_log.html +++ b/docs/html/classcore_1_1_log.html @@ -87,16 +87,17 @@ Collaboration diagram for core::Log:
Collaboration graph
- - - - - - - - + + + + + + + + - + +
[legend]
@@ -296,8 +297,8 @@ Static Public Attributes
The documentation for this class was generated from the following files:
    -
  • /home/barant/Development/BMA/server_core/ServerCore/Log.h
  • -
  • /home/barant/Development/BMA/server_core/ServerCore/Log.cpp
  • +
  • /home/bradarant/barant/ServerCore/Log.h
  • +
  • /home/bradarant/barant/ServerCore/Log.cpp
diff --git a/docs/html/classcore_1_1_log__coll__graph.map b/docs/html/classcore_1_1_log__coll__graph.map index 18f2c19..63b0183 100644 --- a/docs/html/classcore_1_1_log__coll__graph.map +++ b/docs/html/classcore_1_1_log__coll__graph.map @@ -1,13 +1,14 @@ - - - - - - - - + + + + + + + + - + + diff --git a/docs/html/classcore_1_1_log__coll__graph.md5 b/docs/html/classcore_1_1_log__coll__graph.md5 index 28e2d8f..86d0017 100644 --- a/docs/html/classcore_1_1_log__coll__graph.md5 +++ b/docs/html/classcore_1_1_log__coll__graph.md5 @@ -1 +1 @@ -1a250fefb075346819f7ae51a8b8368d \ No newline at end of file +aac9a10bfd8e32ce84345490e62eccf4 \ No newline at end of file diff --git a/docs/html/classcore_1_1_log__coll__graph.png b/docs/html/classcore_1_1_log__coll__graph.png index c1bfb0f..c865f53 100644 Binary files a/docs/html/classcore_1_1_log__coll__graph.png and b/docs/html/classcore_1_1_log__coll__graph.png differ diff --git a/docs/html/classcore_1_1_object-members.html b/docs/html/classcore_1_1_object-members.html index 13447d3..4ee4be5 100644 --- a/docs/html/classcore_1_1_object-members.html +++ b/docs/html/classcore_1_1_object-members.html @@ -58,7 +58,7 @@ $(function() {
diff --git a/docs/html/classcore_1_1_object.html b/docs/html/classcore_1_1_object.html index 1f1cfd1..aca1893 100644 --- a/docs/html/classcore_1_1_object.html +++ b/docs/html/classcore_1_1_object.html @@ -58,7 +58,7 @@ $(function() {
@@ -74,29 +74,27 @@ Inheritance diagram for core::Object:
Inheritance graph
- - - - - - - - - + + + + + - - - - - - - - - - - - + + + + + + + + + + + + + +
[legend]
@@ -110,7 +108,7 @@ std::string 
tag 

The documentation for this class was generated from the following file:
    -
  • /home/barant/Development/BMA/server_core/ServerCore/Object.h
  • +
  • /home/bradarant/barant/ServerCore/Object.h
diff --git a/docs/html/classcore_1_1_object__inherit__graph.map b/docs/html/classcore_1_1_object__inherit__graph.map index 4704984..f1b9d7f 100644 --- a/docs/html/classcore_1_1_object__inherit__graph.map +++ b/docs/html/classcore_1_1_object__inherit__graph.map @@ -1,25 +1,23 @@ - - - - - - - - - + + + + + - - - - - - - - - - - - + + + + + + + + + + + + + + diff --git a/docs/html/classcore_1_1_object__inherit__graph.md5 b/docs/html/classcore_1_1_object__inherit__graph.md5 index 0310b33..d25b891 100644 --- a/docs/html/classcore_1_1_object__inherit__graph.md5 +++ b/docs/html/classcore_1_1_object__inherit__graph.md5 @@ -1 +1 @@ -cba9519af2137d493cc5b8b8493d7645 \ No newline at end of file +7810715991cd86866c9fed13ffb7c6c2 \ No newline at end of file diff --git a/docs/html/classcore_1_1_object__inherit__graph.png b/docs/html/classcore_1_1_object__inherit__graph.png index 0601533..1401496 100644 Binary files a/docs/html/classcore_1_1_object__inherit__graph.png and b/docs/html/classcore_1_1_object__inherit__graph.png differ diff --git a/docs/html/classcore_1_1_service-members.html b/docs/html/classcore_1_1_service-members.html index 7d014ea..7c92861 100644 --- a/docs/html/classcore_1_1_service-members.html +++ b/docs/html/classcore_1_1_service-members.html @@ -58,7 +58,7 @@ $(function() {
@@ -69,15 +69,18 @@ $(function() {

This is the complete list of members for core::Service, including all inherited members.

- - - - - + + + + + + + - + +
commandscore::Service
init(TCPServerSocket *server) (defined in core::Service)core::Servicevirtual
name (defined in core::Object)core::Object
removeFromSessionList(Session *session) (defined in core::Service)core::Service
servercore::Service
check(std::string request)core::Commandvirtual
commandscore::Service
getName() (defined in core::Command)core::Command
getSocketAccept(EPoll &epoll)core::Servicevirtual
output(Session *session) overridecore::Servicevirtual
processCommand(std::string request, Session *session, std::stringstream &data)core::Commandvirtual
removeFromSessionList(Session *session) (defined in core::Service)core::Service
Service()core::Service
sessionErrorHandler(std::string errorString, Session *session) (defined in core::Service)core::Servicevirtual
sessionscore::Service
tag (defined in core::Object)core::Object
setName(std::string name)core::Command
tag (defined in core::Object)core::Object
@@ -77,8 +77,10 @@ Inheritance diagram for core::Service:
Inheritance graph
- - + + + +
[legend]
@@ -86,14 +88,9 @@ Collaboration diagram for core::Service:
Collaboration graph
- - - - - - - - + + +
[legend]
@@ -101,22 +98,33 @@ Collaboration diagram for core::Service: Public Member Functions - - + + + + + + + + + + + + + +
 Service ()
 
-virtual void init (TCPServerSocket *server)
 
void removeFromSessionList (Session *session)
 
virtual void sessionErrorHandler (std::string errorString, Session *session)
 
virtual SessiongetSocketAccept (EPoll &epoll)
 
+void output (Session *session) override
 Output the consoles array to the console.
 
- Public Member Functions inherited from core::Command
virtual bool check (std::string request)
 
virtual int processCommand (std::string request, Session *session, std::stringstream &data)
 
void setName (std::string name)
 
+std::string getName ()
 
- - @@ -129,7 +137,7 @@ std::string 

Detailed Description

Service

-

The Service object is instantiated as a single object upon construction of the parent TCPServerSocket and is provided as a parameter whenever a new Session object is created. It provides server level services to Command handlers.

+

The Service object is instantiated as a single object upon construction of the parent TCPServerSocket and is provided as a parameter whenever a new Session object is created. It provides server level services to Command handlers as well as determining the behavior of the socket.

Constructor & Destructor Documentation

◆ Service()

@@ -153,6 +161,36 @@ std::string  + + +

Member Function Documentation

+ +

◆ getSocketAccept()

+ +
+
+

Public Attributes

std::vector< Session * > sessions
 
TCPServerSocketserver
 
CommandList commands
 
- Public Attributes inherited from core::Object
tag tag
+ + + + +
+ + + + + + + + +
Session * core::Service::getSocketAccept (EPollepoll)
+
+virtual
+
+

getSocketAccept 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 core::ConsoleService.

+

Member Data Documentation

@@ -169,21 +207,6 @@ std::string tag

The commands object is a CommandList and is used to store Command objects to be parsed and run as data comes into the session.

-
- - -

◆ server

- -
-
- - - - -
TCPServerSocket* core::Service::server
-
-

The server that is associated to this Service object. This provides access to the server values and methods through the Service object which behaves as an interface.

-
@@ -202,8 +225,8 @@ std::string tag
The documentation for this class was generated from the following files:
    -
  • /home/barant/Development/BMA/server_core/ServerCore/Service.h
  • -
  • /home/barant/Development/BMA/server_core/ServerCore/Service.cpp
  • +
  • /home/bradarant/barant/ServerCore/Service.h
  • +
  • /home/bradarant/barant/ServerCore/Service.cpp
diff --git a/docs/html/classcore_1_1_service__coll__graph.map b/docs/html/classcore_1_1_service__coll__graph.map index 5b8d2fb..fac66a0 100644 --- a/docs/html/classcore_1_1_service__coll__graph.map +++ b/docs/html/classcore_1_1_service__coll__graph.map @@ -1,10 +1,5 @@ - - - - - - - - + + + diff --git a/docs/html/classcore_1_1_service__coll__graph.md5 b/docs/html/classcore_1_1_service__coll__graph.md5 index 18ddea0..957ccd3 100644 --- a/docs/html/classcore_1_1_service__coll__graph.md5 +++ b/docs/html/classcore_1_1_service__coll__graph.md5 @@ -1 +1 @@ -e328e585a925f706f8cbbdd64ed8e710 \ No newline at end of file +252465e566885ad3a718550460f46d14 \ No newline at end of file diff --git a/docs/html/classcore_1_1_service__coll__graph.png b/docs/html/classcore_1_1_service__coll__graph.png index 8517fb9..6e9b9af 100644 Binary files a/docs/html/classcore_1_1_service__coll__graph.png and b/docs/html/classcore_1_1_service__coll__graph.png differ diff --git a/docs/html/classcore_1_1_service__inherit__graph.map b/docs/html/classcore_1_1_service__inherit__graph.map index 82955c5..36d5c03 100644 --- a/docs/html/classcore_1_1_service__inherit__graph.map +++ b/docs/html/classcore_1_1_service__inherit__graph.map @@ -1,4 +1,6 @@ - - + + + + diff --git a/docs/html/classcore_1_1_service__inherit__graph.md5 b/docs/html/classcore_1_1_service__inherit__graph.md5 index d085ddc..075420e 100644 --- a/docs/html/classcore_1_1_service__inherit__graph.md5 +++ b/docs/html/classcore_1_1_service__inherit__graph.md5 @@ -1 +1 @@ -802315f24fd2a0e28508e1fcc4f8f8f7 \ No newline at end of file +8419461a8319b020773d85ee04a28a96 \ No newline at end of file diff --git a/docs/html/classcore_1_1_service__inherit__graph.png b/docs/html/classcore_1_1_service__inherit__graph.png index a7d0a60..f7a9ee6 100644 Binary files a/docs/html/classcore_1_1_service__inherit__graph.png and b/docs/html/classcore_1_1_service__inherit__graph.png differ diff --git a/docs/html/classcore_1_1_session-members.html b/docs/html/classcore_1_1_session-members.html index c3be8cf..cbac3ed 100644 --- a/docs/html/classcore_1_1_session-members.html +++ b/docs/html/classcore_1_1_session-members.html @@ -58,7 +58,7 @@ $(function() {
@@ -75,17 +75,15 @@ $(function() { ePoll (defined in core::Socket)core::Socketprotected eventReceived(struct epoll_event event)core::Socket getDescriptor()core::Socket - init() (defined in core::Session)core::Sessionvirtual - ipAddress (defined in core::TCPSocket)core::TCPSocket - name (defined in core::Object)core::Object - onConnected() overridecore::Sessionprotectedvirtual - onDataReceived(std::string data) overridecore::Sessionprotectedvirtual - onRegistered()core::Socketvirtual - onTLSInit() (defined in core::Socket)core::Socketprotectedvirtual - onUnregistered()core::Socketvirtual - out (defined in core::Session)core::Session - output(Session *session) (defined in core::Session)core::Sessionvirtual - core::TCPSocket::output(std::stringstream &out)core::TCPSocketvirtual + ipAddress (defined in core::TCPSocket)core::TCPSocket + name (defined in core::Object)core::Object + onConnected() overridecore::Sessionprotectedvirtual + onDataReceived(std::string data) overridecore::Sessionprotectedvirtual + onRegistered()core::Socketvirtual + onTLSInit() (defined in core::Socket)core::Socketprotectedvirtual + onUnregistered()core::Socketvirtual + out (defined in core::Session)core::Session + output(std::stringstream &data)core::Sessionvirtual protocol(std::string data)core::Sessionprotectedvirtual receiveData(char *buffer, int bufferLength)core::Socketprotectedvirtual send()core::Session @@ -95,7 +93,7 @@ $(function() { Session(EPoll &ePoll, Service &service) (defined in core::Session)core::Session setBufferSize(int length) (defined in core::Socket)core::Socketprotected setDescriptor(int descriptor)core::Socket - shutdown() (defined in core::Socket)core::Socketprotected + shutdown() (defined in core::Socket)core::Socket shutDown (defined in core::Socket)core::Socketprotected Socket(EPoll &ePoll) (defined in core::Socket)core::Socket tag (defined in core::Object)core::Object diff --git a/docs/html/classcore_1_1_session.html b/docs/html/classcore_1_1_session.html index 387556e..4045bce 100644 --- a/docs/html/classcore_1_1_session.html +++ b/docs/html/classcore_1_1_session.html @@ -58,7 +58,7 @@ $(function() {
@@ -91,15 +91,14 @@ Collaboration diagram for core::Session:
Collaboration graph
- - - - - + + + + - - - + + +
[legend]
@@ -108,12 +107,8 @@ Public Member Functions - - - - + + @@ -127,12 +122,13 @@ virtual void  - - + + @@ -205,9 +201,6 @@ void  - -
 Session (EPoll &ePoll, Service &service)
 
-virtual void init ()
 
-virtual void output (Session *session)
 
virtual void output (std::stringstream &data)
 
void send ()
 
void sendToAll ()
output (<
void connect (IPAddress &address)
 
virtual void output (std::stringstream &out)
 
- Public Member Functions inherited from core::Socket
 Socket (EPoll &ePoll)
 
+void shutdown ()
 
void setDescriptor (int descriptor)
 Set the descriptor for the socket.
setBufferSize (in
virtual void onTLSInit ()
 
-void shutdown ()
 
virtual void receiveData (char *buffer, int bufferLength)
 
@@ -290,6 +283,37 @@ bool 
shutDown = false<

Implements core::Socket.

+ + + +

◆ output()

+ +
+
+ + + + + +
+ + + + + + + + +
void core::Session::output (std::stringstream & out)
+
+virtual
+
+

The output method is called by a socket session (BMASession) 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 core::TCPSocket.

+ +

Reimplemented in core::TLSSession.

+
@@ -377,8 +401,8 @@ bool 
shutDown = false<
The documentation for this class was generated from the following files:
    -
  • /home/barant/Development/BMA/server_core/ServerCore/Session.h
  • -
  • /home/barant/Development/BMA/server_core/ServerCore/Session.cpp
  • +
  • /home/bradarant/barant/ServerCore/Session.h
  • +
  • /home/bradarant/barant/ServerCore/Session.cpp
diff --git a/docs/html/classcore_1_1_session__coll__graph.map b/docs/html/classcore_1_1_session__coll__graph.map index e923ac2..ae8f819 100644 --- a/docs/html/classcore_1_1_session__coll__graph.map +++ b/docs/html/classcore_1_1_session__coll__graph.map @@ -1,11 +1,10 @@ - - - - - + + + + - - - + + + diff --git a/docs/html/classcore_1_1_session__coll__graph.md5 b/docs/html/classcore_1_1_session__coll__graph.md5 index 4c24e72..89eb08f 100644 --- a/docs/html/classcore_1_1_session__coll__graph.md5 +++ b/docs/html/classcore_1_1_session__coll__graph.md5 @@ -1 +1 @@ -38c7b543422fe261c782801c9d19a7ed \ No newline at end of file +72c9302ee40704fc8bdad86d7bf78aea \ No newline at end of file diff --git a/docs/html/classcore_1_1_session__coll__graph.png b/docs/html/classcore_1_1_session__coll__graph.png index 972e0b6..fc6b4a6 100644 Binary files a/docs/html/classcore_1_1_session__coll__graph.png and b/docs/html/classcore_1_1_session__coll__graph.png differ diff --git a/docs/html/classcore_1_1_session_filter-members.html b/docs/html/classcore_1_1_session_filter-members.html index defbe0a..63a2afa 100644 --- a/docs/html/classcore_1_1_session_filter-members.html +++ b/docs/html/classcore_1_1_session_filter-members.html @@ -58,7 +58,7 @@ $(function() {
diff --git a/docs/html/classcore_1_1_session_filter.html b/docs/html/classcore_1_1_session_filter.html index e0f2688..b7fc544 100644 --- a/docs/html/classcore_1_1_session_filter.html +++ b/docs/html/classcore_1_1_session_filter.html @@ -58,7 +58,7 @@ $(function() {
@@ -103,7 +103,7 @@ std::string 
tag 

The documentation for this class was generated from the following file: diff --git a/docs/html/classcore_1_1_socket-members.html b/docs/html/classcore_1_1_socket-members.html index 1574b29..8d7bb8c 100644 --- a/docs/html/classcore_1_1_socket-members.html +++ b/docs/html/classcore_1_1_socket-members.html @@ -58,7 +58,7 @@ $(function() {
@@ -84,7 +84,7 @@ $(function() { receiveData(char *buffer, int bufferLength)core::Socketprotectedvirtual setBufferSize(int length) (defined in core::Socket)core::Socketprotected setDescriptor(int descriptor)core::Socket - shutdown() (defined in core::Socket)core::Socketprotected + shutdown() (defined in core::Socket)core::Socket shutDown (defined in core::Socket)core::Socketprotected Socket(EPoll &ePoll) (defined in core::Socket)core::Socket tag (defined in core::Object)core::Object diff --git a/docs/html/classcore_1_1_socket.html b/docs/html/classcore_1_1_socket.html index 2d1fefc..4abaaa8 100644 --- a/docs/html/classcore_1_1_socket.html +++ b/docs/html/classcore_1_1_socket.html @@ -58,7 +58,7 @@ $(function() {
@@ -109,6 +109,9 @@ Public Member Functions  Socket (EPoll &ePoll)   + +void shutdown () +  void setDescriptor (int descriptor)  Set the descriptor for the socket.
@@ -167,9 +170,6 @@ virtual void onTLSInit virtual void onDataReceived (std::string data)=0  Called when data is received from the socket. More...
  - -void shutdown () -  virtual void receiveData (char *buffer, int bufferLength)   @@ -394,8 +394,8 @@ bool  - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + +
shutDown = false<
The documentation for this class was generated from the following files:
    -
  • /home/barant/Development/BMA/server_core/ServerCore/Socket.h
  • -
  • /home/barant/Development/BMA/server_core/ServerCore/Socket.cpp
  • +
  • /home/bradarant/barant/ServerCore/Socket.h
  • +
  • /home/bradarant/barant/ServerCore/Socket.cpp
diff --git a/docs/html/classcore_1_1_t_c_p_server_socket-members.html b/docs/html/classcore_1_1_t_c_p_server_socket-members.html index 818caea..a278be5 100644 --- a/docs/html/classcore_1_1_t_c_p_server_socket-members.html +++ b/docs/html/classcore_1_1_t_c_p_server_socket-members.html @@ -58,7 +58,7 @@ $(function() {
@@ -69,15 +69,15 @@ $(function() {

This is the complete list of members for core::TCPServerSocket, including all inherited members.

- - - - - - - - - + + + + + + + + + @@ -87,24 +87,25 @@ $(function() { - + - + - - + + - + - - - - - + + + + + +
bufferSize (defined in core::Socket)core::Socket
check(std::string request)core::Commandvirtual
connect(IPAddress &address) (defined in core::TCPSocket)core::TCPSocket
enable(bool mode)core::Socket
ePoll (defined in core::Socket)core::Socketprotected
eventReceived(struct epoll_event event)core::Socket
getDescriptor()core::Socket
getName() (defined in core::Command)core::Command
getSocketAccept()core::TCPServerSocketprotectedvirtual
blackListcore::TCPServerSocket
bufferSize (defined in core::Socket)core::Socket
check(std::string request)core::Commandvirtual
connect(IPAddress &address) (defined in core::TCPSocket)core::TCPSocket
enable(bool mode)core::Socket
ePoll (defined in core::Socket)core::Socketprotected
eventReceived(struct epoll_event event)core::Socket
getDescriptor()core::Socket
getName() (defined in core::Command)core::Command
ipAddress (defined in core::TCPSocket)core::TCPSocket
name (defined in core::Object)core::Object
onConnected()core::Socketprotectedvirtual
onUnregistered()core::Socketvirtual
core::output(std::stringstream &out)core::TCPSocketvirtual
core::Command::output(Session *session)core::Commandvirtual
processCommand(std::string command, Session *session) overridecore::TCPServerSocketprotectedvirtual
processCommand(std::string command, Session *session, std::stringstream &data) overridecore::TCPServerSocketprotectedvirtual
receiveData(char *buffer, int bufferLength)core::Socketprotectedvirtual
service (defined in core::TCPServerSocket)core::TCPServerSocket
servicecore::TCPServerSocket
setBufferSize(int length) (defined in core::Socket)core::Socketprotected
setDescriptor(int descriptor)core::Socket
setName(std::string name)core::Command
shutdown() (defined in core::Socket)core::Socketprotected
shutDown (defined in core::Socket)core::Socketprotected
shutDown (defined in core::Socket)core::Socketprotected
shutdown() (defined in core::Socket)core::Socket
Socket(EPoll &ePoll) (defined in core::Socket)core::Socket
tag (defined in core::Object)core::Object
tag (defined in core::Object)core::Object
TCPServerSocket(EPoll &ePoll, Service service, IPAddress address)core::TCPServerSocket
TCPServerSocket(EPoll &ePoll, Service &service, IPAddress address)core::TCPServerSocket
TCPSocket(EPoll &ePoll) (defined in core::TCPSocket)core::TCPSocket
write(std::string data)core::Socket
write(char *buffer, int length) (defined in core::Socket)core::Socket
~Socket() (defined in core::Socket)core::Socket
~TCPServerSocket()core::TCPServerSocket
~TCPSocket() (defined in core::TCPSocket)core::TCPSocket
whiteListcore::TCPServerSocket
write(std::string data)core::Socket
write(char *buffer, int length) (defined in core::Socket)core::Socket
~Socket() (defined in core::Socket)core::Socket
~TCPServerSocket()core::TCPServerSocket
~TCPSocket() (defined in core::TCPSocket)core::TCPSocket
 Command.h
 CommandList.h
 ConsoleServer.h
 ConsoleSession.h
 EPoll.h
 Exception.h
 File.h
 Header.h
 IPAddress.h
 Log.h
 Object.h
 Response.h
 Service.h
 Session.h
 SessionFilter.h
 Socket.h
 TCPServerSocket.h
 TCPSocket.h
 TerminalSession.h
 Thread.h
 Timer.h
 TLSServerSocket.h
 TLSService.h
 TLSSession.h
 UDPServerSocket.h
 UDPSocket.h
 ConsoleService.h
 ConsoleSession.h
 EPoll.h
 IPAddress.h
 IPAddressList.h
 Object.h
 Service.h
 Session.h
 SessionFilter.h
 Socket.h
 TCPServerSocket.h
 TCPSocket.h
 TerminalSession.h
 Thread.h
 Timer.h
 TLSServerSocket.h
 TLSService.h
 TLSSession.h
 UDPServerSocket.h
 UDPSocket.h
diff --git a/docs/html/functions.html b/docs/html/functions.html index 3b8d1ce..7bff1a1 100644 --- a/docs/html/functions.html +++ b/docs/html/functions.html @@ -67,6 +67,13 @@ $(function() { +

- b -

+ +

- c -

@@ -117,13 +121,9 @@ $(function() {
  • getElapsed() : core::Timer
  • -
  • getResponse() -: core::Response -
  • getSocketAccept() -: core::ConsoleServer -, core::TCPServerSocket -, core::TLSServerSocket +: core::ConsoleService +, core::Service
  • @@ -135,16 +135,6 @@ $(function() { -

    - l -

    - -

    - m -

    • maxSockets : core::EPoll @@ -174,8 +164,8 @@ $(function() {
    • output() : core::Command -, core::ConsoleServer -, core::ConsoleSession +, core::Service +, core::Session , core::TCPSocket , core::TLSSession
    • @@ -184,10 +174,10 @@ $(function() {

      - p -

      @@ -218,36 +205,21 @@ $(function() {
    • sendToAll() : core::Session
    • -
    • seq -: core::Log -
    • -
    • server -: core::Service -
    • Service() : core::Service
    • +
    • service +: core::TCPServerSocket +
    • sessions : core::Service
    • -
    • setCode() -: core::Response -
    • setDescriptor() : core::Socket
    • -
    • setMimeType() -: core::Response -
    • setName() : core::Command
    • -
    • setProtocol() -: core::Response -
    • -
    • setText() -: core::Response -
    • setTimer() : core::Timer
    • @@ -263,7 +235,7 @@ $(function() {

      - t -

      -

      - l -

      - -

      - o -

      • onConnected() : core::Session @@ -158,8 +147,8 @@ $(function() {
      • output() : core::Command -, core::ConsoleServer -, core::ConsoleSession +, core::Service +, core::Session , core::TCPSocket , core::TLSSession
      • @@ -168,10 +157,10 @@ $(function() {

        - p -

        @@ -205,24 +191,12 @@ $(function() {
      • Service() : core::Service
      • -
      • setCode() -: core::Response -
      • setDescriptor() : core::Socket
      • -
      • setMimeType() -: core::Response -
      • setName() : core::Command
      • -
      • setProtocol() -: core::Response -
      • -
      • setText() -: core::Response -
      • setTimer() : core::Timer
      • @@ -238,7 +212,7 @@ $(function() {

        - t -

        • TCPServerSocket() -: core::TCPServerSocket +: core::TCPServerSocket
        • TLSServerSocket() : core::TLSServerSocket @@ -267,12 +241,6 @@ $(function() {
        • ~EPoll() : core::EPoll
        • -
        • ~Log() -: core::Log -
        • -
        • ~Response() -: core::Response -
        • ~TCPServerSocket() : core::TCPServerSocket
        • diff --git a/docs/html/functions_vars.html b/docs/html/functions_vars.html index 98123be..0f81ffd 100644 --- a/docs/html/functions_vars.html +++ b/docs/html/functions_vars.html @@ -59,27 +59,24 @@ $(function() {
           
          diff --git a/docs/html/hierarchy.html b/docs/html/hierarchy.html index 27fda4d..9271e84 100644 --- a/docs/html/hierarchy.html +++ b/docs/html/hierarchy.html @@ -66,38 +66,35 @@ $(function() {

          Go to the graphical class hierarchy

          This inheritance list is sorted roughly, but not completely, alphabetically: diff --git a/docs/html/inherit_graph_0.map b/docs/html/inherit_graph_0.map index 7268c78..c50ca5d 100644 --- a/docs/html/inherit_graph_0.map +++ b/docs/html/inherit_graph_0.map @@ -1,3 +1,3 @@ - + diff --git a/docs/html/inherit_graph_0.md5 b/docs/html/inherit_graph_0.md5 index eb6bad7..bcf5e5c 100644 --- a/docs/html/inherit_graph_0.md5 +++ b/docs/html/inherit_graph_0.md5 @@ -1 +1 @@ -aeece8c3b635dafb287e3e0c025844ca \ No newline at end of file +51746708fc61da0c1cc4d63c4317826f \ No newline at end of file diff --git a/docs/html/inherit_graph_0.png b/docs/html/inherit_graph_0.png index e2cffc5..670d0af 100644 Binary files a/docs/html/inherit_graph_0.png and b/docs/html/inherit_graph_0.png differ diff --git a/docs/html/inherit_graph_1.map b/docs/html/inherit_graph_1.map index a255938..8143aa5 100644 --- a/docs/html/inherit_graph_1.map +++ b/docs/html/inherit_graph_1.map @@ -1,3 +1,24 @@ - + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/html/inherit_graph_1.md5 b/docs/html/inherit_graph_1.md5 index 40d0c9a..e4e9eb2 100644 --- a/docs/html/inherit_graph_1.md5 +++ b/docs/html/inherit_graph_1.md5 @@ -1 +1 @@ -1281580a7505cbbe28d4a310096a3b8e \ No newline at end of file +8bba3213f106d99fe909aac6fe176c04 \ No newline at end of file diff --git a/docs/html/inherit_graph_1.png b/docs/html/inherit_graph_1.png index 713c200..c4f8932 100644 Binary files a/docs/html/inherit_graph_1.png and b/docs/html/inherit_graph_1.png differ diff --git a/docs/html/inherit_graph_2.map b/docs/html/inherit_graph_2.map index 6684829..c50ca5d 100644 --- a/docs/html/inherit_graph_2.map +++ b/docs/html/inherit_graph_2.map @@ -1,26 +1,3 @@ - - - - - - - - - - - - - - - - - - - - - - - - + diff --git a/docs/html/inherit_graph_2.md5 b/docs/html/inherit_graph_2.md5 index dc8ec11..bcf5e5c 100644 --- a/docs/html/inherit_graph_2.md5 +++ b/docs/html/inherit_graph_2.md5 @@ -1 +1 @@ -d84ebb25339c993a27c92baaf25b0b30 \ No newline at end of file +51746708fc61da0c1cc4d63c4317826f \ No newline at end of file diff --git a/docs/html/inherit_graph_2.png b/docs/html/inherit_graph_2.png index a837339..670d0af 100644 Binary files a/docs/html/inherit_graph_2.png and b/docs/html/inherit_graph_2.png differ diff --git a/docs/html/inherit_graph_3.map b/docs/html/inherit_graph_3.map index 01883fc..552b0ca 100644 --- a/docs/html/inherit_graph_3.map +++ b/docs/html/inherit_graph_3.map @@ -1,24 +1,24 @@ - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/html/inherit_graph_3.md5 b/docs/html/inherit_graph_3.md5 index a48de49..f9e7671 100644 --- a/docs/html/inherit_graph_3.md5 +++ b/docs/html/inherit_graph_3.md5 @@ -1 +1 @@ -135d125592d418e41923a958c61d2120 \ No newline at end of file +64caf5f8e8fef1bcac468f8b3dda7612 \ No newline at end of file diff --git a/docs/html/inherit_graph_3.png b/docs/html/inherit_graph_3.png index 2f1026c..66f4e68 100644 Binary files a/docs/html/inherit_graph_3.png and b/docs/html/inherit_graph_3.png differ diff --git a/docs/html/inherits.html b/docs/html/inherits.html index ff6a3e2..f7045d4 100644 --- a/docs/html/inherits.html +++ b/docs/html/inherits.html @@ -65,42 +65,35 @@ $(function() { - - -
          - - +
          + +
          - - - -
          +
          - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + +
          diff --git a/docs/html/menudata.js b/docs/html/menudata.js index 2d0aac6..b18c38b 100644 --- a/docs/html/menudata.js +++ b/docs/html/menudata.js @@ -1,7 +1,5 @@ var menudata={children:[ {text:"Main Page",url:"index.html"}, -{text:"Namespaces",url:"namespaces.html",children:[ -{text:"Namespace List",url:"namespaces.html"}]}, {text:"Classes",url:"annotated.html",children:[ {text:"Class List",url:"annotated.html"}, {text:"Class Index",url:"classes.html"}, @@ -9,11 +7,11 @@ var menudata={children:[ {text:"Class Members",url:"functions.html",children:[ {text:"All",url:"functions.html",children:[ {text:"a",url:"functions.html#index_a"}, +{text:"b",url:"functions.html#index_b"}, {text:"c",url:"functions.html#index_c"}, {text:"e",url:"functions.html#index_e"}, {text:"g",url:"functions.html#index_g"}, {text:"i",url:"functions.html#index_i"}, -{text:"l",url:"functions.html#index_l"}, {text:"m",url:"functions.html#index_m"}, {text:"o",url:"functions.html#index_o"}, {text:"p",url:"functions.html#index_p"}, @@ -29,7 +27,6 @@ var menudata={children:[ {text:"e",url:"functions_func.html#index_e"}, {text:"g",url:"functions_func.html#index_g"}, {text:"i",url:"functions_func.html#index_i"}, -{text:"l",url:"functions_func.html#index_l"}, {text:"o",url:"functions_func.html#index_o"}, {text:"p",url:"functions_func.html#index_p"}, {text:"r",url:"functions_func.html#index_r"}, diff --git a/docs/html/namespacecore.html b/docs/html/namespacecore.html index 94f9411..93ff204 100644 --- a/docs/html/namespacecore.html +++ b/docs/html/namespacecore.html @@ -82,16 +82,14 @@ Classes   class  File   -class  Header -  class  IPAddress   +class  IPAddressList +  class  Log   class  Object   -class  Response -  class  Service   class  Session diff --git a/docs/html/search/all_1.js b/docs/html/search/all_1.js index 2419a4f..d33af80 100644 --- a/docs/html/search/all_1.js +++ b/docs/html/search/all_1.js @@ -1,11 +1,4 @@ var searchData= [ - ['check',['check',['../classcore_1_1_command.html#abdc0d7a4693a7f7940bbae20c4a667c0',1,'core::Command']]], - ['cleartimer',['clearTimer',['../classcore_1_1_timer.html#a8e063f46e89dac04364871e909ab940a',1,'core::Timer']]], - ['command',['Command',['../classcore_1_1_command.html',1,'core']]], - ['commandlist',['CommandList',['../classcore_1_1_command_list.html',1,'core::CommandList'],['../classcore_1_1_command_list.html#a01b4af82ae73f41b4e8f5b587badde9d',1,'core::CommandList::CommandList()']]], - ['commands',['commands',['../classcore_1_1_service.html#a09bbcbc7512240b24b51131b6e1f9366',1,'core::Service']]], - ['consoleserver',['ConsoleServer',['../classcore_1_1_console_server.html',1,'core::ConsoleServer'],['../classcore_1_1_log.html#af827af1601d71bca20249484962142f4',1,'core::Log::consoleServer()']]], - ['consolesession',['ConsoleSession',['../classcore_1_1_console_session.html',1,'core']]], - ['core',['core',['../namespacecore.html',1,'']]] + ['blacklist',['blackList',['../classcore_1_1_t_c_p_server_socket.html#a7d15f14da22cfd2421cf5f74d7401b63',1,'core::TCPServerSocket']]] ]; diff --git a/docs/html/search/all_10.js b/docs/html/search/all_10.js index 90e448e..a86e9e4 100644 --- a/docs/html/search/all_10.js +++ b/docs/html/search/all_10.js @@ -3,7 +3,6 @@ var searchData= ['_7ecommandlist',['~CommandList',['../classcore_1_1_command_list.html#a2b5fdae9db6bf9876a5d51e987c49c7e',1,'core::CommandList']]], ['_7eepoll',['~EPoll',['../classcore_1_1_e_poll.html#a8e7a2496d684b745a6410f9bd3e88534',1,'core::EPoll']]], ['_7elog',['~Log',['../classcore_1_1_log.html#afaaaad27423c3d2233942210b1f9a756',1,'core::Log']]], - ['_7eresponse',['~Response',['../classcore_1_1_response.html#aba144a517ada3fe308e663bed08c8b0d',1,'core::Response']]], ['_7etcpserversocket',['~TCPServerSocket',['../classcore_1_1_t_c_p_server_socket.html#aa2b1403757821701ff411662a3e04ab5',1,'core::TCPServerSocket']]], ['_7etlsserversocket',['~TLSServerSocket',['../classcore_1_1_t_l_s_server_socket.html#a2433e0cbc0a9edfef1fe9c07b0e74b3d',1,'core::TLSServerSocket']]] ]; diff --git a/docs/html/search/all_2.js b/docs/html/search/all_2.js index cb4fbae..b24f985 100644 --- a/docs/html/search/all_2.js +++ b/docs/html/search/all_2.js @@ -1,7 +1,11 @@ var searchData= [ - ['enable',['enable',['../classcore_1_1_socket.html#a80b113c4105bb0c74f2e104b0feb90e4',1,'core::Socket']]], - ['epoll',['EPoll',['../classcore_1_1_e_poll.html',1,'core::EPoll'],['../classcore_1_1_e_poll.html#a2fd5cc4336b5f72990ecc0e7ea3d7641',1,'core::EPoll::EPoll()']]], - ['eventreceived',['eventReceived',['../classcore_1_1_e_poll.html#a3238b150b5d0a57eb2e1b17daa236d3b',1,'core::EPoll::eventReceived()'],['../classcore_1_1_socket.html#a651bd967a6655152f87b7dd44e880cb2',1,'core::Socket::eventReceived()']]], - ['exception',['Exception',['../classcore_1_1_exception.html',1,'core']]] + ['check',['check',['../classcore_1_1_command.html#abdc0d7a4693a7f7940bbae20c4a667c0',1,'core::Command']]], + ['cleartimer',['clearTimer',['../classcore_1_1_timer.html#a8e063f46e89dac04364871e909ab940a',1,'core::Timer']]], + ['command',['Command',['../classcore_1_1_command.html',1,'core']]], + ['commandlist',['CommandList',['../classcore_1_1_command_list.html',1,'core::CommandList'],['../classcore_1_1_command_list.html#a01b4af82ae73f41b4e8f5b587badde9d',1,'core::CommandList::CommandList()']]], + ['commands',['commands',['../classcore_1_1_service.html#a09bbcbc7512240b24b51131b6e1f9366',1,'core::Service']]], + ['consoleserver',['ConsoleServer',['../classcore_1_1_console_server.html',1,'core']]], + ['consoleservice',['ConsoleService',['../classcore_1_1_console_service.html',1,'core']]], + ['consolesession',['ConsoleSession',['../classcore_1_1_console_session.html',1,'core']]] ]; diff --git a/docs/html/search/all_3.js b/docs/html/search/all_3.js index db3771e..d4e3994 100644 --- a/docs/html/search/all_3.js +++ b/docs/html/search/all_3.js @@ -1,4 +1,6 @@ var searchData= [ - ['file',['File',['../classcore_1_1_file.html',1,'core']]] + ['enable',['enable',['../classcore_1_1_socket.html#a80b113c4105bb0c74f2e104b0feb90e4',1,'core::Socket']]], + ['epoll',['EPoll',['../classcore_1_1_e_poll.html',1,'core::EPoll'],['../classcore_1_1_e_poll.html#a2fd5cc4336b5f72990ecc0e7ea3d7641',1,'core::EPoll::EPoll()']]], + ['eventreceived',['eventReceived',['../classcore_1_1_e_poll.html#a3238b150b5d0a57eb2e1b17daa236d3b',1,'core::EPoll::eventReceived()'],['../classcore_1_1_socket.html#a651bd967a6655152f87b7dd44e880cb2',1,'core::Socket::eventReceived()']]] ]; diff --git a/docs/html/search/all_4.js b/docs/html/search/all_4.js index 2852f13..ed6ba17 100644 --- a/docs/html/search/all_4.js +++ b/docs/html/search/all_4.js @@ -5,6 +5,5 @@ var searchData= ['getclientport',['getClientPort',['../classcore_1_1_i_p_address.html#a39f706f2d43d7d001296ecead4b587e8',1,'core::IPAddress']]], ['getdescriptor',['getDescriptor',['../classcore_1_1_e_poll.html#a1e52017e1deae15c1c87c6b6a099e1ed',1,'core::EPoll::getDescriptor()'],['../classcore_1_1_socket.html#a06ba54744530439d4131e6aba4623d08',1,'core::Socket::getDescriptor()']]], ['getelapsed',['getElapsed',['../classcore_1_1_timer.html#a0df7f1ffc05529b45d6e13713bbc0209',1,'core::Timer']]], - ['getresponse',['getResponse',['../classcore_1_1_response.html#a49af564b8dbb0389a47906f5cca800cf',1,'core::Response::getResponse(Mode mode=LENGTH)'],['../classcore_1_1_response.html#aedc510111b4c7cc2ed23bb7b107c068a',1,'core::Response::getResponse(std::string content, Mode mode=LENGTH)']]], - ['getsocketaccept',['getSocketAccept',['../classcore_1_1_console_server.html#ac1d498a7094fe69acc7b234efa296b1c',1,'core::ConsoleServer::getSocketAccept()'],['../classcore_1_1_t_c_p_server_socket.html#aafd7cefcecbcb32a22dfde86fcfeab63',1,'core::TCPServerSocket::getSocketAccept()'],['../classcore_1_1_t_l_s_server_socket.html#a954541082a39b7b417b3cd741ed4eea6',1,'core::TLSServerSocket::getSocketAccept()']]] + ['getsocketaccept',['getSocketAccept',['../classcore_1_1_console_service.html#a635816dc132cc76e019321e32095d56d',1,'core::ConsoleService::getSocketAccept()'],['../classcore_1_1_service.html#aeeb0ef12a87998f5fc429b22ffb233da',1,'core::Service::getSocketAccept()']]] ]; diff --git a/docs/html/search/all_5.js b/docs/html/search/all_5.js index 813508d..8c1cfa4 100644 --- a/docs/html/search/all_5.js +++ b/docs/html/search/all_5.js @@ -1,4 +1,6 @@ var searchData= [ - ['header',['Header',['../classcore_1_1_header.html',1,'core']]] + ['ipaddress',['IPAddress',['../classcore_1_1_i_p_address.html',1,'core']]], + ['ipaddresslist',['IPAddressList',['../classcore_1_1_i_p_address_list.html',1,'core']]], + ['isstopping',['isStopping',['../classcore_1_1_e_poll.html#a301b46b71ac7ac61a687ff723fe269b3',1,'core::EPoll']]] ]; diff --git a/docs/html/search/all_6.js b/docs/html/search/all_6.js index 7644a3f..c93cdec 100644 --- a/docs/html/search/all_6.js +++ b/docs/html/search/all_6.js @@ -1,5 +1,4 @@ var searchData= [ - ['ipaddress',['IPAddress',['../classcore_1_1_i_p_address.html',1,'core']]], - ['isstopping',['isStopping',['../classcore_1_1_e_poll.html#a301b46b71ac7ac61a687ff723fe269b3',1,'core::EPoll']]] + ['maxsockets',['maxSockets',['../classcore_1_1_e_poll.html#acfcef2513d94f7b9a191fed3dc744d90',1,'core::EPoll']]] ]; diff --git a/docs/html/search/all_7.js b/docs/html/search/all_7.js index faf2083..37245ea 100644 --- a/docs/html/search/all_7.js +++ b/docs/html/search/all_7.js @@ -1,5 +1,10 @@ var searchData= [ - ['log',['Log',['../classcore_1_1_log.html',1,'core::Log'],['../classcore_1_1_log.html#afdc2efeedef6f3fa9872d508a4addbb2',1,'core::Log::Log(ConsoleServer *consoleServer)'],['../classcore_1_1_log.html#a334bd775d81933d6feb1535652c6542e',1,'core::Log::Log(File *logFile)'],['../classcore_1_1_log.html#a284b8f21cd70d7ebccc14cce6aafbfbf',1,'core::Log::Log(int level)']]], - ['logfile',['logFile',['../classcore_1_1_log.html#a7f9c71cb4fea14efccdc838562757f13',1,'core::Log']]] + ['object',['Object',['../classcore_1_1_object.html',1,'core']]], + ['onconnected',['onConnected',['../classcore_1_1_session.html#a9c9596293e6051a35197866f5b1b70ce',1,'core::Session::onConnected()'],['../classcore_1_1_socket.html#a96b8919a4b5580e389df810a4820e2e0',1,'core::Socket::onConnected()']]], + ['ondatareceived',['onDataReceived',['../classcore_1_1_session.html#aea251cf98c7f1e4d106af5682f43d8c2',1,'core::Session::onDataReceived()'],['../classcore_1_1_socket.html#add22bdee877319a372db2fd707dc5a1c',1,'core::Socket::onDataReceived()'],['../classcore_1_1_t_c_p_server_socket.html#ab6654ac0712442fd860ec26c70bde8aa',1,'core::TCPServerSocket::onDataReceived()'],['../classcore_1_1_u_d_p_server_socket.html#a41933ca153c854a800e3d047ab18313e',1,'core::UDPServerSocket::onDataReceived()']]], + ['onregistered',['onRegistered',['../classcore_1_1_socket.html#a23b9824653bbe4652a716acb828665b1',1,'core::Socket']]], + ['ontimeout',['onTimeout',['../classcore_1_1_timer.html#ae51704ff08d985bbc30e3ff4c9b3c6ca',1,'core::Timer']]], + ['onunregistered',['onUnregistered',['../classcore_1_1_socket.html#ae9be59697c2b2e5efb19aaae3ba943d2',1,'core::Socket']]], + ['output',['output',['../classcore_1_1_command.html#a314aef05f78aacb802097f8ae0875291',1,'core::Command::output()'],['../classcore_1_1_service.html#abb28d7ff0f12109e582e6b9adf37f833',1,'core::Service::output()'],['../classcore_1_1_session.html#a2813939a9b7b79ebe1963a0b11a374b2',1,'core::Session::output()'],['../classcore_1_1_t_c_p_socket.html#afacf7528ff3c9ac077d7b5a49e2116fd',1,'core::TCPSocket::output()'],['../classcore_1_1_t_l_s_session.html#ae55de8a035d1ddc560cf619b2030af43',1,'core::TLSSession::output()']]] ]; diff --git a/docs/html/search/all_8.js b/docs/html/search/all_8.js index c93cdec..3d98f19 100644 --- a/docs/html/search/all_8.js +++ b/docs/html/search/all_8.js @@ -1,4 +1,5 @@ var searchData= [ - ['maxsockets',['maxSockets',['../classcore_1_1_e_poll.html#acfcef2513d94f7b9a191fed3dc744d90',1,'core::EPoll']]] + ['processcommand',['processCommand',['../classcore_1_1_command.html#ab4a70ec0e419038d9cb2ea14573b7bb6',1,'core::Command::processCommand()'],['../classcore_1_1_command_list.html#a0e15a9fe0a156efe8eb0a03e4245c228',1,'core::CommandList::processCommand()'],['../classcore_1_1_e_poll.html#a49402a420f84c5465c1999da4a78799f',1,'core::EPoll::processCommand()'],['../classcore_1_1_t_c_p_server_socket.html#a0433eea0645d32bb3d28e1ed782a6bdb',1,'core::TCPServerSocket::processCommand()']]], + ['protocol',['protocol',['../classcore_1_1_console_session.html#a830cc1e1e0c3fe3b066f0a9f7f469490',1,'core::ConsoleSession::protocol()'],['../classcore_1_1_session.html#a35b030a36e9e6c72cb4c643519e8e55b',1,'core::Session::protocol()'],['../classcore_1_1_t_l_s_session.html#a547c436ab69f75307f065eca8cfcd109',1,'core::TLSSession::protocol()']]] ]; diff --git a/docs/html/search/all_9.js b/docs/html/search/all_9.js index 7138b84..841ba17 100644 --- a/docs/html/search/all_9.js +++ b/docs/html/search/all_9.js @@ -1,10 +1,5 @@ var searchData= [ - ['object',['Object',['../classcore_1_1_object.html',1,'core']]], - ['onconnected',['onConnected',['../classcore_1_1_session.html#a9c9596293e6051a35197866f5b1b70ce',1,'core::Session::onConnected()'],['../classcore_1_1_socket.html#a96b8919a4b5580e389df810a4820e2e0',1,'core::Socket::onConnected()']]], - ['ondatareceived',['onDataReceived',['../classcore_1_1_session.html#aea251cf98c7f1e4d106af5682f43d8c2',1,'core::Session::onDataReceived()'],['../classcore_1_1_socket.html#add22bdee877319a372db2fd707dc5a1c',1,'core::Socket::onDataReceived()'],['../classcore_1_1_t_c_p_server_socket.html#ab6654ac0712442fd860ec26c70bde8aa',1,'core::TCPServerSocket::onDataReceived()'],['../classcore_1_1_u_d_p_server_socket.html#a41933ca153c854a800e3d047ab18313e',1,'core::UDPServerSocket::onDataReceived()']]], - ['onregistered',['onRegistered',['../classcore_1_1_socket.html#a23b9824653bbe4652a716acb828665b1',1,'core::Socket']]], - ['ontimeout',['onTimeout',['../classcore_1_1_timer.html#ae51704ff08d985bbc30e3ff4c9b3c6ca',1,'core::Timer']]], - ['onunregistered',['onUnregistered',['../classcore_1_1_socket.html#ae9be59697c2b2e5efb19aaae3ba943d2',1,'core::Socket']]], - ['output',['output',['../classcore_1_1_command.html#a314aef05f78aacb802097f8ae0875291',1,'core::Command::output()'],['../classcore_1_1_console_server.html#a8c2cd23829acd76b76bef60c098eabe3',1,'core::ConsoleServer::output()'],['../classcore_1_1_console_session.html#add592c8b803af65d25f83f7fa4a70078',1,'core::ConsoleSession::output()'],['../classcore_1_1_t_c_p_socket.html#afacf7528ff3c9ac077d7b5a49e2116fd',1,'core::TCPSocket::output()'],['../classcore_1_1_t_l_s_session.html#ae55de8a035d1ddc560cf619b2030af43',1,'core::TLSSession::output()']]] + ['receivedata',['receiveData',['../classcore_1_1_socket.html#af455ec6f793473f529507af26aa54695',1,'core::Socket::receiveData()'],['../classcore_1_1_t_l_s_session.html#a1822cb21de545dc1a183ec0bac6cc4f0',1,'core::TLSSession::receiveData()']]], + ['registersocket',['registerSocket',['../classcore_1_1_e_poll.html#a3d813c7bbf0da70ebc8e3cb6aeeacfb4',1,'core::EPoll']]] ]; diff --git a/docs/html/search/all_a.js b/docs/html/search/all_a.js index 1415e9b..681c0c9 100644 --- a/docs/html/search/all_a.js +++ b/docs/html/search/all_a.js @@ -1,5 +1,15 @@ var searchData= [ - ['processcommand',['processCommand',['../classcore_1_1_command.html#a0b7ae77ea83e463193c52b2c502b7c56',1,'core::Command::processCommand()'],['../classcore_1_1_command_list.html#a53e02bf38c40ac851bad6e1b943316da',1,'core::CommandList::processCommand()'],['../classcore_1_1_e_poll.html#a9e737b3cc07835cdcef0845fc748aa63',1,'core::EPoll::processCommand()'],['../classcore_1_1_t_c_p_server_socket.html#ae8a5a29ab10c86b85e709cc9ecfc99e5',1,'core::TCPServerSocket::processCommand()']]], - ['protocol',['protocol',['../classcore_1_1_console_session.html#a830cc1e1e0c3fe3b066f0a9f7f469490',1,'core::ConsoleSession::protocol()'],['../classcore_1_1_session.html#a35b030a36e9e6c72cb4c643519e8e55b',1,'core::Session::protocol()'],['../classcore_1_1_t_l_s_session.html#a547c436ab69f75307f065eca8cfcd109',1,'core::TLSSession::protocol()']]] + ['send',['send',['../classcore_1_1_session.html#af78d7caeea09924ee5227490c15aecfc',1,'core::Session']]], + ['sendtoall',['sendToAll',['../classcore_1_1_session.html#a0b1722c6abd693702ffd15a810844313',1,'core::Session::sendToAll()'],['../classcore_1_1_session.html#a17ff9ad6ccf3a0588b59820ba5ba60e4',1,'core::Session::sendToAll(SessionFilter filter)']]], + ['service',['Service',['../classcore_1_1_service.html',1,'core::Service'],['../classcore_1_1_service.html#a52f1c7c5fe2357fc21b9ff512e87cf64',1,'core::Service::Service()'],['../classcore_1_1_t_c_p_server_socket.html#a6506607f9b55337ed3ecaffe226cd099',1,'core::TCPServerSocket::service()']]], + ['session',['Session',['../classcore_1_1_session.html',1,'core']]], + ['sessionfilter',['SessionFilter',['../classcore_1_1_session_filter.html',1,'core']]], + ['sessions',['sessions',['../classcore_1_1_service.html#acf2b5cb5da96a7b7478555e477f269a1',1,'core::Service']]], + ['setdescriptor',['setDescriptor',['../classcore_1_1_socket.html#ac44f6ae3196a8a3e09a6a85fcf495762',1,'core::Socket']]], + ['setname',['setName',['../classcore_1_1_command.html#ad8b0321c64838f4d5c8f93461b97cfef',1,'core::Command']]], + ['settimer',['setTimer',['../classcore_1_1_timer.html#ac0a642cdcb76b7f995137162050d3d0b',1,'core::Timer']]], + ['socket',['Socket',['../classcore_1_1_socket.html',1,'core']]], + ['start',['start',['../classcore_1_1_e_poll.html#aaefe2caef75eb538af90cb34682d277b',1,'core::EPoll::start()'],['../classcore_1_1_thread.html#ae6885df9a9b9503669e5776518b19054',1,'core::Thread::start()']]], + ['stop',['stop',['../classcore_1_1_e_poll.html#a0c2865acd31d14fbf19dbc42cc084ddc',1,'core::EPoll']]] ]; diff --git a/docs/html/search/all_b.js b/docs/html/search/all_b.js index 4fe3e7c..4430984 100644 --- a/docs/html/search/all_b.js +++ b/docs/html/search/all_b.js @@ -1,6 +1,11 @@ var searchData= [ - ['receivedata',['receiveData',['../classcore_1_1_socket.html#af455ec6f793473f529507af26aa54695',1,'core::Socket::receiveData()'],['../classcore_1_1_t_l_s_session.html#a1822cb21de545dc1a183ec0bac6cc4f0',1,'core::TLSSession::receiveData()']]], - ['registersocket',['registerSocket',['../classcore_1_1_e_poll.html#a3d813c7bbf0da70ebc8e3cb6aeeacfb4',1,'core::EPoll']]], - ['response',['Response',['../classcore_1_1_response.html',1,'core::Response'],['../classcore_1_1_response.html#a6a73c7153468fc60735ac949ce8bb48b',1,'core::Response::Response()']]] + ['tcpserversocket',['TCPServerSocket',['../classcore_1_1_t_c_p_server_socket.html',1,'core::TCPServerSocket'],['../classcore_1_1_t_c_p_server_socket.html#a141f91e2a1d4b348204e99688976d08e',1,'core::TCPServerSocket::TCPServerSocket()']]], + ['tcpsocket',['TCPSocket',['../classcore_1_1_t_c_p_socket.html',1,'core']]], + ['terminalsession',['TerminalSession',['../classcore_1_1_terminal_session.html',1,'core']]], + ['thread',['Thread',['../classcore_1_1_thread.html',1,'core']]], + ['timer',['Timer',['../classcore_1_1_timer.html',1,'core']]], + ['tlsserversocket',['TLSServerSocket',['../classcore_1_1_t_l_s_server_socket.html',1,'core::TLSServerSocket'],['../classcore_1_1_t_l_s_server_socket.html#aafd9d602021c32ad0c36ea561c6899d5',1,'core::TLSServerSocket::TLSServerSocket()']]], + ['tlsservice',['TLSService',['../classcore_1_1_t_l_s_service.html',1,'core']]], + ['tlssession',['TLSSession',['../classcore_1_1_t_l_s_session.html',1,'core']]] ]; diff --git a/docs/html/search/all_c.js b/docs/html/search/all_c.js index 262e97c..3e235ef 100644 --- a/docs/html/search/all_c.js +++ b/docs/html/search/all_c.js @@ -1,21 +1,6 @@ var searchData= [ - ['send',['send',['../classcore_1_1_session.html#af78d7caeea09924ee5227490c15aecfc',1,'core::Session']]], - ['sendtoall',['sendToAll',['../classcore_1_1_session.html#a0b1722c6abd693702ffd15a810844313',1,'core::Session::sendToAll()'],['../classcore_1_1_session.html#a17ff9ad6ccf3a0588b59820ba5ba60e4',1,'core::Session::sendToAll(SessionFilter filter)']]], - ['seq',['seq',['../classcore_1_1_log.html#aa040c12560c120f7b4200237b628d77e',1,'core::Log']]], - ['server',['server',['../classcore_1_1_service.html#a1e630769962c2794bb15605d90c8e8fa',1,'core::Service']]], - ['service',['Service',['../classcore_1_1_service.html',1,'core::Service'],['../classcore_1_1_service.html#a52f1c7c5fe2357fc21b9ff512e87cf64',1,'core::Service::Service()']]], - ['session',['Session',['../classcore_1_1_session.html',1,'core']]], - ['sessionfilter',['SessionFilter',['../classcore_1_1_session_filter.html',1,'core']]], - ['sessions',['sessions',['../classcore_1_1_service.html#acf2b5cb5da96a7b7478555e477f269a1',1,'core::Service']]], - ['setcode',['setCode',['../classcore_1_1_response.html#ade8a31ad71a7e82a395c6efb668edfe1',1,'core::Response']]], - ['setdescriptor',['setDescriptor',['../classcore_1_1_socket.html#ac44f6ae3196a8a3e09a6a85fcf495762',1,'core::Socket']]], - ['setmimetype',['setMimeType',['../classcore_1_1_response.html#ab647c043f771931e50fc0ef5979c6534',1,'core::Response']]], - ['setname',['setName',['../classcore_1_1_command.html#ad8b0321c64838f4d5c8f93461b97cfef',1,'core::Command']]], - ['setprotocol',['setProtocol',['../classcore_1_1_response.html#a8d1be083101d3bc36c2f55c4db4b2964',1,'core::Response']]], - ['settext',['setText',['../classcore_1_1_response.html#a1fc143168d375a858bcbaa36aa10c471',1,'core::Response']]], - ['settimer',['setTimer',['../classcore_1_1_timer.html#ac0a642cdcb76b7f995137162050d3d0b',1,'core::Timer']]], - ['socket',['Socket',['../classcore_1_1_socket.html',1,'core']]], - ['start',['start',['../classcore_1_1_e_poll.html#aaefe2caef75eb538af90cb34682d277b',1,'core::EPoll::start()'],['../classcore_1_1_thread.html#ae6885df9a9b9503669e5776518b19054',1,'core::Thread::start()']]], - ['stop',['stop',['../classcore_1_1_e_poll.html#a0c2865acd31d14fbf19dbc42cc084ddc',1,'core::EPoll']]] + ['udpserversocket',['UDPServerSocket',['../classcore_1_1_u_d_p_server_socket.html',1,'core']]], + ['udpsocket',['UDPSocket',['../classcore_1_1_u_d_p_socket.html',1,'core']]], + ['unregistersocket',['unregisterSocket',['../classcore_1_1_e_poll.html#a5ab5e82ab51e0952fc8fbcc128f52900',1,'core::EPoll']]] ]; diff --git a/docs/html/search/all_d.js b/docs/html/search/all_d.js index 3e0c040..c13a088 100644 --- a/docs/html/search/all_d.js +++ b/docs/html/search/all_d.js @@ -1,11 +1,5 @@ var searchData= [ - ['tcpserversocket',['TCPServerSocket',['../classcore_1_1_t_c_p_server_socket.html',1,'core::TCPServerSocket'],['../classcore_1_1_t_c_p_server_socket.html#af586f06e73a8485bc8f1c5324a90904d',1,'core::TCPServerSocket::TCPServerSocket()']]], - ['tcpsocket',['TCPSocket',['../classcore_1_1_t_c_p_socket.html',1,'core']]], - ['terminalsession',['TerminalSession',['../classcore_1_1_terminal_session.html',1,'core']]], - ['thread',['Thread',['../classcore_1_1_thread.html',1,'core']]], - ['timer',['Timer',['../classcore_1_1_timer.html',1,'core']]], - ['tlsserversocket',['TLSServerSocket',['../classcore_1_1_t_l_s_server_socket.html',1,'core::TLSServerSocket'],['../classcore_1_1_t_l_s_server_socket.html#aafd9d602021c32ad0c36ea561c6899d5',1,'core::TLSServerSocket::TLSServerSocket()']]], - ['tlsservice',['TLSService',['../classcore_1_1_t_l_s_service.html',1,'core']]], - ['tlssession',['TLSSession',['../classcore_1_1_t_l_s_session.html',1,'core']]] + ['whitelist',['whiteList',['../classcore_1_1_t_c_p_server_socket.html#a93b82e8956e89ae8e39d97a81ebc65d7',1,'core::TCPServerSocket']]], + ['write',['write',['../classcore_1_1_socket.html#a36ad0e990494d451c493e752dc2a2722',1,'core::Socket']]] ]; diff --git a/docs/html/search/all_e.js b/docs/html/search/all_e.js index 3e235ef..72dee12 100644 --- a/docs/html/search/all_e.js +++ b/docs/html/search/all_e.js @@ -1,6 +1,7 @@ var searchData= [ - ['udpserversocket',['UDPServerSocket',['../classcore_1_1_u_d_p_server_socket.html',1,'core']]], - ['udpsocket',['UDPSocket',['../classcore_1_1_u_d_p_socket.html',1,'core']]], - ['unregistersocket',['unregisterSocket',['../classcore_1_1_e_poll.html#a5ab5e82ab51e0952fc8fbcc128f52900',1,'core::EPoll']]] + ['_7ecommandlist',['~CommandList',['../classcore_1_1_command_list.html#a2b5fdae9db6bf9876a5d51e987c49c7e',1,'core::CommandList']]], + ['_7eepoll',['~EPoll',['../classcore_1_1_e_poll.html#a8e7a2496d684b745a6410f9bd3e88534',1,'core::EPoll']]], + ['_7etcpserversocket',['~TCPServerSocket',['../classcore_1_1_t_c_p_server_socket.html#aa2b1403757821701ff411662a3e04ab5',1,'core::TCPServerSocket']]], + ['_7etlsserversocket',['~TLSServerSocket',['../classcore_1_1_t_l_s_server_socket.html#a2433e0cbc0a9edfef1fe9c07b0e74b3d',1,'core::TLSServerSocket']]] ]; diff --git a/docs/html/search/all_f.js b/docs/html/search/all_f.js index 768f233..c13a088 100644 --- a/docs/html/search/all_f.js +++ b/docs/html/search/all_f.js @@ -1,4 +1,5 @@ var searchData= [ + ['whitelist',['whiteList',['../classcore_1_1_t_c_p_server_socket.html#a93b82e8956e89ae8e39d97a81ebc65d7',1,'core::TCPServerSocket']]], ['write',['write',['../classcore_1_1_socket.html#a36ad0e990494d451c493e752dc2a2722',1,'core::Socket']]] ]; diff --git a/docs/html/search/classes_0.js b/docs/html/search/classes_0.js index 70c00eb..bf6fc4e 100644 --- a/docs/html/search/classes_0.js +++ b/docs/html/search/classes_0.js @@ -3,5 +3,6 @@ var searchData= ['command',['Command',['../classcore_1_1_command.html',1,'core']]], ['commandlist',['CommandList',['../classcore_1_1_command_list.html',1,'core']]], ['consoleserver',['ConsoleServer',['../classcore_1_1_console_server.html',1,'core']]], + ['consoleservice',['ConsoleService',['../classcore_1_1_console_service.html',1,'core']]], ['consolesession',['ConsoleSession',['../classcore_1_1_console_session.html',1,'core']]] ]; diff --git a/docs/html/search/classes_1.js b/docs/html/search/classes_1.js index 9ea6613..9c2255a 100644 --- a/docs/html/search/classes_1.js +++ b/docs/html/search/classes_1.js @@ -1,5 +1,4 @@ var searchData= [ - ['epoll',['EPoll',['../classcore_1_1_e_poll.html',1,'core']]], - ['exception',['Exception',['../classcore_1_1_exception.html',1,'core']]] + ['epoll',['EPoll',['../classcore_1_1_e_poll.html',1,'core']]] ]; diff --git a/docs/html/search/classes_2.js b/docs/html/search/classes_2.js index db3771e..b2cb862 100644 --- a/docs/html/search/classes_2.js +++ b/docs/html/search/classes_2.js @@ -1,4 +1,5 @@ var searchData= [ - ['file',['File',['../classcore_1_1_file.html',1,'core']]] + ['ipaddress',['IPAddress',['../classcore_1_1_i_p_address.html',1,'core']]], + ['ipaddresslist',['IPAddressList',['../classcore_1_1_i_p_address_list.html',1,'core']]] ]; diff --git a/docs/html/search/classes_3.js b/docs/html/search/classes_3.js index 813508d..1f1657c 100644 --- a/docs/html/search/classes_3.js +++ b/docs/html/search/classes_3.js @@ -1,4 +1,4 @@ var searchData= [ - ['header',['Header',['../classcore_1_1_header.html',1,'core']]] + ['object',['Object',['../classcore_1_1_object.html',1,'core']]] ]; diff --git a/docs/html/search/classes_4.js b/docs/html/search/classes_4.js index 4d66ae2..9c1f623 100644 --- a/docs/html/search/classes_4.js +++ b/docs/html/search/classes_4.js @@ -1,4 +1,7 @@ var searchData= [ - ['ipaddress',['IPAddress',['../classcore_1_1_i_p_address.html',1,'core']]] + ['service',['Service',['../classcore_1_1_service.html',1,'core']]], + ['session',['Session',['../classcore_1_1_session.html',1,'core']]], + ['sessionfilter',['SessionFilter',['../classcore_1_1_session_filter.html',1,'core']]], + ['socket',['Socket',['../classcore_1_1_socket.html',1,'core']]] ]; diff --git a/docs/html/search/classes_5.js b/docs/html/search/classes_5.js index ee2da69..2eb4016 100644 --- a/docs/html/search/classes_5.js +++ b/docs/html/search/classes_5.js @@ -1,4 +1,11 @@ var searchData= [ - ['log',['Log',['../classcore_1_1_log.html',1,'core']]] + ['tcpserversocket',['TCPServerSocket',['../classcore_1_1_t_c_p_server_socket.html',1,'core']]], + ['tcpsocket',['TCPSocket',['../classcore_1_1_t_c_p_socket.html',1,'core']]], + ['terminalsession',['TerminalSession',['../classcore_1_1_terminal_session.html',1,'core']]], + ['thread',['Thread',['../classcore_1_1_thread.html',1,'core']]], + ['timer',['Timer',['../classcore_1_1_timer.html',1,'core']]], + ['tlsserversocket',['TLSServerSocket',['../classcore_1_1_t_l_s_server_socket.html',1,'core']]], + ['tlsservice',['TLSService',['../classcore_1_1_t_l_s_service.html',1,'core']]], + ['tlssession',['TLSSession',['../classcore_1_1_t_l_s_session.html',1,'core']]] ]; diff --git a/docs/html/search/classes_6.js b/docs/html/search/classes_6.js index 1f1657c..9005b5b 100644 --- a/docs/html/search/classes_6.js +++ b/docs/html/search/classes_6.js @@ -1,4 +1,5 @@ var searchData= [ - ['object',['Object',['../classcore_1_1_object.html',1,'core']]] + ['udpserversocket',['UDPServerSocket',['../classcore_1_1_u_d_p_server_socket.html',1,'core']]], + ['udpsocket',['UDPSocket',['../classcore_1_1_u_d_p_socket.html',1,'core']]] ]; diff --git a/docs/html/search/classes_7.js b/docs/html/search/classes_7.js index 5895f19..2eb4016 100644 --- a/docs/html/search/classes_7.js +++ b/docs/html/search/classes_7.js @@ -1,4 +1,11 @@ var searchData= [ - ['response',['Response',['../classcore_1_1_response.html',1,'core']]] + ['tcpserversocket',['TCPServerSocket',['../classcore_1_1_t_c_p_server_socket.html',1,'core']]], + ['tcpsocket',['TCPSocket',['../classcore_1_1_t_c_p_socket.html',1,'core']]], + ['terminalsession',['TerminalSession',['../classcore_1_1_terminal_session.html',1,'core']]], + ['thread',['Thread',['../classcore_1_1_thread.html',1,'core']]], + ['timer',['Timer',['../classcore_1_1_timer.html',1,'core']]], + ['tlsserversocket',['TLSServerSocket',['../classcore_1_1_t_l_s_server_socket.html',1,'core']]], + ['tlsservice',['TLSService',['../classcore_1_1_t_l_s_service.html',1,'core']]], + ['tlssession',['TLSSession',['../classcore_1_1_t_l_s_session.html',1,'core']]] ]; diff --git a/docs/html/search/classes_8.js b/docs/html/search/classes_8.js index 9c1f623..9005b5b 100644 --- a/docs/html/search/classes_8.js +++ b/docs/html/search/classes_8.js @@ -1,7 +1,5 @@ var searchData= [ - ['service',['Service',['../classcore_1_1_service.html',1,'core']]], - ['session',['Session',['../classcore_1_1_session.html',1,'core']]], - ['sessionfilter',['SessionFilter',['../classcore_1_1_session_filter.html',1,'core']]], - ['socket',['Socket',['../classcore_1_1_socket.html',1,'core']]] + ['udpserversocket',['UDPServerSocket',['../classcore_1_1_u_d_p_server_socket.html',1,'core']]], + ['udpsocket',['UDPSocket',['../classcore_1_1_u_d_p_socket.html',1,'core']]] ]; diff --git a/docs/html/search/functions_3.js b/docs/html/search/functions_3.js index 2852f13..ed6ba17 100644 --- a/docs/html/search/functions_3.js +++ b/docs/html/search/functions_3.js @@ -5,6 +5,5 @@ var searchData= ['getclientport',['getClientPort',['../classcore_1_1_i_p_address.html#a39f706f2d43d7d001296ecead4b587e8',1,'core::IPAddress']]], ['getdescriptor',['getDescriptor',['../classcore_1_1_e_poll.html#a1e52017e1deae15c1c87c6b6a099e1ed',1,'core::EPoll::getDescriptor()'],['../classcore_1_1_socket.html#a06ba54744530439d4131e6aba4623d08',1,'core::Socket::getDescriptor()']]], ['getelapsed',['getElapsed',['../classcore_1_1_timer.html#a0df7f1ffc05529b45d6e13713bbc0209',1,'core::Timer']]], - ['getresponse',['getResponse',['../classcore_1_1_response.html#a49af564b8dbb0389a47906f5cca800cf',1,'core::Response::getResponse(Mode mode=LENGTH)'],['../classcore_1_1_response.html#aedc510111b4c7cc2ed23bb7b107c068a',1,'core::Response::getResponse(std::string content, Mode mode=LENGTH)']]], - ['getsocketaccept',['getSocketAccept',['../classcore_1_1_console_server.html#ac1d498a7094fe69acc7b234efa296b1c',1,'core::ConsoleServer::getSocketAccept()'],['../classcore_1_1_t_c_p_server_socket.html#aafd7cefcecbcb32a22dfde86fcfeab63',1,'core::TCPServerSocket::getSocketAccept()'],['../classcore_1_1_t_l_s_server_socket.html#a954541082a39b7b417b3cd741ed4eea6',1,'core::TLSServerSocket::getSocketAccept()']]] + ['getsocketaccept',['getSocketAccept',['../classcore_1_1_console_service.html#a635816dc132cc76e019321e32095d56d',1,'core::ConsoleService::getSocketAccept()'],['../classcore_1_1_service.html#aeeb0ef12a87998f5fc429b22ffb233da',1,'core::Service::getSocketAccept()']]] ]; diff --git a/docs/html/search/functions_5.js b/docs/html/search/functions_5.js index c01683d..b6cfd6d 100644 --- a/docs/html/search/functions_5.js +++ b/docs/html/search/functions_5.js @@ -1,4 +1,9 @@ var searchData= [ - ['log',['Log',['../classcore_1_1_log.html#afdc2efeedef6f3fa9872d508a4addbb2',1,'core::Log::Log(ConsoleServer *consoleServer)'],['../classcore_1_1_log.html#a334bd775d81933d6feb1535652c6542e',1,'core::Log::Log(File *logFile)'],['../classcore_1_1_log.html#a284b8f21cd70d7ebccc14cce6aafbfbf',1,'core::Log::Log(int level)']]] + ['onconnected',['onConnected',['../classcore_1_1_session.html#a9c9596293e6051a35197866f5b1b70ce',1,'core::Session::onConnected()'],['../classcore_1_1_socket.html#a96b8919a4b5580e389df810a4820e2e0',1,'core::Socket::onConnected()']]], + ['ondatareceived',['onDataReceived',['../classcore_1_1_session.html#aea251cf98c7f1e4d106af5682f43d8c2',1,'core::Session::onDataReceived()'],['../classcore_1_1_socket.html#add22bdee877319a372db2fd707dc5a1c',1,'core::Socket::onDataReceived()'],['../classcore_1_1_t_c_p_server_socket.html#ab6654ac0712442fd860ec26c70bde8aa',1,'core::TCPServerSocket::onDataReceived()'],['../classcore_1_1_u_d_p_server_socket.html#a41933ca153c854a800e3d047ab18313e',1,'core::UDPServerSocket::onDataReceived()']]], + ['onregistered',['onRegistered',['../classcore_1_1_socket.html#a23b9824653bbe4652a716acb828665b1',1,'core::Socket']]], + ['ontimeout',['onTimeout',['../classcore_1_1_timer.html#ae51704ff08d985bbc30e3ff4c9b3c6ca',1,'core::Timer']]], + ['onunregistered',['onUnregistered',['../classcore_1_1_socket.html#ae9be59697c2b2e5efb19aaae3ba943d2',1,'core::Socket']]], + ['output',['output',['../classcore_1_1_command.html#a314aef05f78aacb802097f8ae0875291',1,'core::Command::output()'],['../classcore_1_1_service.html#abb28d7ff0f12109e582e6b9adf37f833',1,'core::Service::output()'],['../classcore_1_1_session.html#a2813939a9b7b79ebe1963a0b11a374b2',1,'core::Session::output()'],['../classcore_1_1_t_c_p_socket.html#afacf7528ff3c9ac077d7b5a49e2116fd',1,'core::TCPSocket::output()'],['../classcore_1_1_t_l_s_session.html#ae55de8a035d1ddc560cf619b2030af43',1,'core::TLSSession::output()']]] ]; diff --git a/docs/html/search/functions_6.js b/docs/html/search/functions_6.js index 24d6eb1..3d98f19 100644 --- a/docs/html/search/functions_6.js +++ b/docs/html/search/functions_6.js @@ -1,9 +1,5 @@ var searchData= [ - ['onconnected',['onConnected',['../classcore_1_1_session.html#a9c9596293e6051a35197866f5b1b70ce',1,'core::Session::onConnected()'],['../classcore_1_1_socket.html#a96b8919a4b5580e389df810a4820e2e0',1,'core::Socket::onConnected()']]], - ['ondatareceived',['onDataReceived',['../classcore_1_1_session.html#aea251cf98c7f1e4d106af5682f43d8c2',1,'core::Session::onDataReceived()'],['../classcore_1_1_socket.html#add22bdee877319a372db2fd707dc5a1c',1,'core::Socket::onDataReceived()'],['../classcore_1_1_t_c_p_server_socket.html#ab6654ac0712442fd860ec26c70bde8aa',1,'core::TCPServerSocket::onDataReceived()'],['../classcore_1_1_u_d_p_server_socket.html#a41933ca153c854a800e3d047ab18313e',1,'core::UDPServerSocket::onDataReceived()']]], - ['onregistered',['onRegistered',['../classcore_1_1_socket.html#a23b9824653bbe4652a716acb828665b1',1,'core::Socket']]], - ['ontimeout',['onTimeout',['../classcore_1_1_timer.html#ae51704ff08d985bbc30e3ff4c9b3c6ca',1,'core::Timer']]], - ['onunregistered',['onUnregistered',['../classcore_1_1_socket.html#ae9be59697c2b2e5efb19aaae3ba943d2',1,'core::Socket']]], - ['output',['output',['../classcore_1_1_command.html#a314aef05f78aacb802097f8ae0875291',1,'core::Command::output()'],['../classcore_1_1_console_server.html#a8c2cd23829acd76b76bef60c098eabe3',1,'core::ConsoleServer::output()'],['../classcore_1_1_console_session.html#add592c8b803af65d25f83f7fa4a70078',1,'core::ConsoleSession::output()'],['../classcore_1_1_t_c_p_socket.html#afacf7528ff3c9ac077d7b5a49e2116fd',1,'core::TCPSocket::output()'],['../classcore_1_1_t_l_s_session.html#ae55de8a035d1ddc560cf619b2030af43',1,'core::TLSSession::output()']]] + ['processcommand',['processCommand',['../classcore_1_1_command.html#ab4a70ec0e419038d9cb2ea14573b7bb6',1,'core::Command::processCommand()'],['../classcore_1_1_command_list.html#a0e15a9fe0a156efe8eb0a03e4245c228',1,'core::CommandList::processCommand()'],['../classcore_1_1_e_poll.html#a49402a420f84c5465c1999da4a78799f',1,'core::EPoll::processCommand()'],['../classcore_1_1_t_c_p_server_socket.html#a0433eea0645d32bb3d28e1ed782a6bdb',1,'core::TCPServerSocket::processCommand()']]], + ['protocol',['protocol',['../classcore_1_1_console_session.html#a830cc1e1e0c3fe3b066f0a9f7f469490',1,'core::ConsoleSession::protocol()'],['../classcore_1_1_session.html#a35b030a36e9e6c72cb4c643519e8e55b',1,'core::Session::protocol()'],['../classcore_1_1_t_l_s_session.html#a547c436ab69f75307f065eca8cfcd109',1,'core::TLSSession::protocol()']]] ]; diff --git a/docs/html/search/functions_7.js b/docs/html/search/functions_7.js index 1415e9b..841ba17 100644 --- a/docs/html/search/functions_7.js +++ b/docs/html/search/functions_7.js @@ -1,5 +1,5 @@ var searchData= [ - ['processcommand',['processCommand',['../classcore_1_1_command.html#a0b7ae77ea83e463193c52b2c502b7c56',1,'core::Command::processCommand()'],['../classcore_1_1_command_list.html#a53e02bf38c40ac851bad6e1b943316da',1,'core::CommandList::processCommand()'],['../classcore_1_1_e_poll.html#a9e737b3cc07835cdcef0845fc748aa63',1,'core::EPoll::processCommand()'],['../classcore_1_1_t_c_p_server_socket.html#ae8a5a29ab10c86b85e709cc9ecfc99e5',1,'core::TCPServerSocket::processCommand()']]], - ['protocol',['protocol',['../classcore_1_1_console_session.html#a830cc1e1e0c3fe3b066f0a9f7f469490',1,'core::ConsoleSession::protocol()'],['../classcore_1_1_session.html#a35b030a36e9e6c72cb4c643519e8e55b',1,'core::Session::protocol()'],['../classcore_1_1_t_l_s_session.html#a547c436ab69f75307f065eca8cfcd109',1,'core::TLSSession::protocol()']]] + ['receivedata',['receiveData',['../classcore_1_1_socket.html#af455ec6f793473f529507af26aa54695',1,'core::Socket::receiveData()'],['../classcore_1_1_t_l_s_session.html#a1822cb21de545dc1a183ec0bac6cc4f0',1,'core::TLSSession::receiveData()']]], + ['registersocket',['registerSocket',['../classcore_1_1_e_poll.html#a3d813c7bbf0da70ebc8e3cb6aeeacfb4',1,'core::EPoll']]] ]; diff --git a/docs/html/search/functions_8.js b/docs/html/search/functions_8.js index 540cf19..6915b5b 100644 --- a/docs/html/search/functions_8.js +++ b/docs/html/search/functions_8.js @@ -1,6 +1,11 @@ var searchData= [ - ['receivedata',['receiveData',['../classcore_1_1_socket.html#af455ec6f793473f529507af26aa54695',1,'core::Socket::receiveData()'],['../classcore_1_1_t_l_s_session.html#a1822cb21de545dc1a183ec0bac6cc4f0',1,'core::TLSSession::receiveData()']]], - ['registersocket',['registerSocket',['../classcore_1_1_e_poll.html#a3d813c7bbf0da70ebc8e3cb6aeeacfb4',1,'core::EPoll']]], - ['response',['Response',['../classcore_1_1_response.html#a6a73c7153468fc60735ac949ce8bb48b',1,'core::Response']]] + ['send',['send',['../classcore_1_1_session.html#af78d7caeea09924ee5227490c15aecfc',1,'core::Session']]], + ['sendtoall',['sendToAll',['../classcore_1_1_session.html#a0b1722c6abd693702ffd15a810844313',1,'core::Session::sendToAll()'],['../classcore_1_1_session.html#a17ff9ad6ccf3a0588b59820ba5ba60e4',1,'core::Session::sendToAll(SessionFilter filter)']]], + ['service',['Service',['../classcore_1_1_service.html#a52f1c7c5fe2357fc21b9ff512e87cf64',1,'core::Service']]], + ['setdescriptor',['setDescriptor',['../classcore_1_1_socket.html#ac44f6ae3196a8a3e09a6a85fcf495762',1,'core::Socket']]], + ['setname',['setName',['../classcore_1_1_command.html#ad8b0321c64838f4d5c8f93461b97cfef',1,'core::Command']]], + ['settimer',['setTimer',['../classcore_1_1_timer.html#ac0a642cdcb76b7f995137162050d3d0b',1,'core::Timer']]], + ['start',['start',['../classcore_1_1_e_poll.html#aaefe2caef75eb538af90cb34682d277b',1,'core::EPoll::start()'],['../classcore_1_1_thread.html#ae6885df9a9b9503669e5776518b19054',1,'core::Thread::start()']]], + ['stop',['stop',['../classcore_1_1_e_poll.html#a0c2865acd31d14fbf19dbc42cc084ddc',1,'core::EPoll']]] ]; diff --git a/docs/html/search/functions_9.js b/docs/html/search/functions_9.js index e02f20f..1623d86 100644 --- a/docs/html/search/functions_9.js +++ b/docs/html/search/functions_9.js @@ -1,15 +1,5 @@ var searchData= [ - ['send',['send',['../classcore_1_1_session.html#af78d7caeea09924ee5227490c15aecfc',1,'core::Session']]], - ['sendtoall',['sendToAll',['../classcore_1_1_session.html#a0b1722c6abd693702ffd15a810844313',1,'core::Session::sendToAll()'],['../classcore_1_1_session.html#a17ff9ad6ccf3a0588b59820ba5ba60e4',1,'core::Session::sendToAll(SessionFilter filter)']]], - ['service',['Service',['../classcore_1_1_service.html#a52f1c7c5fe2357fc21b9ff512e87cf64',1,'core::Service']]], - ['setcode',['setCode',['../classcore_1_1_response.html#ade8a31ad71a7e82a395c6efb668edfe1',1,'core::Response']]], - ['setdescriptor',['setDescriptor',['../classcore_1_1_socket.html#ac44f6ae3196a8a3e09a6a85fcf495762',1,'core::Socket']]], - ['setmimetype',['setMimeType',['../classcore_1_1_response.html#ab647c043f771931e50fc0ef5979c6534',1,'core::Response']]], - ['setname',['setName',['../classcore_1_1_command.html#ad8b0321c64838f4d5c8f93461b97cfef',1,'core::Command']]], - ['setprotocol',['setProtocol',['../classcore_1_1_response.html#a8d1be083101d3bc36c2f55c4db4b2964',1,'core::Response']]], - ['settext',['setText',['../classcore_1_1_response.html#a1fc143168d375a858bcbaa36aa10c471',1,'core::Response']]], - ['settimer',['setTimer',['../classcore_1_1_timer.html#ac0a642cdcb76b7f995137162050d3d0b',1,'core::Timer']]], - ['start',['start',['../classcore_1_1_e_poll.html#aaefe2caef75eb538af90cb34682d277b',1,'core::EPoll::start()'],['../classcore_1_1_thread.html#ae6885df9a9b9503669e5776518b19054',1,'core::Thread::start()']]], - ['stop',['stop',['../classcore_1_1_e_poll.html#a0c2865acd31d14fbf19dbc42cc084ddc',1,'core::EPoll']]] + ['tcpserversocket',['TCPServerSocket',['../classcore_1_1_t_c_p_server_socket.html#a141f91e2a1d4b348204e99688976d08e',1,'core::TCPServerSocket']]], + ['tlsserversocket',['TLSServerSocket',['../classcore_1_1_t_l_s_server_socket.html#aafd9d602021c32ad0c36ea561c6899d5',1,'core::TLSServerSocket']]] ]; diff --git a/docs/html/search/functions_a.js b/docs/html/search/functions_a.js index 02a60ab..136b7b8 100644 --- a/docs/html/search/functions_a.js +++ b/docs/html/search/functions_a.js @@ -1,5 +1,4 @@ var searchData= [ - ['tcpserversocket',['TCPServerSocket',['../classcore_1_1_t_c_p_server_socket.html#af586f06e73a8485bc8f1c5324a90904d',1,'core::TCPServerSocket']]], - ['tlsserversocket',['TLSServerSocket',['../classcore_1_1_t_l_s_server_socket.html#aafd9d602021c32ad0c36ea561c6899d5',1,'core::TLSServerSocket']]] + ['unregistersocket',['unregisterSocket',['../classcore_1_1_e_poll.html#a5ab5e82ab51e0952fc8fbcc128f52900',1,'core::EPoll']]] ]; diff --git a/docs/html/search/functions_b.js b/docs/html/search/functions_b.js index 136b7b8..768f233 100644 --- a/docs/html/search/functions_b.js +++ b/docs/html/search/functions_b.js @@ -1,4 +1,4 @@ var searchData= [ - ['unregistersocket',['unregisterSocket',['../classcore_1_1_e_poll.html#a5ab5e82ab51e0952fc8fbcc128f52900',1,'core::EPoll']]] + ['write',['write',['../classcore_1_1_socket.html#a36ad0e990494d451c493e752dc2a2722',1,'core::Socket']]] ]; diff --git a/docs/html/search/functions_c.js b/docs/html/search/functions_c.js index 768f233..72dee12 100644 --- a/docs/html/search/functions_c.js +++ b/docs/html/search/functions_c.js @@ -1,4 +1,7 @@ var searchData= [ - ['write',['write',['../classcore_1_1_socket.html#a36ad0e990494d451c493e752dc2a2722',1,'core::Socket']]] + ['_7ecommandlist',['~CommandList',['../classcore_1_1_command_list.html#a2b5fdae9db6bf9876a5d51e987c49c7e',1,'core::CommandList']]], + ['_7eepoll',['~EPoll',['../classcore_1_1_e_poll.html#a8e7a2496d684b745a6410f9bd3e88534',1,'core::EPoll']]], + ['_7etcpserversocket',['~TCPServerSocket',['../classcore_1_1_t_c_p_server_socket.html#aa2b1403757821701ff411662a3e04ab5',1,'core::TCPServerSocket']]], + ['_7etlsserversocket',['~TLSServerSocket',['../classcore_1_1_t_l_s_server_socket.html#a2433e0cbc0a9edfef1fe9c07b0e74b3d',1,'core::TLSServerSocket']]] ]; diff --git a/docs/html/search/functions_d.js b/docs/html/search/functions_d.js index 90e448e..a86e9e4 100644 --- a/docs/html/search/functions_d.js +++ b/docs/html/search/functions_d.js @@ -3,7 +3,6 @@ var searchData= ['_7ecommandlist',['~CommandList',['../classcore_1_1_command_list.html#a2b5fdae9db6bf9876a5d51e987c49c7e',1,'core::CommandList']]], ['_7eepoll',['~EPoll',['../classcore_1_1_e_poll.html#a8e7a2496d684b745a6410f9bd3e88534',1,'core::EPoll']]], ['_7elog',['~Log',['../classcore_1_1_log.html#afaaaad27423c3d2233942210b1f9a756',1,'core::Log']]], - ['_7eresponse',['~Response',['../classcore_1_1_response.html#aba144a517ada3fe308e663bed08c8b0d',1,'core::Response']]], ['_7etcpserversocket',['~TCPServerSocket',['../classcore_1_1_t_c_p_server_socket.html#aa2b1403757821701ff411662a3e04ab5',1,'core::TCPServerSocket']]], ['_7etlsserversocket',['~TLSServerSocket',['../classcore_1_1_t_l_s_server_socket.html#a2433e0cbc0a9edfef1fe9c07b0e74b3d',1,'core::TLSServerSocket']]] ]; diff --git a/docs/html/search/searchdata.js b/docs/html/search/searchdata.js index 7b00825..60dcb5b 100644 --- a/docs/html/search/searchdata.js +++ b/docs/html/search/searchdata.js @@ -1,27 +1,24 @@ var indexSectionsWithContent = { - 0: "acefghilmoprstuw~", - 1: "cefhilorstu", - 2: "c", - 3: "acegiloprstuw~", - 4: "clms" + 0: "abcegimoprstuw~", + 1: "ceiostu", + 2: "acegioprstuw~", + 3: "bcmsw" }; var indexSectionNames = { 0: "all", 1: "classes", - 2: "namespaces", - 3: "functions", - 4: "variables" + 2: "functions", + 3: "variables" }; var indexSectionLabels = { 0: "All", 1: "Classes", - 2: "Namespaces", - 3: "Functions", - 4: "Variables" + 2: "Functions", + 3: "Variables" }; diff --git a/docs/html/search/variables_0.js b/docs/html/search/variables_0.js index 530f25f..d33af80 100644 --- a/docs/html/search/variables_0.js +++ b/docs/html/search/variables_0.js @@ -1,5 +1,4 @@ var searchData= [ - ['commands',['commands',['../classcore_1_1_service.html#a09bbcbc7512240b24b51131b6e1f9366',1,'core::Service']]], - ['consoleserver',['consoleServer',['../classcore_1_1_log.html#af827af1601d71bca20249484962142f4',1,'core::Log']]] + ['blacklist',['blackList',['../classcore_1_1_t_c_p_server_socket.html#a7d15f14da22cfd2421cf5f74d7401b63',1,'core::TCPServerSocket']]] ]; diff --git a/docs/html/search/variables_1.js b/docs/html/search/variables_1.js index dd23cb1..94c0cb7 100644 --- a/docs/html/search/variables_1.js +++ b/docs/html/search/variables_1.js @@ -1,4 +1,4 @@ var searchData= [ - ['logfile',['logFile',['../classcore_1_1_log.html#a7f9c71cb4fea14efccdc838562757f13',1,'core::Log']]] + ['commands',['commands',['../classcore_1_1_service.html#a09bbcbc7512240b24b51131b6e1f9366',1,'core::Service']]] ]; diff --git a/docs/html/search/variables_3.js b/docs/html/search/variables_3.js index 42c3466..2171983 100644 --- a/docs/html/search/variables_3.js +++ b/docs/html/search/variables_3.js @@ -1,6 +1,5 @@ var searchData= [ - ['seq',['seq',['../classcore_1_1_log.html#aa040c12560c120f7b4200237b628d77e',1,'core::Log']]], - ['server',['server',['../classcore_1_1_service.html#a1e630769962c2794bb15605d90c8e8fa',1,'core::Service']]], + ['service',['service',['../classcore_1_1_t_c_p_server_socket.html#a6506607f9b55337ed3ecaffe226cd099',1,'core::TCPServerSocket']]], ['sessions',['sessions',['../classcore_1_1_service.html#acf2b5cb5da96a7b7478555e477f269a1',1,'core::Service']]] ]; diff --git a/docs/html/search/variables_4.html b/docs/html/search/variables_4.html index 1ed95cb..d7db285 100644 --- a/docs/html/search/variables_4.html +++ b/docs/html/search/variables_4.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/variables_4.js b/docs/html/search/variables_4.js index 383f5c6..26221eb 100644 --- a/docs/html/search/variables_4.js +++ b/docs/html/search/variables_4.js @@ -1,4 +1,4 @@ var searchData= [ - ['frames',['frames',['../class_b_m_a_stream_content_provider.html#ae0bb7e24346fcd7df284c3c3e06acfc5',1,'BMAStreamContentProvider']]] + ['whitelist',['whiteList',['../classcore_1_1_t_c_p_server_socket.html#a93b82e8956e89ae8e39d97a81ebc65d7',1,'core::TCPServerSocket']]] ]; diff --git a/docs/html/search/variables_5.html b/docs/html/search/variables_5.html index ecc883b..7bbceeb 100644 --- a/docs/html/search/variables_5.html +++ b/docs/html/search/variables_5.html @@ -1,7 +1,7 @@ - + diff --git a/docs/html/search/variables_5.js b/docs/html/search/variables_5.js index 59aa2b2..26221eb 100644 --- a/docs/html/search/variables_5.js +++ b/docs/html/search/variables_5.js @@ -1,5 +1,4 @@ var searchData= [ - ['lastframe',['lastFrame',['../class_b_m_a_stream_frame.html#a2f790b9f525141edec746b18843a2169',1,'BMAStreamFrame']]], - ['log',['log',['../class_b_m_a_e_poll.html#ac18fcf68c61333d86955dc83443bfefc',1,'BMAEPoll']]] + ['whitelist',['whiteList',['../classcore_1_1_t_c_p_server_socket.html#a93b82e8956e89ae8e39d97a81ebc65d7',1,'core::TCPServerSocket']]] ]; diff --git a/docs/latex/annotated.tex b/docs/latex/annotated.tex index 71920fa..d6667fd 100644 --- a/docs/latex/annotated.tex +++ b/docs/latex/annotated.tex @@ -3,15 +3,12 @@ Here are the classes, structs, unions and interfaces with brief descriptions\+:\ \item\contentsline{section}{\hyperlink{classcore_1_1_command}{core\+::\+Command} }{\pageref{classcore_1_1_command}}{} \item\contentsline{section}{\hyperlink{classcore_1_1_command_list}{core\+::\+Command\+List} }{\pageref{classcore_1_1_command_list}}{} \item\contentsline{section}{\hyperlink{classcore_1_1_console_server}{core\+::\+Console\+Server} }{\pageref{classcore_1_1_console_server}}{} +\item\contentsline{section}{\hyperlink{classcore_1_1_console_service}{core\+::\+Console\+Service} }{\pageref{classcore_1_1_console_service}}{} \item\contentsline{section}{\hyperlink{classcore_1_1_console_session}{core\+::\+Console\+Session} }{\pageref{classcore_1_1_console_session}}{} \item\contentsline{section}{\hyperlink{classcore_1_1_e_poll}{core\+::\+E\+Poll} }{\pageref{classcore_1_1_e_poll}}{} -\item\contentsline{section}{\hyperlink{classcore_1_1_exception}{core\+::\+Exception} }{\pageref{classcore_1_1_exception}}{} -\item\contentsline{section}{\hyperlink{classcore_1_1_file}{core\+::\+File} }{\pageref{classcore_1_1_file}}{} -\item\contentsline{section}{\hyperlink{classcore_1_1_header}{core\+::\+Header} }{\pageref{classcore_1_1_header}}{} \item\contentsline{section}{\hyperlink{classcore_1_1_i_p_address}{core\+::\+I\+P\+Address} }{\pageref{classcore_1_1_i_p_address}}{} -\item\contentsline{section}{\hyperlink{classcore_1_1_log}{core\+::\+Log} }{\pageref{classcore_1_1_log}}{} +\item\contentsline{section}{\hyperlink{classcore_1_1_i_p_address_list}{core\+::\+I\+P\+Address\+List} }{\pageref{classcore_1_1_i_p_address_list}}{} \item\contentsline{section}{\hyperlink{classcore_1_1_object}{core\+::\+Object} }{\pageref{classcore_1_1_object}}{} -\item\contentsline{section}{\hyperlink{classcore_1_1_response}{core\+::\+Response} }{\pageref{classcore_1_1_response}}{} \item\contentsline{section}{\hyperlink{classcore_1_1_service}{core\+::\+Service} }{\pageref{classcore_1_1_service}}{} \item\contentsline{section}{\hyperlink{classcore_1_1_session}{core\+::\+Session} }{\pageref{classcore_1_1_session}}{} \item\contentsline{section}{\hyperlink{classcore_1_1_session_filter}{core\+::\+Session\+Filter} }{\pageref{classcore_1_1_session_filter}}{} diff --git a/docs/latex/classcore_1_1_command.tex b/docs/latex/classcore_1_1_command.tex index 9caddaf..27c5265 100644 --- a/docs/latex/classcore_1_1_command.tex +++ b/docs/latex/classcore_1_1_command.tex @@ -6,7 +6,8 @@ -Inheritance diagram for core\+:\+:Command\+:\nopagebreak +Inheritance diagram for core\+:\+:Command\+: +\nopagebreak \begin{figure}[H] \begin{center} \leavevmode @@ -15,7 +16,8 @@ Inheritance diagram for core\+:\+:Command\+:\nopagebreak \end{figure} -Collaboration diagram for core\+:\+:Command\+:\nopagebreak +Collaboration diagram for core\+:\+:Command\+: +\nopagebreak \begin{figure}[H] \begin{center} \leavevmode @@ -27,7 +29,7 @@ Collaboration diagram for core\+:\+:Command\+:\nopagebreak \item virtual bool \hyperlink{classcore_1_1_command_abdc0d7a4693a7f7940bbae20c4a667c0}{check} (std\+::string request) \item -virtual int \hyperlink{classcore_1_1_command_a0b7ae77ea83e463193c52b2c502b7c56}{process\+Command} (std\+::string request, \hyperlink{classcore_1_1_session}{Session} $\ast$session)=0 +virtual int \hyperlink{classcore_1_1_command_ab4a70ec0e419038d9cb2ea14573b7bb6}{process\+Command} (std\+::string request, \hyperlink{classcore_1_1_session}{Session} $\ast$session, std\+::stringstream \&data) \item virtual void \hyperlink{classcore_1_1_command_a314aef05f78aacb802097f8ae0875291}{output} (\hyperlink{classcore_1_1_session}{Session} $\ast$session) \item @@ -78,13 +80,13 @@ Specify the output that will occur to the specified session. \end{DoxyParams} -Reimplemented in \hyperlink{classcore_1_1_console_server_a8c2cd23829acd76b76bef60c098eabe3}{core\+::\+Console\+Server}. +Reimplemented in \hyperlink{classcore_1_1_service_abb28d7ff0f12109e582e6b9adf37f833}{core\+::\+Service}. -\mbox{\Hypertarget{classcore_1_1_command_a0b7ae77ea83e463193c52b2c502b7c56}\label{classcore_1_1_command_a0b7ae77ea83e463193c52b2c502b7c56}} +\mbox{\Hypertarget{classcore_1_1_command_ab4a70ec0e419038d9cb2ea14573b7bb6}\label{classcore_1_1_command_ab4a70ec0e419038d9cb2ea14573b7bb6}} \index{core\+::\+Command@{core\+::\+Command}!process\+Command@{process\+Command}} \index{process\+Command@{process\+Command}!core\+::\+Command@{core\+::\+Command}} \subsubsection{\texorpdfstring{process\+Command()}{processCommand()}} -{\footnotesize\ttfamily virtual int core\+::\+Command\+::process\+Command (\begin{DoxyParamCaption}\item[{std\+::string}]{request, }\item[{\hyperlink{classcore_1_1_session}{Session} $\ast$}]{session }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}} +{\footnotesize\ttfamily int core\+::\+Command\+::process\+Command (\begin{DoxyParamCaption}\item[{std\+::string}]{request, }\item[{\hyperlink{classcore_1_1_session}{Session} $\ast$}]{session, }\item[{std\+::stringstream \&}]{data }\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. @@ -100,7 +102,7 @@ Returns 0 if execution of the command was successful. Otherwise returns a non-\/ \end{DoxyReturn} -Implemented in \hyperlink{classcore_1_1_e_poll_a9e737b3cc07835cdcef0845fc748aa63}{core\+::\+E\+Poll}, \hyperlink{classcore_1_1_t_c_p_server_socket_ae8a5a29ab10c86b85e709cc9ecfc99e5}{core\+::\+T\+C\+P\+Server\+Socket}, and \hyperlink{classcore_1_1_command_list_a53e02bf38c40ac851bad6e1b943316da}{core\+::\+Command\+List}. +Reimplemented in \hyperlink{classcore_1_1_e_poll_a49402a420f84c5465c1999da4a78799f}{core\+::\+E\+Poll}, \hyperlink{classcore_1_1_t_c_p_server_socket_a0433eea0645d32bb3d28e1ed782a6bdb}{core\+::\+T\+C\+P\+Server\+Socket}, and \hyperlink{classcore_1_1_command_list_a0e15a9fe0a156efe8eb0a03e4245c228}{core\+::\+Command\+List}. \mbox{\Hypertarget{classcore_1_1_command_ad8b0321c64838f4d5c8f93461b97cfef}\label{classcore_1_1_command_ad8b0321c64838f4d5c8f93461b97cfef}} \index{core\+::\+Command@{core\+::\+Command}!set\+Name@{set\+Name}} @@ -119,5 +121,5 @@ Set the name of this command used in default rule checking during request parsin The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} \item -/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/Command.\+h\item -/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/Command.\+cpp\end{DoxyCompactItemize} +/home/bradarant/barant/\+Server\+Core/Command.\+h\item +/home/bradarant/barant/\+Server\+Core/Command.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/classcore_1_1_command__coll__graph.md5 b/docs/latex/classcore_1_1_command__coll__graph.md5 index 4f9be73..ecc55d7 100644 --- a/docs/latex/classcore_1_1_command__coll__graph.md5 +++ b/docs/latex/classcore_1_1_command__coll__graph.md5 @@ -1 +1 @@ -bed67932de10285ad02f3e59441e88fc \ No newline at end of file +04df2b0abc950dd43c81f312cb9e79a5 \ No newline at end of file diff --git a/docs/latex/classcore_1_1_command__coll__graph.pdf b/docs/latex/classcore_1_1_command__coll__graph.pdf index f949488..b2bc649 100644 Binary files a/docs/latex/classcore_1_1_command__coll__graph.pdf and b/docs/latex/classcore_1_1_command__coll__graph.pdf differ diff --git a/docs/latex/classcore_1_1_command__inherit__graph.md5 b/docs/latex/classcore_1_1_command__inherit__graph.md5 index a163852..980b922 100644 --- a/docs/latex/classcore_1_1_command__inherit__graph.md5 +++ b/docs/latex/classcore_1_1_command__inherit__graph.md5 @@ -1 +1 @@ -423497738057f80307b66a1ce9df7c8f \ No newline at end of file +95fd3a0e55340a9381c52d10f59b9049 \ No newline at end of file diff --git a/docs/latex/classcore_1_1_command__inherit__graph.pdf b/docs/latex/classcore_1_1_command__inherit__graph.pdf index d88e56a..8be9a56 100644 Binary files a/docs/latex/classcore_1_1_command__inherit__graph.pdf and b/docs/latex/classcore_1_1_command__inherit__graph.pdf differ diff --git a/docs/latex/classcore_1_1_command_list.tex b/docs/latex/classcore_1_1_command_list.tex index 30ce497..3af6217 100644 --- a/docs/latex/classcore_1_1_command_list.tex +++ b/docs/latex/classcore_1_1_command_list.tex @@ -34,10 +34,16 @@ void \hyperlink{classcore_1_1_command_list_a7a45e75e3d21a25fd3f7e887acf395e9}{ad \mbox{\Hypertarget{classcore_1_1_command_list_aaac684effb9ecf5238d23ca60d3fffaa}\label{classcore_1_1_command_list_aaac684effb9ecf5238d23ca60d3fffaa}} void {\bfseries remove} (\hyperlink{classcore_1_1_command}{Command} \&command) \item -\mbox{\Hypertarget{classcore_1_1_command_list_a4052c642e3ffbf339d0a2e3bdd94cb43}\label{classcore_1_1_command_list_a4052c642e3ffbf339d0a2e3bdd94cb43}} -bool {\bfseries process\+Request} (std\+::string request, \hyperlink{classcore_1_1_session}{Session} $\ast$session) +\mbox{\Hypertarget{classcore_1_1_command_list_ac228423ab52b2b713167d6463e917871}\label{classcore_1_1_command_list_ac228423ab52b2b713167d6463e917871}} +bool {\bfseries process\+Request} (std\+::string request, \hyperlink{classcore_1_1_session}{Session} $\ast$session, std\+::stringstream \&data) \item -int \hyperlink{classcore_1_1_command_list_a53e02bf38c40ac851bad6e1b943316da}{process\+Command} (std\+::string request, \hyperlink{classcore_1_1_session}{Session} $\ast$session) override +int \hyperlink{classcore_1_1_command_list_a0e15a9fe0a156efe8eb0a03e4245c228}{process\+Command} (std\+::string request, \hyperlink{classcore_1_1_session}{Session} $\ast$session, std\+::stringstream \&data) override +\end{DoxyCompactItemize} +\subsection*{Protected Attributes} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{classcore_1_1_command_list_a435f09d15c78dad43e7bca4977d6bdf1}\label{classcore_1_1_command_list_a435f09d15c78dad43e7bca4977d6bdf1}} +std\+::vector$<$ \hyperlink{classcore_1_1_command}{Command} $\ast$ $>$ {\bfseries commands} \end{DoxyCompactItemize} \subsection*{Additional Inherited Members} @@ -69,11 +75,11 @@ The destructor for the object. \subsubsection{\texorpdfstring{add()}{add()}} {\footnotesize\ttfamily void core\+::\+Command\+List\+::add (\begin{DoxyParamCaption}\item[{\hyperlink{classcore_1_1_command}{Command} \&}]{command, }\item[{std\+::string}]{name = {\ttfamily \char`\"{}\char`\"{}} }\end{DoxyParamCaption})} -Add a new command to the command list and assign a default search value. \mbox{\Hypertarget{classcore_1_1_command_list_a53e02bf38c40ac851bad6e1b943316da}\label{classcore_1_1_command_list_a53e02bf38c40ac851bad6e1b943316da}} +Add a new command to the command list and assign a default search value. \mbox{\Hypertarget{classcore_1_1_command_list_a0e15a9fe0a156efe8eb0a03e4245c228}\label{classcore_1_1_command_list_a0e15a9fe0a156efe8eb0a03e4245c228}} \index{core\+::\+Command\+List@{core\+::\+Command\+List}!process\+Command@{process\+Command}} \index{process\+Command@{process\+Command}!core\+::\+Command\+List@{core\+::\+Command\+List}} \subsubsection{\texorpdfstring{process\+Command()}{processCommand()}} -{\footnotesize\ttfamily int core\+::\+Command\+List\+::process\+Command (\begin{DoxyParamCaption}\item[{std\+::string}]{request, }\item[{\hyperlink{classcore_1_1_session}{Session} $\ast$}]{session }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}} +{\footnotesize\ttfamily int core\+::\+Command\+List\+::process\+Command (\begin{DoxyParamCaption}\item[{std\+::string}]{request, }\item[{\hyperlink{classcore_1_1_session}{Session} $\ast$}]{session, }\item[{std\+::stringstream \&}]{data }\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. @@ -89,11 +95,11 @@ Returns 0 if execution of the command was successful. Otherwise returns a non-\/ \end{DoxyReturn} -Implements \hyperlink{classcore_1_1_command_a0b7ae77ea83e463193c52b2c502b7c56}{core\+::\+Command}. +Reimplemented from \hyperlink{classcore_1_1_command_ab4a70ec0e419038d9cb2ea14573b7bb6}{core\+::\+Command}. The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} \item -/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/Command\+List.\+h\item -/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/Command\+List.\+cpp\end{DoxyCompactItemize} +/home/bradarant/barant/\+Server\+Core/Command\+List.\+h\item +/home/bradarant/barant/\+Server\+Core/Command\+List.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/classcore_1_1_console_server.tex b/docs/latex/classcore_1_1_console_server.tex index 3d35cbc..fcfac4a 100644 --- a/docs/latex/classcore_1_1_console_server.tex +++ b/docs/latex/classcore_1_1_console_server.tex @@ -2,16 +2,18 @@ \label{classcore_1_1_console_server}\index{core\+::\+Console\+Server@{core\+::\+Console\+Server}} -Inheritance diagram for core\+:\+:Console\+Server\+:\nopagebreak +Inheritance diagram for core\+:\+:Console\+Server\+: +\nopagebreak \begin{figure}[H] \begin{center} \leavevmode -\includegraphics[width=276pt]{classcore_1_1_console_server__inherit__graph} +\includegraphics[width=350pt]{classcore_1_1_console_server__inherit__graph} \end{center} \end{figure} -Collaboration diagram for core\+:\+:Console\+Server\+:\nopagebreak +Collaboration diagram for core\+:\+:Console\+Server\+: +\nopagebreak \begin{figure}[H] \begin{center} \leavevmode @@ -21,37 +23,16 @@ Collaboration diagram for core\+:\+:Console\+Server\+:\nopagebreak \subsection*{Public Member Functions} \begin{DoxyCompactItemize} \item -\mbox{\Hypertarget{classcore_1_1_console_server_a755d93365110c9c616d431af7876dcf3}\label{classcore_1_1_console_server_a755d93365110c9c616d431af7876dcf3}} -{\bfseries Console\+Server} (\hyperlink{classcore_1_1_e_poll}{E\+Poll} \&e\+Poll, \hyperlink{classcore_1_1_service}{Service} service, \hyperlink{classcore_1_1_i_p_address}{I\+P\+Address} address) +\mbox{\Hypertarget{classcore_1_1_console_server_aac7f6d4833f74f77a61c49253b2b2059}\label{classcore_1_1_console_server_aac7f6d4833f74f77a61c49253b2b2059}} +{\bfseries Console\+Server} (\hyperlink{classcore_1_1_e_poll}{E\+Poll} \&e\+Poll, \hyperlink{classcore_1_1_service}{Service} \&\hyperlink{classcore_1_1_t_c_p_server_socket_a6506607f9b55337ed3ecaffe226cd099}{service}, \hyperlink{classcore_1_1_i_p_address}{I\+P\+Address} address) \item -\mbox{\Hypertarget{classcore_1_1_console_server_a70d21149bdc69d61a9a05ca34c0e2751}\label{classcore_1_1_console_server_a70d21149bdc69d61a9a05ca34c0e2751}} -void {\bfseries send\+To\+Connected\+Consoles} (std\+::string out) -\item -\mbox{\Hypertarget{classcore_1_1_console_server_a8c2cd23829acd76b76bef60c098eabe3}\label{classcore_1_1_console_server_a8c2cd23829acd76b76bef60c098eabe3}} -void \hyperlink{classcore_1_1_console_server_a8c2cd23829acd76b76bef60c098eabe3}{output} (\hyperlink{classcore_1_1_session}{Session} $\ast$session) override -\begin{DoxyCompactList}\small\item\em Output the consoles array to the console. \end{DoxyCompactList}\end{DoxyCompactItemize} -\subsection*{Protected Member Functions} -\begin{DoxyCompactItemize} -\item -\hyperlink{classcore_1_1_session}{Session} $\ast$ \hyperlink{classcore_1_1_console_server_ac1d498a7094fe69acc7b234efa296b1c}{get\+Socket\+Accept} () override +\mbox{\Hypertarget{classcore_1_1_console_server_ace482706881fd6cbec4e01534c091391}\label{classcore_1_1_console_server_ace482706881fd6cbec4e01534c091391}} +void {\bfseries log\+Send} (std\+::string out) override \end{DoxyCompactItemize} \subsection*{Additional Inherited Members} -\subsection{Member Function Documentation} -\mbox{\Hypertarget{classcore_1_1_console_server_ac1d498a7094fe69acc7b234efa296b1c}\label{classcore_1_1_console_server_ac1d498a7094fe69acc7b234efa296b1c}} -\index{core\+::\+Console\+Server@{core\+::\+Console\+Server}!get\+Socket\+Accept@{get\+Socket\+Accept}} -\index{get\+Socket\+Accept@{get\+Socket\+Accept}!core\+::\+Console\+Server@{core\+::\+Console\+Server}} -\subsubsection{\texorpdfstring{get\+Socket\+Accept()}{getSocketAccept()}} -{\footnotesize\ttfamily \hyperlink{classcore_1_1_session}{Session} $\ast$ core\+::\+Console\+Server\+::get\+Socket\+Accept (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [protected]}, {\ttfamily [virtual]}} - -get\+Socket\+Accept is designed to allow a polymorphic extension of this object to return a type of object that extends the definition of the server socket. Returning the appropriate session object that extends from B\+M\+A\+Session provides the mechanism where the server can select the protocol dialog for the desired service. - -Reimplemented from \hyperlink{classcore_1_1_t_c_p_server_socket_aafd7cefcecbcb32a22dfde86fcfeab63}{core\+::\+T\+C\+P\+Server\+Socket}. - - - The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} \item -/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/Console\+Server.\+h\item -/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/Console\+Server.\+cpp\end{DoxyCompactItemize} +/home/bradarant/barant/\+Server\+Core/Console\+Server.\+h\item +/home/bradarant/barant/\+Server\+Core/Console\+Server.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/classcore_1_1_console_server__coll__graph.md5 b/docs/latex/classcore_1_1_console_server__coll__graph.md5 index 9a7c61e..4a78b9a 100644 --- a/docs/latex/classcore_1_1_console_server__coll__graph.md5 +++ b/docs/latex/classcore_1_1_console_server__coll__graph.md5 @@ -1 +1 @@ -7e914ebb069162af34a3c82d92293701 \ No newline at end of file +f9db3e90e0d1f5ff6768315f94ffcc58 \ No newline at end of file diff --git a/docs/latex/classcore_1_1_console_server__coll__graph.pdf b/docs/latex/classcore_1_1_console_server__coll__graph.pdf index d57fc04..ca108c5 100644 Binary files a/docs/latex/classcore_1_1_console_server__coll__graph.pdf and b/docs/latex/classcore_1_1_console_server__coll__graph.pdf differ diff --git a/docs/latex/classcore_1_1_console_server__inherit__graph.md5 b/docs/latex/classcore_1_1_console_server__inherit__graph.md5 index a4d5f74..0a8c367 100644 --- a/docs/latex/classcore_1_1_console_server__inherit__graph.md5 +++ b/docs/latex/classcore_1_1_console_server__inherit__graph.md5 @@ -1 +1 @@ -b8f626b012e95f47c01033f89a13c6b3 \ No newline at end of file +c7741a8cdf5844d8da2bed56e24c7a9d \ No newline at end of file diff --git a/docs/latex/classcore_1_1_console_server__inherit__graph.pdf b/docs/latex/classcore_1_1_console_server__inherit__graph.pdf index 8132993..2845153 100644 Binary files a/docs/latex/classcore_1_1_console_server__inherit__graph.pdf and b/docs/latex/classcore_1_1_console_server__inherit__graph.pdf differ diff --git a/docs/latex/classcore_1_1_console_service.tex b/docs/latex/classcore_1_1_console_service.tex new file mode 100644 index 0000000..fdd8f96 --- /dev/null +++ b/docs/latex/classcore_1_1_console_service.tex @@ -0,0 +1,47 @@ +\hypertarget{classcore_1_1_console_service}{}\section{core\+:\+:Console\+Service Class Reference} +\label{classcore_1_1_console_service}\index{core\+::\+Console\+Service@{core\+::\+Console\+Service}} + + +Inheritance diagram for core\+:\+:Console\+Service\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=190pt]{classcore_1_1_console_service__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for core\+:\+:Console\+Service\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=249pt]{classcore_1_1_console_service__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\hyperlink{classcore_1_1_session}{Session} $\ast$ \hyperlink{classcore_1_1_console_service_a635816dc132cc76e019321e32095d56d}{get\+Socket\+Accept} (\hyperlink{classcore_1_1_e_poll}{E\+Poll} \&e\+Poll) override +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +\subsection{Member Function Documentation} +\mbox{\Hypertarget{classcore_1_1_console_service_a635816dc132cc76e019321e32095d56d}\label{classcore_1_1_console_service_a635816dc132cc76e019321e32095d56d}} +\index{core\+::\+Console\+Service@{core\+::\+Console\+Service}!get\+Socket\+Accept@{get\+Socket\+Accept}} +\index{get\+Socket\+Accept@{get\+Socket\+Accept}!core\+::\+Console\+Service@{core\+::\+Console\+Service}} +\subsubsection{\texorpdfstring{get\+Socket\+Accept()}{getSocketAccept()}} +{\footnotesize\ttfamily \hyperlink{classcore_1_1_session}{Session} $\ast$ core\+::\+Console\+Service\+::get\+Socket\+Accept (\begin{DoxyParamCaption}\item[{\hyperlink{classcore_1_1_e_poll}{E\+Poll} \&}]{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 \hyperlink{classcore_1_1_session}{Session} provides the mechanism where the server can select the protocol dialog for the desired service. + +Reimplemented from \hyperlink{classcore_1_1_service_aeeb0ef12a87998f5fc429b22ffb233da}{core\+::\+Service}. + + + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +/home/bradarant/barant/\+Server\+Core/Console\+Service.\+h\item +/home/bradarant/barant/\+Server\+Core/Console\+Service.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/classcore_1_1_console_service__coll__graph.md5 b/docs/latex/classcore_1_1_console_service__coll__graph.md5 new file mode 100644 index 0000000..9662d7d --- /dev/null +++ b/docs/latex/classcore_1_1_console_service__coll__graph.md5 @@ -0,0 +1 @@ +0727f0c5db197664138d86fb062f3b6e \ No newline at end of file diff --git a/docs/latex/classcore_1_1_console_service__coll__graph.pdf b/docs/latex/classcore_1_1_console_service__coll__graph.pdf new file mode 100644 index 0000000..911e3b5 Binary files /dev/null and b/docs/latex/classcore_1_1_console_service__coll__graph.pdf differ diff --git a/docs/latex/classcore_1_1_console_service__inherit__graph.md5 b/docs/latex/classcore_1_1_console_service__inherit__graph.md5 new file mode 100644 index 0000000..767a4d3 --- /dev/null +++ b/docs/latex/classcore_1_1_console_service__inherit__graph.md5 @@ -0,0 +1 @@ +41856b9d6510c31f24ad8c8af9035d59 \ No newline at end of file diff --git a/docs/latex/classcore_1_1_console_service__inherit__graph.pdf b/docs/latex/classcore_1_1_console_service__inherit__graph.pdf new file mode 100644 index 0000000..195e499 Binary files /dev/null and b/docs/latex/classcore_1_1_console_service__inherit__graph.pdf differ diff --git a/docs/latex/classcore_1_1_console_session.tex b/docs/latex/classcore_1_1_console_session.tex index d7c0a4f..0f80213 100644 --- a/docs/latex/classcore_1_1_console_session.tex +++ b/docs/latex/classcore_1_1_console_session.tex @@ -15,7 +15,8 @@ Inheritance diagram for core\+:\+:Console\+Session\+:\nopagebreak \end{figure} -Collaboration diagram for core\+:\+:Console\+Session\+:\nopagebreak +Collaboration diagram for core\+:\+:Console\+Session\+: +\nopagebreak \begin{figure}[H] \begin{center} \leavevmode @@ -28,8 +29,6 @@ Collaboration diagram for core\+:\+:Console\+Session\+:\nopagebreak \mbox{\Hypertarget{classcore_1_1_console_session_a236d8ef395d909acb0d5716cce5fff94}\label{classcore_1_1_console_session_a236d8ef395d909acb0d5716cce5fff94}} {\bfseries Console\+Session} (\hyperlink{classcore_1_1_e_poll}{E\+Poll} \&e\+Poll, \hyperlink{classcore_1_1_service}{Service} \&service) \item -virtual void \hyperlink{classcore_1_1_console_session_add592c8b803af65d25f83f7fa4a70078}{output} (std\+::stringstream \&out) -\item \mbox{\Hypertarget{classcore_1_1_console_session_a6e6b56503966f1cae5bdff8b3814e2b9}\label{classcore_1_1_console_session_a6e6b56503966f1cae5bdff8b3814e2b9}} void {\bfseries write\+Log} (std\+::string data) \end{DoxyCompactItemize} @@ -47,16 +46,6 @@ void \hyperlink{classcore_1_1_console_session_a830cc1e1e0c3fe3b066f0a9f7f469490} Extends the session parameters for this \hyperlink{classcore_1_1_t_c_p_socket}{T\+C\+P\+Socket} derived object. Extend the \hyperlink{classcore_1_1_console_session_a830cc1e1e0c3fe3b066f0a9f7f469490}{protocol()} method in order to define the behavior and protocol interaction for this socket which is a console session. \subsection{Member Function Documentation} -\mbox{\Hypertarget{classcore_1_1_console_session_add592c8b803af65d25f83f7fa4a70078}\label{classcore_1_1_console_session_add592c8b803af65d25f83f7fa4a70078}} -\index{core\+::\+Console\+Session@{core\+::\+Console\+Session}!output@{output}} -\index{output@{output}!core\+::\+Console\+Session@{core\+::\+Console\+Session}} -\subsubsection{\texorpdfstring{output()}{output()}} -{\footnotesize\ttfamily void core\+::\+Console\+Session\+::output (\begin{DoxyParamCaption}\item[{std\+::stringstream \&}]{out }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}} - -The output method is called by a socket session (B\+M\+A\+Session) and will output the detail information for the client socket. When extending B\+M\+A\+T\+C\+P\+Socket or B\+M\+A\+Session you can override the method to add attributes to the list. - -Reimplemented from \hyperlink{classcore_1_1_t_c_p_socket_afacf7528ff3c9ac077d7b5a49e2116fd}{core\+::\+T\+C\+P\+Socket}. - \mbox{\Hypertarget{classcore_1_1_console_session_a830cc1e1e0c3fe3b066f0a9f7f469490}\label{classcore_1_1_console_session_a830cc1e1e0c3fe3b066f0a9f7f469490}} \index{core\+::\+Console\+Session@{core\+::\+Console\+Session}!protocol@{protocol}} \index{protocol@{protocol}!core\+::\+Console\+Session@{core\+::\+Console\+Session}} @@ -71,5 +60,5 @@ Reimplemented from \hyperlink{classcore_1_1_session_a35b030a36e9e6c72cb4c643519e The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} \item -/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/Console\+Session.\+h\item -/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/Console\+Session.\+cpp\end{DoxyCompactItemize} +/home/bradarant/barant/\+Server\+Core/Console\+Session.\+h\item +/home/bradarant/barant/\+Server\+Core/Console\+Session.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/classcore_1_1_console_session__coll__graph.md5 b/docs/latex/classcore_1_1_console_session__coll__graph.md5 index c45e74b..5ba9ce0 100644 --- a/docs/latex/classcore_1_1_console_session__coll__graph.md5 +++ b/docs/latex/classcore_1_1_console_session__coll__graph.md5 @@ -1 +1 @@ -c01799d4e6b6aba1c04c0fc5315f4510 \ No newline at end of file +6a51891506608079a0babcb168777d73 \ No newline at end of file diff --git a/docs/latex/classcore_1_1_console_session__coll__graph.pdf b/docs/latex/classcore_1_1_console_session__coll__graph.pdf index d584c81..d7040f4 100644 Binary files a/docs/latex/classcore_1_1_console_session__coll__graph.pdf and b/docs/latex/classcore_1_1_console_session__coll__graph.pdf differ diff --git a/docs/latex/classcore_1_1_e_poll.tex b/docs/latex/classcore_1_1_e_poll.tex index 90c4df9..857577f 100644 --- a/docs/latex/classcore_1_1_e_poll.tex +++ b/docs/latex/classcore_1_1_e_poll.tex @@ -43,7 +43,7 @@ int \hyperlink{classcore_1_1_e_poll_a1e52017e1deae15c1c87c6b6a099e1ed}{get\+Desc \begin{DoxyCompactList}\small\item\em Return the descriptor for the e\+Poll socket. \end{DoxyCompactList}\item void \hyperlink{classcore_1_1_e_poll_a3238b150b5d0a57eb2e1b17daa236d3b}{event\+Received} (struct epoll\+\_\+event event) \begin{DoxyCompactList}\small\item\em Dispatch event to appropriate socket. \end{DoxyCompactList}\item -int \hyperlink{classcore_1_1_e_poll_a9e737b3cc07835cdcef0845fc748aa63}{process\+Command} (std\+::string command, \hyperlink{classcore_1_1_session}{Session} $\ast$session) override +int \hyperlink{classcore_1_1_e_poll_a49402a420f84c5465c1999da4a78799f}{process\+Command} (std\+::string command, \hyperlink{classcore_1_1_session}{Session} $\ast$session, std\+::stringstream \&data) override \begin{DoxyCompactList}\small\item\em Output the threads array to the console. \end{DoxyCompactList}\end{DoxyCompactItemize} \subsection*{Public Attributes} \begin{DoxyCompactItemize} @@ -111,17 +111,17 @@ Use this method to obtain the current descriptor socket number for the epoll fun Returns a true if the stop command has been requested. -This method returns a true if the \hyperlink{classcore_1_1_e_poll_a0c2865acd31d14fbf19dbc42cc084ddc}{stop()} method has been called and the epoll system is shutting. \mbox{\Hypertarget{classcore_1_1_e_poll_a9e737b3cc07835cdcef0845fc748aa63}\label{classcore_1_1_e_poll_a9e737b3cc07835cdcef0845fc748aa63}} +This method returns a true if the \hyperlink{classcore_1_1_e_poll_a0c2865acd31d14fbf19dbc42cc084ddc}{stop()} method has been called and the epoll system is shutting. \mbox{\Hypertarget{classcore_1_1_e_poll_a49402a420f84c5465c1999da4a78799f}\label{classcore_1_1_e_poll_a49402a420f84c5465c1999da4a78799f}} \index{core\+::\+E\+Poll@{core\+::\+E\+Poll}!process\+Command@{process\+Command}} \index{process\+Command@{process\+Command}!core\+::\+E\+Poll@{core\+::\+E\+Poll}} \subsubsection{\texorpdfstring{process\+Command()}{processCommand()}} -{\footnotesize\ttfamily int core\+::\+E\+Poll\+::process\+Command (\begin{DoxyParamCaption}\item[{std\+::string}]{command, }\item[{\hyperlink{classcore_1_1_session}{Session} $\ast$}]{session }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}} +{\footnotesize\ttfamily int core\+::\+E\+Poll\+::process\+Command (\begin{DoxyParamCaption}\item[{std\+::string}]{command, }\item[{\hyperlink{classcore_1_1_session}{Session} $\ast$}]{session, }\item[{std\+::stringstream \&}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}} Output the threads array to the console. -The \hyperlink{classcore_1_1_e_poll_a9e737b3cc07835cdcef0845fc748aa63}{process\+Command()} method displays the thread array to the requesting console via the session passed as parameter. +The \hyperlink{classcore_1_1_e_poll_a49402a420f84c5465c1999da4a78799f}{process\+Command()} method displays the thread array to the requesting console via the session passed as parameter. \begin{DoxyParams}{Parameters} @@ -130,7 +130,7 @@ The \hyperlink{classcore_1_1_e_poll_a9e737b3cc07835cdcef0845fc748aa63}{process\+ \end{DoxyParams} -Implements \hyperlink{classcore_1_1_command_a0b7ae77ea83e463193c52b2c502b7c56}{core\+::\+Command}. +Reimplemented from \hyperlink{classcore_1_1_command_ab4a70ec0e419038d9cb2ea14573b7bb6}{core\+::\+Command}. \mbox{\Hypertarget{classcore_1_1_e_poll_a3d813c7bbf0da70ebc8e3cb6aeeacfb4}\label{classcore_1_1_e_poll_a3d813c7bbf0da70ebc8e3cb6aeeacfb4}} \index{core\+::\+E\+Poll@{core\+::\+E\+Poll}!register\+Socket@{register\+Socket}} @@ -220,5 +220,5 @@ 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 -/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/E\+Poll.\+h\item -/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/E\+Poll.\+cpp\end{DoxyCompactItemize} +/home/bradarant/barant/\+Server\+Core/E\+Poll.\+h\item +/home/bradarant/barant/\+Server\+Core/E\+Poll.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/classcore_1_1_exception.tex b/docs/latex/classcore_1_1_exception.tex index 0d31fa8..b341dec 100644 --- a/docs/latex/classcore_1_1_exception.tex +++ b/docs/latex/classcore_1_1_exception.tex @@ -28,5 +28,5 @@ int {\bfseries error\+Number} The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} \item -/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/Exception.\+h\item -/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/Exception.\+cpp\end{DoxyCompactItemize} +/home/bradarant/barant/\+Server\+Core/Exception.\+h\item +/home/bradarant/barant/\+Server\+Core/Exception.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/classcore_1_1_file.tex b/docs/latex/classcore_1_1_file.tex index f16fbc8..73049bd 100644 --- a/docs/latex/classcore_1_1_file.tex +++ b/docs/latex/classcore_1_1_file.tex @@ -31,5 +31,5 @@ std\+::string {\bfseries file\+Name} The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} \item -/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/File.\+h\item -/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/File.\+cpp\end{DoxyCompactItemize} +/home/bradarant/barant/\+Server\+Core/File.\+h\item +/home/bradarant/barant/\+Server\+Core/File.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/classcore_1_1_i_p_address.tex b/docs/latex/classcore_1_1_i_p_address.tex index 36c7510..174d268 100644 --- a/docs/latex/classcore_1_1_i_p_address.tex +++ b/docs/latex/classcore_1_1_i_p_address.tex @@ -52,5 +52,5 @@ socklen\+\_\+t {\bfseries address\+Length} The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} \item -/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/I\+P\+Address.\+h\item -/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/I\+P\+Address.\+cpp\end{DoxyCompactItemize} +/home/bradarant/barant/\+Server\+Core/I\+P\+Address.\+h\item +/home/bradarant/barant/\+Server\+Core/I\+P\+Address.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/classcore_1_1_i_p_address_list.tex b/docs/latex/classcore_1_1_i_p_address_list.tex new file mode 100644 index 0000000..9d7e0b4 --- /dev/null +++ b/docs/latex/classcore_1_1_i_p_address_list.tex @@ -0,0 +1,23 @@ +\hypertarget{classcore_1_1_i_p_address_list}{}\section{core\+:\+:I\+P\+Address\+List Class Reference} +\label{classcore_1_1_i_p_address_list}\index{core\+::\+I\+P\+Address\+List@{core\+::\+I\+P\+Address\+List}} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{classcore_1_1_i_p_address_list_a740cf5f7e2633836b7a741b9f048036f}\label{classcore_1_1_i_p_address_list_a740cf5f7e2633836b7a741b9f048036f}} +std\+::map$<$ std\+::string, \hyperlink{classcore_1_1_i_p_address}{I\+P\+Address} $>$ {\bfseries get\+List} () +\item +\mbox{\Hypertarget{classcore_1_1_i_p_address_list_a6133d1065d28b5ceac4daf7f379b6a60}\label{classcore_1_1_i_p_address_list_a6133d1065d28b5ceac4daf7f379b6a60}} +bool {\bfseries add} (\hyperlink{classcore_1_1_i_p_address}{I\+P\+Address} ip\+Address) +\item +\mbox{\Hypertarget{classcore_1_1_i_p_address_list_a86e9890e15e8e0d87e34f36b637d5c40}\label{classcore_1_1_i_p_address_list_a86e9890e15e8e0d87e34f36b637d5c40}} +bool {\bfseries remove} (\hyperlink{classcore_1_1_i_p_address}{I\+P\+Address} ip\+Address) +\item +\mbox{\Hypertarget{classcore_1_1_i_p_address_list_add254c996687fd8f9ada0b5335e477cd}\label{classcore_1_1_i_p_address_list_add254c996687fd8f9ada0b5335e477cd}} +bool {\bfseries contains} (std\+::string ip\+Address) +\end{DoxyCompactItemize} + + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +/home/bradarant/barant/\+Server\+Core/I\+P\+Address\+List.\+h\item +/home/bradarant/barant/\+Server\+Core/I\+P\+Address\+List.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/classcore_1_1_log.tex b/docs/latex/classcore_1_1_log.tex index dc9be1c..e2e4971 100644 --- a/docs/latex/classcore_1_1_log.tex +++ b/docs/latex/classcore_1_1_log.tex @@ -15,7 +15,8 @@ Inheritance diagram for core\+:\+:Log\+:\nopagebreak \end{figure} -Collaboration diagram for core\+:\+:Log\+:\nopagebreak +Collaboration diagram for core\+:\+:Log\+: +\nopagebreak \begin{figure}[H] \begin{center} \leavevmode @@ -119,5 +120,5 @@ A meaningless sequenctial number that starts from -\/ at the beginning of the lo The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} \item -/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/Log.\+h\item -/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/Log.\+cpp\end{DoxyCompactItemize} +/home/bradarant/barant/\+Server\+Core/Log.\+h\item +/home/bradarant/barant/\+Server\+Core/Log.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/classcore_1_1_log__coll__graph.md5 b/docs/latex/classcore_1_1_log__coll__graph.md5 index 5b80548..fdbdd2c 100644 --- a/docs/latex/classcore_1_1_log__coll__graph.md5 +++ b/docs/latex/classcore_1_1_log__coll__graph.md5 @@ -1 +1 @@ -8e2dfaeb85e35549ecd487eb5ad8ca32 \ No newline at end of file +9791b02b1beb29861b139e4d66991845 \ No newline at end of file diff --git a/docs/latex/classcore_1_1_log__coll__graph.pdf b/docs/latex/classcore_1_1_log__coll__graph.pdf index fe54db0..1b3a253 100644 Binary files a/docs/latex/classcore_1_1_log__coll__graph.pdf and b/docs/latex/classcore_1_1_log__coll__graph.pdf differ diff --git a/docs/latex/classcore_1_1_object.tex b/docs/latex/classcore_1_1_object.tex index 04d749e..e6dd6c2 100644 --- a/docs/latex/classcore_1_1_object.tex +++ b/docs/latex/classcore_1_1_object.tex @@ -2,7 +2,8 @@ \label{classcore_1_1_object}\index{core\+::\+Object@{core\+::\+Object}} -Inheritance diagram for core\+:\+:Object\+:\nopagebreak +Inheritance diagram for core\+:\+:Object\+: +\nopagebreak \begin{figure}[H] \begin{center} \leavevmode @@ -22,4 +23,4 @@ std\+::string {\bfseries tag} The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} \item -/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/Object.\+h\end{DoxyCompactItemize} +/home/bradarant/barant/\+Server\+Core/Object.\+h\end{DoxyCompactItemize} diff --git a/docs/latex/classcore_1_1_object__inherit__graph.md5 b/docs/latex/classcore_1_1_object__inherit__graph.md5 index ada15da..73f308f 100644 --- a/docs/latex/classcore_1_1_object__inherit__graph.md5 +++ b/docs/latex/classcore_1_1_object__inherit__graph.md5 @@ -1 +1 @@ -3c9995b7f1863012da7b31ac28b7ec8a \ No newline at end of file +d2aeb77da989f1ac4450291d855883df \ No newline at end of file diff --git a/docs/latex/classcore_1_1_object__inherit__graph.pdf b/docs/latex/classcore_1_1_object__inherit__graph.pdf index 20a32a1..3be8198 100644 Binary files a/docs/latex/classcore_1_1_object__inherit__graph.pdf and b/docs/latex/classcore_1_1_object__inherit__graph.pdf differ diff --git a/docs/latex/classcore_1_1_service.tex b/docs/latex/classcore_1_1_service.tex index dc71e62..cbf6961 100644 --- a/docs/latex/classcore_1_1_service.tex +++ b/docs/latex/classcore_1_1_service.tex @@ -6,20 +6,22 @@ -Inheritance diagram for core\+:\+:Service\+:\nopagebreak +Inheritance diagram for core\+:\+:Service\+: +\nopagebreak \begin{figure}[H] \begin{center} \leavevmode -\includegraphics[width=172pt]{classcore_1_1_service__inherit__graph} +\includegraphics[width=300pt]{classcore_1_1_service__inherit__graph} \end{center} \end{figure} -Collaboration diagram for core\+:\+:Service\+:\nopagebreak +Collaboration diagram for core\+:\+:Service\+: +\nopagebreak \begin{figure}[H] \begin{center} \leavevmode -\includegraphics[width=350pt]{classcore_1_1_service__coll__graph} +\includegraphics[width=241pt]{classcore_1_1_service__coll__graph} \end{center} \end{figure} \subsection*{Public Member Functions} @@ -27,22 +29,22 @@ Collaboration diagram for core\+:\+:Service\+:\nopagebreak \item \hyperlink{classcore_1_1_service_a52f1c7c5fe2357fc21b9ff512e87cf64}{Service} () \item -\mbox{\Hypertarget{classcore_1_1_service_ac5adf574f3ac7bf8b89f8c79e9f75e8f}\label{classcore_1_1_service_ac5adf574f3ac7bf8b89f8c79e9f75e8f}} -virtual void {\bfseries init} (\hyperlink{classcore_1_1_t_c_p_server_socket}{T\+C\+P\+Server\+Socket} $\ast$\hyperlink{classcore_1_1_service_a1e630769962c2794bb15605d90c8e8fa}{server}) -\item \mbox{\Hypertarget{classcore_1_1_service_a26600d90900798a73e564539f6cd4dff}\label{classcore_1_1_service_a26600d90900798a73e564539f6cd4dff}} void {\bfseries remove\+From\+Session\+List} (\hyperlink{classcore_1_1_session}{Session} $\ast$session) \item \mbox{\Hypertarget{classcore_1_1_service_a94fffcdecb61d015f9d8eb8f9a36dcb8}\label{classcore_1_1_service_a94fffcdecb61d015f9d8eb8f9a36dcb8}} virtual void {\bfseries session\+Error\+Handler} (std\+::string error\+String, \hyperlink{classcore_1_1_session}{Session} $\ast$session) -\end{DoxyCompactItemize} +\item +virtual \hyperlink{classcore_1_1_session}{Session} $\ast$ \hyperlink{classcore_1_1_service_aeeb0ef12a87998f5fc429b22ffb233da}{get\+Socket\+Accept} (\hyperlink{classcore_1_1_e_poll}{E\+Poll} \&epoll) +\item +\mbox{\Hypertarget{classcore_1_1_service_abb28d7ff0f12109e582e6b9adf37f833}\label{classcore_1_1_service_abb28d7ff0f12109e582e6b9adf37f833}} +void \hyperlink{classcore_1_1_service_abb28d7ff0f12109e582e6b9adf37f833}{output} (\hyperlink{classcore_1_1_session}{Session} $\ast$session) override +\begin{DoxyCompactList}\small\item\em Output the consoles array to the console. \end{DoxyCompactList}\end{DoxyCompactItemize} \subsection*{Public Attributes} \begin{DoxyCompactItemize} \item std\+::vector$<$ \hyperlink{classcore_1_1_session}{Session} $\ast$ $>$ \hyperlink{classcore_1_1_service_acf2b5cb5da96a7b7478555e477f269a1}{sessions} \item -\hyperlink{classcore_1_1_t_c_p_server_socket}{T\+C\+P\+Server\+Socket} $\ast$ \hyperlink{classcore_1_1_service_a1e630769962c2794bb15605d90c8e8fa}{server} -\item \hyperlink{classcore_1_1_command_list}{Command\+List} \hyperlink{classcore_1_1_service_a09bbcbc7512240b24b51131b6e1f9366}{commands} \end{DoxyCompactItemize} @@ -50,7 +52,7 @@ std\+::vector$<$ \hyperlink{classcore_1_1_session}{Session} $\ast$ $>$ \hyperlin \subsection{Detailed Description} \hyperlink{classcore_1_1_service}{Service} -The \hyperlink{classcore_1_1_service}{Service} object is instantiated as a single object upon construction of the parent \hyperlink{classcore_1_1_t_c_p_server_socket}{T\+C\+P\+Server\+Socket} and is provided as a parameter whenever a new \hyperlink{classcore_1_1_session}{Session} object is created. It provides server level services to \hyperlink{classcore_1_1_command}{Command} handlers. +The \hyperlink{classcore_1_1_service}{Service} object is instantiated as a single object upon construction of the parent \hyperlink{classcore_1_1_t_c_p_server_socket}{T\+C\+P\+Server\+Socket} and is provided as a parameter whenever a new \hyperlink{classcore_1_1_session}{Session} object is created. It provides server level services to \hyperlink{classcore_1_1_command}{Command} handlers as well as determining the behavior of the socket. \subsection{Constructor \& Destructor Documentation} \mbox{\Hypertarget{classcore_1_1_service_a52f1c7c5fe2357fc21b9ff512e87cf64}\label{classcore_1_1_service_a52f1c7c5fe2357fc21b9ff512e87cf64}} @@ -68,6 +70,19 @@ Use this constructor to create a new \hyperlink{classcore_1_1_service}{Service} \end{DoxyParams} +\subsection{Member Function Documentation} +\mbox{\Hypertarget{classcore_1_1_service_aeeb0ef12a87998f5fc429b22ffb233da}\label{classcore_1_1_service_aeeb0ef12a87998f5fc429b22ffb233da}} +\index{core\+::\+Service@{core\+::\+Service}!get\+Socket\+Accept@{get\+Socket\+Accept}} +\index{get\+Socket\+Accept@{get\+Socket\+Accept}!core\+::\+Service@{core\+::\+Service}} +\subsubsection{\texorpdfstring{get\+Socket\+Accept()}{getSocketAccept()}} +{\footnotesize\ttfamily \hyperlink{classcore_1_1_session}{Session} $\ast$ core\+::\+Service\+::get\+Socket\+Accept (\begin{DoxyParamCaption}\item[{\hyperlink{classcore_1_1_e_poll}{E\+Poll} \&}]{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 \hyperlink{classcore_1_1_session}{Session} provides the mechanism where the server can select the protocol dialog for the desired service. + +Reimplemented in \hyperlink{classcore_1_1_console_service_a635816dc132cc76e019321e32095d56d}{core\+::\+Console\+Service}. + + + \subsection{Member Data Documentation} \mbox{\Hypertarget{classcore_1_1_service_a09bbcbc7512240b24b51131b6e1f9366}\label{classcore_1_1_service_a09bbcbc7512240b24b51131b6e1f9366}} \index{core\+::\+Service@{core\+::\+Service}!commands@{commands}} @@ -75,13 +90,7 @@ Use this constructor to create a new \hyperlink{classcore_1_1_service}{Service} \subsubsection{\texorpdfstring{commands}{commands}} {\footnotesize\ttfamily \hyperlink{classcore_1_1_command_list}{Command\+List} core\+::\+Service\+::commands} -The commands object is a \hyperlink{classcore_1_1_command_list}{Command\+List} and is used to store \hyperlink{classcore_1_1_command}{Command} objects to be parsed and run as data comes into the session. \mbox{\Hypertarget{classcore_1_1_service_a1e630769962c2794bb15605d90c8e8fa}\label{classcore_1_1_service_a1e630769962c2794bb15605d90c8e8fa}} -\index{core\+::\+Service@{core\+::\+Service}!server@{server}} -\index{server@{server}!core\+::\+Service@{core\+::\+Service}} -\subsubsection{\texorpdfstring{server}{server}} -{\footnotesize\ttfamily \hyperlink{classcore_1_1_t_c_p_server_socket}{T\+C\+P\+Server\+Socket}$\ast$ core\+::\+Service\+::server} - -The server that is associated to this \hyperlink{classcore_1_1_service}{Service} object. This provides access to the server values and methods through the \hyperlink{classcore_1_1_service}{Service} object which behaves as an interface. \mbox{\Hypertarget{classcore_1_1_service_acf2b5cb5da96a7b7478555e477f269a1}\label{classcore_1_1_service_acf2b5cb5da96a7b7478555e477f269a1}} +The commands object is a \hyperlink{classcore_1_1_command_list}{Command\+List} and is used to store \hyperlink{classcore_1_1_command}{Command} objects to be parsed and run as data comes into the session. \mbox{\Hypertarget{classcore_1_1_service_acf2b5cb5da96a7b7478555e477f269a1}\label{classcore_1_1_service_acf2b5cb5da96a7b7478555e477f269a1}} \index{core\+::\+Service@{core\+::\+Service}!sessions@{sessions}} \index{sessions@{sessions}!core\+::\+Service@{core\+::\+Service}} \subsubsection{\texorpdfstring{sessions}{sessions}} @@ -91,5 +100,5 @@ The list of sessions that are currently open and being maintained by this object The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} \item -/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/Service.\+h\item -/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/Service.\+cpp\end{DoxyCompactItemize} +/home/bradarant/barant/\+Server\+Core/Service.\+h\item +/home/bradarant/barant/\+Server\+Core/Service.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/classcore_1_1_service__coll__graph.md5 b/docs/latex/classcore_1_1_service__coll__graph.md5 index 7bb2114..d92b763 100644 --- a/docs/latex/classcore_1_1_service__coll__graph.md5 +++ b/docs/latex/classcore_1_1_service__coll__graph.md5 @@ -1 +1 @@ -f452bb5597e9db95ba24a712587b55a6 \ No newline at end of file +f7ba5a568cb2cc0a3f9becbcf87928ca \ No newline at end of file diff --git a/docs/latex/classcore_1_1_service__coll__graph.pdf b/docs/latex/classcore_1_1_service__coll__graph.pdf index 2479a35..6a3e497 100644 Binary files a/docs/latex/classcore_1_1_service__coll__graph.pdf and b/docs/latex/classcore_1_1_service__coll__graph.pdf differ diff --git a/docs/latex/classcore_1_1_service__inherit__graph.md5 b/docs/latex/classcore_1_1_service__inherit__graph.md5 index 95c68b7..6d37d99 100644 --- a/docs/latex/classcore_1_1_service__inherit__graph.md5 +++ b/docs/latex/classcore_1_1_service__inherit__graph.md5 @@ -1 +1 @@ -1ebb53dfd1a32d0dc5d71e51a90b6033 \ No newline at end of file +dd7efd2d29eca823692743b4aa7ee419 \ No newline at end of file diff --git a/docs/latex/classcore_1_1_service__inherit__graph.pdf b/docs/latex/classcore_1_1_service__inherit__graph.pdf index 9b8a650..bc00da3 100644 Binary files a/docs/latex/classcore_1_1_service__inherit__graph.pdf and b/docs/latex/classcore_1_1_service__inherit__graph.pdf differ diff --git a/docs/latex/classcore_1_1_session.tex b/docs/latex/classcore_1_1_session.tex index ab08ac0..69f10a4 100644 --- a/docs/latex/classcore_1_1_session.tex +++ b/docs/latex/classcore_1_1_session.tex @@ -15,7 +15,8 @@ Inheritance diagram for core\+:\+:Session\+:\nopagebreak \end{figure} -Collaboration diagram for core\+:\+:Session\+:\nopagebreak +Collaboration diagram for core\+:\+:Session\+: +\nopagebreak \begin{figure}[H] \begin{center} \leavevmode @@ -28,11 +29,7 @@ Collaboration diagram for core\+:\+:Session\+:\nopagebreak \mbox{\Hypertarget{classcore_1_1_session_aec54baa5b60cd7dd0e64a095a4e1a908}\label{classcore_1_1_session_aec54baa5b60cd7dd0e64a095a4e1a908}} {\bfseries Session} (\hyperlink{classcore_1_1_e_poll}{E\+Poll} \&e\+Poll, \hyperlink{classcore_1_1_service}{Service} \&service) \item -\mbox{\Hypertarget{classcore_1_1_session_ad797996bb98e500f1fe4e99ad9459460}\label{classcore_1_1_session_ad797996bb98e500f1fe4e99ad9459460}} -virtual void {\bfseries init} () -\item -\mbox{\Hypertarget{classcore_1_1_session_ac9fb5df9a6fbf1079cd42e7383c9295d}\label{classcore_1_1_session_ac9fb5df9a6fbf1079cd42e7383c9295d}} -virtual void {\bfseries output} (\hyperlink{classcore_1_1_session}{Session} $\ast$session) +virtual void \hyperlink{classcore_1_1_session_a2813939a9b7b79ebe1963a0b11a374b2}{output} (std\+::stringstream \&data) \item void \hyperlink{classcore_1_1_session_af78d7caeea09924ee5227490c15aecfc}{send} () \item @@ -102,6 +99,20 @@ The on\+Data\+Received method is called when the socket has received an event fr Implements \hyperlink{classcore_1_1_socket_add22bdee877319a372db2fd707dc5a1c}{core\+::\+Socket}. +\mbox{\Hypertarget{classcore_1_1_session_a2813939a9b7b79ebe1963a0b11a374b2}\label{classcore_1_1_session_a2813939a9b7b79ebe1963a0b11a374b2}} +\index{core\+::\+Session@{core\+::\+Session}!output@{output}} +\index{output@{output}!core\+::\+Session@{core\+::\+Session}} +\subsubsection{\texorpdfstring{output()}{output()}} +{\footnotesize\ttfamily void core\+::\+Session\+::output (\begin{DoxyParamCaption}\item[{std\+::stringstream \&}]{out }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}} + +The output method is called by a socket session (B\+M\+A\+Session) and will output the detail information for the client socket. When extending B\+M\+A\+T\+C\+P\+Socket or B\+M\+A\+Session you can override the method to add attributes to the list. + +Reimplemented from \hyperlink{classcore_1_1_t_c_p_socket_afacf7528ff3c9ac077d7b5a49e2116fd}{core\+::\+T\+C\+P\+Socket}. + + + +Reimplemented in \hyperlink{classcore_1_1_t_l_s_session_ae55de8a035d1ddc560cf619b2030af43}{core\+::\+T\+L\+S\+Session}. + \mbox{\Hypertarget{classcore_1_1_session_a35b030a36e9e6c72cb4c643519e8e55b}\label{classcore_1_1_session_a35b030a36e9e6c72cb4c643519e8e55b}} \index{core\+::\+Session@{core\+::\+Session}!protocol@{protocol}} \index{protocol@{protocol}!core\+::\+Session@{core\+::\+Session}} @@ -134,5 +145,5 @@ Use this send\+To\+All method to output the contents of the out stream to all th The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} \item -/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/Session.\+h\item -/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/Session.\+cpp\end{DoxyCompactItemize} +/home/bradarant/barant/\+Server\+Core/Session.\+h\item +/home/bradarant/barant/\+Server\+Core/Session.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/classcore_1_1_session__coll__graph.md5 b/docs/latex/classcore_1_1_session__coll__graph.md5 index c81fa9b..05666c7 100644 --- a/docs/latex/classcore_1_1_session__coll__graph.md5 +++ b/docs/latex/classcore_1_1_session__coll__graph.md5 @@ -1 +1 @@ -1450b286ca8a5155dc4a22a351c48d7d \ No newline at end of file +ad3bc7e3810fb103c2b1bc54028b2396 \ No newline at end of file diff --git a/docs/latex/classcore_1_1_session__coll__graph.pdf b/docs/latex/classcore_1_1_session__coll__graph.pdf index 269ef8c..9f4fc97 100644 Binary files a/docs/latex/classcore_1_1_session__coll__graph.pdf and b/docs/latex/classcore_1_1_session__coll__graph.pdf differ diff --git a/docs/latex/classcore_1_1_session_filter.tex b/docs/latex/classcore_1_1_session_filter.tex index c51431b..cc0a52e 100644 --- a/docs/latex/classcore_1_1_session_filter.tex +++ b/docs/latex/classcore_1_1_session_filter.tex @@ -29,4 +29,4 @@ virtual bool {\bfseries test} (\hyperlink{classcore_1_1_session}{Session} \&sess The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} \item -/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/Session\+Filter.\+h\end{DoxyCompactItemize} +/home/bradarant/barant/\+Server\+Core/Session\+Filter.\+h\end{DoxyCompactItemize} diff --git a/docs/latex/classcore_1_1_socket.tex b/docs/latex/classcore_1_1_socket.tex index 5671735..71a2d95 100644 --- a/docs/latex/classcore_1_1_socket.tex +++ b/docs/latex/classcore_1_1_socket.tex @@ -28,6 +28,9 @@ Collaboration diagram for core\+:\+:Socket\+:\nopagebreak \mbox{\Hypertarget{classcore_1_1_socket_a0009f3813f6d64285f3dad602e4e01cf}\label{classcore_1_1_socket_a0009f3813f6d64285f3dad602e4e01cf}} {\bfseries Socket} (\hyperlink{classcore_1_1_e_poll}{E\+Poll} \&e\+Poll) \item +\mbox{\Hypertarget{classcore_1_1_socket_a5809d4805615c23d49aea224cb20a380}\label{classcore_1_1_socket_a5809d4805615c23d49aea224cb20a380}} +void {\bfseries shutdown} () +\item \mbox{\Hypertarget{classcore_1_1_socket_ac44f6ae3196a8a3e09a6a85fcf495762}\label{classcore_1_1_socket_ac44f6ae3196a8a3e09a6a85fcf495762}} void \hyperlink{classcore_1_1_socket_ac44f6ae3196a8a3e09a6a85fcf495762}{set\+Descriptor} (int descriptor) \begin{DoxyCompactList}\small\item\em Set the descriptor for the socket. \end{DoxyCompactList}\item @@ -74,9 +77,6 @@ virtual void {\bfseries on\+T\+L\+S\+Init} () \item virtual void \hyperlink{classcore_1_1_socket_add22bdee877319a372db2fd707dc5a1c}{on\+Data\+Received} (std\+::string data)=0 \begin{DoxyCompactList}\small\item\em Called when data is received from the socket. \end{DoxyCompactList}\item -\mbox{\Hypertarget{classcore_1_1_socket_a5809d4805615c23d49aea224cb20a380}\label{classcore_1_1_socket_a5809d4805615c23d49aea224cb20a380}} -void {\bfseries shutdown} () -\item virtual void \hyperlink{classcore_1_1_socket_af455ec6f793473f529507af26aa54695}{receive\+Data} (char $\ast$buffer, int buffer\+Length) \end{DoxyCompactItemize} \subsection*{Protected Attributes} @@ -191,5 +191,5 @@ Write data to the socket. The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} \item -/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/Socket.\+h\item -/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/Socket.\+cpp\end{DoxyCompactItemize} +/home/bradarant/barant/\+Server\+Core/Socket.\+h\item +/home/bradarant/barant/\+Server\+Core/Socket.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/classcore_1_1_t_c_p_server_socket.tex b/docs/latex/classcore_1_1_t_c_p_server_socket.tex index f00654b..e3ebdf1 100644 --- a/docs/latex/classcore_1_1_t_c_p_server_socket.tex +++ b/docs/latex/classcore_1_1_t_c_p_server_socket.tex @@ -15,7 +15,8 @@ Inheritance diagram for core\+:\+:T\+C\+P\+Server\+Socket\+:\nopagebreak \end{figure} -Collaboration diagram for core\+:\+:T\+C\+P\+Server\+Socket\+:\nopagebreak +Collaboration diagram for core\+:\+:T\+C\+P\+Server\+Socket\+: +\nopagebreak \begin{figure}[H] \begin{center} \leavevmode @@ -25,24 +26,25 @@ Collaboration diagram for core\+:\+:T\+C\+P\+Server\+Socket\+:\nopagebreak \subsection*{Public Member Functions} \begin{DoxyCompactItemize} \item -\hyperlink{classcore_1_1_t_c_p_server_socket_af586f06e73a8485bc8f1c5324a90904d}{T\+C\+P\+Server\+Socket} (\hyperlink{classcore_1_1_e_poll}{E\+Poll} \&e\+Poll, \hyperlink{classcore_1_1_service}{Service} service, \hyperlink{classcore_1_1_i_p_address}{I\+P\+Address} address) +\hyperlink{classcore_1_1_t_c_p_server_socket_a141f91e2a1d4b348204e99688976d08e}{T\+C\+P\+Server\+Socket} (\hyperlink{classcore_1_1_e_poll}{E\+Poll} \&e\+Poll, \hyperlink{classcore_1_1_service}{Service} \&\hyperlink{classcore_1_1_t_c_p_server_socket_a6506607f9b55337ed3ecaffe226cd099}{service}, \hyperlink{classcore_1_1_i_p_address}{I\+P\+Address} address) \item \hyperlink{classcore_1_1_t_c_p_server_socket_aa2b1403757821701ff411662a3e04ab5}{$\sim$\+T\+C\+P\+Server\+Socket} () \end{DoxyCompactItemize} \subsection*{Public Attributes} \begin{DoxyCompactItemize} \item -\mbox{\Hypertarget{classcore_1_1_t_c_p_server_socket_a6506607f9b55337ed3ecaffe226cd099}\label{classcore_1_1_t_c_p_server_socket_a6506607f9b55337ed3ecaffe226cd099}} -\hyperlink{classcore_1_1_service}{Service} \& {\bfseries service} +\hyperlink{classcore_1_1_service}{Service} \& \hyperlink{classcore_1_1_t_c_p_server_socket_a6506607f9b55337ed3ecaffe226cd099}{service} +\item +\hyperlink{classcore_1_1_i_p_address_list}{I\+P\+Address\+List} $\ast$ \hyperlink{classcore_1_1_t_c_p_server_socket_a7d15f14da22cfd2421cf5f74d7401b63}{black\+List} +\item +\hyperlink{classcore_1_1_i_p_address_list}{I\+P\+Address\+List} $\ast$ \hyperlink{classcore_1_1_t_c_p_server_socket_a93b82e8956e89ae8e39d97a81ebc65d7}{white\+List} \end{DoxyCompactItemize} \subsection*{Protected Member Functions} \begin{DoxyCompactItemize} \item -virtual \hyperlink{classcore_1_1_session}{Session} $\ast$ \hyperlink{classcore_1_1_t_c_p_server_socket_aafd7cefcecbcb32a22dfde86fcfeab63}{get\+Socket\+Accept} () -\item void \hyperlink{classcore_1_1_t_c_p_server_socket_ab6654ac0712442fd860ec26c70bde8aa}{on\+Data\+Received} (std\+::string data) override \item -int \hyperlink{classcore_1_1_t_c_p_server_socket_ae8a5a29ab10c86b85e709cc9ecfc99e5}{process\+Command} (std\+::string command, \hyperlink{classcore_1_1_session}{Session} $\ast$session) override +int \hyperlink{classcore_1_1_t_c_p_server_socket_a0433eea0645d32bb3d28e1ed782a6bdb}{process\+Command} (std\+::string command, \hyperlink{classcore_1_1_session}{Session} $\ast$session, std\+::stringstream \&data) override \end{DoxyCompactItemize} \subsection*{Additional Inherited Members} @@ -57,11 +59,11 @@ A list of connections is maintained in a vector object. This object extends the B\+M\+A\+Command object as well so it can be added to a Console object and process commands to display status information. \subsection{Constructor \& Destructor Documentation} -\mbox{\Hypertarget{classcore_1_1_t_c_p_server_socket_af586f06e73a8485bc8f1c5324a90904d}\label{classcore_1_1_t_c_p_server_socket_af586f06e73a8485bc8f1c5324a90904d}} +\mbox{\Hypertarget{classcore_1_1_t_c_p_server_socket_a141f91e2a1d4b348204e99688976d08e}\label{classcore_1_1_t_c_p_server_socket_a141f91e2a1d4b348204e99688976d08e}} \index{core\+::\+T\+C\+P\+Server\+Socket@{core\+::\+T\+C\+P\+Server\+Socket}!T\+C\+P\+Server\+Socket@{T\+C\+P\+Server\+Socket}} \index{T\+C\+P\+Server\+Socket@{T\+C\+P\+Server\+Socket}!core\+::\+T\+C\+P\+Server\+Socket@{core\+::\+T\+C\+P\+Server\+Socket}} \subsubsection{\texorpdfstring{T\+C\+P\+Server\+Socket()}{TCPServerSocket()}} -{\footnotesize\ttfamily core\+::\+T\+C\+P\+Server\+Socket\+::\+T\+C\+P\+Server\+Socket (\begin{DoxyParamCaption}\item[{\hyperlink{classcore_1_1_e_poll}{E\+Poll} \&}]{e\+Poll, }\item[{\hyperlink{classcore_1_1_service}{Service}}]{service, }\item[{\hyperlink{classcore_1_1_i_p_address}{I\+P\+Address}}]{address }\end{DoxyParamCaption})} +{\footnotesize\ttfamily core\+::\+T\+C\+P\+Server\+Socket\+::\+T\+C\+P\+Server\+Socket (\begin{DoxyParamCaption}\item[{\hyperlink{classcore_1_1_e_poll}{E\+Poll} \&}]{e\+Poll, }\item[{\hyperlink{classcore_1_1_service}{Service} \&}]{service, }\item[{\hyperlink{classcore_1_1_i_p_address}{I\+P\+Address}}]{address }\end{DoxyParamCaption})} The constructor for the B\+M\+A\+T\+C\+P\+Socket object. @@ -88,16 +90,6 @@ the instance of the B\+M\+A\+T\+C\+P\+Server\+Socket. The destructor for this object. \subsection{Member Function Documentation} -\mbox{\Hypertarget{classcore_1_1_t_c_p_server_socket_aafd7cefcecbcb32a22dfde86fcfeab63}\label{classcore_1_1_t_c_p_server_socket_aafd7cefcecbcb32a22dfde86fcfeab63}} -\index{core\+::\+T\+C\+P\+Server\+Socket@{core\+::\+T\+C\+P\+Server\+Socket}!get\+Socket\+Accept@{get\+Socket\+Accept}} -\index{get\+Socket\+Accept@{get\+Socket\+Accept}!core\+::\+T\+C\+P\+Server\+Socket@{core\+::\+T\+C\+P\+Server\+Socket}} -\subsubsection{\texorpdfstring{get\+Socket\+Accept()}{getSocketAccept()}} -{\footnotesize\ttfamily \hyperlink{classcore_1_1_session}{Session} $\ast$ core\+::\+T\+C\+P\+Server\+Socket\+::get\+Socket\+Accept (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}} - -get\+Socket\+Accept is designed to allow a polymorphic extension of this object to return a type of object that extends the definition of the server socket. Returning the appropriate session object that extends from B\+M\+A\+Session provides the mechanism where the server can select the protocol dialog for the desired service. - -Reimplemented in \hyperlink{classcore_1_1_t_l_s_server_socket_a954541082a39b7b417b3cd741ed4eea6}{core\+::\+T\+L\+S\+Server\+Socket}, and \hyperlink{classcore_1_1_console_server_ac1d498a7094fe69acc7b234efa296b1c}{core\+::\+Console\+Server}. - \mbox{\Hypertarget{classcore_1_1_t_c_p_server_socket_ab6654ac0712442fd860ec26c70bde8aa}\label{classcore_1_1_t_c_p_server_socket_ab6654ac0712442fd860ec26c70bde8aa}} \index{core\+::\+T\+C\+P\+Server\+Socket@{core\+::\+T\+C\+P\+Server\+Socket}!on\+Data\+Received@{on\+Data\+Received}} \index{on\+Data\+Received@{on\+Data\+Received}!core\+::\+T\+C\+P\+Server\+Socket@{core\+::\+T\+C\+P\+Server\+Socket}} @@ -117,11 +109,11 @@ Override the virtual data\+Received since for the server these are requests to a Implements \hyperlink{classcore_1_1_socket_add22bdee877319a372db2fd707dc5a1c}{core\+::\+Socket}. -\mbox{\Hypertarget{classcore_1_1_t_c_p_server_socket_ae8a5a29ab10c86b85e709cc9ecfc99e5}\label{classcore_1_1_t_c_p_server_socket_ae8a5a29ab10c86b85e709cc9ecfc99e5}} +\mbox{\Hypertarget{classcore_1_1_t_c_p_server_socket_a0433eea0645d32bb3d28e1ed782a6bdb}\label{classcore_1_1_t_c_p_server_socket_a0433eea0645d32bb3d28e1ed782a6bdb}} \index{core\+::\+T\+C\+P\+Server\+Socket@{core\+::\+T\+C\+P\+Server\+Socket}!process\+Command@{process\+Command}} \index{process\+Command@{process\+Command}!core\+::\+T\+C\+P\+Server\+Socket@{core\+::\+T\+C\+P\+Server\+Socket}} \subsubsection{\texorpdfstring{process\+Command()}{processCommand()}} -{\footnotesize\ttfamily int core\+::\+T\+C\+P\+Server\+Socket\+::process\+Command (\begin{DoxyParamCaption}\item[{std\+::string}]{command, }\item[{\hyperlink{classcore_1_1_session}{Session} $\ast$}]{session }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [protected]}, {\ttfamily [virtual]}} +{\footnotesize\ttfamily int core\+::\+T\+C\+P\+Server\+Socket\+::process\+Command (\begin{DoxyParamCaption}\item[{std\+::string}]{command, }\item[{\hyperlink{classcore_1_1_session}{Session} $\ast$}]{session, }\item[{std\+::stringstream \&}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [protected]}, {\ttfamily [virtual]}} This method is called when the \hyperlink{classcore_1_1_command}{Command} associated with this object is requested because a user has typed in the associated command name on a command entry line. @@ -132,11 +124,32 @@ This method is called when the \hyperlink{classcore_1_1_command}{Command} associ \end{DoxyParams} -Implements \hyperlink{classcore_1_1_command_a0b7ae77ea83e463193c52b2c502b7c56}{core\+::\+Command}. +Reimplemented from \hyperlink{classcore_1_1_command_ab4a70ec0e419038d9cb2ea14573b7bb6}{core\+::\+Command}. +\subsection{Member Data Documentation} +\mbox{\Hypertarget{classcore_1_1_t_c_p_server_socket_a7d15f14da22cfd2421cf5f74d7401b63}\label{classcore_1_1_t_c_p_server_socket_a7d15f14da22cfd2421cf5f74d7401b63}} +\index{core\+::\+T\+C\+P\+Server\+Socket@{core\+::\+T\+C\+P\+Server\+Socket}!black\+List@{black\+List}} +\index{black\+List@{black\+List}!core\+::\+T\+C\+P\+Server\+Socket@{core\+::\+T\+C\+P\+Server\+Socket}} +\subsubsection{\texorpdfstring{black\+List}{blackList}} +{\footnotesize\ttfamily \hyperlink{classcore_1_1_i_p_address_list}{I\+P\+Address\+List}$\ast$ core\+::\+T\+C\+P\+Server\+Socket\+::black\+List} + +If not N\+U\+LL 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_1_t_c_p_server_socket_a6506607f9b55337ed3ecaffe226cd099}\label{classcore_1_1_t_c_p_server_socket_a6506607f9b55337ed3ecaffe226cd099}} +\index{core\+::\+T\+C\+P\+Server\+Socket@{core\+::\+T\+C\+P\+Server\+Socket}!service@{service}} +\index{service@{service}!core\+::\+T\+C\+P\+Server\+Socket@{core\+::\+T\+C\+P\+Server\+Socket}} +\subsubsection{\texorpdfstring{service}{service}} +{\footnotesize\ttfamily \hyperlink{classcore_1_1_service}{Service}\& core\+::\+T\+C\+P\+Server\+Socket\+::service} + +The service object reference used to access associated server information such as sessions and other extended managers. \mbox{\Hypertarget{classcore_1_1_t_c_p_server_socket_a93b82e8956e89ae8e39d97a81ebc65d7}\label{classcore_1_1_t_c_p_server_socket_a93b82e8956e89ae8e39d97a81ebc65d7}} +\index{core\+::\+T\+C\+P\+Server\+Socket@{core\+::\+T\+C\+P\+Server\+Socket}!white\+List@{white\+List}} +\index{white\+List@{white\+List}!core\+::\+T\+C\+P\+Server\+Socket@{core\+::\+T\+C\+P\+Server\+Socket}} +\subsubsection{\texorpdfstring{white\+List}{whiteList}} +{\footnotesize\ttfamily \hyperlink{classcore_1_1_i_p_address_list}{I\+P\+Address\+List}$\ast$ core\+::\+T\+C\+P\+Server\+Socket\+::white\+List} + +If not N\+U\+LL 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 -/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/T\+C\+P\+Server\+Socket.\+h\item -/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/T\+C\+P\+Server\+Socket.\+cpp\end{DoxyCompactItemize} +/home/bradarant/barant/\+Server\+Core/T\+C\+P\+Server\+Socket.\+h\item +/home/bradarant/barant/\+Server\+Core/T\+C\+P\+Server\+Socket.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/classcore_1_1_t_c_p_server_socket__coll__graph.md5 b/docs/latex/classcore_1_1_t_c_p_server_socket__coll__graph.md5 index 2d005c3..ec6fa1f 100644 --- a/docs/latex/classcore_1_1_t_c_p_server_socket__coll__graph.md5 +++ b/docs/latex/classcore_1_1_t_c_p_server_socket__coll__graph.md5 @@ -1 +1 @@ -48d75962e12923ab17a9afda1e6eec7f \ No newline at end of file +19135be31d21eae7e9308cef765433d5 \ No newline at end of file diff --git a/docs/latex/classcore_1_1_t_c_p_server_socket__coll__graph.pdf b/docs/latex/classcore_1_1_t_c_p_server_socket__coll__graph.pdf index 6a6bee7..d9d4a38 100644 Binary files a/docs/latex/classcore_1_1_t_c_p_server_socket__coll__graph.pdf and b/docs/latex/classcore_1_1_t_c_p_server_socket__coll__graph.pdf differ diff --git a/docs/latex/classcore_1_1_t_c_p_socket.tex b/docs/latex/classcore_1_1_t_c_p_socket.tex index 52a6211..af876bb 100644 --- a/docs/latex/classcore_1_1_t_c_p_socket.tex +++ b/docs/latex/classcore_1_1_t_c_p_socket.tex @@ -58,11 +58,11 @@ For accessing T\+CP network functions use this object. The connection oriented n The output method is called by a socket session (B\+M\+A\+Session) and will output the detail information for the client socket. When extending B\+M\+A\+T\+C\+P\+Socket or B\+M\+A\+Session you can override the method to add attributes to the list. -Reimplemented in \hyperlink{classcore_1_1_t_l_s_session_ae55de8a035d1ddc560cf619b2030af43}{core\+::\+T\+L\+S\+Session}, and \hyperlink{classcore_1_1_console_session_add592c8b803af65d25f83f7fa4a70078}{core\+::\+Console\+Session}. +Reimplemented in \hyperlink{classcore_1_1_t_l_s_session_ae55de8a035d1ddc560cf619b2030af43}{core\+::\+T\+L\+S\+Session}, and \hyperlink{classcore_1_1_session_a2813939a9b7b79ebe1963a0b11a374b2}{core\+::\+Session}. The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} \item -/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/T\+C\+P\+Socket.\+h\item -/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/T\+C\+P\+Socket.\+cpp\end{DoxyCompactItemize} +/home/bradarant/barant/\+Server\+Core/T\+C\+P\+Socket.\+h\item +/home/bradarant/barant/\+Server\+Core/T\+C\+P\+Socket.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/classcore_1_1_t_l_s_server_socket.tex b/docs/latex/classcore_1_1_t_l_s_server_socket.tex index 1040b8c..e7457a7 100644 --- a/docs/latex/classcore_1_1_t_l_s_server_socket.tex +++ b/docs/latex/classcore_1_1_t_l_s_server_socket.tex @@ -15,7 +15,8 @@ Inheritance diagram for core\+:\+:T\+L\+S\+Server\+Socket\+:\nopagebreak \end{figure} -Collaboration diagram for core\+:\+:T\+L\+S\+Server\+Socket\+:\nopagebreak +Collaboration diagram for core\+:\+:T\+L\+S\+Server\+Socket\+: +\nopagebreak \begin{figure}[H] \begin{center} \leavevmode @@ -25,15 +26,10 @@ Collaboration diagram for core\+:\+:T\+L\+S\+Server\+Socket\+:\nopagebreak \subsection*{Public Member Functions} \begin{DoxyCompactItemize} \item -\hyperlink{classcore_1_1_t_l_s_server_socket_aafd9d602021c32ad0c36ea561c6899d5}{T\+L\+S\+Server\+Socket} (\hyperlink{classcore_1_1_e_poll}{E\+Poll} \&e\+Poll, \hyperlink{classcore_1_1_service}{Service} service, \hyperlink{classcore_1_1_i_p_address}{I\+P\+Address} address) +\hyperlink{classcore_1_1_t_l_s_server_socket_aafd9d602021c32ad0c36ea561c6899d5}{T\+L\+S\+Server\+Socket} (\hyperlink{classcore_1_1_e_poll}{E\+Poll} \&e\+Poll, \hyperlink{classcore_1_1_service}{Service} \hyperlink{classcore_1_1_t_c_p_server_socket_a6506607f9b55337ed3ecaffe226cd099}{service}, \hyperlink{classcore_1_1_i_p_address}{I\+P\+Address} address) \item \hyperlink{classcore_1_1_t_l_s_server_socket_a2433e0cbc0a9edfef1fe9c07b0e74b3d}{$\sim$\+T\+L\+S\+Server\+Socket} () \end{DoxyCompactItemize} -\subsection*{Protected Member Functions} -\begin{DoxyCompactItemize} -\item -\hyperlink{classcore_1_1_session}{Session} $\ast$ \hyperlink{classcore_1_1_t_l_s_server_socket_a954541082a39b7b417b3cd741ed4eea6}{get\+Socket\+Accept} () override -\end{DoxyCompactItemize} \subsection*{Additional Inherited Members} @@ -73,20 +69,7 @@ the instance of the B\+M\+A\+T\+L\+S\+Server\+Socket. The destructor for this object. -\subsection{Member Function Documentation} -\mbox{\Hypertarget{classcore_1_1_t_l_s_server_socket_a954541082a39b7b417b3cd741ed4eea6}\label{classcore_1_1_t_l_s_server_socket_a954541082a39b7b417b3cd741ed4eea6}} -\index{core\+::\+T\+L\+S\+Server\+Socket@{core\+::\+T\+L\+S\+Server\+Socket}!get\+Socket\+Accept@{get\+Socket\+Accept}} -\index{get\+Socket\+Accept@{get\+Socket\+Accept}!core\+::\+T\+L\+S\+Server\+Socket@{core\+::\+T\+L\+S\+Server\+Socket}} -\subsubsection{\texorpdfstring{get\+Socket\+Accept()}{getSocketAccept()}} -{\footnotesize\ttfamily \hyperlink{classcore_1_1_session}{Session} $\ast$ core\+::\+T\+L\+S\+Server\+Socket\+::get\+Socket\+Accept (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [protected]}, {\ttfamily [virtual]}} - -get\+Socket\+Accept is designed to allow a polymorphic extension of this object to return a type of object that extends the definition of the server socket. Returning the appropriate session object that extends from B\+M\+A\+Session provides the mechanism where the server can select the protocol dialog for the desired service. - -Reimplemented from \hyperlink{classcore_1_1_t_c_p_server_socket_aafd7cefcecbcb32a22dfde86fcfeab63}{core\+::\+T\+C\+P\+Server\+Socket}. - - - The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} \item -/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/T\+L\+S\+Server\+Socket.\+h\item -/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/T\+L\+S\+Server\+Socket.\+cpp\end{DoxyCompactItemize} +/home/bradarant/barant/\+Server\+Core/T\+L\+S\+Server\+Socket.\+h\item +/home/bradarant/barant/\+Server\+Core/T\+L\+S\+Server\+Socket.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/classcore_1_1_t_l_s_server_socket__coll__graph.md5 b/docs/latex/classcore_1_1_t_l_s_server_socket__coll__graph.md5 index 64b92df..514ebc9 100644 --- a/docs/latex/classcore_1_1_t_l_s_server_socket__coll__graph.md5 +++ b/docs/latex/classcore_1_1_t_l_s_server_socket__coll__graph.md5 @@ -1 +1 @@ -87f6a63cc7dd8aed34372501421ca3fe \ No newline at end of file +636329bc896bb56c10fb4a7cfd5dd36d \ No newline at end of file diff --git a/docs/latex/classcore_1_1_t_l_s_server_socket__coll__graph.pdf b/docs/latex/classcore_1_1_t_l_s_server_socket__coll__graph.pdf index 6533453..9125df5 100644 Binary files a/docs/latex/classcore_1_1_t_l_s_server_socket__coll__graph.pdf and b/docs/latex/classcore_1_1_t_l_s_server_socket__coll__graph.pdf differ diff --git a/docs/latex/classcore_1_1_t_l_s_service.tex b/docs/latex/classcore_1_1_t_l_s_service.tex index 6ba6dfa..b88644f 100644 --- a/docs/latex/classcore_1_1_t_l_s_service.tex +++ b/docs/latex/classcore_1_1_t_l_s_service.tex @@ -2,7 +2,8 @@ \label{classcore_1_1_t_l_s_service}\index{core\+::\+T\+L\+S\+Service@{core\+::\+T\+L\+S\+Service}} -Inheritance diagram for core\+:\+:T\+L\+S\+Service\+:\nopagebreak +Inheritance diagram for core\+:\+:T\+L\+S\+Service\+: +\nopagebreak \begin{figure}[H] \begin{center} \leavevmode @@ -11,18 +12,19 @@ Inheritance diagram for core\+:\+:T\+L\+S\+Service\+:\nopagebreak \end{figure} -Collaboration diagram for core\+:\+:T\+L\+S\+Service\+:\nopagebreak +Collaboration diagram for core\+:\+:T\+L\+S\+Service\+: +\nopagebreak \begin{figure}[H] \begin{center} \leavevmode -\includegraphics[width=350pt]{classcore_1_1_t_l_s_service__coll__graph} +\includegraphics[width=241pt]{classcore_1_1_t_l_s_service__coll__graph} \end{center} \end{figure} \subsection*{Public Member Functions} \begin{DoxyCompactItemize} \item \mbox{\Hypertarget{classcore_1_1_t_l_s_service_ae5d3183590adf58440ce8b382f02431a}\label{classcore_1_1_t_l_s_service_ae5d3183590adf58440ce8b382f02431a}} -{\bfseries T\+L\+S\+Service} (\hyperlink{classcore_1_1_t_l_s_server_socket}{T\+L\+S\+Server\+Socket} \&\hyperlink{classcore_1_1_service_a1e630769962c2794bb15605d90c8e8fa}{server}) +{\bfseries T\+L\+S\+Service} (\hyperlink{classcore_1_1_t_l_s_server_socket}{T\+L\+S\+Server\+Socket} \&server) \end{DoxyCompactItemize} \subsection*{Public Attributes} \begin{DoxyCompactItemize} @@ -34,5 +36,5 @@ S\+S\+L\+\_\+\+C\+TX $\ast$ {\bfseries ctx} The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} \item -/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/T\+L\+S\+Service.\+h\item -/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/T\+L\+S\+Service.\+cpp\end{DoxyCompactItemize} +/home/bradarant/barant/\+Server\+Core/T\+L\+S\+Service.\+h\item +/home/bradarant/barant/\+Server\+Core/T\+L\+S\+Service.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/classcore_1_1_t_l_s_service__coll__graph.md5 b/docs/latex/classcore_1_1_t_l_s_service__coll__graph.md5 index 73f21a6..199d1ab 100644 --- a/docs/latex/classcore_1_1_t_l_s_service__coll__graph.md5 +++ b/docs/latex/classcore_1_1_t_l_s_service__coll__graph.md5 @@ -1 +1 @@ -822789c47963aa4409d474a318dedaa3 \ No newline at end of file +820b20bc394b843055e968b4b4bd0d81 \ No newline at end of file diff --git a/docs/latex/classcore_1_1_t_l_s_service__coll__graph.pdf b/docs/latex/classcore_1_1_t_l_s_service__coll__graph.pdf index ae754a0..faaa4eb 100644 Binary files a/docs/latex/classcore_1_1_t_l_s_service__coll__graph.pdf and b/docs/latex/classcore_1_1_t_l_s_service__coll__graph.pdf differ diff --git a/docs/latex/classcore_1_1_t_l_s_service__inherit__graph.md5 b/docs/latex/classcore_1_1_t_l_s_service__inherit__graph.md5 index 42deec7..339d1fa 100644 --- a/docs/latex/classcore_1_1_t_l_s_service__inherit__graph.md5 +++ b/docs/latex/classcore_1_1_t_l_s_service__inherit__graph.md5 @@ -1 +1 @@ -3214a96d526b0e6c98fe90c7c68d071b \ No newline at end of file +832551dd0922ebc2b9024cc23ba51c76 \ No newline at end of file diff --git a/docs/latex/classcore_1_1_t_l_s_service__inherit__graph.pdf b/docs/latex/classcore_1_1_t_l_s_service__inherit__graph.pdf index 47b8bea..f88ff87 100644 Binary files a/docs/latex/classcore_1_1_t_l_s_service__inherit__graph.pdf and b/docs/latex/classcore_1_1_t_l_s_service__inherit__graph.pdf differ diff --git a/docs/latex/classcore_1_1_t_l_s_session.tex b/docs/latex/classcore_1_1_t_l_s_session.tex index 248582a..f229a4d 100644 --- a/docs/latex/classcore_1_1_t_l_s_session.tex +++ b/docs/latex/classcore_1_1_t_l_s_session.tex @@ -15,7 +15,8 @@ Inheritance diagram for core\+:\+:T\+L\+S\+Session\+:\nopagebreak \end{figure} -Collaboration diagram for core\+:\+:T\+L\+S\+Session\+:\nopagebreak +Collaboration diagram for core\+:\+:T\+L\+S\+Session\+: +\nopagebreak \begin{figure}[H] \begin{center} \leavevmode @@ -35,9 +36,6 @@ virtual void \hyperlink{classcore_1_1_t_l_s_session_a547c436ab69f75307f065eca8cf \subsection*{Protected Member Functions} \begin{DoxyCompactItemize} \item -\mbox{\Hypertarget{classcore_1_1_t_l_s_session_ac8c1c9f14096284dc33ba5b4d2ea0280}\label{classcore_1_1_t_l_s_session_ac8c1c9f14096284dc33ba5b4d2ea0280}} -void {\bfseries init} () override -\item void \hyperlink{classcore_1_1_t_l_s_session_a1822cb21de545dc1a183ec0bac6cc4f0}{receive\+Data} (char $\ast$buffer, int buffer\+Length) override \end{DoxyCompactItemize} \subsection*{Additional Inherited Members} @@ -59,7 +57,7 @@ For accessing T\+LS network functions use this object. The connection oriented n The output method is called by a socket session (\hyperlink{classcore_1_1_session}{Session}) and will output the detail information for the client socket. When extending T\+L\+S\+Socket or \hyperlink{classcore_1_1_session}{Session} you can override the method to add attributes to the list. -Reimplemented from \hyperlink{classcore_1_1_t_c_p_socket_afacf7528ff3c9ac077d7b5a49e2116fd}{core\+::\+T\+C\+P\+Socket}. +Reimplemented from \hyperlink{classcore_1_1_session_a2813939a9b7b79ebe1963a0b11a374b2}{core\+::\+Session}. \mbox{\Hypertarget{classcore_1_1_t_l_s_session_a547c436ab69f75307f065eca8cfcd109}\label{classcore_1_1_t_l_s_session_a547c436ab69f75307f065eca8cfcd109}} \index{core\+::\+T\+L\+S\+Session@{core\+::\+T\+L\+S\+Session}!protocol@{protocol}} @@ -85,5 +83,5 @@ Reimplemented from \hyperlink{classcore_1_1_socket_af455ec6f793473f529507af26aa5 The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} \item -/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/T\+L\+S\+Session.\+h\item -/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/T\+L\+S\+Session.\+cpp\end{DoxyCompactItemize} +/home/bradarant/barant/\+Server\+Core/T\+L\+S\+Session.\+h\item +/home/bradarant/barant/\+Server\+Core/T\+L\+S\+Session.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/classcore_1_1_t_l_s_session__coll__graph.md5 b/docs/latex/classcore_1_1_t_l_s_session__coll__graph.md5 index dfaa136..617ecbe 100644 --- a/docs/latex/classcore_1_1_t_l_s_session__coll__graph.md5 +++ b/docs/latex/classcore_1_1_t_l_s_session__coll__graph.md5 @@ -1 +1 @@ -f0728c1e77b764f20787670f2fe10eff \ No newline at end of file +758c3f8e0a150e27a31c5aa7a7e6a327 \ No newline at end of file diff --git a/docs/latex/classcore_1_1_t_l_s_session__coll__graph.pdf b/docs/latex/classcore_1_1_t_l_s_session__coll__graph.pdf index 0a0947c..28152e5 100644 Binary files a/docs/latex/classcore_1_1_t_l_s_session__coll__graph.pdf and b/docs/latex/classcore_1_1_t_l_s_session__coll__graph.pdf differ diff --git a/docs/latex/classcore_1_1_terminal_session.tex b/docs/latex/classcore_1_1_terminal_session.tex index 0f8441e..c83dace 100644 --- a/docs/latex/classcore_1_1_terminal_session.tex +++ b/docs/latex/classcore_1_1_terminal_session.tex @@ -11,7 +11,8 @@ Inheritance diagram for core\+:\+:Terminal\+Session\+:\nopagebreak \end{figure} -Collaboration diagram for core\+:\+:Terminal\+Session\+:\nopagebreak +Collaboration diagram for core\+:\+:Terminal\+Session\+: +\nopagebreak \begin{figure}[H] \begin{center} \leavevmode @@ -62,5 +63,5 @@ void {\bfseries scroll\+Area} (int start, int end) The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} \item -/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/Terminal\+Session.\+h\item -/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/Terminal\+Session.\+cpp\end{DoxyCompactItemize} +/home/bradarant/barant/\+Server\+Core/Terminal\+Session.\+h\item +/home/bradarant/barant/\+Server\+Core/Terminal\+Session.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/classcore_1_1_terminal_session__coll__graph.md5 b/docs/latex/classcore_1_1_terminal_session__coll__graph.md5 index 0bcc48a..b6a20a8 100644 --- a/docs/latex/classcore_1_1_terminal_session__coll__graph.md5 +++ b/docs/latex/classcore_1_1_terminal_session__coll__graph.md5 @@ -1 +1 @@ -5d9923cb7e966f7effc1f5dccf5543b2 \ No newline at end of file +b145da22587369de6c3d4770b4bc8776 \ No newline at end of file diff --git a/docs/latex/classcore_1_1_terminal_session__coll__graph.pdf b/docs/latex/classcore_1_1_terminal_session__coll__graph.pdf index 2fcc66b..dfec34f 100644 Binary files a/docs/latex/classcore_1_1_terminal_session__coll__graph.pdf and b/docs/latex/classcore_1_1_terminal_session__coll__graph.pdf differ diff --git a/docs/latex/classcore_1_1_thread.tex b/docs/latex/classcore_1_1_thread.tex index cf4f0cb..4498156 100644 --- a/docs/latex/classcore_1_1_thread.tex +++ b/docs/latex/classcore_1_1_thread.tex @@ -42,8 +42,8 @@ pid\+\_\+t {\bfseries get\+Thread\+Id} () \mbox{\Hypertarget{classcore_1_1_thread_aca6a18a5aba7e87fe91a828f4896d654}\label{classcore_1_1_thread_aca6a18a5aba7e87fe91a828f4896d654}} int {\bfseries get\+Count} () \item -\mbox{\Hypertarget{classcore_1_1_thread_a13ba4799a20196ea1bed9f84e264e613}\label{classcore_1_1_thread_a13ba4799a20196ea1bed9f84e264e613}} -void {\bfseries output} (\hyperlink{classcore_1_1_session}{Session} $\ast$session) +\mbox{\Hypertarget{classcore_1_1_thread_aa5b676aa441735c2ac60d05fd3ab02b5}\label{classcore_1_1_thread_aa5b676aa441735c2ac60d05fd3ab02b5}} +void {\bfseries output} (std\+::stringstream \&data) \end{DoxyCompactItemize} \subsection*{Additional Inherited Members} @@ -64,5 +64,5 @@ Start the thread object. This will cause the epoll scheduler to commence reading The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} \item -/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/Thread.\+h\item -/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/Thread.\+cpp\end{DoxyCompactItemize} +/home/bradarant/barant/\+Server\+Core/Thread.\+h\item +/home/bradarant/barant/\+Server\+Core/Thread.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/classcore_1_1_timer.tex b/docs/latex/classcore_1_1_timer.tex index 9c25738..d4eb2b2 100644 --- a/docs/latex/classcore_1_1_timer.tex +++ b/docs/latex/classcore_1_1_timer.tex @@ -90,5 +90,5 @@ Use the \hyperlink{classcore_1_1_timer_ac0a642cdcb76b7f995137162050d3d0b}{set\+T The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} \item -/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/Timer.\+h\item -/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/Timer.\+cpp\end{DoxyCompactItemize} +/home/bradarant/barant/\+Server\+Core/Timer.\+h\item +/home/bradarant/barant/\+Server\+Core/Timer.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/classcore_1_1_u_d_p_server_socket.tex b/docs/latex/classcore_1_1_u_d_p_server_socket.tex index 639ab78..d7b848b 100644 --- a/docs/latex/classcore_1_1_u_d_p_server_socket.tex +++ b/docs/latex/classcore_1_1_u_d_p_server_socket.tex @@ -33,8 +33,8 @@ Collaboration diagram for core\+:\+:U\+D\+P\+Server\+Socket\+:\nopagebreak \item void \hyperlink{classcore_1_1_u_d_p_server_socket_a41933ca153c854a800e3d047ab18313e}{on\+Data\+Received} (std\+::string data) override \begin{DoxyCompactList}\small\item\em Called when data is received from the socket. \end{DoxyCompactList}\item -\mbox{\Hypertarget{classcore_1_1_u_d_p_server_socket_a4db3bc4f907e945074106d1be2e877d5}\label{classcore_1_1_u_d_p_server_socket_a4db3bc4f907e945074106d1be2e877d5}} -int {\bfseries process\+Command} (\hyperlink{classcore_1_1_session}{Session} $\ast$session) +\mbox{\Hypertarget{classcore_1_1_u_d_p_server_socket_aef32dee99a40a8951a708e99776539d4}\label{classcore_1_1_u_d_p_server_socket_aef32dee99a40a8951a708e99776539d4}} +int {\bfseries process\+Command} (std\+::string request, std\+::stringstream \&data) \end{DoxyCompactItemize} \subsection*{Protected Attributes} \begin{DoxyCompactItemize} @@ -76,5 +76,5 @@ Implements \hyperlink{classcore_1_1_socket_add22bdee877319a372db2fd707dc5a1c}{co The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} \item -/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/U\+D\+P\+Server\+Socket.\+h\item -/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/U\+D\+P\+Server\+Socket.\+cpp\end{DoxyCompactItemize} +/home/bradarant/barant/\+Server\+Core/U\+D\+P\+Server\+Socket.\+h\item +/home/bradarant/barant/\+Server\+Core/U\+D\+P\+Server\+Socket.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/classcore_1_1_u_d_p_socket.tex b/docs/latex/classcore_1_1_u_d_p_socket.tex index 578afb2..d113b81 100644 --- a/docs/latex/classcore_1_1_u_d_p_socket.tex +++ b/docs/latex/classcore_1_1_u_d_p_socket.tex @@ -29,5 +29,5 @@ Collaboration diagram for core\+:\+:U\+D\+P\+Socket\+:\nopagebreak The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} \item -/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/U\+D\+P\+Socket.\+h\item -/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/U\+D\+P\+Socket.\+cpp\end{DoxyCompactItemize} +/home/bradarant/barant/\+Server\+Core/U\+D\+P\+Socket.\+h\item +/home/bradarant/barant/\+Server\+Core/U\+D\+P\+Socket.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/hierarchy.tex b/docs/latex/hierarchy.tex index 5cba66b..f6dff6d 100644 --- a/docs/latex/hierarchy.tex +++ b/docs/latex/hierarchy.tex @@ -1,13 +1,20 @@ \section{Class Hierarchy} This inheritance list is sorted roughly, but not completely, alphabetically\+:\begin{DoxyCompactList} -\item \contentsline{section}{core\+:\+:Exception}{\pageref{classcore_1_1_exception}}{} -\item \contentsline{section}{core\+:\+:File}{\pageref{classcore_1_1_file}}{} +\item \contentsline{section}{core\+:\+:I\+P\+Address\+List}{\pageref{classcore_1_1_i_p_address_list}}{} +\item Log\+Listener\begin{DoxyCompactList} +\item \contentsline{section}{core\+:\+:Console\+Server}{\pageref{classcore_1_1_console_server}}{} +\end{DoxyCompactList} \item \contentsline{section}{core\+:\+:Object}{\pageref{classcore_1_1_object}}{} \begin{DoxyCompactList} \item \contentsline{section}{core\+:\+:Command}{\pageref{classcore_1_1_command}}{} \begin{DoxyCompactList} \item \contentsline{section}{core\+:\+:Command\+List}{\pageref{classcore_1_1_command_list}}{} \item \contentsline{section}{core\+:\+:E\+Poll}{\pageref{classcore_1_1_e_poll}}{} +\item \contentsline{section}{core\+:\+:Service}{\pageref{classcore_1_1_service}}{} +\begin{DoxyCompactList} +\item \contentsline{section}{core\+:\+:Console\+Service}{\pageref{classcore_1_1_console_service}}{} +\item \contentsline{section}{core\+:\+:T\+L\+S\+Service}{\pageref{classcore_1_1_t_l_s_service}}{} +\end{DoxyCompactList} \item \contentsline{section}{core\+:\+:T\+C\+P\+Server\+Socket}{\pageref{classcore_1_1_t_c_p_server_socket}}{} \begin{DoxyCompactList} \item \contentsline{section}{core\+:\+:Console\+Server}{\pageref{classcore_1_1_console_server}}{} @@ -15,14 +22,7 @@ This inheritance list is sorted roughly, but not completely, alphabetically\+:\b \end{DoxyCompactList} \item \contentsline{section}{core\+:\+:U\+D\+P\+Server\+Socket}{\pageref{classcore_1_1_u_d_p_server_socket}}{} \end{DoxyCompactList} -\item \contentsline{section}{core\+:\+:Header}{\pageref{classcore_1_1_header}}{} \item \contentsline{section}{core\+:\+:I\+P\+Address}{\pageref{classcore_1_1_i_p_address}}{} -\item \contentsline{section}{core\+:\+:Log}{\pageref{classcore_1_1_log}}{} -\item \contentsline{section}{core\+:\+:Response}{\pageref{classcore_1_1_response}}{} -\item \contentsline{section}{core\+:\+:Service}{\pageref{classcore_1_1_service}}{} -\begin{DoxyCompactList} -\item \contentsline{section}{core\+:\+:T\+L\+S\+Service}{\pageref{classcore_1_1_t_l_s_service}}{} -\end{DoxyCompactList} \item \contentsline{section}{core\+:\+:Session\+Filter}{\pageref{classcore_1_1_session_filter}}{} \item \contentsline{section}{core\+:\+:Socket}{\pageref{classcore_1_1_socket}}{} \begin{DoxyCompactList} @@ -46,9 +46,6 @@ This inheritance list is sorted roughly, but not completely, alphabetically\+:\b \end{DoxyCompactList} \item \contentsline{section}{core\+:\+:Thread}{\pageref{classcore_1_1_thread}}{} \end{DoxyCompactList} -\item ostringstream\begin{DoxyCompactList} -\item \contentsline{section}{core\+:\+:Log}{\pageref{classcore_1_1_log}}{} -\end{DoxyCompactList} \item streambuf\begin{DoxyCompactList} \item \contentsline{section}{core\+:\+:Socket}{\pageref{classcore_1_1_socket}}{} \end{DoxyCompactList} diff --git a/docs/latex/namespacecore.tex b/docs/latex/namespacecore.tex index 6d23065..f3d75c2 100644 --- a/docs/latex/namespacecore.tex +++ b/docs/latex/namespacecore.tex @@ -17,16 +17,14 @@ class \hyperlink{classcore_1_1_exception}{Exception} \item class \hyperlink{classcore_1_1_file}{File} \item -class \hyperlink{classcore_1_1_header}{Header} -\item class \hyperlink{classcore_1_1_i_p_address}{I\+P\+Address} \item +class \hyperlink{classcore_1_1_i_p_address_list}{I\+P\+Address\+List} +\item class \hyperlink{classcore_1_1_log}{Log} \item class \hyperlink{classcore_1_1_object}{Object} \item -class \hyperlink{classcore_1_1_response}{Response} -\item class \hyperlink{classcore_1_1_service}{Service} \item class \hyperlink{classcore_1_1_session}{Session} diff --git a/docs/latex/refman.tex b/docs/latex/refman.tex index 76fbcc4..a8ce9bc 100644 --- a/docs/latex/refman.tex +++ b/docs/latex/refman.tex @@ -138,27 +138,20 @@ \hypersetup{pageanchor=true} %--- Begin generated contents --- -\chapter{Namespace Index} -\input{namespaces} \chapter{Hierarchical Index} \input{hierarchy} \chapter{Class Index} \input{annotated} -\chapter{Namespace Documentation} -\input{namespacecore} \chapter{Class Documentation} \input{classcore_1_1_command} \input{classcore_1_1_command_list} \input{classcore_1_1_console_server} +\input{classcore_1_1_console_service} \input{classcore_1_1_console_session} \input{classcore_1_1_e_poll} -\input{classcore_1_1_exception} -\input{classcore_1_1_file} -\input{classcore_1_1_header} \input{classcore_1_1_i_p_address} -\input{classcore_1_1_log} +\input{classcore_1_1_i_p_address_list} \input{classcore_1_1_object} -\input{classcore_1_1_response} \input{classcore_1_1_service} \input{classcore_1_1_session} \input{classcore_1_1_session_filter} diff --git a/doxygen/Doxyfile b/doxygen/Doxyfile index 3dd0fa4..48a85e8 100644 --- a/doxygen/Doxyfile +++ b/doxygen/Doxyfile @@ -58,7 +58,7 @@ PROJECT_LOGO = # entered, it will be relative to the location where doxygen was started. If # left blank the current directory will be used. -OUTPUT_DIRECTORY = /home/barant//Development/BMA/server_core/ServerCore/docs +OUTPUT_DIRECTORY = ../docs # If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub- # directories (in 2 levels) under the output directory of each output format and @@ -790,7 +790,7 @@ WARN_LOGFILE = # spaces. See also FILE_PATTERNS and EXTENSION_MAPPING # Note: If this tag is empty the current directory is searched. -INPUT = /home/barant/Development/BMA/server_core/ServerCore +INPUT = ../ # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses