commit d8b12758846c6b0d362f03ed6aa6d7bc56aa4e86 Author: Brad Arant Date: Thu Feb 7 13:28:21 2019 -0800 Initial repository 1.0.0 diff --git a/Command.cpp b/Command.cpp new file mode 100644 index 0000000..2666f34 --- /dev/null +++ b/Command.cpp @@ -0,0 +1,27 @@ +#include "Command.h" +#include "Session.h" + +namespace core { + + void Command::output(Session *session) {} + + 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; + } + } + + void Command::setName(std::string name) { + this->name = name; + } + + std::string Command::getName() { + return name; + } + +} diff --git a/Command.h b/Command.h new file mode 100644 index 0000000..ebdffc0 --- /dev/null +++ b/Command.h @@ -0,0 +1,79 @@ +#ifndef __Command_h__ +#define __Command_h__ + +#include "includes" +#include "Object.h" + +namespace core { + + class Session; + + /// + /// Command + /// + /// Use the Command object in combination with a CommandList object to maintain + /// a list of functions that can be invoked as a result of processing a request. + /// + + class Command : public Object { + + public: + + /// + /// Implement check method to provide a special check rule upon the request to see + /// if the command should be processed. + /// + /// The default rule is to verify that the first token in the request string matches + /// the name given on the registration of the command to the CommandList. This can + /// be overridden by implementing the check() method to perform the test and return + /// the condition of the command. + /// + /// @param request The request passed to the parser to check the rule. + /// @return Return true to execute the command. Returning false will cause no action + /// on this command. + /// + + virtual bool check(std::string request); + + /// + /// This method is used to implement the functionality of the requested command. + /// This pure virtual function must be implemented in your inheriting object. + /// + /// @param request The request that was entered by the user to invoke this command. + /// @param session Specify the requesting session so that the execution of the + /// command process can return its output to the session. + /// @return Returns 0 if execution of the command was successful. Otherwise returns + /// a non-zero value indicating an error condition. + /// + + virtual int processCommand(std::string request, Session *session) = 0; + + /// + /// Specify the output that will occur to the specified session. + /// + /// @param session The session that will receive the output. + /// + + virtual void output(Session *session); + + /// + /// Set the name of this command used in default rule checking during request parsing. + /// NOTE: You do not need to call this under normal conditions as adding a Command + /// to a CommandList using the add() method contains a parameter to pass the name + /// of the Command. + /// + /// @param name Specify the name of this command for default parsing. + /// + + void setName(std::string name); + + std::string getName(); + + private: + std::string name; + + }; + +} + +#endif diff --git a/CommandList.cpp b/CommandList.cpp new file mode 100644 index 0000000..017d3f2 --- /dev/null +++ b/CommandList.cpp @@ -0,0 +1,41 @@ +#include "CommandList.h" + +namespace core { + + CommandList::CommandList() {} + + CommandList::~CommandList() {} + + void CommandList::add(Command &command, std::string name) { + command.setName(name); + commands.push_back(&command); + } + + void CommandList::remove(Command &command) { + + } + + bool CommandList::processRequest(std::string request, Session *session) { + + bool found = false; + + for(auto *command : commands) { + if(command->check(request)) { + command->processCommand(request, session); + found = true; + break; + } + } + + return found; + } + + int CommandList::processCommand(std::string request, Session *session) { + for(Command *command : commands) + session->out << command->getName() << std::endl; + } + +} + + + diff --git a/CommandList.h b/CommandList.h new file mode 100644 index 0000000..02fe2a1 --- /dev/null +++ b/CommandList.h @@ -0,0 +1,30 @@ +#ifndef __CommandList_h__ +#define __CommandList_h__ + +#include "Session.h" +#include "Command.h" + +namespace core { + + class CommandList : public Command { + + public: + CommandList(); + ~CommandList(); + + void add(Command &command, std::string name = ""); + + void remove(Command &command); + + bool processRequest(std::string request, Session *session); + + int processCommand(std::string request, Session *session) override; + + private: + std::vector commands; + + }; + +} + +#endif diff --git a/ConsoleServer.cpp b/ConsoleServer.cpp new file mode 100644 index 0000000..169ee98 --- /dev/null +++ b/ConsoleServer.cpp @@ -0,0 +1,28 @@ +#include "ConsoleServer.h" +#include "ConsoleSession.h" +#include "Command.h" +#include "Log.h" + +namespace core { + + ConsoleServer::ConsoleServer(EPoll &ePoll, std::string url, short int port) + : TCPServerSocket(ePoll, url, port) { + Log(this); + } + + ConsoleServer::~ConsoleServer() {} + + void ConsoleServer::sendToConnectedConsoles(std::string out) { + for(auto *session : sessions) + ((ConsoleSession *)session)->writeLog(out); + } + + Session * ConsoleServer::getSocketAccept() { + return new ConsoleSession(ePoll, *this); + } + + void ConsoleServer::output(Session *session) { + session->out << "|" << session->ipAddress.getClientAddressAndPort(); + } + +} diff --git a/ConsoleServer.h b/ConsoleServer.h new file mode 100644 index 0000000..01c6129 --- /dev/null +++ b/ConsoleServer.h @@ -0,0 +1,47 @@ +#ifndef __ConsoleServer_h__ +#define __ConsoleServer_h__ + +#include "includes" +#include "TCPServerSocket.h" +#include "Command.h" +#include "Session.h" +#include "EPoll.h" + +namespace core { + + class TCPSocket; + + /// + /// + /// + + class ConsoleServer : public TCPServerSocket { + + public: + + // + // + // + + ConsoleServer(EPoll &ePoll, std::string url, short int port); + + // + // + // + + ~ConsoleServer(); + + void sendToConnectedConsoles(std::string out); + + void output(Session *session) override; ///output(out); + } + + void ConsoleSession::protocol(std::string data = "") { + + switch (status) { + + case WELCOME: + setBackColor(BG_BLACK); + clear(); + setCursorLocation(1, 1); + setBackColor(BG_BLUE); + clearEOL(); + out << "ConsoleSession"; + setCursorLocation(2, 1); + setBackColor(BG_BLACK); + status = LOGIN; + protocol(); + break; + + case LOGIN: + setCursorLocation(3, 3); + out << "Enter User Profile: "; + send(); + status = WAIT_USER_PROFILE; + break; + + case WAIT_USER_PROFILE: + status = PASSWORD; + protocol(); + break; + + case PASSWORD: + setCursorLocation(4, 7); + out << "Enter Password: "; + send(); + status = WAIT_PASSWORD; + break; + + case WAIT_PASSWORD: + setBackColor(BG_BLACK); + clear(); + setCursorLocation(1, 1); + setBackColor(BG_BLUE); + clearEOL(); + out << "ConsoleSession"; + setCursorLocation(2, 1); + setBackColor(BG_BLACK); + scrollArea(2, 16); + status = PROMPT; + protocol(); + break; + + case PROMPT: + Log(LOG_DEBUG_1) << "Lines is " << getLines() << "."; + setCursorLocation(17, 1); + clearEOL(); + out << ("--> "); + send(); + status = INPUT; + break; + + case INPUT: + command = std::string(data); + command.erase(command.find_last_not_of("\r\n\t") + 1); + status = PROCESS; + protocol(); + break; + + case PROCESS: + doCommand(command); + status = (command == "exit")? DONE: PROMPT; + protocol(); + break; + + case DONE: + out << "Done." << std::endl; + break; + + default: + out << "Unrecognized status code: ERROR."; + break; + } + } + + void ConsoleSession::writeLog(std::string data) { + saveCursor(); + setCursorLocation(16, 1); + out << data; + restoreCursor(); + send(); + } + + void ConsoleSession::doCommand(std::string request) { + saveCursor(); + setCursorLocation(16, 1); + out << "--> " << request << std::endl; + server.commands.processRequest(request, this); + restoreCursor(); + send(); + } + +} diff --git a/ConsoleSession.h b/ConsoleSession.h new file mode 100644 index 0000000..68a0a2f --- /dev/null +++ b/ConsoleSession.h @@ -0,0 +1,41 @@ +#ifndef __ConsoleSession_h__ +#define __ConsoleSession_h__ + +#include "TerminalSession.h" +#include "Session.h" +#include "ConsoleServer.h" +#include "CommandList.h" + +namespace core { + + /// + /// 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. + /// + + class ConsoleSession : public TerminalSession { + + public: + ConsoleSession(EPoll &ePoll, ConsoleServer &server); + ~ConsoleSession(); + + virtual void output(std::stringstream &out); + void writeLog(std::string data); + + protected: + void protocol(std::string data) override; + + private: + enum Status {WELCOME, LOGIN, WAIT_USER_PROFILE, PASSWORD, WAIT_PASSWORD, PROMPT, INPUT, PROCESS, DONE}; + Status status = WELCOME; + void doCommand(std::string request); + std::string command; + + }; + +} + +#endif diff --git a/Debug/.d b/Debug/.d new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/Debug/.d @@ -0,0 +1 @@ + diff --git a/Debug/Command.cpp.o b/Debug/Command.cpp.o new file mode 100644 index 0000000..afa4b2e Binary files /dev/null and b/Debug/Command.cpp.o differ diff --git a/Debug/Command.cpp.o.d b/Debug/Command.cpp.o.d new file mode 100644 index 0000000..0699fbc --- /dev/null +++ b/Debug/Command.cpp.o.d @@ -0,0 +1,18 @@ +Debug/Command.cpp.o: Command.cpp Command.h includes Object.h Session.h \ + TCPSocket.h Socket.h IPAddress.h SessionFilter.h + +Command.h: + +includes: + +Object.h: + +Session.h: + +TCPSocket.h: + +Socket.h: + +IPAddress.h: + +SessionFilter.h: diff --git a/Debug/CommandList.cpp.o b/Debug/CommandList.cpp.o new file mode 100644 index 0000000..70aeb9a Binary files /dev/null and b/Debug/CommandList.cpp.o differ diff --git a/Debug/CommandList.cpp.o.d b/Debug/CommandList.cpp.o.d new file mode 100644 index 0000000..799f692 --- /dev/null +++ b/Debug/CommandList.cpp.o.d @@ -0,0 +1,21 @@ +Debug/CommandList.cpp.o: CommandList.cpp CommandList.h Session.h \ + TCPSocket.h includes Socket.h Object.h IPAddress.h SessionFilter.h \ + Command.h + +CommandList.h: + +Session.h: + +TCPSocket.h: + +includes: + +Socket.h: + +Object.h: + +IPAddress.h: + +SessionFilter.h: + +Command.h: diff --git a/Debug/ConsoleServer.cpp.o b/Debug/ConsoleServer.cpp.o new file mode 100644 index 0000000..7db79e6 Binary files /dev/null and b/Debug/ConsoleServer.cpp.o differ diff --git a/Debug/ConsoleServer.cpp.o.d b/Debug/ConsoleServer.cpp.o.d new file mode 100644 index 0000000..96a78c2 --- /dev/null +++ b/Debug/ConsoleServer.cpp.o.d @@ -0,0 +1,38 @@ +Debug/ConsoleServer.cpp.o: ConsoleServer.cpp ConsoleServer.h includes \ + TCPServerSocket.h Socket.h Object.h TCPSocket.h IPAddress.h Command.h \ + CommandList.h Session.h SessionFilter.h EPoll.h Log.h File.h Thread.h \ + ConsoleSession.h TerminalSession.h + +ConsoleServer.h: + +includes: + +TCPServerSocket.h: + +Socket.h: + +Object.h: + +TCPSocket.h: + +IPAddress.h: + +Command.h: + +CommandList.h: + +Session.h: + +SessionFilter.h: + +EPoll.h: + +Log.h: + +File.h: + +Thread.h: + +ConsoleSession.h: + +TerminalSession.h: diff --git a/Debug/ConsoleSession.cpp.o b/Debug/ConsoleSession.cpp.o new file mode 100644 index 0000000..d3f06c4 Binary files /dev/null and b/Debug/ConsoleSession.cpp.o differ diff --git a/Debug/ConsoleSession.cpp.o.d b/Debug/ConsoleSession.cpp.o.d new file mode 100644 index 0000000..568b911 --- /dev/null +++ b/Debug/ConsoleSession.cpp.o.d @@ -0,0 +1,38 @@ +Debug/ConsoleSession.cpp.o: ConsoleSession.cpp ConsoleSession.h \ + TerminalSession.h includes Session.h TCPSocket.h Socket.h Object.h \ + IPAddress.h SessionFilter.h ConsoleServer.h TCPServerSocket.h Command.h \ + CommandList.h EPoll.h Log.h File.h Thread.h + +ConsoleSession.h: + +TerminalSession.h: + +includes: + +Session.h: + +TCPSocket.h: + +Socket.h: + +Object.h: + +IPAddress.h: + +SessionFilter.h: + +ConsoleServer.h: + +TCPServerSocket.h: + +Command.h: + +CommandList.h: + +EPoll.h: + +Log.h: + +File.h: + +Thread.h: diff --git a/Debug/EPoll.cpp.o b/Debug/EPoll.cpp.o new file mode 100644 index 0000000..10a35d8 Binary files /dev/null and b/Debug/EPoll.cpp.o differ diff --git a/Debug/EPoll.cpp.o.d b/Debug/EPoll.cpp.o.d new file mode 100644 index 0000000..89c7282 --- /dev/null +++ b/Debug/EPoll.cpp.o.d @@ -0,0 +1,29 @@ +Debug/EPoll.cpp.o: EPoll.cpp Thread.h includes Log.h File.h Object.h \ + Session.h TCPSocket.h Socket.h IPAddress.h SessionFilter.h EPoll.h \ + Command.h Exception.h + +Thread.h: + +includes: + +Log.h: + +File.h: + +Object.h: + +Session.h: + +TCPSocket.h: + +Socket.h: + +IPAddress.h: + +SessionFilter.h: + +EPoll.h: + +Command.h: + +Exception.h: diff --git a/Debug/Exception.cpp.o b/Debug/Exception.cpp.o new file mode 100644 index 0000000..6a5ed81 Binary files /dev/null and b/Debug/Exception.cpp.o differ diff --git a/Debug/Exception.cpp.o.d b/Debug/Exception.cpp.o.d new file mode 100644 index 0000000..fd8e2db --- /dev/null +++ b/Debug/Exception.cpp.o.d @@ -0,0 +1,12 @@ +Debug/Exception.cpp.o: Exception.cpp Exception.h includes Log.h File.h \ + Object.h + +Exception.h: + +includes: + +Log.h: + +File.h: + +Object.h: diff --git a/Debug/File.cpp.o b/Debug/File.cpp.o new file mode 100644 index 0000000..1d28f30 Binary files /dev/null and b/Debug/File.cpp.o differ diff --git a/Debug/File.cpp.o.d b/Debug/File.cpp.o.d new file mode 100644 index 0000000..c10dc99 --- /dev/null +++ b/Debug/File.cpp.o.d @@ -0,0 +1,7 @@ +Debug/File.cpp.o: File.cpp File.h includes Exception.h + +File.h: + +includes: + +Exception.h: diff --git a/Debug/Header.cpp.o b/Debug/Header.cpp.o new file mode 100644 index 0000000..185a190 Binary files /dev/null and b/Debug/Header.cpp.o differ diff --git a/Debug/Header.cpp.o.d b/Debug/Header.cpp.o.d new file mode 100644 index 0000000..a423cc8 --- /dev/null +++ b/Debug/Header.cpp.o.d @@ -0,0 +1,11 @@ +Debug/Header.cpp.o: Header.cpp Header.h includes Object.h Log.h File.h + +Header.h: + +includes: + +Object.h: + +Log.h: + +File.h: diff --git a/Debug/IPAddress.cpp.o b/Debug/IPAddress.cpp.o new file mode 100644 index 0000000..a5abe03 Binary files /dev/null and b/Debug/IPAddress.cpp.o differ diff --git a/Debug/IPAddress.cpp.o.d b/Debug/IPAddress.cpp.o.d new file mode 100644 index 0000000..e75e4e9 --- /dev/null +++ b/Debug/IPAddress.cpp.o.d @@ -0,0 +1,7 @@ +Debug/IPAddress.cpp.o: IPAddress.cpp IPAddress.h includes Object.h + +IPAddress.h: + +includes: + +Object.h: diff --git a/Debug/Log.cpp.o b/Debug/Log.cpp.o new file mode 100644 index 0000000..91086df Binary files /dev/null and b/Debug/Log.cpp.o differ diff --git a/Debug/Log.cpp.o.d b/Debug/Log.cpp.o.d new file mode 100644 index 0000000..33aed4c --- /dev/null +++ b/Debug/Log.cpp.o.d @@ -0,0 +1,38 @@ +Debug/Log.cpp.o: Log.cpp ConsoleSession.h TerminalSession.h includes \ + Session.h TCPSocket.h Socket.h Object.h IPAddress.h SessionFilter.h \ + ConsoleServer.h TCPServerSocket.h Command.h CommandList.h EPoll.h Log.h \ + File.h Thread.h + +ConsoleSession.h: + +TerminalSession.h: + +includes: + +Session.h: + +TCPSocket.h: + +Socket.h: + +Object.h: + +IPAddress.h: + +SessionFilter.h: + +ConsoleServer.h: + +TCPServerSocket.h: + +Command.h: + +CommandList.h: + +EPoll.h: + +Log.h: + +File.h: + +Thread.h: diff --git a/Debug/Response.cpp.o b/Debug/Response.cpp.o new file mode 100644 index 0000000..f084373 Binary files /dev/null and b/Debug/Response.cpp.o differ diff --git a/Debug/Response.cpp.o.d b/Debug/Response.cpp.o.d new file mode 100644 index 0000000..d871c2d --- /dev/null +++ b/Debug/Response.cpp.o.d @@ -0,0 +1,12 @@ +Debug/Response.cpp.o: Response.cpp Response.h includes Object.h Log.h \ + File.h + +Response.h: + +includes: + +Object.h: + +Log.h: + +File.h: diff --git a/Debug/Session.cpp.o b/Debug/Session.cpp.o new file mode 100644 index 0000000..9378ef8 Binary files /dev/null and b/Debug/Session.cpp.o differ diff --git a/Debug/Session.cpp.o.d b/Debug/Session.cpp.o.d new file mode 100644 index 0000000..3d331ef --- /dev/null +++ b/Debug/Session.cpp.o.d @@ -0,0 +1,27 @@ +Debug/Session.cpp.o: Session.cpp Session.h TCPSocket.h includes Socket.h \ + Object.h IPAddress.h SessionFilter.h Log.h File.h TCPServerSocket.h \ + Command.h CommandList.h + +Session.h: + +TCPSocket.h: + +includes: + +Socket.h: + +Object.h: + +IPAddress.h: + +SessionFilter.h: + +Log.h: + +File.h: + +TCPServerSocket.h: + +Command.h: + +CommandList.h: diff --git a/Debug/Socket.cpp.o b/Debug/Socket.cpp.o new file mode 100644 index 0000000..f29764e Binary files /dev/null and b/Debug/Socket.cpp.o differ diff --git a/Debug/Socket.cpp.o.d b/Debug/Socket.cpp.o.d new file mode 100644 index 0000000..5fecfa3 --- /dev/null +++ b/Debug/Socket.cpp.o.d @@ -0,0 +1,29 @@ +Debug/Socket.cpp.o: Socket.cpp EPoll.h Log.h includes File.h Object.h \ + Socket.h Thread.h Session.h TCPSocket.h IPAddress.h SessionFilter.h \ + Command.h Exception.h + +EPoll.h: + +Log.h: + +includes: + +File.h: + +Object.h: + +Socket.h: + +Thread.h: + +Session.h: + +TCPSocket.h: + +IPAddress.h: + +SessionFilter.h: + +Command.h: + +Exception.h: diff --git a/Debug/TCPServerSocket.cpp.o b/Debug/TCPServerSocket.cpp.o new file mode 100644 index 0000000..a37296f Binary files /dev/null and b/Debug/TCPServerSocket.cpp.o differ diff --git a/Debug/TCPServerSocket.cpp.o.d b/Debug/TCPServerSocket.cpp.o.d new file mode 100644 index 0000000..5373793 --- /dev/null +++ b/Debug/TCPServerSocket.cpp.o.d @@ -0,0 +1,34 @@ +Debug/TCPServerSocket.cpp.o: TCPServerSocket.cpp TCPServerSocket.h \ + Socket.h includes Object.h TCPSocket.h IPAddress.h Command.h \ + CommandList.h Session.h SessionFilter.h EPoll.h Log.h File.h Thread.h \ + Exception.h + +TCPServerSocket.h: + +Socket.h: + +includes: + +Object.h: + +TCPSocket.h: + +IPAddress.h: + +Command.h: + +CommandList.h: + +Session.h: + +SessionFilter.h: + +EPoll.h: + +Log.h: + +File.h: + +Thread.h: + +Exception.h: diff --git a/Debug/TCPSocket.cpp.o b/Debug/TCPSocket.cpp.o new file mode 100644 index 0000000..aff7855 Binary files /dev/null and b/Debug/TCPSocket.cpp.o differ diff --git a/Debug/TCPSocket.cpp.o.d b/Debug/TCPSocket.cpp.o.d new file mode 100644 index 0000000..d10dfaf --- /dev/null +++ b/Debug/TCPSocket.cpp.o.d @@ -0,0 +1,29 @@ +Debug/TCPSocket.cpp.o: TCPSocket.cpp TCPSocket.h includes Socket.h \ + Object.h IPAddress.h EPoll.h Log.h File.h Thread.h Session.h \ + SessionFilter.h Command.h Exception.h + +TCPSocket.h: + +includes: + +Socket.h: + +Object.h: + +IPAddress.h: + +EPoll.h: + +Log.h: + +File.h: + +Thread.h: + +Session.h: + +SessionFilter.h: + +Command.h: + +Exception.h: diff --git a/Debug/TLSServerSocket.cpp.o b/Debug/TLSServerSocket.cpp.o new file mode 100644 index 0000000..c492f68 Binary files /dev/null and b/Debug/TLSServerSocket.cpp.o differ diff --git a/Debug/TLSServerSocket.cpp.o.d b/Debug/TLSServerSocket.cpp.o.d new file mode 100644 index 0000000..2d620a1 --- /dev/null +++ b/Debug/TLSServerSocket.cpp.o.d @@ -0,0 +1,38 @@ +Debug/TLSServerSocket.cpp.o: TLSServerSocket.cpp TLSServerSocket.h \ + Socket.h includes Object.h TCPServerSocket.h TCPSocket.h IPAddress.h \ + Command.h CommandList.h Session.h SessionFilter.h TLSSession.h EPoll.h \ + Log.h File.h Thread.h Exception.h + +TLSServerSocket.h: + +Socket.h: + +includes: + +Object.h: + +TCPServerSocket.h: + +TCPSocket.h: + +IPAddress.h: + +Command.h: + +CommandList.h: + +Session.h: + +SessionFilter.h: + +TLSSession.h: + +EPoll.h: + +Log.h: + +File.h: + +Thread.h: + +Exception.h: diff --git a/Debug/TLSSession.cpp.o b/Debug/TLSSession.cpp.o new file mode 100644 index 0000000..00ae873 Binary files /dev/null and b/Debug/TLSSession.cpp.o differ diff --git a/Debug/TLSSession.cpp.o.d b/Debug/TLSSession.cpp.o.d new file mode 100644 index 0000000..b0b4127 --- /dev/null +++ b/Debug/TLSSession.cpp.o.d @@ -0,0 +1,38 @@ +Debug/TLSSession.cpp.o: TLSSession.cpp TLSSession.h includes Session.h \ + TCPSocket.h Socket.h Object.h IPAddress.h SessionFilter.h \ + TLSServerSocket.h TCPServerSocket.h Command.h CommandList.h EPoll.h \ + Log.h File.h Thread.h Exception.h + +TLSSession.h: + +includes: + +Session.h: + +TCPSocket.h: + +Socket.h: + +Object.h: + +IPAddress.h: + +SessionFilter.h: + +TLSServerSocket.h: + +TCPServerSocket.h: + +Command.h: + +CommandList.h: + +EPoll.h: + +Log.h: + +File.h: + +Thread.h: + +Exception.h: diff --git a/Debug/TerminalSession.cpp.o b/Debug/TerminalSession.cpp.o new file mode 100644 index 0000000..bd991e1 Binary files /dev/null and b/Debug/TerminalSession.cpp.o differ diff --git a/Debug/TerminalSession.cpp.o.d b/Debug/TerminalSession.cpp.o.d new file mode 100644 index 0000000..3f48d66 --- /dev/null +++ b/Debug/TerminalSession.cpp.o.d @@ -0,0 +1,19 @@ +Debug/TerminalSession.cpp.o: TerminalSession.cpp TerminalSession.h \ + includes Session.h TCPSocket.h Socket.h Object.h IPAddress.h \ + SessionFilter.h + +TerminalSession.h: + +includes: + +Session.h: + +TCPSocket.h: + +Socket.h: + +Object.h: + +IPAddress.h: + +SessionFilter.h: diff --git a/Debug/Thread.cpp.o b/Debug/Thread.cpp.o new file mode 100644 index 0000000..3bb0420 Binary files /dev/null and b/Debug/Thread.cpp.o differ diff --git a/Debug/Thread.cpp.o.d b/Debug/Thread.cpp.o.d new file mode 100644 index 0000000..7da937a --- /dev/null +++ b/Debug/Thread.cpp.o.d @@ -0,0 +1,27 @@ +Debug/Thread.cpp.o: Thread.cpp Thread.h includes Log.h File.h Object.h \ + Session.h TCPSocket.h Socket.h IPAddress.h SessionFilter.h EPoll.h \ + Command.h + +Thread.h: + +includes: + +Log.h: + +File.h: + +Object.h: + +Session.h: + +TCPSocket.h: + +Socket.h: + +IPAddress.h: + +SessionFilter.h: + +EPoll.h: + +Command.h: diff --git a/Debug/Timer.cpp.o b/Debug/Timer.cpp.o new file mode 100644 index 0000000..d5ff4dc Binary files /dev/null and b/Debug/Timer.cpp.o differ diff --git a/Debug/Timer.cpp.o.d b/Debug/Timer.cpp.o.d new file mode 100644 index 0000000..44debb6 --- /dev/null +++ b/Debug/Timer.cpp.o.d @@ -0,0 +1,29 @@ +Debug/Timer.cpp.o: Timer.cpp Timer.h Socket.h includes Object.h EPoll.h \ + Log.h File.h Thread.h Session.h TCPSocket.h IPAddress.h SessionFilter.h \ + Command.h + +Timer.h: + +Socket.h: + +includes: + +Object.h: + +EPoll.h: + +Log.h: + +File.h: + +Thread.h: + +Session.h: + +TCPSocket.h: + +IPAddress.h: + +SessionFilter.h: + +Command.h: diff --git a/Debug/UDPServerSocket.cpp.o b/Debug/UDPServerSocket.cpp.o new file mode 100644 index 0000000..10d8f85 Binary files /dev/null and b/Debug/UDPServerSocket.cpp.o differ diff --git a/Debug/UDPServerSocket.cpp.o.d b/Debug/UDPServerSocket.cpp.o.d new file mode 100644 index 0000000..ab6df8b --- /dev/null +++ b/Debug/UDPServerSocket.cpp.o.d @@ -0,0 +1,31 @@ +Debug/UDPServerSocket.cpp.o: UDPServerSocket.cpp UDPServerSocket.h \ + Socket.h includes Object.h UDPSocket.h Session.h TCPSocket.h IPAddress.h \ + SessionFilter.h Command.h EPoll.h Log.h File.h Thread.h + +UDPServerSocket.h: + +Socket.h: + +includes: + +Object.h: + +UDPSocket.h: + +Session.h: + +TCPSocket.h: + +IPAddress.h: + +SessionFilter.h: + +Command.h: + +EPoll.h: + +Log.h: + +File.h: + +Thread.h: diff --git a/Debug/UDPSocket.cpp.o b/Debug/UDPSocket.cpp.o new file mode 100644 index 0000000..c0b527e Binary files /dev/null and b/Debug/UDPSocket.cpp.o differ diff --git a/Debug/UDPSocket.cpp.o.d b/Debug/UDPSocket.cpp.o.d new file mode 100644 index 0000000..f854d5c --- /dev/null +++ b/Debug/UDPSocket.cpp.o.d @@ -0,0 +1,18 @@ +Debug/UDPSocket.cpp.o: UDPSocket.cpp UDPSocket.h Socket.h includes \ + Object.h Session.h TCPSocket.h IPAddress.h SessionFilter.h + +UDPSocket.h: + +Socket.h: + +includes: + +Object.h: + +Session.h: + +TCPSocket.h: + +IPAddress.h: + +SessionFilter.h: diff --git a/Debug/libServerCore.a b/Debug/libServerCore.a new file mode 100644 index 0000000..b46800c Binary files /dev/null and b/Debug/libServerCore.a differ diff --git a/EPoll.cpp b/EPoll.cpp new file mode 100644 index 0000000..9930125 --- /dev/null +++ b/EPoll.cpp @@ -0,0 +1,127 @@ +#include "Thread.h" +#include "EPoll.h" +#include "Session.h" +#include "Command.h" +#include "Exception.h" + +namespace core { + + EPoll::EPoll() : Command() { + + Log(LOG_DEBUG_2) << "EPoll object being constructed."; + + maxSockets = 1000; + epfd = epoll_create1(0); + terminateThreads = false; + } + + EPoll::~EPoll() { + Log(LOG_DEBUG_2) << "BMAEPoll destructed."; + } + + bool EPoll::start(int numberOfThreads, int maxSockets) { + + Log(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 << "."; + + // TODO: Set the number of maximum open files to the maxSockets value. + // + //---------------------------------------------------------------------- + // Create thread objects into vector for number of threads requested. + // Hand all the threads a pointer to the EPoll object so they can run + // the socket handlers. + //---------------------------------------------------------------------- + + for(int ix = 0; ix < numberOfThreads; ++ix) + threads.emplace_back(*this); + + for(int ix = 0; ix < numberOfThreads; ++ix) + threads[ix].start(); + + return true; + } + + bool EPoll::stop() { + + terminateThreads = true; + + //-------------------------------------------------------- + // Kill and join all the threads that have been started. + //-------------------------------------------------------- + + for(int ix = 0; ix < numberOfThreads; ++ix) + threads[ix].join(); + + //-------------------------- + // Close the epoll socket. + //-------------------------- + + close(epfd); + + return true; + } + + bool EPoll::isStopping() { + return terminateThreads; + } + + bool EPoll::registerSocket(Socket *socket /**< The Socket to register.*/) { + 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() << "."; + sockets.insert(std::pair(socket->getDescriptor(), socket)); + lock.unlock(); + socket->enable(true); + socket->onRegistered(); + return true; + } + + bool EPoll::unregisterSocket(Socket *socket /**< The Socket to unregister. */) { + lock.lock(); + socket->enable(false); + Log(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."); + sockets.erase(temp); + lock.unlock(); + socket->onUnregistered(); + return true; + } + + void EPoll::eventReceived(struct epoll_event event) { + lock.lock(); + std::map::iterator socket = sockets.find(event.data.fd); + lock.unlock(); + if(socket != sockets.end()) { + (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."); + } + } + + int EPoll::getDescriptor() { + return epfd; + } + + int EPoll::processCommand(std::string command, Session *session) { + + int sequence = 0; + + for(auto threadx : threads) { + session->out << "|" << ++sequence; + session->out << "|" ; + threadx.output(session); + session->out << "|" << std::endl; + } + + } + +} diff --git a/EPoll.h b/EPoll.h new file mode 100644 index 0000000..c3ed27b --- /dev/null +++ b/EPoll.h @@ -0,0 +1,129 @@ +#ifndef __EPoll_h__ +#define __EPoll_h__ + +#include "Log.h" +#include "Socket.h" +#include "Thread.h" +#include "Session.h" +#include "Command.h" + +namespace core { + + /// + /// EPoll + /// + /// Manage socket events from the epoll system call. + /// + /// Use this object to establish a socket server using the epoll network structure of Linux. + /// + /// Use this object to establish the basis of working with multiple sockets of all sorts + /// using the epoll capabilities of the Linux platform. + /// Socket objects can register with BMAEPoll which will establish a communication mechanism + /// with that socket. + /// + /// The maximum number of sockets to communicate with is specified on the + /// start method. + /// + /// Threads are used to establish a read queue for epoll. The desired number of threads (or + /// queues) is established by a parameter on the start method. + /// + + class EPoll : public Command { + + public: + + /// + /// The constructor for the BMAEPoll object. + /// + + EPoll(); + + /// + /// The destructor for the BMAEPoll object. + /// + + ~EPoll(); + + /// + /// Use the start() method to initiate the threads and begin epoll queue processing. + /// + /// @param numberOfThreads the number of threads to start for processing epoll entries. + /// @param maxSockets the maximum number of open sockets that epoll will manage. + /// + + bool start(int numberOfThreads, int maxSockets); ///< Start the BMAEPoll processing. + + /// + /// Use the stop() method to initiate the shutdown process for the epoll socket management. + /// + /// A complete shutdown of all managed sockets will be initiated by this method call. + /// + + bool stop(); ///< Stop and shut down the BMAEPoll processing. + + /// + /// This method returns a true if the stop() method has been called and the epoll system + /// is shutting. + /// + + bool isStopping(); ///< Returns a true if the stop command has been requested. + + /// + /// Use registerSocket to add a new socket to the ePoll event watch list. This enables + /// a new BMASocket object to receive events when data is received as well as to write + /// data output to the socket. + /// + /// @param socket a pointer to a BMASocket object. + /// @return a booelean that indicates the socket was registered or not. + /// + + bool registerSocket(Socket *socket); ///< Register a BMASocket for monitoring by BMAEPoll. + + /// + /// Use this method to remove a socket from receiving events from the epoll system. + /// + + bool unregisterSocket(Socket *socket); ///< Unregister a BMASocket from monitoring by BMAEPoll. + + /// + /// Use this method to obtain the current descriptor socket number for the epoll function call. + /// + + int getDescriptor(); ///< Return the descriptor for the ePoll socket. + + /// + /// The maximum number of sockets that can be managed by the epoll system. + /// + + int maxSockets; ///< The maximum number of socket allowed. + + /// + /// Receive the epoll events and dispatch the event to the socket making the request. + /// + + void eventReceived(struct epoll_event event); ///< Dispatch event to appropriate socket. + + /// + /// The processCommand() method displays the thread array to the requesting console via the + /// session passed as parameter. + /// + /// @param session the session to write the requested data to. + /// + + int processCommand(std::string command, Session *session) override; /// sockets; + std::vector threads; + volatile bool terminateThreads; + std::mutex lock; + + }; + +} + +#endif + diff --git a/Exception.cpp b/Exception.cpp new file mode 100644 index 0000000..a97e987 --- /dev/null +++ b/Exception.cpp @@ -0,0 +1,20 @@ +#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 new file mode 100644 index 0000000..e4dc6b3 --- /dev/null +++ b/Exception.h @@ -0,0 +1,24 @@ +#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 new file mode 100644 index 0000000..5e6ae1b --- /dev/null +++ b/File.cpp @@ -0,0 +1,43 @@ +#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 new file mode 100644 index 0000000..96ffbcc --- /dev/null +++ b/File.h @@ -0,0 +1,35 @@ +#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/Header.cpp b/Header.cpp new file mode 100644 index 0000000..89929f6 --- /dev/null +++ b/Header.cpp @@ -0,0 +1,29 @@ +#include "Header.h" +#include "Log.h" + +namespace core { + + Header::Header(std::string data) : data(data) { + // Log(LOG_DEBUG_4) << data; + } + + Header::~Header() {} + + std::string Header::requestMethod() { + return data.substr(0, data.find(" ")); + } + + std::string Header::requestURL() { + std::string temp = data.substr(data.find(" ") + 1); + return temp.substr(0, temp.find(" ")); + } + + std::string Header::requestProtocol() { + std::string line1 = data.substr(0, data.find("\r\n")); + return line1.substr(line1.rfind(" ") + 1); + } + +} + + + diff --git a/Header.h b/Header.h new file mode 100644 index 0000000..2916695 --- /dev/null +++ b/Header.h @@ -0,0 +1,29 @@ +#ifndef __Header_h__ +#define __Header_h__ + +#include "includes" +#include "Object.h" + +namespace core { + + class Header : public Object { + + public: + Header(std::string data); + ~Header(); + + std::string data; + + std::string requestMethod(); + std::string requestURL(); + std::string requestProtocol(); + + private: + + // vector> header; + + }; + +} + +#endif diff --git a/IPAddress.cpp b/IPAddress.cpp new file mode 100644 index 0000000..67b5cc1 --- /dev/null +++ b/IPAddress.cpp @@ -0,0 +1,31 @@ +#include "IPAddress.h" + +namespace core { + + IPAddress::IPAddress() { + addressLength = sizeof(struct sockaddr_in); + } + + IPAddress::~IPAddress() { + + } + + std::string IPAddress::getClientAddress() { + std::string result; + return result; + } + + std::string IPAddress::getClientAddressAndPort() { + std::stringstream out; + out << inet_ntoa(address.sin_addr); + out << ":" << address.sin_port; + return out.str(); + } + + int IPAddress::getClientPort() { + int result = -1; + return result; + } + +} + diff --git a/IPAddress.h b/IPAddress.h new file mode 100644 index 0000000..acbf9b8 --- /dev/null +++ b/IPAddress.h @@ -0,0 +1,26 @@ +#ifndef __IPAddress_h__ +#define __IPAddress_h__ + +#include "includes" +#include "Object.h" + +namespace core { + + class IPAddress : public Object { + + public: + IPAddress(); + ~IPAddress(); + + struct sockaddr_in address; + socklen_t addressLength; + + std::string getClientAddress(); ///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 new file mode 100644 index 0000000..2c45a1f --- /dev/null +++ b/Log.h @@ -0,0 +1,94 @@ +#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/Object.h b/Object.h new file mode 100644 index 0000000..d37e87a --- /dev/null +++ b/Object.h @@ -0,0 +1,19 @@ +#ifndef __Object_h__ +#define __Object_h__ + +#include "includes" + +namespace core { + + class Object { + + public: + + std::string name; + std::string tag; + + }; + +} + +#endif \ No newline at end of file diff --git a/Response.cpp b/Response.cpp new file mode 100644 index 0000000..b77515e --- /dev/null +++ b/Response.cpp @@ -0,0 +1,50 @@ +#include "Response.h" +#include "Log.h" + +namespace core { + + Response::Response() {} + Response::~Response() {} + + std::string Response::getResponse(Mode mode) { + return getResponse("", mode); + } + + std::string Response::getResponse(std::string content, Mode mode) { + std::stringstream response; + response << protocol << " " << code << " " << text << CRLF; + for(std::map::iterator item = header.begin(); item != header.end(); ++item) + response << item->first << ": " << item->second << CRLF; + if(mimeType != "") + response << "Content-Type: " << mimeType << CRLF; + if(mode == LENGTH) + response << "Content-Length: " << content.length() << CRLF; + else + response << "Transfer-Encoding: chunked" << CRLF; + response << CRLF; + response << content; + // Log(LOG_DEBUG_4) << response.str(); + return response.str(); + } + \ +void Response::setProtocol(std::string protocol) { + this->protocol = protocol; +} + + void Response::setCode(std::string code) { + this->code = code; + } + + void Response::setText(std::string text) { + this->text = text; + } + + void Response::setMimeType(std::string mimeType) { + this->mimeType = mimeType; + } + + void Response::addHeaderItem(std::string key, std::string value) { + header.insert(std::pair(key, value)); + } + +} diff --git a/Response.h b/Response.h new file mode 100644 index 0000000..3db7f25 --- /dev/null +++ b/Response.h @@ -0,0 +1,108 @@ +#ifndef __Response_h__ +#define __Response_h__ + +#include "includes" +#include "Object.h" + +namespace core { + + /// + /// Response + /// + /// Use this object to build a response output for a protocol that uses headers + /// and responses as the main communications protocol. + /// + + class Response : public Object { + + public: + + enum Mode { LENGTH, STREAMING }; + + /// + /// The constructor for the object. + /// + + Response(); + + /// + /// The destructor for the object. + /// + + ~Response(); + + /// + /// Returns the response generated from the contained values that + /// do not return a content length. Using this constructor ensures + /// a zero length Content-Length value. + /// + /// @return the complete response string to send to client. + /// + + std::string getResponse(Mode mode = LENGTH); + + /// + /// Returns the response plus the content passed as a parameter. + /// + /// This method will automatically generate the proper Content-Length + /// value for the response. + /// + /// @param content the content that will be provided on the response + /// message to the client. + /// + /// @return the complete response string to send to client. + /// + + std::string getResponse(std::string content, Mode mode = LENGTH); + + /// + /// Sets the protocol value for the response message. The protocol + /// should match the header received. + /// + /// @param protocol the protocol value to return in response. + /// + + void setProtocol(std::string protocol); + + /// + /// Sets the return code value for the response. + /// + /// @param code the response code value to return in the response. + /// + + void setCode(std::string code); + + /// + /// Sets the return code string value for the response. + /// + /// @param text the text value for the response code to return on + /// the response. + /// + + void setText(std::string text); + + /// + /// Specifies the type of data that will be returned in this response. + /// + /// @param mimeType the mime type for the data. + /// + + void setMimeType(std::string mimeType); + + void addHeaderItem(std::string key, std::string value); + + private: + std::string protocol; + std::string code; + std::string text; + std::string mimeType; + + std::string CRLF = "\r\n"; + + std::map header; + + }; + +} + +#endif diff --git a/ServerCore.mk b/ServerCore.mk new file mode 100644 index 0000000..a8c4aea --- /dev/null +++ b/ServerCore.mk @@ -0,0 +1,282 @@ +## +## Auto Generated makefile by CodeLite IDE +## any manual changes will be erased +## +## Debug +ProjectName :=ServerCore +ConfigurationName :=Debug +WorkspacePath :=/home/barant/Development/BMA/server_core +ProjectPath :=/home/barant/Development/BMA/server_core/ServerCore +IntermediateDirectory :=./Debug +OutDir := $(IntermediateDirectory) +CurrentFileName := +CurrentFilePath := +CurrentFileFullPath := +User :=Brad Arant +Date :=07/02/19 +CodeLitePath :=/home/barant/.codelite +LinkerName :=g++ +SharedObjectLinkerName :=g++ -shared -fPIC +ObjectSuffix :=.o +DependSuffix :=.o.d +PreprocessSuffix :=.o.i +DebugSwitch :=-gstab +IncludeSwitch :=-I +LibrarySwitch :=-l +OutputSwitch :=-o +LibraryPathSwitch :=-L +PreprocessorSwitch :=-D +SourceSwitch :=-c +OutputFile :=$(IntermediateDirectory)/lib$(ProjectName).a +Preprocessors := +ObjectSwitch :=-o +ArchiveOutputSwitch := +PreprocessOnlySwitch :=-E +ObjectsFileList :="ServerCore.txt" +PCHCompileFlags := +MakeDirCommand :=mkdir -p +LinkOptions := +IncludePath := $(IncludeSwitch). $(IncludeSwitch). +IncludePCH := +RcIncludePath := +Libs := +ArLibs := +LibPath := $(LibraryPathSwitch). + +## +## Common variables +## AR, CXX, CC, AS, CXXFLAGS and CFLAGS can be overriden using an environment variables +## +AR := ar rcus +CXX := g++ +CC := gcc +CXXFLAGS := -g $(Preprocessors) +CFLAGS := -g $(Preprocessors) +ASFLAGS := +AS := 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)/Header.cpp$(ObjectSuffix) $(IntermediateDirectory)/IPAddress.cpp$(ObjectSuffix) $(IntermediateDirectory)/Log.cpp$(ObjectSuffix) $(IntermediateDirectory)/Response.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) + + + +Objects=$(Objects0) + +## +## Main Build Targets +## +.PHONY: all clean PreBuild PrePreBuild PostBuild MakeIntermediateDirs +all: $(IntermediateDirectory) $(OutputFile) + +$(OutputFile): $(Objects) + @$(MakeDirCommand) $(@D) + @echo "" > $(IntermediateDirectory)/.d + @echo $(Objects0) > $(ObjectsFileList) + $(AR) $(ArchiveOutputSwitch)$(OutputFile) @$(ObjectsFileList) $(ArLibs) + @$(MakeDirCommand) "/home/barant/Development/BMA/server_core/.build-debug" + @echo rebuilt > "/home/barant/Development/BMA/server_core/.build-debug/ServerCore" + +MakeIntermediateDirs: + @test -d ./Debug || $(MakeDirCommand) ./Debug + + +./Debug: + @test -d ./Debug || $(MakeDirCommand) ./Debug + +PreBuild: + + +## +## Objects +## +$(IntermediateDirectory)/Command.cpp$(ObjectSuffix): Command.cpp $(IntermediateDirectory)/Command.cpp$(DependSuffix) + $(CXX) $(IncludePCH) $(SourceSwitch) "/home/barant/Development/BMA/server_core/ServerCore/Command.cpp" $(CXXFLAGS) $(ObjectSwitch)$(IntermediateDirectory)/Command.cpp$(ObjectSuffix) $(IncludePath) +$(IntermediateDirectory)/Command.cpp$(DependSuffix): Command.cpp + @$(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) -MG -MP -MT$(IntermediateDirectory)/Command.cpp$(ObjectSuffix) -MF$(IntermediateDirectory)/Command.cpp$(DependSuffix) -MM Command.cpp + +$(IntermediateDirectory)/Command.cpp$(PreprocessSuffix): Command.cpp + $(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) $(PreprocessOnlySwitch) $(OutputSwitch) $(IntermediateDirectory)/Command.cpp$(PreprocessSuffix) Command.cpp + +$(IntermediateDirectory)/ConsoleServer.cpp$(ObjectSuffix): ConsoleServer.cpp $(IntermediateDirectory)/ConsoleServer.cpp$(DependSuffix) + $(CXX) $(IncludePCH) $(SourceSwitch) "/home/barant/Development/BMA/server_core/ServerCore/ConsoleServer.cpp" $(CXXFLAGS) $(ObjectSwitch)$(IntermediateDirectory)/ConsoleServer.cpp$(ObjectSuffix) $(IncludePath) +$(IntermediateDirectory)/ConsoleServer.cpp$(DependSuffix): ConsoleServer.cpp + @$(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) -MG -MP -MT$(IntermediateDirectory)/ConsoleServer.cpp$(ObjectSuffix) -MF$(IntermediateDirectory)/ConsoleServer.cpp$(DependSuffix) -MM ConsoleServer.cpp + +$(IntermediateDirectory)/ConsoleServer.cpp$(PreprocessSuffix): ConsoleServer.cpp + $(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) $(PreprocessOnlySwitch) $(OutputSwitch) $(IntermediateDirectory)/ConsoleServer.cpp$(PreprocessSuffix) ConsoleServer.cpp + +$(IntermediateDirectory)/ConsoleSession.cpp$(ObjectSuffix): ConsoleSession.cpp $(IntermediateDirectory)/ConsoleSession.cpp$(DependSuffix) + $(CXX) $(IncludePCH) $(SourceSwitch) "/home/barant/Development/BMA/server_core/ServerCore/ConsoleSession.cpp" $(CXXFLAGS) $(ObjectSwitch)$(IntermediateDirectory)/ConsoleSession.cpp$(ObjectSuffix) $(IncludePath) +$(IntermediateDirectory)/ConsoleSession.cpp$(DependSuffix): ConsoleSession.cpp + @$(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) -MG -MP -MT$(IntermediateDirectory)/ConsoleSession.cpp$(ObjectSuffix) -MF$(IntermediateDirectory)/ConsoleSession.cpp$(DependSuffix) -MM ConsoleSession.cpp + +$(IntermediateDirectory)/ConsoleSession.cpp$(PreprocessSuffix): ConsoleSession.cpp + $(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) $(PreprocessOnlySwitch) $(OutputSwitch) $(IntermediateDirectory)/ConsoleSession.cpp$(PreprocessSuffix) ConsoleSession.cpp + +$(IntermediateDirectory)/EPoll.cpp$(ObjectSuffix): EPoll.cpp $(IntermediateDirectory)/EPoll.cpp$(DependSuffix) + $(CXX) $(IncludePCH) $(SourceSwitch) "/home/barant/Development/BMA/server_core/ServerCore/EPoll.cpp" $(CXXFLAGS) $(ObjectSwitch)$(IntermediateDirectory)/EPoll.cpp$(ObjectSuffix) $(IncludePath) +$(IntermediateDirectory)/EPoll.cpp$(DependSuffix): EPoll.cpp + @$(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) -MG -MP -MT$(IntermediateDirectory)/EPoll.cpp$(ObjectSuffix) -MF$(IntermediateDirectory)/EPoll.cpp$(DependSuffix) -MM 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/barant/Development/BMA/server_core/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/barant/Development/BMA/server_core/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)/Header.cpp$(ObjectSuffix): Header.cpp $(IntermediateDirectory)/Header.cpp$(DependSuffix) + $(CXX) $(IncludePCH) $(SourceSwitch) "/home/barant/Development/BMA/server_core/ServerCore/Header.cpp" $(CXXFLAGS) $(ObjectSwitch)$(IntermediateDirectory)/Header.cpp$(ObjectSuffix) $(IncludePath) +$(IntermediateDirectory)/Header.cpp$(DependSuffix): Header.cpp + @$(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) -MG -MP -MT$(IntermediateDirectory)/Header.cpp$(ObjectSuffix) -MF$(IntermediateDirectory)/Header.cpp$(DependSuffix) -MM Header.cpp + +$(IntermediateDirectory)/Header.cpp$(PreprocessSuffix): Header.cpp + $(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) $(PreprocessOnlySwitch) $(OutputSwitch) $(IntermediateDirectory)/Header.cpp$(PreprocessSuffix) Header.cpp + +$(IntermediateDirectory)/IPAddress.cpp$(ObjectSuffix): IPAddress.cpp $(IntermediateDirectory)/IPAddress.cpp$(DependSuffix) + $(CXX) $(IncludePCH) $(SourceSwitch) "/home/barant/Development/BMA/server_core/ServerCore/IPAddress.cpp" $(CXXFLAGS) $(ObjectSwitch)$(IntermediateDirectory)/IPAddress.cpp$(ObjectSuffix) $(IncludePath) +$(IntermediateDirectory)/IPAddress.cpp$(DependSuffix): IPAddress.cpp + @$(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) -MG -MP -MT$(IntermediateDirectory)/IPAddress.cpp$(ObjectSuffix) -MF$(IntermediateDirectory)/IPAddress.cpp$(DependSuffix) -MM 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/barant/Development/BMA/server_core/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)/Response.cpp$(ObjectSuffix): Response.cpp $(IntermediateDirectory)/Response.cpp$(DependSuffix) + $(CXX) $(IncludePCH) $(SourceSwitch) "/home/barant/Development/BMA/server_core/ServerCore/Response.cpp" $(CXXFLAGS) $(ObjectSwitch)$(IntermediateDirectory)/Response.cpp$(ObjectSuffix) $(IncludePath) +$(IntermediateDirectory)/Response.cpp$(DependSuffix): Response.cpp + @$(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) -MG -MP -MT$(IntermediateDirectory)/Response.cpp$(ObjectSuffix) -MF$(IntermediateDirectory)/Response.cpp$(DependSuffix) -MM Response.cpp + +$(IntermediateDirectory)/Response.cpp$(PreprocessSuffix): Response.cpp + $(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) $(PreprocessOnlySwitch) $(OutputSwitch) $(IntermediateDirectory)/Response.cpp$(PreprocessSuffix) Response.cpp + +$(IntermediateDirectory)/Session.cpp$(ObjectSuffix): Session.cpp $(IntermediateDirectory)/Session.cpp$(DependSuffix) + $(CXX) $(IncludePCH) $(SourceSwitch) "/home/barant/Development/BMA/server_core/ServerCore/Session.cpp" $(CXXFLAGS) $(ObjectSwitch)$(IntermediateDirectory)/Session.cpp$(ObjectSuffix) $(IncludePath) +$(IntermediateDirectory)/Session.cpp$(DependSuffix): Session.cpp + @$(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) -MG -MP -MT$(IntermediateDirectory)/Session.cpp$(ObjectSuffix) -MF$(IntermediateDirectory)/Session.cpp$(DependSuffix) -MM Session.cpp + +$(IntermediateDirectory)/Session.cpp$(PreprocessSuffix): Session.cpp + $(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) $(PreprocessOnlySwitch) $(OutputSwitch) $(IntermediateDirectory)/Session.cpp$(PreprocessSuffix) Session.cpp + +$(IntermediateDirectory)/Socket.cpp$(ObjectSuffix): Socket.cpp $(IntermediateDirectory)/Socket.cpp$(DependSuffix) + $(CXX) $(IncludePCH) $(SourceSwitch) "/home/barant/Development/BMA/server_core/ServerCore/Socket.cpp" $(CXXFLAGS) $(ObjectSwitch)$(IntermediateDirectory)/Socket.cpp$(ObjectSuffix) $(IncludePath) +$(IntermediateDirectory)/Socket.cpp$(DependSuffix): Socket.cpp + @$(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) -MG -MP -MT$(IntermediateDirectory)/Socket.cpp$(ObjectSuffix) -MF$(IntermediateDirectory)/Socket.cpp$(DependSuffix) -MM Socket.cpp + +$(IntermediateDirectory)/Socket.cpp$(PreprocessSuffix): Socket.cpp + $(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) $(PreprocessOnlySwitch) $(OutputSwitch) $(IntermediateDirectory)/Socket.cpp$(PreprocessSuffix) Socket.cpp + +$(IntermediateDirectory)/TCPServerSocket.cpp$(ObjectSuffix): TCPServerSocket.cpp $(IntermediateDirectory)/TCPServerSocket.cpp$(DependSuffix) + $(CXX) $(IncludePCH) $(SourceSwitch) "/home/barant/Development/BMA/server_core/ServerCore/TCPServerSocket.cpp" $(CXXFLAGS) $(ObjectSwitch)$(IntermediateDirectory)/TCPServerSocket.cpp$(ObjectSuffix) $(IncludePath) +$(IntermediateDirectory)/TCPServerSocket.cpp$(DependSuffix): TCPServerSocket.cpp + @$(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) -MG -MP -MT$(IntermediateDirectory)/TCPServerSocket.cpp$(ObjectSuffix) -MF$(IntermediateDirectory)/TCPServerSocket.cpp$(DependSuffix) -MM TCPServerSocket.cpp + +$(IntermediateDirectory)/TCPServerSocket.cpp$(PreprocessSuffix): TCPServerSocket.cpp + $(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) $(PreprocessOnlySwitch) $(OutputSwitch) $(IntermediateDirectory)/TCPServerSocket.cpp$(PreprocessSuffix) TCPServerSocket.cpp + +$(IntermediateDirectory)/TCPSocket.cpp$(ObjectSuffix): TCPSocket.cpp $(IntermediateDirectory)/TCPSocket.cpp$(DependSuffix) + $(CXX) $(IncludePCH) $(SourceSwitch) "/home/barant/Development/BMA/server_core/ServerCore/TCPSocket.cpp" $(CXXFLAGS) $(ObjectSwitch)$(IntermediateDirectory)/TCPSocket.cpp$(ObjectSuffix) $(IncludePath) +$(IntermediateDirectory)/TCPSocket.cpp$(DependSuffix): TCPSocket.cpp + @$(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) -MG -MP -MT$(IntermediateDirectory)/TCPSocket.cpp$(ObjectSuffix) -MF$(IntermediateDirectory)/TCPSocket.cpp$(DependSuffix) -MM TCPSocket.cpp + +$(IntermediateDirectory)/TCPSocket.cpp$(PreprocessSuffix): TCPSocket.cpp + $(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) $(PreprocessOnlySwitch) $(OutputSwitch) $(IntermediateDirectory)/TCPSocket.cpp$(PreprocessSuffix) TCPSocket.cpp + +$(IntermediateDirectory)/Thread.cpp$(ObjectSuffix): Thread.cpp $(IntermediateDirectory)/Thread.cpp$(DependSuffix) + $(CXX) $(IncludePCH) $(SourceSwitch) "/home/barant/Development/BMA/server_core/ServerCore/Thread.cpp" $(CXXFLAGS) $(ObjectSwitch)$(IntermediateDirectory)/Thread.cpp$(ObjectSuffix) $(IncludePath) +$(IntermediateDirectory)/Thread.cpp$(DependSuffix): Thread.cpp + @$(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) -MG -MP -MT$(IntermediateDirectory)/Thread.cpp$(ObjectSuffix) -MF$(IntermediateDirectory)/Thread.cpp$(DependSuffix) -MM Thread.cpp + +$(IntermediateDirectory)/Thread.cpp$(PreprocessSuffix): Thread.cpp + $(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) $(PreprocessOnlySwitch) $(OutputSwitch) $(IntermediateDirectory)/Thread.cpp$(PreprocessSuffix) Thread.cpp + +$(IntermediateDirectory)/Timer.cpp$(ObjectSuffix): Timer.cpp $(IntermediateDirectory)/Timer.cpp$(DependSuffix) + $(CXX) $(IncludePCH) $(SourceSwitch) "/home/barant/Development/BMA/server_core/ServerCore/Timer.cpp" $(CXXFLAGS) $(ObjectSwitch)$(IntermediateDirectory)/Timer.cpp$(ObjectSuffix) $(IncludePath) +$(IntermediateDirectory)/Timer.cpp$(DependSuffix): Timer.cpp + @$(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) -MG -MP -MT$(IntermediateDirectory)/Timer.cpp$(ObjectSuffix) -MF$(IntermediateDirectory)/Timer.cpp$(DependSuffix) -MM Timer.cpp + +$(IntermediateDirectory)/Timer.cpp$(PreprocessSuffix): Timer.cpp + $(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) $(PreprocessOnlySwitch) $(OutputSwitch) $(IntermediateDirectory)/Timer.cpp$(PreprocessSuffix) Timer.cpp + +$(IntermediateDirectory)/TLSServerSocket.cpp$(ObjectSuffix): TLSServerSocket.cpp $(IntermediateDirectory)/TLSServerSocket.cpp$(DependSuffix) + $(CXX) $(IncludePCH) $(SourceSwitch) "/home/barant/Development/BMA/server_core/ServerCore/TLSServerSocket.cpp" $(CXXFLAGS) $(ObjectSwitch)$(IntermediateDirectory)/TLSServerSocket.cpp$(ObjectSuffix) $(IncludePath) +$(IntermediateDirectory)/TLSServerSocket.cpp$(DependSuffix): TLSServerSocket.cpp + @$(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) -MG -MP -MT$(IntermediateDirectory)/TLSServerSocket.cpp$(ObjectSuffix) -MF$(IntermediateDirectory)/TLSServerSocket.cpp$(DependSuffix) -MM TLSServerSocket.cpp + +$(IntermediateDirectory)/TLSServerSocket.cpp$(PreprocessSuffix): TLSServerSocket.cpp + $(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) $(PreprocessOnlySwitch) $(OutputSwitch) $(IntermediateDirectory)/TLSServerSocket.cpp$(PreprocessSuffix) TLSServerSocket.cpp + +$(IntermediateDirectory)/TLSSession.cpp$(ObjectSuffix): TLSSession.cpp $(IntermediateDirectory)/TLSSession.cpp$(DependSuffix) + $(CXX) $(IncludePCH) $(SourceSwitch) "/home/barant/Development/BMA/server_core/ServerCore/TLSSession.cpp" $(CXXFLAGS) $(ObjectSwitch)$(IntermediateDirectory)/TLSSession.cpp$(ObjectSuffix) $(IncludePath) +$(IntermediateDirectory)/TLSSession.cpp$(DependSuffix): TLSSession.cpp + @$(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) -MG -MP -MT$(IntermediateDirectory)/TLSSession.cpp$(ObjectSuffix) -MF$(IntermediateDirectory)/TLSSession.cpp$(DependSuffix) -MM TLSSession.cpp + +$(IntermediateDirectory)/TLSSession.cpp$(PreprocessSuffix): TLSSession.cpp + $(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) $(PreprocessOnlySwitch) $(OutputSwitch) $(IntermediateDirectory)/TLSSession.cpp$(PreprocessSuffix) TLSSession.cpp + +$(IntermediateDirectory)/UDPServerSocket.cpp$(ObjectSuffix): UDPServerSocket.cpp $(IntermediateDirectory)/UDPServerSocket.cpp$(DependSuffix) + $(CXX) $(IncludePCH) $(SourceSwitch) "/home/barant/Development/BMA/server_core/ServerCore/UDPServerSocket.cpp" $(CXXFLAGS) $(ObjectSwitch)$(IntermediateDirectory)/UDPServerSocket.cpp$(ObjectSuffix) $(IncludePath) +$(IntermediateDirectory)/UDPServerSocket.cpp$(DependSuffix): UDPServerSocket.cpp + @$(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) -MG -MP -MT$(IntermediateDirectory)/UDPServerSocket.cpp$(ObjectSuffix) -MF$(IntermediateDirectory)/UDPServerSocket.cpp$(DependSuffix) -MM UDPServerSocket.cpp + +$(IntermediateDirectory)/UDPServerSocket.cpp$(PreprocessSuffix): UDPServerSocket.cpp + $(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) $(PreprocessOnlySwitch) $(OutputSwitch) $(IntermediateDirectory)/UDPServerSocket.cpp$(PreprocessSuffix) UDPServerSocket.cpp + +$(IntermediateDirectory)/UDPSocket.cpp$(ObjectSuffix): UDPSocket.cpp $(IntermediateDirectory)/UDPSocket.cpp$(DependSuffix) + $(CXX) $(IncludePCH) $(SourceSwitch) "/home/barant/Development/BMA/server_core/ServerCore/UDPSocket.cpp" $(CXXFLAGS) $(ObjectSwitch)$(IntermediateDirectory)/UDPSocket.cpp$(ObjectSuffix) $(IncludePath) +$(IntermediateDirectory)/UDPSocket.cpp$(DependSuffix): UDPSocket.cpp + @$(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) -MG -MP -MT$(IntermediateDirectory)/UDPSocket.cpp$(ObjectSuffix) -MF$(IntermediateDirectory)/UDPSocket.cpp$(DependSuffix) -MM UDPSocket.cpp + +$(IntermediateDirectory)/UDPSocket.cpp$(PreprocessSuffix): UDPSocket.cpp + $(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) $(PreprocessOnlySwitch) $(OutputSwitch) $(IntermediateDirectory)/UDPSocket.cpp$(PreprocessSuffix) UDPSocket.cpp + +$(IntermediateDirectory)/CommandList.cpp$(ObjectSuffix): CommandList.cpp $(IntermediateDirectory)/CommandList.cpp$(DependSuffix) + $(CXX) $(IncludePCH) $(SourceSwitch) "/home/barant/Development/BMA/server_core/ServerCore/CommandList.cpp" $(CXXFLAGS) $(ObjectSwitch)$(IntermediateDirectory)/CommandList.cpp$(ObjectSuffix) $(IncludePath) +$(IntermediateDirectory)/CommandList.cpp$(DependSuffix): CommandList.cpp + @$(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) -MG -MP -MT$(IntermediateDirectory)/CommandList.cpp$(ObjectSuffix) -MF$(IntermediateDirectory)/CommandList.cpp$(DependSuffix) -MM CommandList.cpp + +$(IntermediateDirectory)/CommandList.cpp$(PreprocessSuffix): CommandList.cpp + $(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) $(PreprocessOnlySwitch) $(OutputSwitch) $(IntermediateDirectory)/CommandList.cpp$(PreprocessSuffix) CommandList.cpp + +$(IntermediateDirectory)/TerminalSession.cpp$(ObjectSuffix): TerminalSession.cpp $(IntermediateDirectory)/TerminalSession.cpp$(DependSuffix) + $(CXX) $(IncludePCH) $(SourceSwitch) "/home/barant/Development/BMA/server_core/ServerCore/TerminalSession.cpp" $(CXXFLAGS) $(ObjectSwitch)$(IntermediateDirectory)/TerminalSession.cpp$(ObjectSuffix) $(IncludePath) +$(IntermediateDirectory)/TerminalSession.cpp$(DependSuffix): TerminalSession.cpp + @$(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) -MG -MP -MT$(IntermediateDirectory)/TerminalSession.cpp$(ObjectSuffix) -MF$(IntermediateDirectory)/TerminalSession.cpp$(DependSuffix) -MM TerminalSession.cpp + +$(IntermediateDirectory)/TerminalSession.cpp$(PreprocessSuffix): TerminalSession.cpp + $(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) $(PreprocessOnlySwitch) $(OutputSwitch) $(IntermediateDirectory)/TerminalSession.cpp$(PreprocessSuffix) TerminalSession.cpp + + +-include $(IntermediateDirectory)/*$(DependSuffix) +## +## Clean +## +clean: + $(RM) -r ./Debug/ + + diff --git a/ServerCore.project b/ServerCore.project new file mode 100644 index 0000000..95952db --- /dev/null +++ b/ServerCore.project @@ -0,0 +1,144 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ServerCore.txt b/ServerCore.txt new file mode 100644 index 0000000..62e67bf --- /dev/null +++ b/ServerCore.txt @@ -0,0 +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/Header.cpp.o ./Debug/IPAddress.cpp.o ./Debug/Log.cpp.o ./Debug/Response.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 diff --git a/Session.cpp b/Session.cpp new file mode 100644 index 0000000..64f1230 --- /dev/null +++ b/Session.cpp @@ -0,0 +1,61 @@ +#include "Session.h" +#include "Log.h" +#include "TCPServerSocket.h" + +namespace core { + + Session::Session(EPoll &ePoll, TCPServerSocket &server) : TCPSocket(ePoll), server(server) { + } + + Session::~Session() { + server.removeFromSessionList(this); + } + + void Session::init() {} + + void Session::output(Session *session) { + session->out << "|" << ipAddress.getClientAddressAndPort(); + } + + TCPServerSocket &Session::getServer() { + return server; + } + + void Session::protocol(std::string data = "") { + if(data.length() > 0) + if(!server.commands.processRequest(data, this)) + server.sessionErrorHandler("Invalid data received.", this); + } + + void Session::onConnected() { + protocol(); + } + + void Session::onDataReceived(std::string data) { + protocol(data); + } + + void Session::sendToAll() { + for(auto session : server.sessions) { + if(session != this) + session->write(out.str()); + } + out.str(""); + } + + void Session::sendToAll(SessionFilter *filter) { + for(auto session : server.sessions) { + if(filter->test(*session)) { + if(session != this) + session->write(out.str()); + } + } + out.str(""); + } + + void Session::send() { + write(out.str()); + out.str(""); + } + +} diff --git a/Session.h b/Session.h new file mode 100644 index 0000000..497c207 --- /dev/null +++ b/Session.h @@ -0,0 +1,79 @@ +#ifndef __Session_h__ +#define __Session_h__ + +#include "TCPSocket.h" +//#include "TCPServerSocket.h" +#include "SessionFilter.h" + +namespace core { + + class TCPServerSocket; + + /// + /// Session + /// + /// Session defines the nature of the interaction with the client + /// and stores persistent data for a defined session. BMASession objects + /// are not sockets but instead provide a communications control + /// mechanism. Protocol conversations are provided through extensions + /// from this object. + /// + + class Session : public TCPSocket { + + public: + Session(EPoll &ePoll, TCPServerSocket &server); + ~Session(); + + virtual void init(); + + virtual void output(Session *session); + + /// + /// The send method is used to output the contents of the out stream + /// to the session containing the stream. + /// + + void send(); + + /// + /// Use this sendToAll method to output the contents of the out stream + /// to all the connections on the server excluding the sender session. + /// + + void sendToAll(); + + /// + /// Use this sendToAll method to output the contents of the out stream + /// to all the connections on the server excluding the sender session + /// and the entries identified by the passed in filter object. + /// + + void sendToAll(SessionFilter *filter); + + std::stringstream out; + + TCPServerSocket &getServer(); + TCPServerSocket &server; + + protected: + + void onDataReceived(std::string data) override; + void onConnected() override; + + /// + /// Override the protocol method to manage and control the session communications + /// in your inherited session. If you do not override this method then the Session + /// default will process the 'commands' added to the server object using the + /// processRequest method on the session input. + /// + + virtual void protocol(std::string data); + + private: + + }; + +} + +#endif diff --git a/SessionFilter.h b/SessionFilter.h new file mode 100644 index 0000000..51f3b3c --- /dev/null +++ b/SessionFilter.h @@ -0,0 +1,20 @@ +#ifndef __SessionFilter_h__ +#define __SessionFilter_h__ + +//#include "Session.h" + +namespace core { + + class Session; + + class SessionFilter : public Object { + + public: + virtual bool test(Session &session) { + return true;}; + + }; + +} + +#endif diff --git a/Socket.cpp b/Socket.cpp new file mode 100644 index 0000000..0c32f5c --- /dev/null +++ b/Socket.cpp @@ -0,0 +1,192 @@ +#include "EPoll.h" +#include "Socket.h" +#include "Exception.h" +#include "Log.h" + +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)."; + buffer = (char *)malloc(4096); + length = 4096; + } + + Socket::~Socket() { + ePoll.unregisterSocket(this); + close(descriptor); + free(buffer); + } + + void Socket::setDescriptor(int descriptor) { + Log(LOG_DEBUG_3) << "Descriptor set to " << descriptor << " for Socket."; + if(descriptor < 3) + throw Exception("Descriptor out of range", __FILE__, __LINE__); + this->descriptor = descriptor; + onTLSInit(); + } + + int Socket::getDescriptor() { + return descriptor; + } + + void Socket::onTLSInit() {} + + void Socket::setBufferSize(int length) { + buffer = (char *)realloc(buffer, length); + this->length = length; + } + + void Socket::onRegistered() { + onConnected(); + } + + void Socket::onUnregistered() { + // onDisconnected(); + } + + void Socket::eventReceived(struct epoll_event event) { + + // std::stringstream stream; + // stream << "Event received on socket " << event.data.fd << ": "; + // if(event.events & EPOLLRDHUP) stream << "EPOLLRDHUP "; + // if(event.events & EPOLLIN) stream << "EPOLLIN "; + // if(event.events & EPOLLOUT) stream << "EPOLLOUT "; + // if(event.events & EPOLLERR) stream << "EPOLLERR "; + // stream << "[" << event.events << "]"; + // BMALog(LOG_DEBUG_4) << stream.str(); + // + if(event.events & EPOLLRDHUP) { + Log(LOG_DEBUG_2) << "Socket " << descriptor << " received disconnect from client."; + shutdown(); + return; + } + + if(event.events & EPOLLIN) + receiveData(buffer, length); + + if(event.events & EPOLLOUT) + writeSocket(); + + enable(true); + } + + void Socket::enable(bool mode) { + if(mode) { + if(fifo.empty()) + active ? resetRead(): setRead(); + else + active ? resetReadWrite(5): setReadWrite(); + active = true; + } + else + 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); + + int len; + int error = -1; + + if((len = ::read(getDescriptor(), buffer, bufferLength)) >= 0) + onDataReceived(std::string(buffer, len)); + else { + + error = errno; + + switch (error) { + + // When a listening socket receives a connection + // request we get one of these. + // + case ENOTCONN: + onDataReceived(std::string(buffer, 0)); + break; + + case ECONNRESET: + break; + + default: + throw Exception("Error in read of data from socket.", __FILE__, __LINE__, error); + } + } + } + + void Socket::onConnected() { + } + + void Socket::writeSocket() { + lock.lock(); + if(fifo.size() > 0) { + ::write(descriptor, fifo.front().c_str(), fifo.front().length()); + fifo.pop(); + enable(true); + } + lock.unlock(); + } + + void Socket::write(std::string data) { + lock.lock(); + fifo.emplace(data); + enable(true); + lock.unlock(); + } + + void Socket::output(std::stringstream &out) { + out << "|" << descriptor << "|"; + } + + void Socket::setRead() { + event.data.fd = descriptor; + event.events = EPOLLIN | EPOLLONESHOT | EPOLLRDHUP | EPOLLET; + epoll_ctl(ePoll.getDescriptor(), EPOLL_CTL_DEL, descriptor, NULL); + epoll_ctl(ePoll.getDescriptor(), EPOLL_CTL_ADD, event.data.fd, &event); + } + + void Socket::setWrite() { + event.data.fd = descriptor; + event.events = EPOLLOUT | EPOLLONESHOT | EPOLLRDHUP | EPOLLET; + epoll_ctl(ePoll.getDescriptor(), EPOLL_CTL_DEL, descriptor, NULL); + epoll_ctl(ePoll.getDescriptor(), EPOLL_CTL_ADD, descriptor, &event); + } + + void Socket::setReadWrite() { + event.data.fd = descriptor; + event.events = EPOLLIN | EPOLLWRNORM | EPOLLONESHOT | EPOLLRDHUP | EPOLLET; + epoll_ctl(ePoll.getDescriptor(), EPOLL_CTL_DEL, descriptor, NULL); + epoll_ctl(ePoll.getDescriptor(), EPOLL_CTL_ADD, descriptor, &event); + } + + void Socket::resetRead() { + event.data.fd = descriptor; + event.events = EPOLLIN | EPOLLONESHOT | EPOLLRDHUP | EPOLLET; + epoll_ctl(ePoll.getDescriptor(), EPOLL_CTL_MOD, descriptor, &event); + } + + void Socket::resetWrite() { + event.data.fd = descriptor; + event.events = EPOLLOUT | EPOLLONESHOT | EPOLLRDHUP | EPOLLET; + epoll_ctl(ePoll.getDescriptor(), EPOLL_CTL_MOD, descriptor, &event); + } + + void Socket::resetReadWrite(int x) { + event.data.fd = descriptor; + event.events = EPOLLIN | EPOLLOUT | EPOLLONESHOT | EPOLLRDHUP | EPOLLET; + epoll_ctl(ePoll.getDescriptor(), EPOLL_CTL_MOD, descriptor, &event); + } + + void Socket::clear() { + epoll_ctl(ePoll.getDescriptor(), EPOLL_CTL_DEL, descriptor, NULL); + } + + void Socket::shutdown() { + Log (LOG_DEBUG_2) << "Shutdown requested on socket " << descriptor << "."; + shutDown = true; + enable(false); + delete this; + } + +} diff --git a/Socket.h b/Socket.h new file mode 100644 index 0000000..2246c6a --- /dev/null +++ b/Socket.h @@ -0,0 +1,184 @@ +#ifndef __Socket_h__ +#define __Socket_h__ + +#include "includes" +#include "Object.h" + +namespace core { + + class EPoll; + + /// + /// Socket + /// + /// The core component to managing a socket. + /// + /// Hooks into the EPoll through the registration and unregistration process and provides a + /// communication socket of the specified protocol type. This object provides for all receiving + /// data threading through use of the EPoll object and also provides buffering for output data + /// requests to the socket. + /// + /// A program using a socket object can request to open a socket (file or network or whatever) and + /// communicate through the streambuffer interface of the socket object. + /// + /// The socket side of the Socket accepts EPOLLIN event and will maintain the data in a buffer + /// for the stream readers to read. A onDataReceived event is then sent with the data received in + /// the buffer that can be read through the stream. + /// + /// When writing to the stream the data is written into a buffer and a EPOLLOUT is scheduled. Upon + /// receiving the EPOLLOUT event then the buffer is written to the socket output. + /// + + class Socket : public std::streambuf, + public core::Object { + + public: + + Socket(EPoll &ePoll); + ~Socket(); + + void setDescriptor(int descriptor); /// The descriptor to monitor for this socket. + + /// + /// The event received from epoll is sent through the eventReceived + /// method which will parse the event and call the read and write + /// callbacks on the socket. + /// + /// This method is called by the BMAEPoll object and should not be called + /// from any user extended classes unless an epoll event is being + /// simulated. + /// + + void eventReceived(struct epoll_event event); ///< Parse epoll event and call specified callbacks. + + /// + /// Write data to the socket. + /// + + void write(std::string data); + void write(char *buffer, int length); + + void output(std::stringstream &out); + + /// + /// The onRegistered method is called whenever the socket is registered with + /// ePoll and socket communcation events can be started. + /// + + virtual void onRegistered(); ///< Called when the socket has finished registering with the epoll processing. + + /// + /// The onUnregistered method is called whenever the socket is unregistered with + /// ePoll and socket communcation events will be stopped. The default method will + /// close the socket and clean up the connection. If this is overridden by an + /// extended object then the object should call this method to clean the socket up. + /// + + virtual void onUnregistered(); ///< Called when the socket has finished unregistering for the epoll processing. + + void enable(bool mode); ///< Enable the socket to read or write based upon buffer. + + protected: + + EPoll &ePoll; // The EPoll control object. + + bool shutDown = false; + + void setBufferSize(int length); + + /// + /// The onConnected method is called when the socket is ready to communicate. + /// Writing to the socket can begin on this call to initiate a contact with the + /// remote device. + /// + + virtual void onConnected(); ///< Called when socket is open and ready to communicate. + + virtual void onTLSInit(); + + /// + /// + /// + +// virtual void onDisconnected(); ///< Called when socket is closing and no longer ready to communicate. + + /// + /// The onDataReceived method is called when the socket has received an event from + /// epoll and there is data ready to be read from the socket. The default handler + /// will pull the data and put it into the streambuf for the socket. EPOLLIN + /// + /// @param data the data that has been received from the socket. + /// + + virtual void onDataReceived(std::string data) = 0; ///< Called when data is received from the socket. + + void shutdown(); + + /// + /// receiveData will read the data from the socket and place it in the socket buffer. + /// TLS layer overrides this to be able to read from SSL. + /// + + virtual void receiveData(char *buffer, int bufferLength); + + private: + + int descriptor = -1; + std::mutex lock; + + struct epoll_event event; // Event selection construction structure. + + //-------------------------------------------------- + // These are used to schedule the socket activity. + //-------------------------------------------------- + + void setRead(); ///< Queue a request to read from this socket. + void setWrite(); ///< Queue a request to write to this socket. + void setReadWrite(); + void resetRead(); + void resetWrite();; + void resetReadWrite(int x); + void clear(); + + //------------------------------------------------------------------------------------- + // the writeSocket is called when epoll has received a write request for a socket. + // Writing data to this socket is queued in the streambuf and permission is requested + // to write to the socket. This routine handles the writing of the streambuf data + // buffer to the socket. + //------------------------------------------------------------------------------------- + + void writeSocket(); + + // int_type underflow(); +// int_type uflow(); +// int_type pbackfail(int_type ch); +// streamsize showmanyc(); + + char *buffer; // This is a pointer to the managed buffer space. + int length; // This is the length of the buffer. + +// const char * const begin_; +// const char * const end_; +// const char * const current_; + + std::queue fifo; + + bool active = false; + + }; + +} + +#endif + diff --git a/TCPServerSocket.cpp b/TCPServerSocket.cpp new file mode 100644 index 0000000..6e4217a --- /dev/null +++ b/TCPServerSocket.cpp @@ -0,0 +1,88 @@ +#include "TCPServerSocket.h" +#include "EPoll.h" +#include "Session.h" +#include "Exception.h" + +namespace core { + + TCPServerSocket::TCPServerSocket(EPoll &ePoll, std::string url, short int port) : TCPSocket(ePoll) { + + struct sockaddr_in addr; + memset(&addr, 0, sizeof(addr)); + addr.sin_family = AF_INET; + addr.sin_port = htons(port); + + struct hostent *hp = gethostbyname(url.c_str()); + + memcpy((void *)&addr.sin_addr, hp->h_addr_list[0], hp->h_length); + + setDescriptor(socket(AF_INET, SOCK_STREAM, 0)); + + int yes = 1; + setsockopt(getDescriptor(), SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(int)); + + if(bind(getDescriptor(), (struct sockaddr *)&addr, sizeof(addr)) < 0) + throw Exception("Error on bind to socket"); + + if(listen(getDescriptor(), 10) < 0) + throw Exception("Error on listen to socket"); + + ePoll.registerSocket(this); + + } + + TCPServerSocket::~TCPServerSocket() { + close(getDescriptor()); + } + + void TCPServerSocket::init() {} + + void TCPServerSocket::onDataReceived(std::string data) { + + Log(LOG_DEBUG_2) << "Connection request on socket " << getDescriptor() << "."; + + Session *session = accept(); + sessions.push_back(session); + } + + Session * TCPServerSocket::accept() { + + Session *session = getSocketAccept(); + session->setDescriptor(::accept(getDescriptor(), (struct sockaddr *)&session->ipAddress.address, &session->ipAddress.addressLength)); + ePoll.registerSocket(session); + + Log(LOG_DEBUG_2) << "Session started on socket " << session->getDescriptor() << "."; + + return session; + } + + Session * TCPServerSocket::getSocketAccept() { + return new Session(ePoll, *this); + } + + + int TCPServerSocket::processCommand(std::string command, Session *session) { + + int sequence = 0; + + for(auto *sessionx : sessions) { + session->out << "|" << ++sequence; + sessionx->output(session); + session->out << "|" << std::endl; + } + + session->send(); + } + + void TCPServerSocket::removeFromSessionList(Session *session) { + std::vector::iterator cursor; + for(cursor = sessions.begin(); cursor < sessions.end(); ++cursor) + if(*cursor == session) + sessions.erase(cursor); + } + + void TCPServerSocket::sessionErrorHandler(std::string errorString, Session *session) { + throw Exception(errorString); + } + +} diff --git a/TCPServerSocket.h b/TCPServerSocket.h new file mode 100644 index 0000000..741de34 --- /dev/null +++ b/TCPServerSocket.h @@ -0,0 +1,104 @@ +#ifndef __TCPServerSocket_h__ +#define __TCPServerSocket_h__ + +#include "Socket.h" +#include "TCPSocket.h" +#include "Command.h" +#include "CommandList.h" + +namespace core { + + /// + /// TCPServerSocket + /// + /// Manage a socket connection as a TCP server type. Connections to the socket are processed through + /// the accept functionality. + /// + /// A list of connections is maintained in a vector object. + /// + /// This object extends the BMACommand object as well so it can be added to a Console object and + /// process commands to display status information. + /// + + class TCPServerSocket : public TCPSocket, public Command { + + public: + + /// + /// The constructor for the BMATCPSocket object. + /// + /// @param ePoll the EPoll instance that manages the socket. + /// @param url the IP address for the socket to receive connection requests. + /// @param port the port number that the socket will listen on. + /// @param commandName the name of the command used to invoke the status display for this object. + /// @return the instance of the BMATCPServerSocket. + + TCPServerSocket(EPoll &ePoll, std::string url, short int port); + + /// + /// The destructor for this object. + /// + + ~TCPServerSocket(); + + void removeFromSessionList(Session *session); + + /// + /// The list of sessions that are currently open and being maintained by this object. + /// + + std::vector sessions; + + /// + /// 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; + + virtual void sessionErrorHandler(std::string errorString, Session *session); + + 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. + /// No data is to be read or written when this method is called. It is the response to + /// the fact that a new connection is coming into the system + /// + /// @param data the pointer to the buffer containing the received data. + /// @param length the length of the associated data buffer. + /// + + void onDataReceived(std::string data) override; + + /// + /// This method is called when the Command associated with this object is requested + /// because a user has typed in the associated command name on a command entry line. + /// + /// @param the session object to write the output to. + /// + + int processCommand(std::string command, Session *session) override; + + private: + + Session * accept(); + + }; + +} + +#endif diff --git a/TCPSocket.cpp b/TCPSocket.cpp new file mode 100644 index 0000000..17c44a0 --- /dev/null +++ b/TCPSocket.cpp @@ -0,0 +1,24 @@ +#include "TCPSocket.h" +#include "EPoll.h" +#include "Log.h" +#include "Exception.h" + +namespace core { + + TCPSocket::TCPSocket(EPoll &ePoll) : Socket(ePoll) {} + + TCPSocket::~TCPSocket() {} + + void TCPSocket::connect(IPAddress &address) { + setDescriptor(socket(AF_INET, SOCK_STREAM, 0)); + if(::connect(getDescriptor(), (struct sockaddr *)&address.address, address.addressLength) == -1) + throw Exception("Error on connect to TCP socket."); + + } + + void TCPSocket::output(std::stringstream &out) { + out << "|" << ipAddress.getClientAddressAndPort(); + } + +} + diff --git a/TCPSocket.h b/TCPSocket.h new file mode 100644 index 0000000..1202e42 --- /dev/null +++ b/TCPSocket.h @@ -0,0 +1,44 @@ +#ifndef __TCPSocket_h__ +#define __TCPSocket_h__ + +#include "includes" +#include "Socket.h" +#include "IPAddress.h" + +namespace core { + + /// + /// TCPSocket + /// + /// Provides a network TCP socket. + /// + /// For accessing TCP network functions use this object. The connection oriented nature of TCP + /// provides a single client persistent connection with data error correction and a durable + /// synchronous data connection. + /// + + class TCPSocket : public Socket { + + public: + + TCPSocket(EPoll &ePoll); + ~TCPSocket(); + + void connect(IPAddress &address); + + IPAddress ipAddress; + + /// + /// 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. + /// + + virtual void output(std::stringstream &out); + + }; + +} + +#endif diff --git a/TLSServerSocket.cpp b/TLSServerSocket.cpp new file mode 100644 index 0000000..097490b --- /dev/null +++ b/TLSServerSocket.cpp @@ -0,0 +1,66 @@ +#include "TLSServerSocket.h" +#include "TLSSession.h" +#include "EPoll.h" +#include "Session.h" +#include "Exception.h" + +namespace core { + + static pthread_mutex_t *lockarray; + + //static void lock_callback(int mode, int type, const char *file, int line) { + // if(mode & CRYPTO_LOCK) + // pthread_mutex_lock(&(lockarray[type])); + // else + // pthread_mutex_unlock(&(lockarray[type])); + //} + + TLSServerSocket::TLSServerSocket(EPoll &ePoll, std::string url, short int port) : TCPServerSocket(ePoll, url, port) { + tlsServerInit(); + // TODO: Convert to use core::Exception object. + if(!(ctx = SSL_CTX_new(SSLv23_server_method()))) + throw std::string("Error while setting server method SSLv23."); + SSL_CTX_set_mode(ctx, SSL_MODE_RELEASE_BUFFERS | SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER); + SSL_CTX_set_options(ctx, SSL_OP_NO_TICKET); + SSL_CTX_set_session_cache_mode(ctx, SSL_SESS_CACHE_SERVER); + // SSL_CTX_set_generate_session_id(ctx, generate_session_id); + SSL_CTX_set_cipher_list(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(ctx, sip_cert, SSL_FILETYPE_PEM) <= 0) + throw Exception("Error looking up certificate."); + if(SSL_CTX_use_PrivateKey_file(ctx, sip_key, SSL_FILETYPE_PEM) < 0) + throw Exception("Error with private key."); + if(SSL_CTX_check_private_key(ctx) != 1) + throw Exception("Private key does not match certificate."); + SSL_CTX_set_verify(ctx, SSL_VERIFY_PEER, NULL); + SSL_CTX_set_verify_depth(ctx, 1); + if(!SSL_CTX_load_verify_locations(ctx, sip_cacert, NULL)) + throw Exception("Cannot verify locations."); + SSL_CTX_set_client_CA_list(ctx, SSL_load_client_CA_file(sip_cacert)); + Log(LOG_DEBUG_1) << "Server key authenticated."; + } + + TLSServerSocket::~TLSServerSocket() { + + } + + void TLSServerSocket::tlsServerInit() { + SSL_library_init(); + SSL_load_error_strings(); + + lockarray = (pthread_mutex_t *)OPENSSL_malloc(CRYPTO_num_locks() * sizeof(pthread_mutex_t)); + 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); + + SSLeay_add_ssl_algorithms(); + RAND_load_file("/dev/hwrng", 1024); + } + + Session * TLSServerSocket::getSocketAccept() { + Session *session = new TLSSession(ePoll, *this); + return session; + } + +} diff --git a/TLSServerSocket.h b/TLSServerSocket.h new file mode 100644 index 0000000..b102e03 --- /dev/null +++ b/TLSServerSocket.h @@ -0,0 +1,60 @@ +#ifndef TLSServerSocket_h__ +#define TLSServerSocket_h__ + +#include "Socket.h" +#include "TCPServerSocket.h" +#include "Command.h" +#include "Session.h" +#include +#include +#include + +// Global values used by all TLS functions for this server socket. +// +namespace core { + + /// + /// TLSServerSocket + /// + /// Manage a socket connection as a TLS server type. Connections to the socket are processed through + /// the accept functionality. + /// + + class TLSServerSocket : public TCPServerSocket { + + public: + + /// + /// The constructor for the BMATLSSocket object. + /// + /// @param ePoll the BMAEPoll instance that manages the socket. + /// @param url the IP address for the socket to receive connection requests. + /// @param port the port number that the socket will listen on. + /// @param commandName the name of the command used to invoke the status display for this object. + /// @return the instance of the BMATLSServerSocket. + + TLSServerSocket(EPoll &ePoll, std::string url, short int port); + + /// + /// The destructor for this object. + /// + + ~TLSServerSocket(); + + SSL_CTX *ctx; + + protected: + Session * getSocketAccept() override; + + private: + void tlsServerInit(); + + char *sip_cacert = (char *)"/home/barant/testkeys/certs/pbxca.crt"; + char *sip_cert = (char *)"/home/barant/testkeys/certs/pbxserver.crt"; + char *sip_key = (char *)"/home/barant/testkeys/certs/pbxserver.key"; + + }; + +} + +#endif diff --git a/TLSSession.cpp b/TLSSession.cpp new file mode 100644 index 0000000..44e0201 --- /dev/null +++ b/TLSSession.cpp @@ -0,0 +1,127 @@ +#include "TLSSession.h" +#include "EPoll.h" +#include "Log.h" +#include "Exception.h" +#include + +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."; + do { + RAND_bytes(id, *id_len); + memcpy(id, session_id_prefix, (strlen(session_id_prefix) < *id_len)); + } while(SSL_has_matching_session_id(ssl, id, *id_len) && (++count < 10)); + return 1; + } + + void handshake_complete(const SSL *ssl, int where, int ret) { + Log(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) + throw std::string("Unable to get peer certificate."); + 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."; + } + else + Log(LOG_DEBUG_3) << "No client certificate."; + } + + TLSSession::TLSSession(EPoll &ePoll, TLSServerSocket &server) : Session(ePoll, server) {} + + 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(((core::TLSServerSocket &)server).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; + } + } + + TLSSession::~TLSSession() { + + } + + void TLSSession::protocol(std::string data) { + + } + + void TLSSession::receiveData(char *buffer, int bufferLength) { + + if(!initialized) + init(); + + int len; + // int error = -1; + // + std::cout << "receiveData TLS" << std::endl; + + if((len = ::SSL_read(ssl, buffer, bufferLength)) >= 0) { + std::cout << "receiveData TLS...len=" << len << ":" << buffer << std::endl; + onDataReceived(std::string(buffer, len)); + } + else { + switch (SSL_get_error(ssl, len)) { + case SSL_ERROR_SSL: + Log(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."; + break; + case SSL_ERROR_WANT_WRITE: + Log(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; + break; + default: + Log(LOG_DEBUG_3) << "Unknown ERROR on ssl_read."; + break; + } + } + + } + + void TLSSession::output(std::stringstream &out) { + out << "|" << ipAddress.getClientAddressAndPort(); + } + +} + \ No newline at end of file diff --git a/TLSSession.h b/TLSSession.h new file mode 100644 index 0000000..e349e5e --- /dev/null +++ b/TLSSession.h @@ -0,0 +1,53 @@ +#ifndef __TLSSession_h__ +#define __TLSSession_h__ + +#include "includes" +#include "Session.h" +#include "TLSServerSocket.h" +#include + +namespace core { + + class TLSServerSocket; + + /// + /// TLSSession + /// + /// Provides a network TLS socket. + /// + /// For accessing TLS network functions use this object. The connection oriented nature of TLS + /// provides a single client persistent connection with data error correction and a durable + /// synchronous data connection. + /// + + class TLSSession : public Session { + + public: + + TLSSession(EPoll &ePoll, TLSServerSocket &server); + ~TLSSession(); + + /// + /// The output method is called by a socket session (Session) and + /// will output the detail information for the client socket. When extending + /// TLSSocket or Session you can override the method to add attributes + /// to the list. + /// + + virtual void output(std::stringstream &out); + 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; + + }; + +} + +#endif diff --git a/TerminalSession.cpp b/TerminalSession.cpp new file mode 100644 index 0000000..ee4a336 --- /dev/null +++ b/TerminalSession.cpp @@ -0,0 +1,56 @@ +#include "TerminalSession.h" + +namespace core { + + TerminalSession::TerminalSession(EPoll &ePoll, TCPServerSocket &server) : Session(ePoll, server) { + } + + TerminalSession::~TerminalSession() { + } + + int TerminalSession::getLines() { + struct winsize size; + ioctl(getDescriptor(), TIOCGWINSZ, &size); + return size.ws_row; + } + + void TerminalSession::clear() { + out << esc << "[2J"; + } + + void TerminalSession::clearEOL() { + out << esc << "[2K"; + } + + void TerminalSession::setCursorLocation(int x, int y) { + out << esc << "[" << x << ";" << y << "H"; + } + + void TerminalSession::setColor(int color) { + out << esc << "[" << color << "m"; + } + + void TerminalSession::setBackColor(int color) { + out << esc << "[" << color << "m"; + } + + void TerminalSession::saveCursor() { + out << esc << "7"; + } + + void TerminalSession::restoreCursor() { + out << esc << "8"; + } + + void TerminalSession::NextLine(int lines) { + } + + void TerminalSession::PreviousLine(int lines) { + } + + void TerminalSession::scrollArea(int start, int end) { + out << esc << "[" << start << ";" << end << "r"; + } + +} + diff --git a/TerminalSession.h b/TerminalSession.h new file mode 100644 index 0000000..ea8bf96 --- /dev/null +++ b/TerminalSession.h @@ -0,0 +1,52 @@ +#ifndef __Terminal_h__ +#define __Terminal_h__ + +#include "includes" +#include "Session.h" + +namespace core { + + static const int FG_BLACK = 30; + static const int FG_RED = 31; + static const int FG_GREEN = 32; + static const int FG_YELLOW = 33; + static const int FG_BLUE = 34; + static const int FG_MAGENTA = 35; + static const int FG_CYAN = 36; + static const int FG_WHITE = 37; + + static const int BG_BLACK = 40; + static const int BG_RED = 41; + static const int BG_GREEN = 42; + static const int BG_YELLOW = 43; + static const int BG_BLUE = 44; + static const int BG_MAGENTA = 45; + static const int BG_CYAN = 46; + static const int BG_WHITE = 47; + + static const char esc = 0x1b; + + class TerminalSession : public Session { + + public: + TerminalSession(EPoll &ePoll, TCPServerSocket &server); + ~TerminalSession(); + + int getLines(); + + void clear(); + void clearEOL(); + void setCursorLocation(int x, int y); + void setColor(int color); + void setBackColor(int color); + void saveCursor(); + void restoreCursor(); + void NextLine(int lines); + void PreviousLine(int lines); + void scrollArea(int start, int end); + + }; + +} + +#endif diff --git a/Thread.cpp b/Thread.cpp new file mode 100644 index 0000000..a60322c --- /dev/null +++ b/Thread.cpp @@ -0,0 +1,70 @@ +#include "Thread.h" +#include "EPoll.h" + +namespace core { + + Thread::Thread(EPoll &ePoll) : ePoll(ePoll) {} + + Thread::~Thread() {} + + void Thread::start() { + _thread = new std::thread(&Thread::run, this); + } + + void Thread::join() { + _thread->join(); + } + + std::string Thread::getStatus() { + return status; + } + + pid_t Thread::getThreadId() { + return threadId; + } + + int Thread::getCount() { + return count; + } + + void Thread::output(Session *session) { + session->out << "|" << getThreadId(); + session->out << "|" << getStatus(); + session->out << "|" << getCount(); + } + + + void Thread::run() { + + threadId = syscall(SYS_gettid); + + Log(LOG_DEBUG_1) << "Thread started with thread id " << threadId << "."; + + count = 0; + + struct epoll_event events[50]; + + while(1) { + + if(ePoll.isStopping()) + break; + + status = "WAITING"; + int rc = epoll_wait(ePoll.getDescriptor(), events, 50, -1); + status = "RUNNING"; + + if(rc < 0) { + // TODO: Make log entry indicating status received and ignore for now. + } else if(rc == 0) { + break; + } else if(rc > 0) { + for(int ix = 0; ix < rc; ++ix) { + ++count; + ePoll.eventReceived(events[ix]); + } + } + } + + } + +} diff --git a/Thread.h b/Thread.h new file mode 100644 index 0000000..cd9157f --- /dev/null +++ b/Thread.h @@ -0,0 +1,51 @@ +#ifndef __Thread_h__ +#define __Thread_h__ + +#include "includes" +#include "Log.h" +#include "Object.h" +#include "Session.h" + +namespace core { + + class EPoll; + + /// + /// Thread + /// + /// This thread object is designed to be the thread processor for the EPoll object. It wraps the thread + /// object to allow maintaining a status value for monitoring the thread activity. EPoll will instantiate + /// a Thread object for each thread specified in the EPoll's start method. + /// + + class Thread : public Object { + + public: + Thread(EPoll &ePoll); + ~Thread(); + + /// + /// Start the thread object. This will cause the epoll scheduler to commence reading the epoll queue. + /// + + void start(); + void join(); + std::string getStatus(); + pid_t getThreadId(); + int getCount(); + void output(Session *session); + + private: + EPoll &ePoll; // The EPoll control object. + std::string status; + int count; + std::thread *_thread; + void print_thread_start_log(); + pid_t threadId; + void run(); + + }; + +} + +#endif diff --git a/Timer.cpp b/Timer.cpp new file mode 100644 index 0000000..36c512a --- /dev/null +++ b/Timer.cpp @@ -0,0 +1,62 @@ +#include "Timer.h" + +namespace core { + + Timer::Timer(EPoll &ePoll, double delay = 0.0f) : Socket(ePoll) { + setDescriptor(timerfd_create(CLOCK_REALTIME, 0)); + ePoll.registerSocket(this); + setTimer(delay); + } + + Timer::~Timer() { + } + + void Timer::setTimer(double delay) { + + double integer; + double fraction; + struct itimerspec timer; + + delayValue = delay; + + timer.it_interval.tv_sec = 0; + timer.it_interval.tv_nsec = 0; + + fraction = modf(delay, &integer); + + timer.it_value.tv_sec = (int)integer; + timer.it_value.tv_nsec = (int)(fraction * 1000000000); + + timerfd_settime(getDescriptor(), 0, &timer, NULL); + + } + + void Timer::clearTimer() { + + struct itimerspec timer; + + timer.it_interval.tv_sec = 0; + timer.it_interval.tv_nsec = 0; + timer.it_value.tv_sec = 0; + timer.it_value.tv_nsec = 0; + + timerfd_settime(getDescriptor(), 0, &timer, NULL); + + } + + double Timer::getElapsed() { + struct itimerspec timer; + timerfd_gettime(getDescriptor(), &timer); + double toTimeout = (double)((timer.it_value.tv_sec * 1000000000L) + timer.it_value.tv_nsec) / 1000000000L; + return delayValue - toTimeout; + } + + void Timer::onDataReceived(std::string data) { + onTimeout(); + } + + double Timer::getEpoch() { + return (double)std::chrono::duration_cast(std::chrono::system_clock::now().time_since_epoch()).count() /1000000000L; + } + +} diff --git a/Timer.h b/Timer.h new file mode 100644 index 0000000..f1ed731 --- /dev/null +++ b/Timer.h @@ -0,0 +1,66 @@ +#ifndef __Timer_h__ +#define __Timer_h__ + +#include "Socket.h" +#include "EPoll.h" + +namespace core { + + /// + /// Timer + /// + /// Set and trigger callback upon specified timeout. + /// + /// The Timer is used to establish a timer using the timer socket + /// interface. It cannot be instantiated directly but must be extended. + /// + + class Timer : Socket { + + public: + Timer(EPoll &ePoll); + Timer(EPoll &ePoll, double delay); + ~Timer(); + + /// + /// Use the setTimer() method to set the time out value for timer. Setting the timer + /// also starts the timer countdown. The clearTimer() method can be used to reset + /// the timer without triggering the onTimeout() callback. + /// + /// @param delay the amount of time in seconds to wait before trigering the onTimeout function. + /// + + void setTimer(double delay); + + /// + /// Use the clearTimer() to unset the timer and return the timer to an idle state. + /// + + void clearTimer(); + + /// + /// Use the getElapsed() method to obtain the amount of time that has elapsed since + /// the timer was set. + /// + + double getElapsed(); + + double getEpoch(); + + protected: + + /// + /// This method is called when the time out occurs. + /// + + virtual void onTimeout() = 0; + + private: + void onDataReceived(std::string data) override; + double delayValue; + + }; + +} + +#endif diff --git a/UDPServerSocket.cpp b/UDPServerSocket.cpp new file mode 100644 index 0000000..f7c1f9b --- /dev/null +++ b/UDPServerSocket.cpp @@ -0,0 +1,61 @@ +#include "UDPServerSocket.h" +#include "EPoll.h" +#include "Session.h" + +namespace core { + + UDPServerSocket::UDPServerSocket(EPoll &ePoll, std::string url, short int port, std::string commandName) : UDPSocket(ePoll) { + + struct sockaddr_in addr; + memset(&addr, 0, sizeof(addr)); + addr.sin_family = AF_INET; + addr.sin_port = htons(port); + + struct hostent *hp = gethostbyname(url.c_str()); + + memcpy((void *)&addr.sin_addr, hp->h_addr_list[0], hp->h_length); + + setDescriptor(socket(AF_INET, SOCK_STREAM, 0)); + + int yes = 1; + setsockopt(getDescriptor(), SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(int)); + + bind(getDescriptor(), (struct sockaddr *)&addr, sizeof(addr)); + + listen(getDescriptor(), 10); + + ePoll.registerSocket(this); + + } + + UDPServerSocket::~UDPServerSocket() { + close(getDescriptor()); + } + + void UDPServerSocket::onDataReceived(std::string data) { + + // TODO: Here we read the client address and establish a session object or + // or find it in the vector if it was already in use and then + // send the data to the session. + // + // sessions.push_back(session); + // + // BMASession::onDataReceived(data, length); + // + } + + int UDPServerSocket::processCommand(Session *session) { + + std::stringstream out; + int sequence = 0; + + for(auto *session : sessions) { + out << "|" << ++sequence; + session->output(session); + out << "|" << std::endl; + } + + session->write(out.str()); + } + +} diff --git a/UDPServerSocket.h b/UDPServerSocket.h new file mode 100644 index 0000000..2b087aa --- /dev/null +++ b/UDPServerSocket.h @@ -0,0 +1,48 @@ +#ifndef __UDPServerSocket_h__ +#define __UDPServerSocket_h__ + +#include "Socket.h" +#include "UDPSocket.h" +#include "Command.h" + +namespace core { + + /// + /// UDPSocket + /// + /// Manage a socket connection as a UDP server type. Connections to the socket are processed through + /// the session list functionality. A list of sessions is maintained in a vector object. + /// + + class UDPServerSocket : public UDPSocket, public Command { + + public: + + UDPServerSocket(EPoll &ePoll, std::string url, short int port, std::string commandName); + ~UDPServerSocket(); + + protected: + + //--------------------------------------------------------------- + // Override the virtual dataReceived since for the server these + // are requests to accept the new connection socket. + //--------------------------------------------------------------- + + void onDataReceived(std::string data) override; + + int processCommand(Session *session); + + //------------------------------------------------------------------------------------ + // The retrieved socket connections are placed into the client vector list. + //------------------------------------------------------------------------------------ + + std::vector sessions; + + private: + + + }; + +} + +#endif diff --git a/UDPSocket.cpp b/UDPSocket.cpp new file mode 100644 index 0000000..75b98c4 --- /dev/null +++ b/UDPSocket.cpp @@ -0,0 +1,9 @@ +#include "UDPSocket.h" + +namespace core { + + UDPSocket::UDPSocket(EPoll &ePoll) : Socket(ePoll) {} + + UDPSocket::~UDPSocket() {} + +} diff --git a/UDPSocket.h b/UDPSocket.h new file mode 100644 index 0000000..ba63129 --- /dev/null +++ b/UDPSocket.h @@ -0,0 +1,22 @@ +#ifndef UDPSocket_h__ +#define UDPSocket_h__ + +#include "Socket.h" +#include "Session.h" + +namespace core { + + class UDPSocket : public Socket { + + public: + UDPSocket(EPoll &ePoll); + ~UDPSocket(); + +// virtual int open(string address, short int port); +// virtual void write(istream data); + +}; + +} + +#endif diff --git a/docs/guide/BMASockets Programmer's Guide.aux b/docs/guide/BMASockets Programmer's Guide.aux new file mode 100644 index 0000000..6d91f03 --- /dev/null +++ b/docs/guide/BMASockets Programmer's Guide.aux @@ -0,0 +1,15 @@ +\relax +\@writefile{toc}{\contentsline {chapter}{\numberline {1}Overview}{3}} +\@writefile{lof}{\addvspace {10\p@ }} +\@writefile{lot}{\addvspace {10\p@ }} +\@writefile{toc}{\contentsline {chapter}{\numberline {2}Linux epoll Interactions}{5}} +\@writefile{lof}{\addvspace {10\p@ }} +\@writefile{lot}{\addvspace {10\p@ }} +\@writefile{toc}{\contentsline {chapter}{\numberline {3}The Core Server}{7}} +\@writefile{lof}{\addvspace {10\p@ }} +\@writefile{lot}{\addvspace {10\p@ }} +\@writefile{toc}{\contentsline {chapter}{\numberline {4}Sample Server Example}{9}} +\@writefile{lof}{\addvspace {10\p@ }} +\@writefile{lot}{\addvspace {10\p@ }} +\@writefile{toc}{\contentsline {section}{\numberline {4.1}The Server}{9}} +\@writefile{toc}{\contentsline {section}{\numberline {4.2}The Session}{11}} diff --git a/docs/guide/BMASockets Programmer's Guide.log b/docs/guide/BMASockets Programmer's Guide.log new file mode 100644 index 0000000..4c3e4dd --- /dev/null +++ b/docs/guide/BMASockets Programmer's Guide.log @@ -0,0 +1,200 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017/Debian) (preloaded format=pdflatex 2018.5.16) 18 MAY 2018 02:53 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**"BMASockets Programmer's Guide.tex" +(./BMASockets Programmer's Guide.tex +LaTeX2e <2017-04-15> +Babel <3.18> and hyphenation patterns for 5 language(s) loaded. +(/usr/share/texlive/texmf-dist/tex/latex/base/book.cls +Document Class: book 2014/09/29 v1.4h Standard LaTeX document class +(/usr/share/texlive/texmf-dist/tex/latex/base/bk10.clo +File: bk10.clo 2014/09/29 v1.4h Standard LaTeX file (size option) +) +\c@part=\count79 +\c@chapter=\count80 +\c@section=\count81 +\c@subsection=\count82 +\c@subsubsection=\count83 +\c@paragraph=\count84 +\c@subparagraph=\count85 +\c@figure=\count86 +\c@table=\count87 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) +(/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty +Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package xcolor Info: Driver file: pdftex.def on input line 225. + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2018/01/08 v1.0l Graphics/color driver for pdftex +) +Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. +Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1352. +Package xcolor Info: Model `RGB' extended on input line 1364. +Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. +Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. +Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368. +Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369. +Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370. +Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371. +) +(/usr/share/texlive/texmf-dist/tex/latex/listings/listings.sty +(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks14 +) +\lst@mode=\count88 +\lst@gtempboxa=\box26 +\lst@token=\toks15 +\lst@length=\count89 +\lst@currlwidth=\dimen103 +\lst@column=\count90 +\lst@pos=\count91 +\lst@lostspace=\dimen104 +\lst@width=\dimen105 +\lst@newlines=\count92 +\lst@lineno=\count93 +\lst@maxwidth=\dimen106 + +(/usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty +File: lstmisc.sty 2015/06/04 1.6 (Carsten Heinz) +\c@lstnumber=\count94 +\lst@skipnumbers=\count95 +\lst@framebox=\box27 +) +(/usr/share/texlive/texmf-dist/tex/latex/listings/listings.cfg +File: listings.cfg 2015/06/04 1.6 listings configuration +)) +Package: listings 2015/06/04 1.6 (Carsten Heinz) + +(./BMASockets Programmer's Guide.aux) +\openout1 = `"BMASockets Programmer's Guide.aux"'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 30. +LaTeX Font Info: ... okay on input line 30. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 30. +LaTeX Font Info: ... okay on input line 30. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 30. +LaTeX Font Info: ... okay on input line 30. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 30. +LaTeX Font Info: ... okay on input line 30. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 30. +LaTeX Font Info: ... okay on input line 30. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 30. +LaTeX Font Info: ... okay on input line 30. + +(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count96 +\scratchdimen=\dimen107 +\scratchbox=\box28 +\nofMPsegments=\count97 +\nofMParguments=\count98 +\everyMPshowfont=\toks16 +\MPscratchCnt=\count99 +\MPscratchDim=\dimen108 +\MPnumerator=\count100 +\makeMPintoPDFobject=\count101 +\everyMPtoPDFconversion=\toks17 +) +\c@lstlisting=\count102 + (./BMASockets Programmer's Guide.toc +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <7> on input line 5. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <5> on input line 5. +) +\tf@toc=\write3 +\openout3 = `"BMASockets Programmer's Guide.toc"'. + + [1 + + +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] [2 + +] +Chapter 1. +[3] [4 + +] +Chapter 2. +[5] [6 + +] +Chapter 3. + +Overfull \hbox (1.13943pt too wide) in paragraph at lines 108--112 +[]\OT1/cmr/m/n/10 The ex-tended BMASes-sion ob-ject can over-ride the on-DataRe +-ceived() method + [] + +[7] [8 + +] +Chapter 4. + +Overfull \hbox (0.16724pt too wide) in paragraph at lines 121--122 +[]\OT1/cmr/m/n/10 Additionally, this server ex-am-ple pro-vides a con-sole that + is ac-ces-si-ble through + [] + +(/usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty +File: lstlang1.sty 2015/06/04 1.6 listings language file +) +(/usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty +File: lstmisc.sty 2015/06/04 1.6 (Carsten Heinz) +) [9] +LaTeX Font Info: Try loading font information for OMS+cmr on input line 140. + + +(/usr/share/texlive/texmf-dist/tex/latex/base/omscmr.fd +File: omscmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions +) +LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <8> not available +(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 140. +LaTeX Font Info: Try loading font information for OML+cmr on input line 150. + + +(/usr/share/texlive/texmf-dist/tex/latex/base/omlcmr.fd +File: omlcmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions +) +LaTeX Font Info: Font shape `OML/cmr/m/n' in size <8> not available +(Font) Font shape `OML/cmm/m/it' tried instead on input line 150. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 190. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 190. + [10] [11] [12] +(./BMASockets Programmer's Guide.aux) ) +Here is how much of TeX's memory you used: + 2684 strings out of 494880 + 36203 string characters out of 6179601 + 236674 words of memory out of 5000000 + 6032 multiletter control sequences out of 15000+600000 + 8287 words of font info for 29 fonts, out of 8000000 for 9000 + 36 hyphenation exceptions out of 8191 + 30i,6n,58p,392b,1622s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on "BMASockets Programmer's Guide.pdf" (12 pages, 129850 bytes). + +PDF statistics: + 79 PDF objects out of 1000 (max. 8388607) + 55 compressed objects within 1 object stream + 0 named destinations out of 1000 (max. 500000) + 1 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/docs/guide/BMASockets Programmer's Guide.pdf b/docs/guide/BMASockets Programmer's Guide.pdf new file mode 100644 index 0000000..29e2c43 Binary files /dev/null and b/docs/guide/BMASockets Programmer's Guide.pdf differ diff --git a/docs/guide/BMASockets Programmer's Guide.synctex.gz b/docs/guide/BMASockets Programmer's Guide.synctex.gz new file mode 100644 index 0000000..7f1d02f Binary files /dev/null and b/docs/guide/BMASockets Programmer's Guide.synctex.gz differ diff --git a/docs/guide/BMASockets Programmer's Guide.tex b/docs/guide/BMASockets Programmer's Guide.tex new file mode 100644 index 0000000..b693f69 --- /dev/null +++ b/docs/guide/BMASockets Programmer's Guide.tex @@ -0,0 +1,275 @@ +\documentclass[10pt]{book} +\usepackage{xcolor} +\usepackage{listings} + +\definecolor{mGreen}{rgb}{0,0.6,0} +\definecolor{mGray}{rgb}{0.5,0.5,0.5} +\definecolor{mPurple}{rgb}{0.58,0,0.82} +\definecolor{backgroundColour}{rgb}{0.95,0.95,0.92} + +\lstdefinestyle{CStyle}{ + backgroundcolor=\color{backgroundColour}, + commentstyle=\color{mGreen}, + keywordstyle=\color{magenta}, + numberstyle=\tiny\color{mGray}, + stringstyle=\color{mPurple}, + basicstyle=\footnotesize, + breakatwhitespace=false, + breaklines=true, + captionpos=b, + keepspaces=true, + numbers=left, + numbersep=5pt, + showspaces=false, + showstringspaces=false, + showtabs=false, + tabsize=2, + language=C +} + +\begin{document} + +\tableofcontents + +\chapter{Overview} + +Welcome to BMASockets Core Server. The server core was developed to +provide a quick path to developing your server requirements on a high +performance Linux platform network. The design can be used to develop +customing gaming platforms or you can use any of the existing protocol +session handlers to implement your own compact high performance server +using existing known protocols. + +The BMASockets Core Server provides existing handlers for the +following protocols: + +\begin{enumerate} +\item HTTP and HTTPS +\item SIP and SIPS +\item HTTP streaming server +\item HTTP Web Sockets handler +\end{enumerate} + +The focus of the design is to extend the capabilities of two core +objects to create the interface to your own implementations. + +\chapter{Linux epoll Interactions} + +Linux provides an set of system calls to open a socket that is used to +manage the networking requests for multiple sockets from a single +process. You can find plenty of materials on the internet on epoll and +how this function works. The Core Server is designed around the +concept of the socket (BMASocket) and the handling of accepting +connections on a binding socket and managing the individual client +sockets that are \emph{accepted}. + +TCP and UDP are both supported by the Core Server. The differences in +managing these socket types is abstracted through the use of the +sessions object (BMASession). This abstract class cannot be +instantiated but is used instead to extend into a customizable session +object that will be used to manage the protocol for the connected +session. At the session level there is no difference between the +underlying socket type, whether it be UDP or TCP. + +The TCP side of the fence incorporates the connection oriented design +to provide the sessions to the higher levels. Each client represents a +socket that has connected through the \emph{bind} and \emph{accept} +system call method. Conversing with a client in a TCP session returns +the appropriate data through that socket connection. + +The UDP side of the fence incorporates session objects that are based +upon connectionless packets sent to a single receiving socket. The UDP +server (BMAUDPServerSocket) maintains a list of sessions which are +managed according the sending address of the packets received. Each remote +address represents a different client and interactions back to the +session are sent through the single socket to the corresponding remote +address. This provides a seamless session to the higher level +activities of the server. + +The interface provided through the session appears the same regardless +of the socket type. This affords the developer the opportunity to +write UDP or TCP socket handlers with no knowledge of the those +protocols. Building a game server would be the same for either type +and both types could be enabled simultaneously. + +\chapter{The Core Server} + +In order to provide flexibility to the Core Server several design +factors have been put in place. Creating a new server that handles a +custom protocol requires the extension of only two objects. These are +the BMATCPServerSocket or BMAUDPServerSocket, depending on the type +desired, and the BMASession object. + +When extending the BMATCPServerSocket all that is needed is to +override the getSocketAccept() method to return an extended BMASession +object. This basically tells the server to spawn a new session of a +particular type for every new connection to the bound TCP port. + +The extended BMASession object can override the onDataReceived() +method to handle the incoming requests for the socket. An entire +application structure could be built upon this mechanism to handle +complex protocols with the client. + +\chapter{Sample Server Example} + +This chapter specifies the approach to extending and creating a customized server. This example is focusing on a server used in gaming environments. The gaming clients connect to the server to interact with other clients. + +The BMA Server Core can provide all the features needed of a multiport high demand server. The implementation of epoll combined with the ability to manage job control load through the use of multiple threads provides a robust request handling environment for all socket based architectures. + +As the BMAEPoll object is started it will spawn the specified number of threads which will in turn begin the socket handling functions necessary to manage all network requests in the program. The main program itself is not used but must not be allowed to return or end so it can be used to handle other non sockets related processing in the application. + +Additionally, this server example provides a console that is accessible through a Telnet style server and does not currently incorporate any encryption (TLS) or login authentication. This will be changing in the future. + +\section{The Server} + +The server provides a few interesting features that may not be readily apparent when reading through the documentation. + +Since each BMATCPServerSocket also inherits from BMACommand the server can override a routine to output data relivant to the type of server you are creating. + +When creating the server you are asked to provide a command name as a parameter. The inheriting server object can then obtain a list of connected clients from a console object by typing this name in on a command line. + +\begin{lstlisting}[style=CStyle] +#ifndef BMAConsoleServer_h__ +#define BMAConsoleServer_h__ + +#include "includes" +#include "BMATCPServerSocket.h" +#include "BMACommand.h" +class BMATCPSocket; + +class BMAConsoleServer : public BMATCPServerSocket { + + public: + BMAConsoleServer(BMAEPoll &ePoll, std::string url, short int port); + ~BMAConsoleServer(); + + BMASession * getSocketAccept(); + + void registerCommand(BMACommand &command); + + int processCommand(BMASession *session) override; /// commands; + +}; + +#endif +\end{lstlisting} + +\begin{lstlisting}[style=CStyle] +#include "BMAEPoll.h" +#include "BMAConsoleServer.h" +#include "BMAConsoleSession.h" +#include "BMACommand.h" + +BMAConsoleServer::BMAConsoleServer(BMAEPoll &ePoll, std::string url, short int port) + : BMATCPServerSocket(ePoll, url, port, "consoles") { +// ePoll.log.registerConsole(*this); +// ePoll.log.write(0) << "BMAConsole initializing..." << endl; +} + +BMAConsoleServer::~BMAConsoleServer() { + +} + +BMASession * BMAConsoleServer::getSocketAccept() { + return new BMAConsoleSession(ePoll, *this); +} + +void BMAConsoleServer::registerCommand(BMACommand &command) { + commands.push_back(&command); +} + +int BMAConsoleServer::processCommand(BMASession *session) { + + std::stringstream out; + int sequence = 0; + + for(BMASession *session : sessions) { + out << "|" << ++sequence; + out << "|" << session->getClientAddressAndPort(); + out << "|" << std::endl; + } + + session->write((char *)out.str().c_str(), out.str().size()); + + return 0; +} +\end{lstlisting} + +\section{The Session} + +\begin{lstlisting}[style=CStyle] +#include "includes" +#include "BMAEPoll.h" +#include "BMAMP3File.h" +#include "BMAConsoleServer.h" +#include "BMATCPServerSocket.h" +#include "BMAStreamServer.h" +#include "BMAHTTPServer.h" +#include "BMASIPServer.h" +#include "BMAHTTPRequestHandler.h" +#include "BMAMP3StreamContentProvider.h" +#include "BMATimer.h" + +int main(int argc, char **argv) { + + std::string ipAddress = "0.0.0.0"; + + BMAEPoll ePoll; + ePoll.start(4, 1000); + + //---------------------- + // Testing TCP server. + //---------------------- + + BMATCPServerSocket tcpServer(ePoll, ipAddress, 1028, "users"); + + //------------------------ + // MP3 Streaming Server + //------------------------ + + BMAStreamServer stream(ePoll, ipAddress, 1032, "listeners"); + BMAMP3File tester(stream, "../extravaganza.mp3"); + + //-------------- + // HTTP Server + //-------------- + + BMAHTTPServer http(ePoll, ipAddress, 1080, "http"); + BMAHTTPRequestHandler handler1(http, "/"); + + //------------- + // SIP Server + //------------- + + BMASIPServer sip(ePoll, ipAddress, 5061, "sip"); + + //------------------------------------------------------------- + // Console controller so the program can be monitored through + // a telnet session. BMATCPServerSocket can be registered as + // a command and will report its status when the command is + // entered on the console. + //------------------------------------------------------------- + + BMAConsoleServer console(ePoll, ipAddress, 1027); + console.registerCommand(ePoll); + console.registerCommand(console); + console.registerCommand(http); + console.registerCommand(sip); + console.registerCommand(stream); + + ePoll.start(4, 1000); + + while(true) + sleep(300); + + ePoll.stop(); + +} +\end{lstlisting} + +\end{document} + + + diff --git a/docs/guide/BMASockets Programmer's Guide.toc b/docs/guide/BMASockets Programmer's Guide.toc new file mode 100644 index 0000000..aaed420 --- /dev/null +++ b/docs/guide/BMASockets Programmer's Guide.toc @@ -0,0 +1,6 @@ +\contentsline {chapter}{\numberline {1}Overview}{3} +\contentsline {chapter}{\numberline {2}Linux epoll Interactions}{5} +\contentsline {chapter}{\numberline {3}The Core Server}{7} +\contentsline {chapter}{\numberline {4}Sample Server Example}{9} +\contentsline {section}{\numberline {4.1}The Server}{9} +\contentsline {section}{\numberline {4.2}The Session}{11} diff --git a/docs/html/_b_m_a_account_8h_source.html b/docs/html/_b_m_a_account_8h_source.html new file mode 100644 index 0000000..eb52c18 --- /dev/null +++ b/docs/html/_b_m_a_account_8h_source.html @@ -0,0 +1,75 @@ + + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAAccount.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Documents/Development/BMASockets/BMAAccount.h
+
+
+
1 #ifndef __BMAAccount_h__
2 #define __BMAAccount_h__
3 
4 class BMAAccount : public BMAObject {
5 
6  public:
7  BMAAccount();
8  ~BMAAccount();
9 
10  string getName();
11  void setName(string name);
12  string getAlias();
13  void setAlias(string name);
14  vector<string> contacts;
15  ````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````
16 
17 };
18 
19 #endif
Definition: BMAAccount.h:4
+
Definition: BMAObject.h:6
+
+ + + + diff --git a/docs/html/_b_m_a_authenticate_8cpp.html b/docs/html/_b_m_a_authenticate_8cpp.html new file mode 100644 index 0000000..9d164c6 --- /dev/null +++ b/docs/html/_b_m_a_authenticate_8cpp.html @@ -0,0 +1,110 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAAuthenticate.cpp File Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+
+
/home/barant/Documents/Development/BMASockets/BMAAuthenticate.cpp File Reference
+
+
+
#include "BMAAuthenticate.h"
+
+Include dependency graph for BMAAuthenticate.cpp:
+
+
+ + + + + + + + + +
+
+ + + + diff --git a/docs/html/_b_m_a_authenticate_8cpp__incl.map b/docs/html/_b_m_a_authenticate_8cpp__incl.map new file mode 100644 index 0000000..eec3541 --- /dev/null +++ b/docs/html/_b_m_a_authenticate_8cpp__incl.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/html/_b_m_a_authenticate_8cpp__incl.md5 b/docs/html/_b_m_a_authenticate_8cpp__incl.md5 new file mode 100644 index 0000000..7f85e92 --- /dev/null +++ b/docs/html/_b_m_a_authenticate_8cpp__incl.md5 @@ -0,0 +1 @@ +4516a389b39c60e140f783cc3824bd1d \ No newline at end of file diff --git a/docs/html/_b_m_a_authenticate_8cpp__incl.png b/docs/html/_b_m_a_authenticate_8cpp__incl.png new file mode 100644 index 0000000..a71d91c Binary files /dev/null and b/docs/html/_b_m_a_authenticate_8cpp__incl.png differ diff --git a/docs/html/_b_m_a_authenticate_8h.html b/docs/html/_b_m_a_authenticate_8h.html new file mode 100644 index 0000000..2f4864d --- /dev/null +++ b/docs/html/_b_m_a_authenticate_8h.html @@ -0,0 +1,127 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAAuthenticate.h File Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
/home/barant/Documents/Development/BMASockets/BMAAuthenticate.h File Reference
+
+
+
+Include dependency graph for BMAAuthenticate.h:
+
+
+ + + + + + + + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + +
+
+

Go to the source code of this file.

+ + + + +

+Classes

class  BMAAuthenticate
 
+
+ + + + diff --git a/docs/html/_b_m_a_authenticate_8h__dep__incl.map b/docs/html/_b_m_a_authenticate_8h__dep__incl.map new file mode 100644 index 0000000..5927a23 --- /dev/null +++ b/docs/html/_b_m_a_authenticate_8h__dep__incl.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/_b_m_a_authenticate_8h__dep__incl.md5 b/docs/html/_b_m_a_authenticate_8h__dep__incl.md5 new file mode 100644 index 0000000..3bda7f4 --- /dev/null +++ b/docs/html/_b_m_a_authenticate_8h__dep__incl.md5 @@ -0,0 +1 @@ +6990c5da0ea71ff0fb49e734e508f2ce \ No newline at end of file diff --git a/docs/html/_b_m_a_authenticate_8h__dep__incl.png b/docs/html/_b_m_a_authenticate_8h__dep__incl.png new file mode 100644 index 0000000..6dcf953 Binary files /dev/null and b/docs/html/_b_m_a_authenticate_8h__dep__incl.png differ diff --git a/docs/html/_b_m_a_authenticate_8h__incl.map b/docs/html/_b_m_a_authenticate_8h__incl.map new file mode 100644 index 0000000..921204d --- /dev/null +++ b/docs/html/_b_m_a_authenticate_8h__incl.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/html/_b_m_a_authenticate_8h__incl.md5 b/docs/html/_b_m_a_authenticate_8h__incl.md5 new file mode 100644 index 0000000..8c7e6e7 --- /dev/null +++ b/docs/html/_b_m_a_authenticate_8h__incl.md5 @@ -0,0 +1 @@ +47e2cc4566474eae16b06bb68e488e3b \ No newline at end of file diff --git a/docs/html/_b_m_a_authenticate_8h__incl.png b/docs/html/_b_m_a_authenticate_8h__incl.png new file mode 100644 index 0000000..7dac883 Binary files /dev/null and b/docs/html/_b_m_a_authenticate_8h__incl.png differ diff --git a/docs/html/_b_m_a_authenticate_8h_source.html b/docs/html/_b_m_a_authenticate_8h_source.html new file mode 100644 index 0000000..db6bee6 --- /dev/null +++ b/docs/html/_b_m_a_authenticate_8h_source.html @@ -0,0 +1,76 @@ + + + + + + + +BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/BMAAuthenticate.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Development/BMA/server_core/ServerCore/BMAAuthenticate.h
+
+
+
1 #ifndef __BMAAuthenticate_h__
2 #define __BMAAuthenticate_h__
3 
4 #include "includes"
5 #include "BMASession.h"
6 
7 class BMAAuthenticate : public BMAObject {
8 
9  public:
10  BMAAuthenticate(BMASession *session);
11  ~BMAAuthenticate();
12 
13  void onStart();
14  void onDataReceived(char *data, int length);
15  void onEnd();
16 
17 };
18 
19 #endif
Definition: BMASession.h:18
+
Definition: BMAObject.h:6
+
Definition: BMAAuthenticate.h:7
+
+ + + + diff --git a/docs/html/_b_m_a_command_8h_source.html b/docs/html/_b_m_a_command_8h_source.html new file mode 100644 index 0000000..4c0d696 --- /dev/null +++ b/docs/html/_b_m_a_command_8h_source.html @@ -0,0 +1,76 @@ + + + + + + + +BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/BMACommand.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Development/BMA/server_core/ServerCore/BMACommand.h
+
+
+
1 #ifndef BMACommand_h__
2 #define BMACommand_h__
3 
4 #include "includes"
5 #include "BMAObject.h"
6 class BMASession;
7 
8 class BMACommand : public BMAObject {
9 
10  public:
11  BMACommand(std::string commandName);
12  ~BMACommand();
13 
14  std::string commandName;
15 
16  virtual void processCommand(std::string command, BMASession *session) = 0;
17  virtual void output(BMASession *session);
18 
19 };
20 
21 #endif
Definition: BMACommand.h:8
+
Definition: BMASession.h:18
+
Definition: BMAObject.h:6
+
+ + + + diff --git a/docs/html/_b_m_a_command_session_8h_source.html b/docs/html/_b_m_a_command_session_8h_source.html new file mode 100644 index 0000000..2fb5ae4 --- /dev/null +++ b/docs/html/_b_m_a_command_session_8h_source.html @@ -0,0 +1,77 @@ + + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMACommandSession.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Documents/Development/BMASockets/BMACommandSession.h
+
+
+
1 #ifndef __BMACommandSession_h__
2 #define __BMACommandSession_h__
3 
4 #include "BMASession.h"
5 
13 
14 class BMACommandSession : public BMASession {
15 
16  public:
19 
20 // string command;
21 
22  virtual void output(stringstream &out);
23 
24  protected:
25 // virtual void onConnected();
26 // virtual void onDataReceived(char *data, int length);
27  void protocol(char *data, int length) override;
28 
29  private:
30  enum Status {WELCOME, PROMPT, INPUT, PROCESS, DONE};
31  Status status = WELCOME;
32 
33 };
34 
35 #endif
Definition: BMAEPoll.h:29
+
virtual void output(stringstream &out)
Definition: BMACommandSession.cpp:10
+
Definition: BMACommandSession.h:14
+
Definition: BMASession.h:16
+
+ + + + diff --git a/docs/html/_b_m_a_console_8cpp.html b/docs/html/_b_m_a_console_8cpp.html new file mode 100644 index 0000000..ebe9206 --- /dev/null +++ b/docs/html/_b_m_a_console_8cpp.html @@ -0,0 +1,116 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAConsole.cpp File Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+
+
/home/barant/Documents/Development/BMASockets/BMAConsole.cpp File Reference
+
+
+
#include "BMAEPoll.h"
+#include "BMAConsole.h"
+#include "BMAConsoleSession.h"
+
+Include dependency graph for BMAConsole.cpp:
+
+
+ + + + + + + + + + + + + +
+
+ + + + diff --git a/docs/html/_b_m_a_console_8cpp__incl.map b/docs/html/_b_m_a_console_8cpp__incl.map new file mode 100644 index 0000000..ca8b6b3 --- /dev/null +++ b/docs/html/_b_m_a_console_8cpp__incl.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/docs/html/_b_m_a_console_8cpp__incl.md5 b/docs/html/_b_m_a_console_8cpp__incl.md5 new file mode 100644 index 0000000..9c8c6da --- /dev/null +++ b/docs/html/_b_m_a_console_8cpp__incl.md5 @@ -0,0 +1 @@ +6068b19be17a126ec437ed1ad655c961 \ No newline at end of file diff --git a/docs/html/_b_m_a_console_8cpp__incl.png b/docs/html/_b_m_a_console_8cpp__incl.png new file mode 100644 index 0000000..c6697e8 Binary files /dev/null and b/docs/html/_b_m_a_console_8cpp__incl.png differ diff --git a/docs/html/_b_m_a_console_8h.html b/docs/html/_b_m_a_console_8h.html new file mode 100644 index 0000000..024a222 --- /dev/null +++ b/docs/html/_b_m_a_console_8h.html @@ -0,0 +1,150 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAConsole.h File Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
/home/barant/Documents/Development/BMASockets/BMAConsole.h File Reference
+
+
+
#include "BMATCPServerSocket.h"
+#include "BMAConsoleCommand.h"
+#include "BMALog.h"
+
+Include dependency graph for BMAConsole.h:
+
+
+ + + + + + + + + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + +
+
+

Go to the source code of this file.

+ + + + +

+Classes

class  BMAConsole
 
+
+ + + + diff --git a/docs/html/_b_m_a_console_8h__dep__incl.map b/docs/html/_b_m_a_console_8h__dep__incl.map new file mode 100644 index 0000000..4f030d8 --- /dev/null +++ b/docs/html/_b_m_a_console_8h__dep__incl.map @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/html/_b_m_a_console_8h__dep__incl.md5 b/docs/html/_b_m_a_console_8h__dep__incl.md5 new file mode 100644 index 0000000..1938380 --- /dev/null +++ b/docs/html/_b_m_a_console_8h__dep__incl.md5 @@ -0,0 +1 @@ +11c30597ee7e0116a48afaee64e1854c \ No newline at end of file diff --git a/docs/html/_b_m_a_console_8h__dep__incl.png b/docs/html/_b_m_a_console_8h__dep__incl.png new file mode 100644 index 0000000..d5c6f86 Binary files /dev/null and b/docs/html/_b_m_a_console_8h__dep__incl.png differ diff --git a/docs/html/_b_m_a_console_8h__incl.map b/docs/html/_b_m_a_console_8h__incl.map new file mode 100644 index 0000000..5b0b2a7 --- /dev/null +++ b/docs/html/_b_m_a_console_8h__incl.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/html/_b_m_a_console_8h__incl.md5 b/docs/html/_b_m_a_console_8h__incl.md5 new file mode 100644 index 0000000..79ad0a0 --- /dev/null +++ b/docs/html/_b_m_a_console_8h__incl.md5 @@ -0,0 +1 @@ +a75b2e10971093e0c0adfe3aadf8dcbd \ No newline at end of file diff --git a/docs/html/_b_m_a_console_8h__incl.png b/docs/html/_b_m_a_console_8h__incl.png new file mode 100644 index 0000000..337c093 Binary files /dev/null and b/docs/html/_b_m_a_console_8h__incl.png differ diff --git a/docs/html/_b_m_a_console_8h_source.html b/docs/html/_b_m_a_console_8h_source.html new file mode 100644 index 0000000..93cc4f8 --- /dev/null +++ b/docs/html/_b_m_a_console_8h_source.html @@ -0,0 +1,78 @@ + + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAConsole.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Documents/Development/BMASockets/BMAConsole.h
+
+
+
1 #ifndef BMAConsole_h__
2 #define BMAConsole_h__
3 
4 #include "includes"
5 #include "BMATCPServerSocket.h"
6 //#include "BMACommand.h"
7 class BMATCPSocket;
8 
9 class BMAConsole : public BMATCPServerSocket {
10 
11  public:
12  BMAConsole(BMAEPoll &ePoll, string url, short int port);
13  ~BMAConsole();
14 
15  BMASession * getSocketAccept();
16 
17 // void registerCommand(BMACommand &command);
18 
19 // vector<BMACommand *> commands;
20 
21 // void protocolHandler() {
22 
23 // BMAAnnouncer announcer("Welcome to BMA Server Framework console.\n");
24 // addProtocol(announcer);
25 // BMACommandProcessor commandProcess();
26 
27 // }
28 
29 };
30 
31 #endif
Definition: BMATCPSocket.h:17
+
Definition: BMAConsole.h:9
+
Definition: BMATCPServerSocket.h:15
+
Definition: BMAEPoll.h:29
+
Definition: BMASession.h:16
+
+ + + + diff --git a/docs/html/_b_m_a_console_command_8cpp.html b/docs/html/_b_m_a_console_command_8cpp.html new file mode 100644 index 0000000..e409e09 --- /dev/null +++ b/docs/html/_b_m_a_console_command_8cpp.html @@ -0,0 +1,115 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAConsoleCommand.cpp File Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+
+
/home/barant/Documents/Development/BMASockets/BMAConsoleCommand.cpp File Reference
+
+
+
#include "BMAConsoleCommand.h"
+#include "BMAConsoleSession.h"
+
+Include dependency graph for BMAConsoleCommand.cpp:
+
+
+ + + + + + + + + + + + + +
+
+ + + + diff --git a/docs/html/_b_m_a_console_command_8cpp__incl.map b/docs/html/_b_m_a_console_command_8cpp__incl.map new file mode 100644 index 0000000..d295986 --- /dev/null +++ b/docs/html/_b_m_a_console_command_8cpp__incl.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/docs/html/_b_m_a_console_command_8cpp__incl.md5 b/docs/html/_b_m_a_console_command_8cpp__incl.md5 new file mode 100644 index 0000000..4962b13 --- /dev/null +++ b/docs/html/_b_m_a_console_command_8cpp__incl.md5 @@ -0,0 +1 @@ +12c6b7c7bbfaeec186638b4c66cc0276 \ No newline at end of file diff --git a/docs/html/_b_m_a_console_command_8cpp__incl.png b/docs/html/_b_m_a_console_command_8cpp__incl.png new file mode 100644 index 0000000..ccce55b Binary files /dev/null and b/docs/html/_b_m_a_console_command_8cpp__incl.png differ diff --git a/docs/html/_b_m_a_console_command_8h.html b/docs/html/_b_m_a_console_command_8h.html new file mode 100644 index 0000000..2fe0944 --- /dev/null +++ b/docs/html/_b_m_a_console_command_8h.html @@ -0,0 +1,151 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAConsoleCommand.h File Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
/home/barant/Documents/Development/BMASockets/BMAConsoleCommand.h File Reference
+
+
+
#include "includes"
+
+Include dependency graph for BMAConsoleCommand.h:
+
+
+
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Go to the source code of this file.

+ + + + +

+Classes

class  BMAConsoleCommand
 
+
+ + + + diff --git a/docs/html/_b_m_a_console_command_8h__dep__incl.map b/docs/html/_b_m_a_console_command_8h__dep__incl.map new file mode 100644 index 0000000..f2dc05e --- /dev/null +++ b/docs/html/_b_m_a_console_command_8h__dep__incl.map @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/html/_b_m_a_console_command_8h__dep__incl.md5 b/docs/html/_b_m_a_console_command_8h__dep__incl.md5 new file mode 100644 index 0000000..1399a8a --- /dev/null +++ b/docs/html/_b_m_a_console_command_8h__dep__incl.md5 @@ -0,0 +1 @@ +b7aac9a8dc5b060765a217d42acff0c3 \ No newline at end of file diff --git a/docs/html/_b_m_a_console_command_8h__dep__incl.png b/docs/html/_b_m_a_console_command_8h__dep__incl.png new file mode 100644 index 0000000..5104ce7 Binary files /dev/null and b/docs/html/_b_m_a_console_command_8h__dep__incl.png differ diff --git a/docs/html/_b_m_a_console_command_8h__incl.map b/docs/html/_b_m_a_console_command_8h__incl.map new file mode 100644 index 0000000..f49a70b --- /dev/null +++ b/docs/html/_b_m_a_console_command_8h__incl.map @@ -0,0 +1,2 @@ + + diff --git a/docs/html/_b_m_a_console_command_8h__incl.md5 b/docs/html/_b_m_a_console_command_8h__incl.md5 new file mode 100644 index 0000000..afa32b4 --- /dev/null +++ b/docs/html/_b_m_a_console_command_8h__incl.md5 @@ -0,0 +1 @@ +10344f63fcd5b31d13e617caa4baf2c3 \ No newline at end of file diff --git a/docs/html/_b_m_a_console_command_8h__incl.png b/docs/html/_b_m_a_console_command_8h__incl.png new file mode 100644 index 0000000..aa61962 Binary files /dev/null and b/docs/html/_b_m_a_console_command_8h__incl.png differ diff --git a/docs/html/_b_m_a_console_command_8h_source.html b/docs/html/_b_m_a_console_command_8h_source.html new file mode 100644 index 0000000..e8333db --- /dev/null +++ b/docs/html/_b_m_a_console_command_8h_source.html @@ -0,0 +1,101 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAConsoleCommand.h Source File + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Documents/Development/BMASockets/BMAConsoleCommand.h
+
+
+Go to the documentation of this file.
1 #ifndef BMAConsoleCommand_h__
2 #define BMAConsoleCommand_h__
3 
4 #include "includes"
6 
8 
9  public:
12 
13  string commandName;
14 
15  virtual int processCommand(BMAConsoleSession *session);
16 
17 };
18 
19 #endif
BMAConsoleCommand(string commandName)
Definition: BMAConsoleCommand.cpp:4
+
~BMAConsoleCommand()
Definition: BMAConsoleCommand.cpp:8
+
Definition: BMAConsoleCommand.h:7
+
Definition: BMAConsoleSession.h:7
+
virtual int processCommand(BMAConsoleSession *session)
Definition: BMAConsoleCommand.cpp:12
+
string commandName
Definition: BMAConsoleCommand.h:13
+
+ + + + diff --git a/docs/html/_b_m_a_console_server_8h_source.html b/docs/html/_b_m_a_console_server_8h_source.html new file mode 100644 index 0000000..e263066 --- /dev/null +++ b/docs/html/_b_m_a_console_server_8h_source.html @@ -0,0 +1,81 @@ + + + + + + + +BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/BMAConsoleServer.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Development/BMA/server_core/ServerCore/BMAConsoleServer.h
+
+
+
1 #ifndef BMAConsoleServer_h__
2 #define BMAConsoleServer_h__
3 
4 #include "includes"
5 #include "BMATCPServerSocket.h"
6 #include "BMACommand.h"
7 class BMATCPSocket;
8 
10 
11  public:
12  BMAConsoleServer(BMAEPoll &ePoll, std::string url, short int port);
13  ~BMAConsoleServer();
14 
15  void sendToConnectedConsoles(std::string out);
16 
17  BMASession * getSocketAccept() override;
18 
19  void registerCommand(BMACommand &command);
20 
21  void output(BMASession *session) override;
22 
23  std::vector<BMACommand *> commands;
24 
25 };
26 
27 #endif
Definition: BMATCPSocket.h:18
+
Definition: BMATCPServerSocket.h:20
+
Definition: BMAEPoll.h:29
+
Definition: BMACommand.h:8
+
Definition: BMAConsoleServer.h:9
+
BMASession * getSocketAccept() override
Definition: BMAConsoleServer.cpp:21
+
void output(BMASession *session) override
Output the consoles array to the console.
Definition: BMAConsoleServer.cpp:29
+
Definition: BMASession.h:18
+
+ + + + diff --git a/docs/html/_b_m_a_console_session_8cpp.html b/docs/html/_b_m_a_console_session_8cpp.html new file mode 100644 index 0000000..10486ed --- /dev/null +++ b/docs/html/_b_m_a_console_session_8cpp.html @@ -0,0 +1,114 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAConsoleSession.cpp File Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+
+
/home/barant/Documents/Development/BMASockets/BMAConsoleSession.cpp File Reference
+
+
+
#include "BMAConsoleSession.h"
+
+Include dependency graph for BMAConsoleSession.cpp:
+
+
+ + + + + + + + + + + + + +
+
+ + + + diff --git a/docs/html/_b_m_a_console_session_8cpp__incl.map b/docs/html/_b_m_a_console_session_8cpp__incl.map new file mode 100644 index 0000000..9465be9 --- /dev/null +++ b/docs/html/_b_m_a_console_session_8cpp__incl.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/docs/html/_b_m_a_console_session_8cpp__incl.md5 b/docs/html/_b_m_a_console_session_8cpp__incl.md5 new file mode 100644 index 0000000..23ab579 --- /dev/null +++ b/docs/html/_b_m_a_console_session_8cpp__incl.md5 @@ -0,0 +1 @@ +7e205aee1976f689dd753ce77efaaa0d \ No newline at end of file diff --git a/docs/html/_b_m_a_console_session_8cpp__incl.png b/docs/html/_b_m_a_console_session_8cpp__incl.png new file mode 100644 index 0000000..c7f6318 Binary files /dev/null and b/docs/html/_b_m_a_console_session_8cpp__incl.png differ diff --git a/docs/html/_b_m_a_console_session_8h.html b/docs/html/_b_m_a_console_session_8h.html new file mode 100644 index 0000000..a0f6ade --- /dev/null +++ b/docs/html/_b_m_a_console_session_8h.html @@ -0,0 +1,136 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAConsoleSession.h File Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
/home/barant/Documents/Development/BMASockets/BMAConsoleSession.h File Reference
+
+
+
#include "BMATCPSocket.h"
+#include "BMAEPoll.h"
+
+Include dependency graph for BMAConsoleSession.h:
+
+
+ + + + + + + + + + + + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + + + + + +
+
+

Go to the source code of this file.

+ + + + +

+Classes

class  BMAConsoleSession
 
+
+ + + + diff --git a/docs/html/_b_m_a_console_session_8h__dep__incl.map b/docs/html/_b_m_a_console_session_8h__dep__incl.map new file mode 100644 index 0000000..a73372c --- /dev/null +++ b/docs/html/_b_m_a_console_session_8h__dep__incl.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/html/_b_m_a_console_session_8h__dep__incl.md5 b/docs/html/_b_m_a_console_session_8h__dep__incl.md5 new file mode 100644 index 0000000..78a43d1 --- /dev/null +++ b/docs/html/_b_m_a_console_session_8h__dep__incl.md5 @@ -0,0 +1 @@ +4d30791f3f0568d6ec478ef422c955f0 \ No newline at end of file diff --git a/docs/html/_b_m_a_console_session_8h__dep__incl.png b/docs/html/_b_m_a_console_session_8h__dep__incl.png new file mode 100644 index 0000000..c7709dc Binary files /dev/null and b/docs/html/_b_m_a_console_session_8h__dep__incl.png differ diff --git a/docs/html/_b_m_a_console_session_8h__incl.map b/docs/html/_b_m_a_console_session_8h__incl.map new file mode 100644 index 0000000..4c529a2 --- /dev/null +++ b/docs/html/_b_m_a_console_session_8h__incl.map @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/docs/html/_b_m_a_console_session_8h__incl.md5 b/docs/html/_b_m_a_console_session_8h__incl.md5 new file mode 100644 index 0000000..f51fd2a --- /dev/null +++ b/docs/html/_b_m_a_console_session_8h__incl.md5 @@ -0,0 +1 @@ +2b0ab5d848b25a9b41218328d7285dff \ No newline at end of file diff --git a/docs/html/_b_m_a_console_session_8h__incl.png b/docs/html/_b_m_a_console_session_8h__incl.png new file mode 100644 index 0000000..15774f0 Binary files /dev/null and b/docs/html/_b_m_a_console_session_8h__incl.png differ diff --git a/docs/html/_b_m_a_console_session_8h_source.html b/docs/html/_b_m_a_console_session_8h_source.html new file mode 100644 index 0000000..8b12f05 --- /dev/null +++ b/docs/html/_b_m_a_console_session_8h_source.html @@ -0,0 +1,78 @@ + + + + + + + +BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/BMAConsoleSession.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Development/BMA/server_core/ServerCore/BMAConsoleSession.h
+
+
+
1 #ifndef __BMAConsoleSession_h__
2 #define __BMAConsoleSession_h__
3 
4 #include "BMATerminal.h"
5 #include "BMASession.h"
6 #include "BMAConsoleServer.h"
7 
15 
17 
18  public:
21 
22  virtual void output(std::stringstream &out);
23  void writeLog(std::string data);
24 
25  protected:
26  void protocol(std::string data) override;
27 
28 private:
29  enum Status {WELCOME, LOGIN, WAIT_USER_PROFILE, PASSWORD, WAIT_PASSWORD, PROMPT, INPUT, PROCESS, DONE};
30  Status status = WELCOME;
31  void doCommand(std::string request);
32  std::string command;
33 
34 };
35 
36 #endif
Definition: BMAEPoll.h:29
+
Definition: BMAConsoleServer.h:9
+
Definition: BMATerminal.h:27
+
virtual void output(std::stringstream &out)
Definition: BMAConsoleSession.cpp:9
+
Definition: BMAConsoleSession.h:16
+
+ + + + diff --git a/docs/html/_b_m_a_e_poll_8cpp.html b/docs/html/_b_m_a_e_poll_8cpp.html new file mode 100644 index 0000000..fc35715 --- /dev/null +++ b/docs/html/_b_m_a_e_poll_8cpp.html @@ -0,0 +1,117 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAEPoll.cpp File Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+
+
/home/barant/Documents/Development/BMASockets/BMAEPoll.cpp File Reference
+
+
+
#include "includes"
+#include "BMAThread.h"
+#include "BMAEPoll.h"
+#include "BMAConsoleSession.h"
+
+Include dependency graph for BMAEPoll.cpp:
+
+
+ + + + + + + + + + + + + +
+
+ + + + diff --git a/docs/html/_b_m_a_e_poll_8cpp__incl.map b/docs/html/_b_m_a_e_poll_8cpp__incl.map new file mode 100644 index 0000000..98c98c2 --- /dev/null +++ b/docs/html/_b_m_a_e_poll_8cpp__incl.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/docs/html/_b_m_a_e_poll_8cpp__incl.md5 b/docs/html/_b_m_a_e_poll_8cpp__incl.md5 new file mode 100644 index 0000000..db738c1 --- /dev/null +++ b/docs/html/_b_m_a_e_poll_8cpp__incl.md5 @@ -0,0 +1 @@ +0e97b8176fdade2e43ddb55bdbeaf6e4 \ No newline at end of file diff --git a/docs/html/_b_m_a_e_poll_8cpp__incl.png b/docs/html/_b_m_a_e_poll_8cpp__incl.png new file mode 100644 index 0000000..fdd4204 Binary files /dev/null and b/docs/html/_b_m_a_e_poll_8cpp__incl.png differ diff --git a/docs/html/_b_m_a_e_poll_8h.html b/docs/html/_b_m_a_e_poll_8h.html new file mode 100644 index 0000000..fcbbb06 --- /dev/null +++ b/docs/html/_b_m_a_e_poll_8h.html @@ -0,0 +1,149 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAEPoll.h File Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
/home/barant/Documents/Development/BMASockets/BMAEPoll.h File Reference
+
+
+
#include "BMASocket.h"
+#include "BMAThread.h"
+#include "BMAConsole.h"
+
+Include dependency graph for BMAEPoll.h:
+
+
+ + + + + + + + + + + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + + + + + + + + + + + + + + + + + +
+
+

Go to the source code of this file.

+ + + + + +

+Classes

class  BMAEPoll
 Use this object to establish a socket server using the epoll network structure of Linux. More...
 
+
+ + + + diff --git a/docs/html/_b_m_a_e_poll_8h__dep__incl.map b/docs/html/_b_m_a_e_poll_8h__dep__incl.map new file mode 100644 index 0000000..65a01ea --- /dev/null +++ b/docs/html/_b_m_a_e_poll_8h__dep__incl.map @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/docs/html/_b_m_a_e_poll_8h__dep__incl.md5 b/docs/html/_b_m_a_e_poll_8h__dep__incl.md5 new file mode 100644 index 0000000..77e2d99 --- /dev/null +++ b/docs/html/_b_m_a_e_poll_8h__dep__incl.md5 @@ -0,0 +1 @@ +4329499106a1899971ddd22e3fb1dbfa \ No newline at end of file diff --git a/docs/html/_b_m_a_e_poll_8h__dep__incl.png b/docs/html/_b_m_a_e_poll_8h__dep__incl.png new file mode 100644 index 0000000..58da361 Binary files /dev/null and b/docs/html/_b_m_a_e_poll_8h__dep__incl.png differ diff --git a/docs/html/_b_m_a_e_poll_8h__incl.map b/docs/html/_b_m_a_e_poll_8h__incl.map new file mode 100644 index 0000000..58d8e22 --- /dev/null +++ b/docs/html/_b_m_a_e_poll_8h__incl.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/html/_b_m_a_e_poll_8h__incl.md5 b/docs/html/_b_m_a_e_poll_8h__incl.md5 new file mode 100644 index 0000000..c42b282 --- /dev/null +++ b/docs/html/_b_m_a_e_poll_8h__incl.md5 @@ -0,0 +1 @@ +6140b552264f2141f2778641b82c1648 \ No newline at end of file diff --git a/docs/html/_b_m_a_e_poll_8h__incl.png b/docs/html/_b_m_a_e_poll_8h__incl.png new file mode 100644 index 0000000..67221f3 Binary files /dev/null and b/docs/html/_b_m_a_e_poll_8h__incl.png differ diff --git a/docs/html/_b_m_a_e_poll_8h_source.html b/docs/html/_b_m_a_e_poll_8h_source.html new file mode 100644 index 0000000..669f178 --- /dev/null +++ b/docs/html/_b_m_a_e_poll_8h_source.html @@ -0,0 +1,88 @@ + + + + + + + +BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/BMAEPoll.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Development/BMA/server_core/ServerCore/BMAEPoll.h
+
+
+
1 #ifndef __BMAEPoll_h__
2 #define __BMAEPoll_h__
3 
4 #include "BMALog.h"
5 #include "BMASocket.h"
6 #include "BMAThread.h"
7 #include "BMASession.h"
8 #include "BMACommand.h"
9 
28 
29 class BMAEPoll : public BMACommand {
30 
31  public:
32 
36 
37  BMAEPoll();
38 
42 
43  ~BMAEPoll();
44 
51 
52  bool start(int numberOfThreads, int maxSockets);
53 
59 
60  bool stop();
61 
66 
67  bool isStopping();
68 
77 
78  bool registerSocket(BMASocket *socket);
79 
83 
84  bool unregisterSocket(BMASocket *socket);
85 
89 
90  int getDescriptor();
91 
95 
96  int maxSockets;
97 
101 
102  void eventReceived(struct epoll_event event);
103 
110 
111  void processCommand(std::string command, BMASession *session) override;
112 
113 private:
114 
115  int epfd;
116  int numberOfThreads;
117  std::map<int, BMASocket *> sockets;
118  std::vector<BMAThread> threads;
119  volatile bool terminateThreads;
120  std::mutex lock;
121 
122 };
123 
124 #endif
125 
int maxSockets
The maximum number of socket allowed.
Definition: BMAEPoll.h:96
+
Definition: BMASocket.h:31
+
void processCommand(std::string command, BMASession *session) override
Output the threads array to the console.
Definition: BMAEPoll.cpp:112
+
int getDescriptor()
Return the descriptor for the ePoll socket.
Definition: BMAEPoll.cpp:108
+
BMAEPoll()
Definition: BMAEPoll.cpp:7
+
Definition: BMAEPoll.h:29
+
bool unregisterSocket(BMASocket *socket)
Unregister a BMASocket from monitoring by BMAEPoll.
Definition: BMAEPoll.cpp:83
+
bool registerSocket(BMASocket *socket)
Register a BMASocket for monitoring by BMAEPoll.
Definition: BMAEPoll.cpp:70
+
bool start(int numberOfThreads, int maxSockets)
Start the BMAEPoll processing.
Definition: BMAEPoll.cpp:20
+
Definition: BMACommand.h:8
+
void eventReceived(struct epoll_event event)
Dispatch event to appropriate socket.
Definition: BMAEPoll.cpp:96
+
bool isStopping()
Returns a true if the stop command has been requested.
Definition: BMAEPoll.cpp:66
+
bool stop()
Stop and shut down the BMAEPoll processing.
Definition: BMAEPoll.cpp:46
+
Definition: BMASession.h:18
+
~BMAEPoll()
Definition: BMAEPoll.cpp:16
+
+ + + + diff --git a/docs/html/_b_m_a_event_8cpp.html b/docs/html/_b_m_a_event_8cpp.html new file mode 100644 index 0000000..627634a --- /dev/null +++ b/docs/html/_b_m_a_event_8cpp.html @@ -0,0 +1,95 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAEvent.cpp File Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+
+
/home/barant/Documents/Development/BMASockets/BMAEvent.cpp File Reference
+
+
+
+ + + + diff --git a/docs/html/_b_m_a_event_8h.html b/docs/html/_b_m_a_event_8h.html new file mode 100644 index 0000000..8474896 --- /dev/null +++ b/docs/html/_b_m_a_event_8h.html @@ -0,0 +1,156 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAEvent.h File Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
/home/barant/Documents/Development/BMASockets/BMAEvent.h File Reference
+
+
+
#include "includes"
+
+Include dependency graph for BMAEvent.h:
+
+
+
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Go to the source code of this file.

+ + + + +

+Classes

class  BMAEvent< Args >
 
+
+ + + + diff --git a/docs/html/_b_m_a_event_8h__dep__incl.map b/docs/html/_b_m_a_event_8h__dep__incl.map new file mode 100644 index 0000000..9319ca0 --- /dev/null +++ b/docs/html/_b_m_a_event_8h__dep__incl.map @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/html/_b_m_a_event_8h__dep__incl.md5 b/docs/html/_b_m_a_event_8h__dep__incl.md5 new file mode 100644 index 0000000..5f1b206 --- /dev/null +++ b/docs/html/_b_m_a_event_8h__dep__incl.md5 @@ -0,0 +1 @@ +882b0e1e223a56f4a485a91877c3ecfb \ No newline at end of file diff --git a/docs/html/_b_m_a_event_8h__dep__incl.png b/docs/html/_b_m_a_event_8h__dep__incl.png new file mode 100644 index 0000000..61b8182 Binary files /dev/null and b/docs/html/_b_m_a_event_8h__dep__incl.png differ diff --git a/docs/html/_b_m_a_event_8h__incl.map b/docs/html/_b_m_a_event_8h__incl.map new file mode 100644 index 0000000..88bdc38 --- /dev/null +++ b/docs/html/_b_m_a_event_8h__incl.map @@ -0,0 +1,2 @@ + + diff --git a/docs/html/_b_m_a_event_8h__incl.md5 b/docs/html/_b_m_a_event_8h__incl.md5 new file mode 100644 index 0000000..0565c9a --- /dev/null +++ b/docs/html/_b_m_a_event_8h__incl.md5 @@ -0,0 +1 @@ +2368a1124258ae91aafa3274b834bf32 \ No newline at end of file diff --git a/docs/html/_b_m_a_event_8h__incl.png b/docs/html/_b_m_a_event_8h__incl.png new file mode 100644 index 0000000..4d2c1a2 Binary files /dev/null and b/docs/html/_b_m_a_event_8h__incl.png differ diff --git a/docs/html/_b_m_a_event_8h_source.html b/docs/html/_b_m_a_event_8h_source.html new file mode 100644 index 0000000..04fd708 --- /dev/null +++ b/docs/html/_b_m_a_event_8h_source.html @@ -0,0 +1,73 @@ + + + + + + + +BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/BMAEvent.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Development/BMA/server_core/ServerCore/BMAEvent.h
+
+
+
1 //#ifndef __BMAEvent_h__
2 //#define __BMAEvent_h__
3 //
4 //#include "includes"
5 //
6 //template <class ...Args> class BMAEvent {
7 //
8 // public:
9 //
10 // BMAEvent() {
11 // printf("constructing...%p", this);
12 // }
13 //
14 // void addHandler(function<void (Args...)> handler) {
15 // printf("add handler to listeners. %p\n", this);
16 // handlers.push_back(handler);
17 // }
18 //
19 // void sendEvent(Args... args) {
20 // printf("send event to listeners. %p\n", this);
21 // for(auto& f : handlers) {
22 // f(args...);
23 // printf(" --\n");
24 // }
25 // }
26 //
27 // private:
28 // vector<function<void (Args...)>> handlers;
29 //
30 //};
31 //
32 //#endif
33 //
34 //
35 //
36 
37 
38 
+ + + + diff --git a/docs/html/_b_m_a_exception_8h_source.html b/docs/html/_b_m_a_exception_8h_source.html new file mode 100644 index 0000000..0b527fa --- /dev/null +++ b/docs/html/_b_m_a_exception_8h_source.html @@ -0,0 +1,74 @@ + + + + + + + +BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/BMAException.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Development/BMA/server_core/ServerCore/BMAException.h
+
+
+
1 #ifndef __BMAException_h__
2 #define __BMAException_h__
3 
4 #include "includes"
5 
6 class BMAException {
7 
8  public:
9  BMAException(std::string text, std::string file = __FILE__, int line = __LINE__, int errorNumber = -1);
10  ~BMAException();
11 
12  std::string className;
13  std::string file;
14  int line;
15  std::string text;
16  int errorNumber;
17 
18 };
19 
20 #endif
Definition: BMAException.h:6
+
+ + + + diff --git a/docs/html/_b_m_a_file_8cpp.html b/docs/html/_b_m_a_file_8cpp.html new file mode 100644 index 0000000..7af686f --- /dev/null +++ b/docs/html/_b_m_a_file_8cpp.html @@ -0,0 +1,104 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAFile.cpp File Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+
+
/home/barant/Documents/Development/BMASockets/BMAFile.cpp File Reference
+
+
+
#include "BMAFile.h"
+
+Include dependency graph for BMAFile.cpp:
+
+
+ + + +
+
+ + + + diff --git a/docs/html/_b_m_a_file_8cpp__incl.map b/docs/html/_b_m_a_file_8cpp__incl.map new file mode 100644 index 0000000..299147f --- /dev/null +++ b/docs/html/_b_m_a_file_8cpp__incl.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/_b_m_a_file_8cpp__incl.md5 b/docs/html/_b_m_a_file_8cpp__incl.md5 new file mode 100644 index 0000000..7c4e111 --- /dev/null +++ b/docs/html/_b_m_a_file_8cpp__incl.md5 @@ -0,0 +1 @@ +6534e2433251e8c4518918388c1c0170 \ No newline at end of file diff --git a/docs/html/_b_m_a_file_8cpp__incl.png b/docs/html/_b_m_a_file_8cpp__incl.png new file mode 100644 index 0000000..cb40aad Binary files /dev/null and b/docs/html/_b_m_a_file_8cpp__incl.png differ diff --git a/docs/html/_b_m_a_file_8h.html b/docs/html/_b_m_a_file_8h.html new file mode 100644 index 0000000..adbac5f --- /dev/null +++ b/docs/html/_b_m_a_file_8h.html @@ -0,0 +1,122 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAFile.h File Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
/home/barant/Documents/Development/BMASockets/BMAFile.h File Reference
+
+
+
#include "includes"
+
+Include dependency graph for BMAFile.h:
+
+
+
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + + + + +
+
+

Go to the source code of this file.

+ + + + +

+Classes

class  BMAFile
 
+
+ + + + diff --git a/docs/html/_b_m_a_file_8h__dep__incl.map b/docs/html/_b_m_a_file_8h__dep__incl.map new file mode 100644 index 0000000..2361375 --- /dev/null +++ b/docs/html/_b_m_a_file_8h__dep__incl.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/html/_b_m_a_file_8h__dep__incl.md5 b/docs/html/_b_m_a_file_8h__dep__incl.md5 new file mode 100644 index 0000000..e97dad4 --- /dev/null +++ b/docs/html/_b_m_a_file_8h__dep__incl.md5 @@ -0,0 +1 @@ +dc0b8cc777eb1f499a57146496ab343b \ No newline at end of file diff --git a/docs/html/_b_m_a_file_8h__dep__incl.png b/docs/html/_b_m_a_file_8h__dep__incl.png new file mode 100644 index 0000000..4b8b04a Binary files /dev/null and b/docs/html/_b_m_a_file_8h__dep__incl.png differ diff --git a/docs/html/_b_m_a_file_8h__incl.map b/docs/html/_b_m_a_file_8h__incl.map new file mode 100644 index 0000000..bf10dbe --- /dev/null +++ b/docs/html/_b_m_a_file_8h__incl.map @@ -0,0 +1,2 @@ + + diff --git a/docs/html/_b_m_a_file_8h__incl.md5 b/docs/html/_b_m_a_file_8h__incl.md5 new file mode 100644 index 0000000..8c17cf7 --- /dev/null +++ b/docs/html/_b_m_a_file_8h__incl.md5 @@ -0,0 +1 @@ +455f48de9ce3f276033a17572d7a86e8 \ No newline at end of file diff --git a/docs/html/_b_m_a_file_8h__incl.png b/docs/html/_b_m_a_file_8h__incl.png new file mode 100644 index 0000000..578a5e8 Binary files /dev/null and b/docs/html/_b_m_a_file_8h__incl.png differ diff --git a/docs/html/_b_m_a_file_8h_source.html b/docs/html/_b_m_a_file_8h_source.html new file mode 100644 index 0000000..452404e --- /dev/null +++ b/docs/html/_b_m_a_file_8h_source.html @@ -0,0 +1,74 @@ + + + + + + + +BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/BMAFile.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Development/BMA/server_core/ServerCore/BMAFile.h
+
+
+
1 #ifndef __BMAFile_h__
2 #define __BMAFile_h__
3 
4 #include "includes"
5 
11 
12 class BMAFile {
13 
14  public:
15  BMAFile(std::string fileName, int mode = O_RDONLY, int authority = 0664);
16  ~BMAFile();
17  void setBufferSize(size_t size);
18  void read();
19  void write(std::string data);
20 
21  char *buffer;
22  size_t size;
23 
24  std::string fileName;
25 
26  private:
27  int fd;
28 
29 };
30 
31 #endif
Definition: BMAFile.h:12
+
+ + + + diff --git a/docs/html/_b_m_a_game_server_8h_source.html b/docs/html/_b_m_a_game_server_8h_source.html new file mode 100644 index 0000000..8976059 --- /dev/null +++ b/docs/html/_b_m_a_game_server_8h_source.html @@ -0,0 +1,78 @@ + + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAGameServer.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Documents/Development/BMASockets/BMAGameServer.h
+
+
+
1 #ifndef __BMAGameServer_h__
2 #define __BMAGameServer_h__
3 
4 #include "includes"
5 #include "BMATCPServerSocket.h"
6 #include "BMASession.h"
7 class BMAEPoll;
8 
10 
11  public:
12  BMAGameServer(BMAEPoll &ePoll, std::string url, short int port, std::string commandName);
13  ~BMAGameServer();
14 
15  protected:
16  BMASession * getSocketAccept() override;
17 
18  private:
19 
20 };
21 
22 #endif
Definition: BMATCPServerSocket.h:20
+
BMASession * getSocketAccept() override
Definition: BMAGameServer.cpp:10
+
Definition: BMAEPoll.h:29
+
Definition: BMASession.h:18
+
Definition: BMAGameServer.h:9
+
+ + + + diff --git a/docs/html/_b_m_a_game_session_8h_source.html b/docs/html/_b_m_a_game_session_8h_source.html new file mode 100644 index 0000000..7b8813b --- /dev/null +++ b/docs/html/_b_m_a_game_session_8h_source.html @@ -0,0 +1,78 @@ + + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAGameSession.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Documents/Development/BMASockets/BMAGameSession.h
+
+
+
1 #ifndef __BMAGameSession_h__
2 #define __BMAGameSession_h__
3 
4 #include "BMASession.h"
5 #include "BMAGameServer.h"
6 
7 class BMAGameSession : public BMASession {
8 
9  public:
10  BMAGameSession(BMAEPoll &ePoll, BMAGameServer &server);
11  ~BMAGameSession();
12 
13  std::string playerName;
14  bool isAuthenticated = false;
15  int zoneId = 1;
16  std::string pos;
17 
18  protected:
19  void protocol(std::string data) override;
20  void output(BMASession *session);
21 
22  private:
23  void login(std::string data);
24  void sendSpawnList();
25 
26  class checkAuthenticatedandInZone : public BMASessionFilter {
27  public:
28  int zoneId;
29  checkAuthenticatedandInZone(int zoneId) : zoneId(zoneId) {};
30  bool test(BMASession &session) override {
31  return (((BMAGameSession &)session).zoneId == zoneId) && ((BMAGameSession &)session).isAuthenticated;
32  }
33  };
34 
35 };
36 
37 #endif
Definition: BMAEPoll.h:29
+
Definition: BMASessionFilter.h:4
+
Definition: BMASession.h:18
+
Definition: BMAGameServer.h:9
+
Definition: BMAGameSession.h:7
+
+ + + + diff --git a/docs/html/_b_m_a_h_t_t_p_request_handler_8cpp.html b/docs/html/_b_m_a_h_t_t_p_request_handler_8cpp.html new file mode 100644 index 0000000..ddfe324 --- /dev/null +++ b/docs/html/_b_m_a_h_t_t_p_request_handler_8cpp.html @@ -0,0 +1,111 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAHTTPRequestHandler.cpp File Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+
+
/home/barant/Documents/Development/BMASockets/BMAHTTPRequestHandler.cpp File Reference
+
+
+
+Include dependency graph for BMAHTTPRequestHandler.cpp:
+
+
+ + + + + + + + + + +
+
+ + + + diff --git a/docs/html/_b_m_a_h_t_t_p_request_handler_8cpp__incl.map b/docs/html/_b_m_a_h_t_t_p_request_handler_8cpp__incl.map new file mode 100644 index 0000000..ebec83a --- /dev/null +++ b/docs/html/_b_m_a_h_t_t_p_request_handler_8cpp__incl.map @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/docs/html/_b_m_a_h_t_t_p_request_handler_8cpp__incl.md5 b/docs/html/_b_m_a_h_t_t_p_request_handler_8cpp__incl.md5 new file mode 100644 index 0000000..fa9d1b8 --- /dev/null +++ b/docs/html/_b_m_a_h_t_t_p_request_handler_8cpp__incl.md5 @@ -0,0 +1 @@ +d8da6e50d1dc4639b0c6bfe0a333ac46 \ No newline at end of file diff --git a/docs/html/_b_m_a_h_t_t_p_request_handler_8cpp__incl.png b/docs/html/_b_m_a_h_t_t_p_request_handler_8cpp__incl.png new file mode 100644 index 0000000..a9180f0 Binary files /dev/null and b/docs/html/_b_m_a_h_t_t_p_request_handler_8cpp__incl.png differ diff --git a/docs/html/_b_m_a_h_t_t_p_request_handler_8h.html b/docs/html/_b_m_a_h_t_t_p_request_handler_8h.html new file mode 100644 index 0000000..a3bb016 --- /dev/null +++ b/docs/html/_b_m_a_h_t_t_p_request_handler_8h.html @@ -0,0 +1,130 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAHTTPRequestHandler.h File Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
/home/barant/Documents/Development/BMASockets/BMAHTTPRequestHandler.h File Reference
+
+
+
#include "BMAHTTPServer.h"
+
+Include dependency graph for BMAHTTPRequestHandler.h:
+
+
+ + + + + + + + + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + + + +
+
+

Go to the source code of this file.

+ + + + +

+Classes

class  BMAHTTPRequestHandler
 
+
+ + + + diff --git a/docs/html/_b_m_a_h_t_t_p_request_handler_8h__dep__incl.map b/docs/html/_b_m_a_h_t_t_p_request_handler_8h__dep__incl.map new file mode 100644 index 0000000..0e10d6b --- /dev/null +++ b/docs/html/_b_m_a_h_t_t_p_request_handler_8h__dep__incl.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/html/_b_m_a_h_t_t_p_request_handler_8h__dep__incl.md5 b/docs/html/_b_m_a_h_t_t_p_request_handler_8h__dep__incl.md5 new file mode 100644 index 0000000..afc7f17 --- /dev/null +++ b/docs/html/_b_m_a_h_t_t_p_request_handler_8h__dep__incl.md5 @@ -0,0 +1 @@ +fd2e946ad53b8a13580470d8531380f1 \ No newline at end of file diff --git a/docs/html/_b_m_a_h_t_t_p_request_handler_8h__dep__incl.png b/docs/html/_b_m_a_h_t_t_p_request_handler_8h__dep__incl.png new file mode 100644 index 0000000..f466f93 Binary files /dev/null and b/docs/html/_b_m_a_h_t_t_p_request_handler_8h__dep__incl.png differ diff --git a/docs/html/_b_m_a_h_t_t_p_request_handler_8h__incl.map b/docs/html/_b_m_a_h_t_t_p_request_handler_8h__incl.map new file mode 100644 index 0000000..61b4c77 --- /dev/null +++ b/docs/html/_b_m_a_h_t_t_p_request_handler_8h__incl.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/html/_b_m_a_h_t_t_p_request_handler_8h__incl.md5 b/docs/html/_b_m_a_h_t_t_p_request_handler_8h__incl.md5 new file mode 100644 index 0000000..628cae1 --- /dev/null +++ b/docs/html/_b_m_a_h_t_t_p_request_handler_8h__incl.md5 @@ -0,0 +1 @@ +b72b51f81dbaf0b21e7c95ab45580761 \ No newline at end of file diff --git a/docs/html/_b_m_a_h_t_t_p_request_handler_8h__incl.png b/docs/html/_b_m_a_h_t_t_p_request_handler_8h__incl.png new file mode 100644 index 0000000..7b9ba58 Binary files /dev/null and b/docs/html/_b_m_a_h_t_t_p_request_handler_8h__incl.png differ diff --git a/docs/html/_b_m_a_h_t_t_p_request_handler_8h_source.html b/docs/html/_b_m_a_h_t_t_p_request_handler_8h_source.html new file mode 100644 index 0000000..96b4ffd --- /dev/null +++ b/docs/html/_b_m_a_h_t_t_p_request_handler_8h_source.html @@ -0,0 +1,76 @@ + + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAHTTPRequestHandler.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Documents/Development/BMASockets/BMAHTTPRequestHandler.h
+
+
+
1 #ifndef __BMAHTTPRequestHandler_h__
2 #define __BMAHTTPRequestHandler_h__
3 
4 #include "BMAHTTPServer.h"
5 
7 
8  public:
9  BMAHTTPRequestHandler(BMAHTTPServer &server, std::string path);
11 
12  virtual int response(std::stringstream &sink);
13 
14  private:
15  BMAHTTPServer &server;
16 
17 };
18 
19 #endif
Definition: BMAHTTPServer.h:9
+
Definition: BMAHTTPRequestHandler.h:6
+
Definition: BMAObject.h:6
+
+ + + + diff --git a/docs/html/_b_m_a_h_t_t_p_server_8cpp.html b/docs/html/_b_m_a_h_t_t_p_server_8cpp.html new file mode 100644 index 0000000..c52dd6d --- /dev/null +++ b/docs/html/_b_m_a_h_t_t_p_server_8cpp.html @@ -0,0 +1,119 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAHTTPServer.cpp File Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+
+
/home/barant/Documents/Development/BMASockets/BMAHTTPServer.cpp File Reference
+
+
+
#include "BMAHTTPServer.h"
+#include "BMAEPoll.h"
+#include "BMAHTTPRequestHandler.h"
+#include "BMAHTTPSession.h"
+
+Include dependency graph for BMAHTTPServer.cpp:
+
+
+ + + + + + + + + + + + + + + +
+
+ + + + diff --git a/docs/html/_b_m_a_h_t_t_p_server_8cpp__incl.map b/docs/html/_b_m_a_h_t_t_p_server_8cpp__incl.map new file mode 100644 index 0000000..9392ede --- /dev/null +++ b/docs/html/_b_m_a_h_t_t_p_server_8cpp__incl.map @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/docs/html/_b_m_a_h_t_t_p_server_8cpp__incl.md5 b/docs/html/_b_m_a_h_t_t_p_server_8cpp__incl.md5 new file mode 100644 index 0000000..e849007 --- /dev/null +++ b/docs/html/_b_m_a_h_t_t_p_server_8cpp__incl.md5 @@ -0,0 +1 @@ +d0612ca5ebcebb5423e5df2f63734b0b \ No newline at end of file diff --git a/docs/html/_b_m_a_h_t_t_p_server_8cpp__incl.png b/docs/html/_b_m_a_h_t_t_p_server_8cpp__incl.png new file mode 100644 index 0000000..c26e530 Binary files /dev/null and b/docs/html/_b_m_a_h_t_t_p_server_8cpp__incl.png differ diff --git a/docs/html/_b_m_a_h_t_t_p_server_8h.html b/docs/html/_b_m_a_h_t_t_p_server_8h.html new file mode 100644 index 0000000..7109453 --- /dev/null +++ b/docs/html/_b_m_a_h_t_t_p_server_8h.html @@ -0,0 +1,131 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAHTTPServer.h File Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
/home/barant/Documents/Development/BMASockets/BMAHTTPServer.h File Reference
+
+
+
#include "includes"
+#include "BMATCPServerSocket.h"
+
+Include dependency graph for BMAHTTPServer.h:
+
+
+ + + + + + + + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + + + + +
+
+

Go to the source code of this file.

+ + + + +

+Classes

class  BMAHTTPServer
 
+
+ + + + diff --git a/docs/html/_b_m_a_h_t_t_p_server_8h__dep__incl.map b/docs/html/_b_m_a_h_t_t_p_server_8h__dep__incl.map new file mode 100644 index 0000000..17c8a5d --- /dev/null +++ b/docs/html/_b_m_a_h_t_t_p_server_8h__dep__incl.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/html/_b_m_a_h_t_t_p_server_8h__dep__incl.md5 b/docs/html/_b_m_a_h_t_t_p_server_8h__dep__incl.md5 new file mode 100644 index 0000000..219f568 --- /dev/null +++ b/docs/html/_b_m_a_h_t_t_p_server_8h__dep__incl.md5 @@ -0,0 +1 @@ +f02c511920cd0ebe7c2b298a6447eac9 \ No newline at end of file diff --git a/docs/html/_b_m_a_h_t_t_p_server_8h__dep__incl.png b/docs/html/_b_m_a_h_t_t_p_server_8h__dep__incl.png new file mode 100644 index 0000000..0d53ee2 Binary files /dev/null and b/docs/html/_b_m_a_h_t_t_p_server_8h__dep__incl.png differ diff --git a/docs/html/_b_m_a_h_t_t_p_server_8h__incl.map b/docs/html/_b_m_a_h_t_t_p_server_8h__incl.map new file mode 100644 index 0000000..25df0ad --- /dev/null +++ b/docs/html/_b_m_a_h_t_t_p_server_8h__incl.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/html/_b_m_a_h_t_t_p_server_8h__incl.md5 b/docs/html/_b_m_a_h_t_t_p_server_8h__incl.md5 new file mode 100644 index 0000000..f27f894 --- /dev/null +++ b/docs/html/_b_m_a_h_t_t_p_server_8h__incl.md5 @@ -0,0 +1 @@ +ebf638d7c01e0c72129bbdcf8f80d102 \ No newline at end of file diff --git a/docs/html/_b_m_a_h_t_t_p_server_8h__incl.png b/docs/html/_b_m_a_h_t_t_p_server_8h__incl.png new file mode 100644 index 0000000..3ebf6a6 Binary files /dev/null and b/docs/html/_b_m_a_h_t_t_p_server_8h__incl.png differ diff --git a/docs/html/_b_m_a_h_t_t_p_server_8h_source.html b/docs/html/_b_m_a_h_t_t_p_server_8h_source.html new file mode 100644 index 0000000..7912c1c --- /dev/null +++ b/docs/html/_b_m_a_h_t_t_p_server_8h_source.html @@ -0,0 +1,79 @@ + + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAHTTPServer.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Documents/Development/BMASockets/BMAHTTPServer.h
+
+
+
1 #ifndef __BMAHTTPServer_h__
2 #define __BMAHTTPServer_h__
3 
4 #include "includes"
5 #include "BMATCPServerSocket.h"
7 class BMAEPoll;
8 
10 
11  public:
12  BMAHTTPServer(BMAEPoll &ePoll, std::string url, short int port, std::string commandName);
13  ~BMAHTTPServer();
14 
15  void registerHandler(std::string path, BMAHTTPRequestHandler &requestHandler);
16  void unregisterHandler(BMAHTTPRequestHandler &requestHandler);
17 
18  BMAHTTPRequestHandler * getRequestHandler(std::string path);
19 
20  std::map<std::string, BMAHTTPRequestHandler *> requestHandlers;
21 
22  protected:
23  BMASession * getSocketAccept() override;
24 
25  private:
26 
27 };
28 
29 #endif
Definition: BMAHTTPServer.h:9
+
Definition: BMATCPServerSocket.h:20
+
Definition: BMAEPoll.h:29
+
Definition: BMAHTTPRequestHandler.h:6
+
Definition: BMASession.h:18
+
BMASession * getSocketAccept() override
Definition: BMAHTTPServer.cpp:13
+
+ + + + diff --git a/docs/html/_b_m_a_h_t_t_p_session_8cpp.html b/docs/html/_b_m_a_h_t_t_p_session_8cpp.html new file mode 100644 index 0000000..f21a3bb --- /dev/null +++ b/docs/html/_b_m_a_h_t_t_p_session_8cpp.html @@ -0,0 +1,114 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAHTTPSession.cpp File Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+
+
/home/barant/Documents/Development/BMASockets/BMAHTTPSession.cpp File Reference
+
+
+
#include "BMAHTTPSession.h"
+
+Include dependency graph for BMAHTTPSession.cpp:
+
+
+ + + + + + + + + + + + + +
+
+ + + + diff --git a/docs/html/_b_m_a_h_t_t_p_session_8cpp__incl.map b/docs/html/_b_m_a_h_t_t_p_session_8cpp__incl.map new file mode 100644 index 0000000..948c385 --- /dev/null +++ b/docs/html/_b_m_a_h_t_t_p_session_8cpp__incl.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/docs/html/_b_m_a_h_t_t_p_session_8cpp__incl.md5 b/docs/html/_b_m_a_h_t_t_p_session_8cpp__incl.md5 new file mode 100644 index 0000000..edef647 --- /dev/null +++ b/docs/html/_b_m_a_h_t_t_p_session_8cpp__incl.md5 @@ -0,0 +1 @@ +3c5eccba8bdc30fa0e91e097a55d236f \ No newline at end of file diff --git a/docs/html/_b_m_a_h_t_t_p_session_8cpp__incl.png b/docs/html/_b_m_a_h_t_t_p_session_8cpp__incl.png new file mode 100644 index 0000000..01464d9 Binary files /dev/null and b/docs/html/_b_m_a_h_t_t_p_session_8cpp__incl.png differ diff --git a/docs/html/_b_m_a_h_t_t_p_session_8h.html b/docs/html/_b_m_a_h_t_t_p_session_8h.html new file mode 100644 index 0000000..aa98227 --- /dev/null +++ b/docs/html/_b_m_a_h_t_t_p_session_8h.html @@ -0,0 +1,133 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAHTTPSession.h File Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
/home/barant/Documents/Development/BMASockets/BMAHTTPSession.h File Reference
+
+
+
#include "BMATCPSocket.h"
+#include "BMAEPoll.h"
+
+Include dependency graph for BMAHTTPSession.h:
+
+
+ + + + + + + + + + + + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + + +
+
+

Go to the source code of this file.

+ + + + +

+Classes

class  BMAHTTPSession
 
+
+ + + + diff --git a/docs/html/_b_m_a_h_t_t_p_session_8h__dep__incl.map b/docs/html/_b_m_a_h_t_t_p_session_8h__dep__incl.map new file mode 100644 index 0000000..25eb698 --- /dev/null +++ b/docs/html/_b_m_a_h_t_t_p_session_8h__dep__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/html/_b_m_a_h_t_t_p_session_8h__dep__incl.md5 b/docs/html/_b_m_a_h_t_t_p_session_8h__dep__incl.md5 new file mode 100644 index 0000000..d2d14ed --- /dev/null +++ b/docs/html/_b_m_a_h_t_t_p_session_8h__dep__incl.md5 @@ -0,0 +1 @@ +6f7cc749915c030c0e76c42e7f14ad93 \ No newline at end of file diff --git a/docs/html/_b_m_a_h_t_t_p_session_8h__dep__incl.png b/docs/html/_b_m_a_h_t_t_p_session_8h__dep__incl.png new file mode 100644 index 0000000..22d7603 Binary files /dev/null and b/docs/html/_b_m_a_h_t_t_p_session_8h__dep__incl.png differ diff --git a/docs/html/_b_m_a_h_t_t_p_session_8h__incl.map b/docs/html/_b_m_a_h_t_t_p_session_8h__incl.map new file mode 100644 index 0000000..e1d91f6 --- /dev/null +++ b/docs/html/_b_m_a_h_t_t_p_session_8h__incl.map @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/docs/html/_b_m_a_h_t_t_p_session_8h__incl.md5 b/docs/html/_b_m_a_h_t_t_p_session_8h__incl.md5 new file mode 100644 index 0000000..93a2751 --- /dev/null +++ b/docs/html/_b_m_a_h_t_t_p_session_8h__incl.md5 @@ -0,0 +1 @@ +b23c6ad6106f7030006d8804c5901375 \ No newline at end of file diff --git a/docs/html/_b_m_a_h_t_t_p_session_8h__incl.png b/docs/html/_b_m_a_h_t_t_p_session_8h__incl.png new file mode 100644 index 0000000..b59e10d Binary files /dev/null and b/docs/html/_b_m_a_h_t_t_p_session_8h__incl.png differ diff --git a/docs/html/_b_m_a_h_t_t_p_session_8h_source.html b/docs/html/_b_m_a_h_t_t_p_session_8h_source.html new file mode 100644 index 0000000..b47829f --- /dev/null +++ b/docs/html/_b_m_a_h_t_t_p_session_8h_source.html @@ -0,0 +1,78 @@ + + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAHTTPSession.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Documents/Development/BMASockets/BMAHTTPSession.h
+
+
+
1 #ifndef __BMAHTTPSession_h__
2 #define __BMAHTTPSession_h__
3 
4 #include "BMASession.h"
5 #include "BMAHTTPServer.h"
6 #include "BMAHeader.h"
7 
8 class BMAHTTPSession : public BMASession {
9 
10  public:
11  BMAHTTPSession(BMAEPoll &ePoll, BMAHTTPServer &server);
12  ~BMAHTTPSession();
13 
14  protected:
15  void protocol(std::string data) override;
16 
17  private:
18  BMAHeader *header;
19  enum Status {RECEIVE_REQUEST, SEND_RESPONSE};
20  Status status = RECEIVE_REQUEST;
21 
22  void doRequest(std::string method, std::string path);
23 
24 };
25 
26 #endif
Definition: BMAHTTPServer.h:9
+
Definition: BMAHTTPSession.h:8
+
Definition: BMAEPoll.h:29
+
Definition: BMASession.h:18
+
Definition: BMAHeader.h:7
+
+ + + + diff --git a/docs/html/_b_m_a_header_8cpp.html b/docs/html/_b_m_a_header_8cpp.html new file mode 100644 index 0000000..a433d69 --- /dev/null +++ b/docs/html/_b_m_a_header_8cpp.html @@ -0,0 +1,104 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAHeader.cpp File Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+
+
/home/barant/Documents/Development/BMASockets/BMAHeader.cpp File Reference
+
+
+
#include "BMAHeader.h"
+
+Include dependency graph for BMAHeader.cpp:
+
+
+ + + +
+
+ + + + diff --git a/docs/html/_b_m_a_header_8cpp__incl.map b/docs/html/_b_m_a_header_8cpp__incl.map new file mode 100644 index 0000000..a05ac1a --- /dev/null +++ b/docs/html/_b_m_a_header_8cpp__incl.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/_b_m_a_header_8cpp__incl.md5 b/docs/html/_b_m_a_header_8cpp__incl.md5 new file mode 100644 index 0000000..62458e5 --- /dev/null +++ b/docs/html/_b_m_a_header_8cpp__incl.md5 @@ -0,0 +1 @@ +c44f731711aff8da3eec778cc88317af \ No newline at end of file diff --git a/docs/html/_b_m_a_header_8cpp__incl.png b/docs/html/_b_m_a_header_8cpp__incl.png new file mode 100644 index 0000000..8aeac42 Binary files /dev/null and b/docs/html/_b_m_a_header_8cpp__incl.png differ diff --git a/docs/html/_b_m_a_header_8h.html b/docs/html/_b_m_a_header_8h.html new file mode 100644 index 0000000..10223d2 --- /dev/null +++ b/docs/html/_b_m_a_header_8h.html @@ -0,0 +1,120 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAHeader.h File Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
/home/barant/Documents/Development/BMASockets/BMAHeader.h File Reference
+
+
+
#include "includes"
+
+Include dependency graph for BMAHeader.h:
+
+
+
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + + +
+
+

Go to the source code of this file.

+ + + + +

+Classes

class  BMAHeader
 
+
+ + + + diff --git a/docs/html/_b_m_a_header_8h__dep__incl.map b/docs/html/_b_m_a_header_8h__dep__incl.map new file mode 100644 index 0000000..daf68a3 --- /dev/null +++ b/docs/html/_b_m_a_header_8h__dep__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/html/_b_m_a_header_8h__dep__incl.md5 b/docs/html/_b_m_a_header_8h__dep__incl.md5 new file mode 100644 index 0000000..e6b6fe0 --- /dev/null +++ b/docs/html/_b_m_a_header_8h__dep__incl.md5 @@ -0,0 +1 @@ +49424d5e20ac6d8975d8495de46109c5 \ No newline at end of file diff --git a/docs/html/_b_m_a_header_8h__dep__incl.png b/docs/html/_b_m_a_header_8h__dep__incl.png new file mode 100644 index 0000000..38d50e3 Binary files /dev/null and b/docs/html/_b_m_a_header_8h__dep__incl.png differ diff --git a/docs/html/_b_m_a_header_8h__incl.map b/docs/html/_b_m_a_header_8h__incl.map new file mode 100644 index 0000000..b185d36 --- /dev/null +++ b/docs/html/_b_m_a_header_8h__incl.map @@ -0,0 +1,2 @@ + + diff --git a/docs/html/_b_m_a_header_8h__incl.md5 b/docs/html/_b_m_a_header_8h__incl.md5 new file mode 100644 index 0000000..9471dc1 --- /dev/null +++ b/docs/html/_b_m_a_header_8h__incl.md5 @@ -0,0 +1 @@ +13056015912c36bba7183ea94551f9a9 \ No newline at end of file diff --git a/docs/html/_b_m_a_header_8h__incl.png b/docs/html/_b_m_a_header_8h__incl.png new file mode 100644 index 0000000..83b9164 Binary files /dev/null and b/docs/html/_b_m_a_header_8h__incl.png differ diff --git a/docs/html/_b_m_a_header_8h_source.html b/docs/html/_b_m_a_header_8h_source.html new file mode 100644 index 0000000..e098d4f --- /dev/null +++ b/docs/html/_b_m_a_header_8h_source.html @@ -0,0 +1,75 @@ + + + + + + + +BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/BMAHeader.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Development/BMA/server_core/ServerCore/BMAHeader.h
+
+
+
1 #ifndef __BMAHeader_h__
2 #define __BMAHeader_h__
3 
4 #include "includes"
5 #include "BMAObject.h"
6 
7 class BMAHeader : public BMAObject {
8 
9  public:
10  BMAHeader(std::string data);
11  ~BMAHeader();
12 
13  std::string data;
14 \
15  std::string requestMethod();
16  std::string requestURL();
17  std::string requestProtocol();
18 
19  private:
20 
21 
22 // vector<map<string, string>> header;
23 
24 };
25 
26 #endif
Definition: BMAObject.h:6
+
Definition: BMAHeader.h:7
+
+ + + + diff --git a/docs/html/_b_m_a_i_m_a_p_server_8h_source.html b/docs/html/_b_m_a_i_m_a_p_server_8h_source.html new file mode 100644 index 0000000..12e1a05 --- /dev/null +++ b/docs/html/_b_m_a_i_m_a_p_server_8h_source.html @@ -0,0 +1,81 @@ + + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAIMAPServer.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Documents/Development/BMASockets/BMAIMAPServer.h
+
+
+
1 #ifndef BMAIMAPServer_h__
2 #define BMAIMAPServer_h__
3 
4 #include "includes"
5 #include "BMATCPServerSocket.h"
6 #include "BMACommand.h"
7 class BMATCPSocket;
8 
10 
11  public:
12  BMAIMAPServer(BMAEPoll &ePoll, std::string url, short int port);
13  ~BMAIMAPServer();
14 
16 
17  void registerCommand(BMACommand &command);
18 
19  int processCommand(BMASession *session) override;
20 
21  std::vector<BMACommand *> commands;
22 
23 };
24 
25 #endif
Definition: BMATCPSocket.h:18
+
Definition: BMATCPServerSocket.h:20
+
Definition: BMAEPoll.h:29
+
Definition: BMACommand.h:8
+
BMASession * getSocketAccept()
+
Definition: BMASession.h:18
+
Definition: BMAIMAPServer.h:9
+
int processCommand(BMASession *session) override
Output the consoles array to the console.
+
+ + + + diff --git a/docs/html/_b_m_a_i_m_a_p_session_8h_source.html b/docs/html/_b_m_a_i_m_a_p_session_8h_source.html new file mode 100644 index 0000000..595336f --- /dev/null +++ b/docs/html/_b_m_a_i_m_a_p_session_8h_source.html @@ -0,0 +1,78 @@ + + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAIMAPSession.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Documents/Development/BMASockets/BMAIMAPSession.h
+
+
+
1 #ifndef __BMAIMAPSession_h__
2 #define __BMAIMAPSession_h__
3 
4 #include "BMASession.h"
5 #include "BMAIMAPServer.h"
6 
14 
15 class BMAIMAPSession : public BMASession {
16 
17  public:
18  BMAIMAPSession(BMAEPoll &ePoll, BMAConsoleServer &server);
19  ~BMAIMAPSession();
20 
21  virtual void output(std::stringstream &out);
22 
23  protected:
24  void protocol(char *data, int length) override;
25 
26 private:
27  BMAConsoleServer &server;
28  enum Status {WELCOME, PROMPT, INPUT, PROCESS, DONE};
29  Status status = WELCOME;
30  void doCommand(std::string request);
31 
32 };
33 
34 #endif
Definition: BMAEPoll.h:29
+
virtual void output(std::stringstream &out)
+
Definition: BMAConsoleServer.h:9
+
Definition: BMASession.h:18
+
Definition: BMAIMAPSession.h:15
+
+ + + + diff --git a/docs/html/_b_m_a_i_p_address_8h_source.html b/docs/html/_b_m_a_i_p_address_8h_source.html new file mode 100644 index 0000000..99c18cb --- /dev/null +++ b/docs/html/_b_m_a_i_p_address_8h_source.html @@ -0,0 +1,78 @@ + + + + + + + +BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/BMAIPAddress.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Development/BMA/server_core/ServerCore/BMAIPAddress.h
+
+
+
1 #ifndef __BMAIPAddress_h__
2 #define __BMAIPAddress_h__
3 
4 #include "includes"
5 #include "BMAObject.h"
6 
7 class BMAIPAddress : public BMAObject {
8 
9  public:
10  BMAIPAddress();
11  ~BMAIPAddress();
12 
13  struct sockaddr_in address;
14  socklen_t addressLength;
15 
16  std::string getClientAddress();
17  std::string getClientAddressAndPort();
18  int getClientPort();
19 
20 };
21 
22 #endif
std::string getClientAddressAndPort()
Get the client network address and port as xxx.xxx.xxx.xxx:ppppp.
Definition: BMAIPAddress.cpp:16
+
int getClientPort()
Get the client network port number.
Definition: BMAIPAddress.cpp:23
+
Definition: BMAIPAddress.h:7
+
std::string getClientAddress()
Get the client network address as xxx.xxx.xxx.xxx.
Definition: BMAIPAddress.cpp:11
+
Definition: BMAObject.h:6
+
+ + + + diff --git a/docs/html/_b_m_a_log_8cpp.html b/docs/html/_b_m_a_log_8cpp.html new file mode 100644 index 0000000..064c0f0 --- /dev/null +++ b/docs/html/_b_m_a_log_8cpp.html @@ -0,0 +1,111 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMALog.cpp File Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+
+
/home/barant/Documents/Development/BMASockets/BMALog.cpp File Reference
+
+
+
#include "BMALog.h"
+
+Include dependency graph for BMALog.cpp:
+
+
+ + + + + + + + + + +
+
+ + + + diff --git a/docs/html/_b_m_a_log_8cpp__incl.map b/docs/html/_b_m_a_log_8cpp__incl.map new file mode 100644 index 0000000..58b267b --- /dev/null +++ b/docs/html/_b_m_a_log_8cpp__incl.map @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/docs/html/_b_m_a_log_8cpp__incl.md5 b/docs/html/_b_m_a_log_8cpp__incl.md5 new file mode 100644 index 0000000..498ea17 --- /dev/null +++ b/docs/html/_b_m_a_log_8cpp__incl.md5 @@ -0,0 +1 @@ +3d0b41b4daf95dad4d3ac3170b55ea2e \ No newline at end of file diff --git a/docs/html/_b_m_a_log_8cpp__incl.png b/docs/html/_b_m_a_log_8cpp__incl.png new file mode 100644 index 0000000..2579346 Binary files /dev/null and b/docs/html/_b_m_a_log_8cpp__incl.png differ diff --git a/docs/html/_b_m_a_log_8h.html b/docs/html/_b_m_a_log_8h.html new file mode 100644 index 0000000..b93b140 --- /dev/null +++ b/docs/html/_b_m_a_log_8h.html @@ -0,0 +1,149 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMALog.h File Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
/home/barant/Documents/Development/BMASockets/BMALog.h File Reference
+
+
+
#include "includes"
+#include "BMAConsole.h"
+
+Include dependency graph for BMALog.h:
+
+
+ + + + + + + + + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + +
+
+

Go to the source code of this file.

+ + + + +

+Classes

class  BMALog
 
+
+ + + + diff --git a/docs/html/_b_m_a_log_8h__dep__incl.map b/docs/html/_b_m_a_log_8h__dep__incl.map new file mode 100644 index 0000000..837aa2e --- /dev/null +++ b/docs/html/_b_m_a_log_8h__dep__incl.map @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/html/_b_m_a_log_8h__dep__incl.md5 b/docs/html/_b_m_a_log_8h__dep__incl.md5 new file mode 100644 index 0000000..5ca02de --- /dev/null +++ b/docs/html/_b_m_a_log_8h__dep__incl.md5 @@ -0,0 +1 @@ +79d692ee8654b1a9cd593b4ce081ad36 \ No newline at end of file diff --git a/docs/html/_b_m_a_log_8h__dep__incl.png b/docs/html/_b_m_a_log_8h__dep__incl.png new file mode 100644 index 0000000..1b3c751 Binary files /dev/null and b/docs/html/_b_m_a_log_8h__dep__incl.png differ diff --git a/docs/html/_b_m_a_log_8h__incl.map b/docs/html/_b_m_a_log_8h__incl.map new file mode 100644 index 0000000..1792102 --- /dev/null +++ b/docs/html/_b_m_a_log_8h__incl.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/html/_b_m_a_log_8h__incl.md5 b/docs/html/_b_m_a_log_8h__incl.md5 new file mode 100644 index 0000000..5bd6f3a --- /dev/null +++ b/docs/html/_b_m_a_log_8h__incl.md5 @@ -0,0 +1 @@ +08fcf37e6176824cb7b2e42e47bdbf4a \ No newline at end of file diff --git a/docs/html/_b_m_a_log_8h__incl.png b/docs/html/_b_m_a_log_8h__incl.png new file mode 100644 index 0000000..8bc6bb9 Binary files /dev/null and b/docs/html/_b_m_a_log_8h__incl.png differ diff --git a/docs/html/_b_m_a_log_8h_source.html b/docs/html/_b_m_a_log_8h_source.html new file mode 100644 index 0000000..078298b --- /dev/null +++ b/docs/html/_b_m_a_log_8h_source.html @@ -0,0 +1,82 @@ + + + + + + + +BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/BMALog.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Development/BMA/server_core/ServerCore/BMALog.h
+
+
+
1 #ifndef __BMALog_h__
2 #define __BMALog_h__
3 
4 #include "includes"
5 #include "BMAConsoleServer.h"
6 #include "BMAFile.h"
7 
8 static const int LOG_NONE = 0;
9 static const int LOG_INFO = 1;
10 static const int LOG_WARN = 2;
11 static const int LOG_EXCEPT = 4;
12 static const int LOG_DEBUG_1 = 8;
13 static const int LOG_DEBUG_2 = 16;
14 static const int LOG_DEBUG_3 = 32;
15 static const int LOG_DEBUG_4 = 64;
16 
23 
24 class BMALog : public std::ostringstream, public BMAObject {
25 
26 public:
27 
36 
38 
44 
46 
54 
55  BMALog(int level);
56 
60 
61  ~BMALog();
62 
63  bool output = false;
64 
69 
71 
76 
77  static BMAFile *logFile;
78 
83 
84  static int seq;
85 
86 };
87 
88 #endif
Definition: BMALog.h:24
+
BMALog(BMAConsoleServer *consoleServer)
Definition: BMALog.cpp:8
+
static BMAConsoleServer * consoleServer
Definition: BMALog.h:70
+
static int seq
Definition: BMALog.h:84
+
Definition: BMAConsoleServer.h:9
+
static BMAFile * logFile
Definition: BMALog.h:77
+
Definition: BMAObject.h:6
+
~BMALog()
Definition: BMALog.cpp:59
+
Definition: BMAFile.h:12
+
+ + + + diff --git a/docs/html/_b_m_a_m_p3_file_8cpp.html b/docs/html/_b_m_a_m_p3_file_8cpp.html new file mode 100644 index 0000000..72f7d24 --- /dev/null +++ b/docs/html/_b_m_a_m_p3_file_8cpp.html @@ -0,0 +1,117 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAMP3File.cpp File Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+
+
/home/barant/Documents/Development/BMASockets/BMAMP3File.cpp File Reference
+
+
+
#include "BMAMP3File.h"
+
+Include dependency graph for BMAMP3File.cpp:
+
+
+ + + + + + + + + + + + + + + + +
+
+ + + + diff --git a/docs/html/_b_m_a_m_p3_file_8cpp__incl.map b/docs/html/_b_m_a_m_p3_file_8cpp__incl.map new file mode 100644 index 0000000..f2f580b --- /dev/null +++ b/docs/html/_b_m_a_m_p3_file_8cpp__incl.map @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/docs/html/_b_m_a_m_p3_file_8cpp__incl.md5 b/docs/html/_b_m_a_m_p3_file_8cpp__incl.md5 new file mode 100644 index 0000000..193e1b8 --- /dev/null +++ b/docs/html/_b_m_a_m_p3_file_8cpp__incl.md5 @@ -0,0 +1 @@ +74bfa9f633ab9615751f2ed4b0e335e2 \ No newline at end of file diff --git a/docs/html/_b_m_a_m_p3_file_8cpp__incl.png b/docs/html/_b_m_a_m_p3_file_8cpp__incl.png new file mode 100644 index 0000000..7595e27 Binary files /dev/null and b/docs/html/_b_m_a_m_p3_file_8cpp__incl.png differ diff --git a/docs/html/_b_m_a_m_p3_file_8h.html b/docs/html/_b_m_a_m_p3_file_8h.html new file mode 100644 index 0000000..3c1fdbc --- /dev/null +++ b/docs/html/_b_m_a_m_p3_file_8h.html @@ -0,0 +1,138 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAMP3File.h File Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
/home/barant/Documents/Development/BMASockets/BMAMP3File.h File Reference
+
+
+
#include "BMAFile.h"
+#include "BMAMP3StreamContentProvider.h"
+#include "BMAMP3StreamFrame.h"
+#include "BMAStreamServer.h"
+
+Include dependency graph for BMAMP3File.h:
+
+
+ + + + + + + + + + + + + + + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + + +
+
+

Go to the source code of this file.

+ + + + +

+Classes

class  BMAMP3File
 
+
+ + + + diff --git a/docs/html/_b_m_a_m_p3_file_8h__dep__incl.map b/docs/html/_b_m_a_m_p3_file_8h__dep__incl.map new file mode 100644 index 0000000..d7bc5f7 --- /dev/null +++ b/docs/html/_b_m_a_m_p3_file_8h__dep__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/html/_b_m_a_m_p3_file_8h__dep__incl.md5 b/docs/html/_b_m_a_m_p3_file_8h__dep__incl.md5 new file mode 100644 index 0000000..fc7619f --- /dev/null +++ b/docs/html/_b_m_a_m_p3_file_8h__dep__incl.md5 @@ -0,0 +1 @@ +21d30b14000f21a5307c831745062c3d \ No newline at end of file diff --git a/docs/html/_b_m_a_m_p3_file_8h__dep__incl.png b/docs/html/_b_m_a_m_p3_file_8h__dep__incl.png new file mode 100644 index 0000000..70ddbdf Binary files /dev/null and b/docs/html/_b_m_a_m_p3_file_8h__dep__incl.png differ diff --git a/docs/html/_b_m_a_m_p3_file_8h__incl.map b/docs/html/_b_m_a_m_p3_file_8h__incl.map new file mode 100644 index 0000000..a5a9002 --- /dev/null +++ b/docs/html/_b_m_a_m_p3_file_8h__incl.map @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/docs/html/_b_m_a_m_p3_file_8h__incl.md5 b/docs/html/_b_m_a_m_p3_file_8h__incl.md5 new file mode 100644 index 0000000..a3ed89a --- /dev/null +++ b/docs/html/_b_m_a_m_p3_file_8h__incl.md5 @@ -0,0 +1 @@ +8b684834ab46c0b10b3b91fdae21f8e7 \ No newline at end of file diff --git a/docs/html/_b_m_a_m_p3_file_8h__incl.png b/docs/html/_b_m_a_m_p3_file_8h__incl.png new file mode 100644 index 0000000..de7f377 Binary files /dev/null and b/docs/html/_b_m_a_m_p3_file_8h__incl.png differ diff --git a/docs/html/_b_m_a_m_p3_file_8h_source.html b/docs/html/_b_m_a_m_p3_file_8h_source.html new file mode 100644 index 0000000..f5030f0 --- /dev/null +++ b/docs/html/_b_m_a_m_p3_file_8h_source.html @@ -0,0 +1,77 @@ + + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAMP3File.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Documents/Development/BMASockets/BMAMP3File.h
+
+
+
1 #ifndef __BMAMP3File_h__
2 #define __BMAMP3File_h__
3 
4 #include "BMAFile.h"
5 #include "BMAMP3StreamContentProvider.h"
6 #include "BMAMP3StreamFrame.h"
7 #include "BMAStreamServer.h"
8 
14 
16 
17  public:
18  BMAMP3File(BMAStreamServer &server, std::string fileName);
19  ~BMAMP3File();
20 
21 };
22 
23 #endif
Definition: BMAMP3File.h:15
+
Definition: BMAStreamServer.h:19
+
Definition: BMAStreamContentProvider.h:8
+
Definition: BMAFile.h:12
+
+ + + + diff --git a/docs/html/_b_m_a_m_p3_stream_content_provider_8h.html b/docs/html/_b_m_a_m_p3_stream_content_provider_8h.html new file mode 100644 index 0000000..c7ee00f --- /dev/null +++ b/docs/html/_b_m_a_m_p3_stream_content_provider_8h.html @@ -0,0 +1,134 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAMP3StreamContentProvider.h File Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
/home/barant/Documents/Development/BMASockets/BMAMP3StreamContentProvider.h File Reference
+
+
+
+Include dependency graph for BMAMP3StreamContentProvider.h:
+
+
+ + + + + + + + + + + + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + + + +
+
+

Go to the source code of this file.

+ + + + +

+Classes

class  BMAMP3StreamContentProvider
 
+
+ + + + diff --git a/docs/html/_b_m_a_m_p3_stream_content_provider_8h__dep__incl.map b/docs/html/_b_m_a_m_p3_stream_content_provider_8h__dep__incl.map new file mode 100644 index 0000000..d71747b --- /dev/null +++ b/docs/html/_b_m_a_m_p3_stream_content_provider_8h__dep__incl.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/html/_b_m_a_m_p3_stream_content_provider_8h__dep__incl.md5 b/docs/html/_b_m_a_m_p3_stream_content_provider_8h__dep__incl.md5 new file mode 100644 index 0000000..427f12d --- /dev/null +++ b/docs/html/_b_m_a_m_p3_stream_content_provider_8h__dep__incl.md5 @@ -0,0 +1 @@ +dd641d0a77ce4977f5260c04a3692cf0 \ No newline at end of file diff --git a/docs/html/_b_m_a_m_p3_stream_content_provider_8h__dep__incl.png b/docs/html/_b_m_a_m_p3_stream_content_provider_8h__dep__incl.png new file mode 100644 index 0000000..a4631d1 Binary files /dev/null and b/docs/html/_b_m_a_m_p3_stream_content_provider_8h__dep__incl.png differ diff --git a/docs/html/_b_m_a_m_p3_stream_content_provider_8h__incl.map b/docs/html/_b_m_a_m_p3_stream_content_provider_8h__incl.map new file mode 100644 index 0000000..80d1430 --- /dev/null +++ b/docs/html/_b_m_a_m_p3_stream_content_provider_8h__incl.map @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/docs/html/_b_m_a_m_p3_stream_content_provider_8h__incl.md5 b/docs/html/_b_m_a_m_p3_stream_content_provider_8h__incl.md5 new file mode 100644 index 0000000..38b91ac --- /dev/null +++ b/docs/html/_b_m_a_m_p3_stream_content_provider_8h__incl.md5 @@ -0,0 +1 @@ +d35853ecbfaad887dfc98823d1e9707d \ No newline at end of file diff --git a/docs/html/_b_m_a_m_p3_stream_content_provider_8h__incl.png b/docs/html/_b_m_a_m_p3_stream_content_provider_8h__incl.png new file mode 100644 index 0000000..6db5aca Binary files /dev/null and b/docs/html/_b_m_a_m_p3_stream_content_provider_8h__incl.png differ diff --git a/docs/html/_b_m_a_m_p3_stream_content_provider_8h_source.html b/docs/html/_b_m_a_m_p3_stream_content_provider_8h_source.html new file mode 100644 index 0000000..14974c8 --- /dev/null +++ b/docs/html/_b_m_a_m_p3_stream_content_provider_8h_source.html @@ -0,0 +1,77 @@ + + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAMP3StreamContentProvider.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Documents/Development/BMASockets/BMAMP3StreamContentProvider.h
+
+
+
1 #ifndef __BMAMP3StreamContentProvider_h__
2 #define __BMAMP3StreamContentProvider_h__
3 
4 #include "BMAStreamServer.h"
5 #include "BMAStreamContentProvider.h"
6 
8 
9  public:
12 
13  BMAStreamFrame* getStreamFrame();
14 
15 };
16 
17 #endif
Definition: BMAStreamFrame.h:4
+
Definition: BMAStreamServer.h:19
+
Definition: BMAMP3StreamContentProvider.h:7
+
Definition: BMAStreamContentProvider.h:8
+
+ + + + diff --git a/docs/html/_b_m_a_m_p3_stream_frame_8cpp.html b/docs/html/_b_m_a_m_p3_stream_frame_8cpp.html new file mode 100644 index 0000000..a88d1ae --- /dev/null +++ b/docs/html/_b_m_a_m_p3_stream_frame_8cpp.html @@ -0,0 +1,105 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAMP3StreamFrame.cpp File Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+
+
/home/barant/Documents/Development/BMASockets/BMAMP3StreamFrame.cpp File Reference
+
+
+
#include "BMAMP3StreamFrame.h"
+
+Include dependency graph for BMAMP3StreamFrame.cpp:
+
+
+ + + + +
+
+ + + + diff --git a/docs/html/_b_m_a_m_p3_stream_frame_8cpp__incl.map b/docs/html/_b_m_a_m_p3_stream_frame_8cpp__incl.map new file mode 100644 index 0000000..214941a --- /dev/null +++ b/docs/html/_b_m_a_m_p3_stream_frame_8cpp__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/html/_b_m_a_m_p3_stream_frame_8cpp__incl.md5 b/docs/html/_b_m_a_m_p3_stream_frame_8cpp__incl.md5 new file mode 100644 index 0000000..d945468 --- /dev/null +++ b/docs/html/_b_m_a_m_p3_stream_frame_8cpp__incl.md5 @@ -0,0 +1 @@ +f14a0f926fbc10574cb390859278a482 \ No newline at end of file diff --git a/docs/html/_b_m_a_m_p3_stream_frame_8cpp__incl.png b/docs/html/_b_m_a_m_p3_stream_frame_8cpp__incl.png new file mode 100644 index 0000000..530bb72 Binary files /dev/null and b/docs/html/_b_m_a_m_p3_stream_frame_8cpp__incl.png differ diff --git a/docs/html/_b_m_a_m_p3_stream_frame_8h.html b/docs/html/_b_m_a_m_p3_stream_frame_8h.html new file mode 100644 index 0000000..1fd5fdb --- /dev/null +++ b/docs/html/_b_m_a_m_p3_stream_frame_8h.html @@ -0,0 +1,125 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAMP3StreamFrame.h File Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
/home/barant/Documents/Development/BMASockets/BMAMP3StreamFrame.h File Reference
+
+
+
#include "BMAStreamFrame.h"
+
+Include dependency graph for BMAMP3StreamFrame.h:
+
+
+ + + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + + + + +
+
+

Go to the source code of this file.

+ + + + +

+Classes

class  BMAMP3StreamFrame
 
+
+ + + + diff --git a/docs/html/_b_m_a_m_p3_stream_frame_8h__dep__incl.map b/docs/html/_b_m_a_m_p3_stream_frame_8h__dep__incl.map new file mode 100644 index 0000000..05ed8de --- /dev/null +++ b/docs/html/_b_m_a_m_p3_stream_frame_8h__dep__incl.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/html/_b_m_a_m_p3_stream_frame_8h__dep__incl.md5 b/docs/html/_b_m_a_m_p3_stream_frame_8h__dep__incl.md5 new file mode 100644 index 0000000..4dfe329 --- /dev/null +++ b/docs/html/_b_m_a_m_p3_stream_frame_8h__dep__incl.md5 @@ -0,0 +1 @@ +22024527a6d7065b8d5a27d29eed17e2 \ No newline at end of file diff --git a/docs/html/_b_m_a_m_p3_stream_frame_8h__dep__incl.png b/docs/html/_b_m_a_m_p3_stream_frame_8h__dep__incl.png new file mode 100644 index 0000000..60a6c1c Binary files /dev/null and b/docs/html/_b_m_a_m_p3_stream_frame_8h__dep__incl.png differ diff --git a/docs/html/_b_m_a_m_p3_stream_frame_8h__incl.map b/docs/html/_b_m_a_m_p3_stream_frame_8h__incl.map new file mode 100644 index 0000000..1578f11 --- /dev/null +++ b/docs/html/_b_m_a_m_p3_stream_frame_8h__incl.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/_b_m_a_m_p3_stream_frame_8h__incl.md5 b/docs/html/_b_m_a_m_p3_stream_frame_8h__incl.md5 new file mode 100644 index 0000000..7e2ae51 --- /dev/null +++ b/docs/html/_b_m_a_m_p3_stream_frame_8h__incl.md5 @@ -0,0 +1 @@ +263060b85f9d16309393aaedef950842 \ No newline at end of file diff --git a/docs/html/_b_m_a_m_p3_stream_frame_8h__incl.png b/docs/html/_b_m_a_m_p3_stream_frame_8h__incl.png new file mode 100644 index 0000000..1eba922 Binary files /dev/null and b/docs/html/_b_m_a_m_p3_stream_frame_8h__incl.png differ diff --git a/docs/html/_b_m_a_m_p3_stream_frame_8h_source.html b/docs/html/_b_m_a_m_p3_stream_frame_8h_source.html new file mode 100644 index 0000000..793d925 --- /dev/null +++ b/docs/html/_b_m_a_m_p3_stream_frame_8h_source.html @@ -0,0 +1,75 @@ + + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAMP3StreamFrame.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Documents/Development/BMASockets/BMAMP3StreamFrame.h
+
+
+
1 #ifndef __BMAMP3StreamFrame_h__
2 #define __BMAMP3StreamFrame_h__
3 
4 #include "BMAStreamFrame.h"
5 
7 
8  public:
9  BMAMP3StreamFrame(char *stream);
11 
12  double getDuration();
13  int getVersion();
14  int getLayer();
15  int getBitRate();
16  int getSampleRate();
17  int getPaddingSize();
18  int getFrameSampleSize();
19  int getFrameSize();
20 
21  protected:
22  int bit_rates[16] = { -1, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, -1 };
23  int sample_rates[4] = { 44100, 48000, 32000, -1 };
24 
25 };
26 
27 #endif
Definition: BMAMP3StreamFrame.h:6
+
Definition: BMAStreamFrame.h:4
+
+ + + + diff --git a/docs/html/_b_m_a_object_8h_source.html b/docs/html/_b_m_a_object_8h_source.html new file mode 100644 index 0000000..1f978d2 --- /dev/null +++ b/docs/html/_b_m_a_object_8h_source.html @@ -0,0 +1,74 @@ + + + + + + + +BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/BMAObject.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Development/BMA/server_core/ServerCore/BMAObject.h
+
+
+
1 #ifndef __BMAObject_h__
2 #define __BMAObject_h__
3 
4 #include "includes"
5 
6 class BMAObject {
7 
8  public:
9 
10  std::string name;
11  std::string tag;
12 
13 };
14 
15 
16 #endif
Definition: BMAObject.h:6
+
+ + + + diff --git a/docs/html/_b_m_a_p_o_p3_server_8h_source.html b/docs/html/_b_m_a_p_o_p3_server_8h_source.html new file mode 100644 index 0000000..d671f41 --- /dev/null +++ b/docs/html/_b_m_a_p_o_p3_server_8h_source.html @@ -0,0 +1,81 @@ + + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAPOP3Server.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Documents/Development/BMASockets/BMAPOP3Server.h
+
+
+
1 #ifndef BMAPOP3Server_h__
2 #define BMAPOP3Server_h__
3 
4 #include "includes"
5 #include "BMATCPServerSocket.h"
6 #include "BMACommand.h"
7 class BMATCPSocket;
8 
10 
11  public:
12  BMAPOP3Server(BMAEPoll &ePoll, std::string url, short int port);
13  ~BMAPOP3Server();
14 
16 
17  void registerCommand(BMACommand &command);
18 
19  int processCommand(BMASession *session) override;
20 
21  std::vector<BMACommand *> commands;
22 
23 };
24 
25 #endif
Definition: BMATCPSocket.h:18
+
Definition: BMATCPServerSocket.h:20
+
Definition: BMAEPoll.h:29
+
Definition: BMAPOP3Server.h:9
+
Definition: BMACommand.h:8
+
BMASession * getSocketAccept()
+
Definition: BMASession.h:18
+
int processCommand(BMASession *session) override
Output the consoles array to the console.
+
+ + + + diff --git a/docs/html/_b_m_a_p_o_p3_session_8h_source.html b/docs/html/_b_m_a_p_o_p3_session_8h_source.html new file mode 100644 index 0000000..e35e281 --- /dev/null +++ b/docs/html/_b_m_a_p_o_p3_session_8h_source.html @@ -0,0 +1,79 @@ + + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAPOP3Session.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Documents/Development/BMASockets/BMAPOP3Session.h
+
+
+
1 #ifndef __BMAPOP3Session_h__
2 #define __BMAPOP3Session_h__
3 
4 #include "BMASession.h"
5 #include "BMAPOP3Server.h"
6 
14 
15 class BMAPOP3Session : public BMASession {
16 
17  public:
18  BMAPOP3Session(BMAEPoll &ePoll, BMAPOP3Server &server);
19  ~BMAPop3Session();
20 
21  virtual void output(std::stringstream &out);
22 
23  protected:
24  void protocol(char *data, int length) override;
25 
26 private:
27  BMAConsoleServer &server;
28  enum Status {WELCOME, PROMPT, INPUT, PROCESS, DONE};
29  Status status = WELCOME;
30  void doCommand(std::string request);
31 
32 };
33 
34 #endif
Definition: BMAPOP3Session.h:15
+
virtual void output(std::stringstream &out)
+
Definition: BMAEPoll.h:29
+
Definition: BMAPOP3Server.h:9
+
Definition: BMAConsoleServer.h:9
+
Definition: BMASession.h:18
+
+ + + + diff --git a/docs/html/_b_m_a_parse_header_8h.html b/docs/html/_b_m_a_parse_header_8h.html new file mode 100644 index 0000000..5ddbced --- /dev/null +++ b/docs/html/_b_m_a_parse_header_8h.html @@ -0,0 +1,105 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAParseHeader.h File Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
/home/barant/Documents/Development/BMASockets/BMAParseHeader.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Classes

class  BMAParseHeader
 
+
+ + + + diff --git a/docs/html/_b_m_a_parse_header_8h_source.html b/docs/html/_b_m_a_parse_header_8h_source.html new file mode 100644 index 0000000..fbf6dd3 --- /dev/null +++ b/docs/html/_b_m_a_parse_header_8h_source.html @@ -0,0 +1,74 @@ + + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAParseHeader.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Documents/Development/BMASockets/BMAParseHeader.h
+
+
+
1 #ifndef __BMAParseHeader_h__
2 #define __BMAParseHeader_h__
3 
5 
6  public:
7 
8  private:
9 
10 
11 };
12 
13 #endif
Definition: BMAParseHeader.h:4
+
+ + + + diff --git a/docs/html/_b_m_a_property_8h.html b/docs/html/_b_m_a_property_8h.html new file mode 100644 index 0000000..f4d7f50 --- /dev/null +++ b/docs/html/_b_m_a_property_8h.html @@ -0,0 +1,150 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAProperty.h File Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
/home/barant/Documents/Development/BMASockets/BMAProperty.h File Reference
+
+
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Go to the source code of this file.

+ + + + +

+Classes

class  BMAProperty< T >
 
+
+ + + + diff --git a/docs/html/_b_m_a_property_8h__dep__incl.map b/docs/html/_b_m_a_property_8h__dep__incl.map new file mode 100644 index 0000000..284d066 --- /dev/null +++ b/docs/html/_b_m_a_property_8h__dep__incl.map @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/html/_b_m_a_property_8h__dep__incl.md5 b/docs/html/_b_m_a_property_8h__dep__incl.md5 new file mode 100644 index 0000000..b90eea5 --- /dev/null +++ b/docs/html/_b_m_a_property_8h__dep__incl.md5 @@ -0,0 +1 @@ +d02847be79bb31a78f135347a7d92d3c \ No newline at end of file diff --git a/docs/html/_b_m_a_property_8h__dep__incl.png b/docs/html/_b_m_a_property_8h__dep__incl.png new file mode 100644 index 0000000..0c0a3a6 Binary files /dev/null and b/docs/html/_b_m_a_property_8h__dep__incl.png differ diff --git a/docs/html/_b_m_a_property_8h_source.html b/docs/html/_b_m_a_property_8h_source.html new file mode 100644 index 0000000..d2624fd --- /dev/null +++ b/docs/html/_b_m_a_property_8h_source.html @@ -0,0 +1,74 @@ + + + + + + + +BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/BMAProperty.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Development/BMA/server_core/ServerCore/BMAProperty.h
+
+
+
1 #ifndef __BMAProperty_h__
2 #define __BMAProperty_h__
3 
4 template <typename T>
5 class BMAProperty {
6 
7 public:
8  virtual T & operator = (const T &f) { return value = f; }
9  virtual operator T const & () const { return value; }
10 
11  protected:
12  T value;
13 
14 };
15 
16 #endif
Definition: BMAProperty.h:5
+
+ + + + diff --git a/docs/html/_b_m_a_protocol_manager_8h.html b/docs/html/_b_m_a_protocol_manager_8h.html new file mode 100644 index 0000000..5376991 --- /dev/null +++ b/docs/html/_b_m_a_protocol_manager_8h.html @@ -0,0 +1,105 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAProtocolManager.h File Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
/home/barant/Documents/Development/BMASockets/BMAProtocolManager.h File Reference
+
+ + + + + diff --git a/docs/html/_b_m_a_protocol_manager_8h_source.html b/docs/html/_b_m_a_protocol_manager_8h_source.html new file mode 100644 index 0000000..b72fcc9 --- /dev/null +++ b/docs/html/_b_m_a_protocol_manager_8h_source.html @@ -0,0 +1,75 @@ + + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAProtocolManager.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Documents/Development/BMASockets/BMAProtocolManager.h
+
+
+
1 #ifndef __BMAProtocolManager_h__
2 #define __BMAProtocolManager_h__
3 
4 #include "BMAEPoll.h"
5 #include "BMASocket.h"
6 
8 
9  public:
12 
13  void onDataReceived(char *buffer, int length);
14 
15 
16 };
17 
18 #endif
Definition: BMAEPoll.h:29
+
Definition: BMAProtocolManager.h:7
+
+ + + + diff --git a/docs/html/_b_m_a_response_8h_source.html b/docs/html/_b_m_a_response_8h_source.html new file mode 100644 index 0000000..b628052 --- /dev/null +++ b/docs/html/_b_m_a_response_8h_source.html @@ -0,0 +1,82 @@ + + + + + + + +BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/BMAResponse.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Development/BMA/server_core/ServerCore/BMAResponse.h
+
+
+
1 #ifndef __BMAResponse_h__
2 #define __BMAResponse_h__
3 
4 #include "includes"
5 #include "BMAObject.h"
6 
13 
14 class BMAResponse : public BMAObject {
15 
16 public:
17 
18  enum Mode { LENGTH, STREAMING };
19 
23 
24  BMAResponse();
25 
29 
30  ~BMAResponse();
31 
39 
40  std::string getResponse(Mode mode);
41 
53 
54  std::string getResponse(std::string content, Mode mode);
55 
62 
63  void setProtocol(std::string protocol);
64 
70 
71  void setCode(std::string code);
72 
79 
80  void setText(std::string text);
81 
87 
88  void setMimeType(std::string mimeType);
89 
90  void addHeaderItem(std::string key, std::string value);
91 
92  private:
93  std::string protocol;
94  std::string code;
95  std::string text;
96  std::string mimeType;
97 
98  std::string CRLF = "\r\n";
99 
100  std::map<std::string, std::string> header;
101 
102 };
103 
104 #endif
BMAResponse()
Definition: BMAResponse.cpp:4
+
void setCode(std::string code)
Definition: BMAResponse.cpp:32
+
std::string getResponse(Mode mode)
Definition: BMAResponse.cpp:7
+
Definition: BMAResponse.h:14
+
void setMimeType(std::string mimeType)
Definition: BMAResponse.cpp:40
+
void setText(std::string text)
Definition: BMAResponse.cpp:36
+
Definition: BMAObject.h:6
+
void setProtocol(std::string protocol)
Definition: BMAResponse.cpp:28
+
~BMAResponse()
Definition: BMAResponse.cpp:5
+
+ + + + diff --git a/docs/html/_b_m_a_s_i_p_i_n_v_i_t_e_8h_source.html b/docs/html/_b_m_a_s_i_p_i_n_v_i_t_e_8h_source.html new file mode 100644 index 0000000..a4d9a3c --- /dev/null +++ b/docs/html/_b_m_a_s_i_p_i_n_v_i_t_e_8h_source.html @@ -0,0 +1,76 @@ + + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMASIPINVITE.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Documents/Development/BMASockets/BMASIPINVITE.h
+
+
+
1 #ifndef __BMASIPINVITE_h__
2 #define __BMASIPINVITE_h__
3 
4 #include "BMASIPRequestHandler.h"
5 
7 
8  public:
9  BMASIPINVITE(BMASIPServer &server, std::string url);
10  ~BMASIPINVITE();
11 
12  int response(std::stringstream &sink) override;
13 
14 };
15 
16 #endif
Definition: BMASIPServer.h:9
+
Definition: BMASIPRequestHandler.h:7
+
Definition: BMASIPINVITE.h:6
+
+ + + + diff --git a/docs/html/_b_m_a_s_i_p_r_e_g_i_s_t_e_r_8h_source.html b/docs/html/_b_m_a_s_i_p_r_e_g_i_s_t_e_r_8h_source.html new file mode 100644 index 0000000..058ab90 --- /dev/null +++ b/docs/html/_b_m_a_s_i_p_r_e_g_i_s_t_e_r_8h_source.html @@ -0,0 +1,76 @@ + + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMASIPREGISTER.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Documents/Development/BMASockets/BMASIPREGISTER.h
+
+
+
1 #ifndef __BMASIPREGISTER_h__
2 #define __BMASIPREGISTER_h__
3 
4 #include "BMASIPRequestHandler.h"
5 
7 
8  public:
9  BMASIPREGISTER(BMASIPServer &server, std::string url);
10  ~BMASIPREGISTER();
11 
12  int response(std::stringstream &sink) override;
13 
14 };
15 
16 #endif
Definition: BMASIPServer.h:9
+
Definition: BMASIPRequestHandler.h:7
+
Definition: BMASIPREGISTER.h:6
+
+ + + + diff --git a/docs/html/_b_m_a_s_i_p_request_handler_8h_source.html b/docs/html/_b_m_a_s_i_p_request_handler_8h_source.html new file mode 100644 index 0000000..3364355 --- /dev/null +++ b/docs/html/_b_m_a_s_i_p_request_handler_8h_source.html @@ -0,0 +1,76 @@ + + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMASIPRequestHandler.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Documents/Development/BMASockets/BMASIPRequestHandler.h
+
+
+
1 #ifndef __BMASIPRequestHandler_h__
2 #define __BMASIPRequestHandler_h__
3 
4 #include "BMAObject.h"
5 class BMASIPServer;
6 
8 
9  public:
10  BMASIPRequestHandler(BMASIPServer &server, std::string path);
12 
13  virtual int response(std::stringstream &sink);
14 
15  private:
16  BMASIPServer &server;
17 
18 };
19 
20 #endif
Definition: BMASIPServer.h:9
+
Definition: BMASIPRequestHandler.h:7
+
Definition: BMAObject.h:6
+
+ + + + diff --git a/docs/html/_b_m_a_s_i_p_server_8h_source.html b/docs/html/_b_m_a_s_i_p_server_8h_source.html new file mode 100644 index 0000000..b1c7055 --- /dev/null +++ b/docs/html/_b_m_a_s_i_p_server_8h_source.html @@ -0,0 +1,79 @@ + + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMASIPServer.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Documents/Development/BMASockets/BMASIPServer.h
+
+
+
1 #ifndef __BMASIPServer_h__
2 #define __BMASIPServer_h__
3 
4 #include "BMATCPServerSocket.h"
5 #include "BMASIPRequestHandler.h"
6 #include "BMASIPREGISTER.h"
7 #include "BMASIPINVITE.h"
8 
10 
11  public:
12  BMASIPServer(BMAEPoll &ePoll, std::string url, short int port, std::string commandName);
13  ~BMASIPServer();
14 
15  void registerHandler(std::string request, BMASIPRequestHandler &requestHandler);
16  void unregisterHandler(BMASIPRequestHandler &requestHandler);
17 
18  BMASIPRequestHandler * getRequestHandler(std::string request);
19 
20  protected:
21  BMASession * getSocketAccept() override;
22 
23  private:
24  std::map<std::string, BMASIPRequestHandler *> requestHandlers;
25 
26 };
27 
28 #endif
Definition: BMATCPServerSocket.h:20
+
Definition: BMASIPServer.h:9
+
Definition: BMASIPRequestHandler.h:7
+
Definition: BMAEPoll.h:29
+
Definition: BMASession.h:18
+
BMASession * getSocketAccept() override
Definition: BMASIPServer.cpp:10
+
+ + + + diff --git a/docs/html/_b_m_a_s_i_p_session_8h_source.html b/docs/html/_b_m_a_s_i_p_session_8h_source.html new file mode 100644 index 0000000..8a46896 --- /dev/null +++ b/docs/html/_b_m_a_s_i_p_session_8h_source.html @@ -0,0 +1,80 @@ + + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMASIPSession.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Documents/Development/BMASockets/BMASIPSession.h
+
+
+
1 #ifndef __BMASIPSession_h__
2 #define __BMASIPSession_h__
3 
4 #include "BMASession.h"
5 #include "BMASIPServer.h"
6 #include "BMAHeader.h"
7 #include "BMASIPREGISTER.h"
8 #include "BMASIPINVITE.h"
9 
10 class BMASIPSession : public BMASession {
11 
12  public:
13  BMASIPSession(BMAEPoll &ePoll, BMASIPServer &server);
14  ~BMASIPSession();
15 
16  protected:
17  void protocol(std::string data) override;
18 
19  private:
20  BMASIPServer &server;
21  BMAHeader *header;
22  enum Status {RECEIVE_REQUEST, SEND_RESPONSE};
23  Status status = RECEIVE_REQUEST;
24  BMASIPINVITE invite;
25  BMASIPREGISTER registerx;
26 
27 };
28 
29 #endif
Definition: BMASIPServer.h:9
+
Definition: BMAEPoll.h:29
+
Definition: BMASIPREGISTER.h:6
+
Definition: BMASIPSession.h:10
+
Definition: BMASession.h:18
+
Definition: BMAHeader.h:7
+
Definition: BMASIPINVITE.h:6
+
+ + + + diff --git a/docs/html/_b_m_a_s_m_t_p_server_8h_source.html b/docs/html/_b_m_a_s_m_t_p_server_8h_source.html new file mode 100644 index 0000000..d4b713c --- /dev/null +++ b/docs/html/_b_m_a_s_m_t_p_server_8h_source.html @@ -0,0 +1,81 @@ + + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMASMTPServer.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Documents/Development/BMASockets/BMASMTPServer.h
+
+
+
1 #ifndef BMAConsoleServer_h__
2 #define BMAConsoleServer_h__
3 
4 #include "includes"
5 #include "BMATCPServerSocket.h"
6 #include "BMACommand.h"
7 class BMATCPSocket;
8 
14 
16 
17  public:
18  BMASMTPServer(BMAEPoll &ePoll, std::string url, short int port);
19  ~BMASMTPServer();
20 
21  BMASession * getSocketAccept() override;
22 
23  void registerCommand(BMACommand &command);
24 
25  int processCommand(BMASession *session) override;
26 
27  std::vector<BMACommand *> commands;
28 
29 };
30 
31 #endif
Definition: BMATCPSocket.h:18
+
Definition: BMASMTPServer.h:15
+
Definition: BMATCPServerSocket.h:20
+
Definition: BMAEPoll.h:29
+
BMASession * getSocketAccept() override
+
Definition: BMACommand.h:8
+
Definition: BMASession.h:18
+
int processCommand(BMASession *session) override
Output the consoles array to the console.
+
+ + + + diff --git a/docs/html/_b_m_a_s_m_t_p_session_8h_source.html b/docs/html/_b_m_a_s_m_t_p_session_8h_source.html new file mode 100644 index 0000000..c1f9352 --- /dev/null +++ b/docs/html/_b_m_a_s_m_t_p_session_8h_source.html @@ -0,0 +1,79 @@ + + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMASMTPSession.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Documents/Development/BMASockets/BMASMTPSession.h
+
+
+
1 #ifndef __BMASMTPSession_h__
2 #define __BMASMTPSession_h__
3 
4 #include "BMASession.h"
5 
13 
14 class BMASMTPSession : public BMASession {
15 
16  public:
19 
20  virtual void output(std::stringstream &out);
21 
22  protected:
23  void protocol(char *data, int length) override;
24 
25 private:
26  BMAConsoleServer &server;
27  enum Status {WELCOME, PROMPT, INPUT, PROCESS, DONE};
28  Status status = WELCOME;
29  void doCommand(std::string request);
30 
31 };
32 
33 #endif
Definition: BMAEPoll.h:29
+
Definition: BMAConsoleServer.h:9
+
Definition: BMASession.h:18
+
virtual void output(std::stringstream &out)
+
Definition: BMASMTPSession.h:14
+
Definition: BMAConsoleSession.h:16
+
+ + + + diff --git a/docs/html/_b_m_a_session_8h_source.html b/docs/html/_b_m_a_session_8h_source.html new file mode 100644 index 0000000..e1dc7fc --- /dev/null +++ b/docs/html/_b_m_a_session_8h_source.html @@ -0,0 +1,82 @@ + + + + + + + +BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/BMASession.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Development/BMA/server_core/ServerCore/BMASession.h
+
+
+
1 #ifndef __BMASession_h__
2 #define __BMASession_h__
3 
4 #include "BMATCPSocket.h"
5 #include "BMATCPServerSocket.h"
6 #include "BMASessionFilter.h"
7 
17 
18 class BMASession : public BMATCPSocket {
19 
20  public:
21  BMASession(BMAEPoll &ePoll, BMATCPServerSocket &server);
22  ~BMASession();
23 
24  virtual void init();
25 
26  virtual void output(BMASession *session);
27 
32 
33  void send();
34 
39 
40  void sendToAll();
41 
47 
48  void sendToAll(BMASessionFilter *filter);
49 
50  std::stringstream out;
51 
52  BMATCPServerSocket &getServer();
53  BMATCPServerSocket &server;
54 
55 protected:
56  void onDataReceived(std::string data) override;
57  void onConnected() override;
58  virtual void protocol(std::string data) = 0;
59 
60  private:
61 
62 };
63 
64 #endif
void onConnected() override
Called when socket is open and ready to communicate.
Definition: BMASession.cpp:23
+
Definition: BMATCPSocket.h:18
+
void send()
Definition: BMASession.cpp:49
+
Definition: BMATCPServerSocket.h:20
+
void onDataReceived(std::string data) override
Called when data is received from the socket.
Definition: BMASession.cpp:27
+
Definition: BMAEPoll.h:29
+
void sendToAll()
Definition: BMASession.cpp:31
+
Definition: BMASessionFilter.h:4
+
Definition: BMASession.h:18
+
+ + + + diff --git a/docs/html/_b_m_a_session_filter_8h_source.html b/docs/html/_b_m_a_session_filter_8h_source.html new file mode 100644 index 0000000..912b49d --- /dev/null +++ b/docs/html/_b_m_a_session_filter_8h_source.html @@ -0,0 +1,76 @@ + + + + + + + +BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/BMASessionFilter.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Development/BMA/server_core/ServerCore/BMASessionFilter.h
+
+
+
1 #ifndef __BMASessionFilter_h__
2 #define __BMASessionFilter_h__
3 
4 class BMASessionFilter : public BMAObject {
5 
6  public:
7  virtual bool test(BMASession &session) {
8  return true;};
9 
10 };
11 
12 #endif
Definition: BMASessionFilter.h:4
+
Definition: BMASession.h:18
+
Definition: BMAObject.h:6
+
+ + + + diff --git a/docs/html/_b_m_a_socket_8cpp.html b/docs/html/_b_m_a_socket_8cpp.html new file mode 100644 index 0000000..080a3e9 --- /dev/null +++ b/docs/html/_b_m_a_socket_8cpp.html @@ -0,0 +1,114 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMASocket.cpp File Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+
+
/home/barant/Documents/Development/BMASockets/BMASocket.cpp File Reference
+
+
+
#include "BMAEPoll.h"
+#include "BMASocket.h"
+
+Include dependency graph for BMASocket.cpp:
+
+
+ + + + + + + + + + + + +
+
+ + + + diff --git a/docs/html/_b_m_a_socket_8cpp__incl.map b/docs/html/_b_m_a_socket_8cpp__incl.map new file mode 100644 index 0000000..b163f22 --- /dev/null +++ b/docs/html/_b_m_a_socket_8cpp__incl.map @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/docs/html/_b_m_a_socket_8cpp__incl.md5 b/docs/html/_b_m_a_socket_8cpp__incl.md5 new file mode 100644 index 0000000..e8df932 --- /dev/null +++ b/docs/html/_b_m_a_socket_8cpp__incl.md5 @@ -0,0 +1 @@ +057abe1de4437ebb3469e5e7e23a576b \ No newline at end of file diff --git a/docs/html/_b_m_a_socket_8cpp__incl.png b/docs/html/_b_m_a_socket_8cpp__incl.png new file mode 100644 index 0000000..d38b6d7 Binary files /dev/null and b/docs/html/_b_m_a_socket_8cpp__incl.png differ diff --git a/docs/html/_b_m_a_socket_8h.html b/docs/html/_b_m_a_socket_8h.html new file mode 100644 index 0000000..e8cb509 --- /dev/null +++ b/docs/html/_b_m_a_socket_8h.html @@ -0,0 +1,161 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMASocket.h File Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
/home/barant/Documents/Development/BMASockets/BMASocket.h File Reference
+
+
+
#include "includes"
+#include "BMAEvent.h"
+#include "BMAProperty.h"
+
+Include dependency graph for BMASocket.h:
+
+
+ + + + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Go to the source code of this file.

+ + + + +

+Classes

class  BMASocket
 
+
+ + + + diff --git a/docs/html/_b_m_a_socket_8h__dep__incl.map b/docs/html/_b_m_a_socket_8h__dep__incl.map new file mode 100644 index 0000000..8b412c5 --- /dev/null +++ b/docs/html/_b_m_a_socket_8h__dep__incl.map @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/html/_b_m_a_socket_8h__dep__incl.md5 b/docs/html/_b_m_a_socket_8h__dep__incl.md5 new file mode 100644 index 0000000..b40fd59 --- /dev/null +++ b/docs/html/_b_m_a_socket_8h__dep__incl.md5 @@ -0,0 +1 @@ +fa40c83d272923dd64f6d649eb80104f \ No newline at end of file diff --git a/docs/html/_b_m_a_socket_8h__dep__incl.png b/docs/html/_b_m_a_socket_8h__dep__incl.png new file mode 100644 index 0000000..9dc6c0f Binary files /dev/null and b/docs/html/_b_m_a_socket_8h__dep__incl.png differ diff --git a/docs/html/_b_m_a_socket_8h__incl.map b/docs/html/_b_m_a_socket_8h__incl.map new file mode 100644 index 0000000..4d6a633 --- /dev/null +++ b/docs/html/_b_m_a_socket_8h__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/html/_b_m_a_socket_8h__incl.md5 b/docs/html/_b_m_a_socket_8h__incl.md5 new file mode 100644 index 0000000..02df5a1 --- /dev/null +++ b/docs/html/_b_m_a_socket_8h__incl.md5 @@ -0,0 +1 @@ +0780c3f1dd7a65b7a13f8586d43bb2de \ No newline at end of file diff --git a/docs/html/_b_m_a_socket_8h__incl.png b/docs/html/_b_m_a_socket_8h__incl.png new file mode 100644 index 0000000..300310f Binary files /dev/null and b/docs/html/_b_m_a_socket_8h__incl.png differ diff --git a/docs/html/_b_m_a_socket_8h_source.html b/docs/html/_b_m_a_socket_8h_source.html new file mode 100644 index 0000000..2780b20 --- /dev/null +++ b/docs/html/_b_m_a_socket_8h_source.html @@ -0,0 +1,86 @@ + + + + + + + +BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/BMASocket.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Development/BMA/server_core/ServerCore/BMASocket.h
+
+
+
1 #ifndef __BMASocket_h__
2 #define __BMASocket_h__
3 
4 #include "includes"
5 #include "BMAObject.h"
6 #include "BMAEvent.h"
7 #include "BMAProperty.h"
8 class BMAEPoll;
9 
30 
31 class BMASocket : public std::streambuf,
32  public BMAObject {
33 
34  public:
35 
36  BMASocket(BMAEPoll &ePoll);
37  ~BMASocket();
38 
39  void setDescriptor(int descriptor);
40 
41  int getDescriptor();
42 
43  class {
44  int value;
45 
46  public:
47  int & operator = (const int &i) { return value = i; }
48  operator int () const { return value; }
49 
50  } bufferSize;
51 
61 
62  void eventReceived(struct epoll_event event);
63 
67 
68  void write(std::string data);
69  void write(char *buffer, int length);
70 
71  void output(std::stringstream &out);
72 
77 
78  virtual void onRegistered();
79 
86 
87  virtual void onUnregistered();
88 
89  void enable(bool mode);
90 
91  protected:
92 
93  BMAEPoll &ePoll; // The EPoll control object.
94 
95  bool shutDown = false;
96 
97  void setBufferSize(int length);
98 
104 
105  virtual void onConnected();
106 
107  virtual void onTLSInit();
108 
112 
113 // virtual void onDisconnected(); ///< Called when socket is closing and no longer ready to communicate.
114 
122 
123  virtual void onDataReceived(std::string data) = 0;
124 
125  void shutdown();
126 
131 
132  virtual void receiveData(char *buffer, int bufferLength);
133 
134  private:
135 
136  int descriptor = -1;
137  std::mutex lock;
138 
139  struct epoll_event event; // Event selection construction structure.
140 
141  //--------------------------------------------------
142  // These are used to schedule the socket activity.
143  //--------------------------------------------------
144 
145  void setRead();
146  void setWrite();
147  void setReadWrite();
148  void resetRead();
149  void resetWrite();;
150  void resetReadWrite(int x);
151  void clear();
152 
153  //-------------------------------------------------------------------------------------
154  // the writeSocket is called when epoll has received a write request for a socket.
155  // Writing data to this socket is queued in the streambuf and permission is requested
156  // to write to the socket. This routine handles the writing of the streambuf data
157  // buffer to the socket.
158  //-------------------------------------------------------------------------------------
159 
160  void writeSocket();
161 
162  // int_type underflow();
163 // int_type uflow();
164 // int_type pbackfail(int_type ch);
165 // streamsize showmanyc();
166 
167  char *buffer; // This is a pointer to the managed buffer space.
168  int length; // This is the length of the buffer.
169 
170 // const char * const begin_;
171 // const char * const end_;
172 // const char * const current_;
173 
174  std::queue<std::string> fifo;
175 
176  bool active = false;
177 
178 };
179 
180 #endif
181 
Definition: BMASocket.h:31
+
void eventReceived(struct epoll_event event)
Parse epoll event and call specified callbacks.
Definition: BMASocket.cpp:46
+
virtual void onConnected()
Called when socket is open and ready to communicate.
Definition: BMASocket.cpp:116
+
int getDescriptor()
Get the descriptor for the socket.
Definition: BMASocket.cpp:27
+
virtual void onUnregistered()
Called when the socket has finished unregistering for the epoll processing.
Definition: BMASocket.cpp:42
+
Definition: BMAEPoll.h:29
+
virtual void onRegistered()
Called when the socket has finished registering with the epoll processing.
Definition: BMASocket.cpp:38
+
void write(std::string data)
Definition: BMASocket.cpp:129
+
void setDescriptor(int descriptor)
Set the descriptor for the socket.
Definition: BMASocket.cpp:19
+
void enable(bool mode)
Enable the socket to read or write based upon buffer.
Definition: BMASocket.cpp:72
+
virtual void receiveData(char *buffer, int bufferLength)
Definition: BMASocket.cpp:84
+
Definition: BMAObject.h:6
+
virtual void onDataReceived(std::string data)=0
Called when data is received from the socket.
+
+ + + + diff --git a/docs/html/_b_m_a_stream_content_provider_8cpp.html b/docs/html/_b_m_a_stream_content_provider_8cpp.html new file mode 100644 index 0000000..a1c1a45 --- /dev/null +++ b/docs/html/_b_m_a_stream_content_provider_8cpp.html @@ -0,0 +1,114 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAStreamContentProvider.cpp File Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+
+
/home/barant/Documents/Development/BMASockets/BMAStreamContentProvider.cpp File Reference
+
+
+
+Include dependency graph for BMAStreamContentProvider.cpp:
+
+
+ + + + + + + + + + + + +
+
+ + + + diff --git a/docs/html/_b_m_a_stream_content_provider_8cpp__incl.map b/docs/html/_b_m_a_stream_content_provider_8cpp__incl.map new file mode 100644 index 0000000..22c9f4b --- /dev/null +++ b/docs/html/_b_m_a_stream_content_provider_8cpp__incl.map @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/docs/html/_b_m_a_stream_content_provider_8cpp__incl.md5 b/docs/html/_b_m_a_stream_content_provider_8cpp__incl.md5 new file mode 100644 index 0000000..ceca1f3 --- /dev/null +++ b/docs/html/_b_m_a_stream_content_provider_8cpp__incl.md5 @@ -0,0 +1 @@ +c3b2a69626b3419649750628d005d857 \ No newline at end of file diff --git a/docs/html/_b_m_a_stream_content_provider_8cpp__incl.png b/docs/html/_b_m_a_stream_content_provider_8cpp__incl.png new file mode 100644 index 0000000..19d1e45 Binary files /dev/null and b/docs/html/_b_m_a_stream_content_provider_8cpp__incl.png differ diff --git a/docs/html/_b_m_a_stream_content_provider_8h.html b/docs/html/_b_m_a_stream_content_provider_8h.html new file mode 100644 index 0000000..2e16048 --- /dev/null +++ b/docs/html/_b_m_a_stream_content_provider_8h.html @@ -0,0 +1,129 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAStreamContentProvider.h File Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
/home/barant/Documents/Development/BMASockets/BMAStreamContentProvider.h File Reference
+
+
+
#include "includes"
+#include "BMAStreamFrame.h"
+
+Include dependency graph for BMAStreamContentProvider.h:
+
+
+ + + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + + + + + + + +
+
+

Go to the source code of this file.

+ + + + +

+Classes

class  BMAStreamContentProvider
 
+
+ + + + diff --git a/docs/html/_b_m_a_stream_content_provider_8h__dep__incl.map b/docs/html/_b_m_a_stream_content_provider_8h__dep__incl.map new file mode 100644 index 0000000..4d0ee10 --- /dev/null +++ b/docs/html/_b_m_a_stream_content_provider_8h__dep__incl.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/html/_b_m_a_stream_content_provider_8h__dep__incl.md5 b/docs/html/_b_m_a_stream_content_provider_8h__dep__incl.md5 new file mode 100644 index 0000000..7d0bda5 --- /dev/null +++ b/docs/html/_b_m_a_stream_content_provider_8h__dep__incl.md5 @@ -0,0 +1 @@ +965b19a5b8626f205fed8e6c49289347 \ No newline at end of file diff --git a/docs/html/_b_m_a_stream_content_provider_8h__dep__incl.png b/docs/html/_b_m_a_stream_content_provider_8h__dep__incl.png new file mode 100644 index 0000000..5427762 Binary files /dev/null and b/docs/html/_b_m_a_stream_content_provider_8h__dep__incl.png differ diff --git a/docs/html/_b_m_a_stream_content_provider_8h__incl.map b/docs/html/_b_m_a_stream_content_provider_8h__incl.map new file mode 100644 index 0000000..65e0b5e --- /dev/null +++ b/docs/html/_b_m_a_stream_content_provider_8h__incl.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/_b_m_a_stream_content_provider_8h__incl.md5 b/docs/html/_b_m_a_stream_content_provider_8h__incl.md5 new file mode 100644 index 0000000..aecd9cd --- /dev/null +++ b/docs/html/_b_m_a_stream_content_provider_8h__incl.md5 @@ -0,0 +1 @@ +434789992d6a4b3fd242173edb0417ca \ No newline at end of file diff --git a/docs/html/_b_m_a_stream_content_provider_8h__incl.png b/docs/html/_b_m_a_stream_content_provider_8h__incl.png new file mode 100644 index 0000000..2736ce0 Binary files /dev/null and b/docs/html/_b_m_a_stream_content_provider_8h__incl.png differ diff --git a/docs/html/_b_m_a_stream_content_provider_8h_source.html b/docs/html/_b_m_a_stream_content_provider_8h_source.html new file mode 100644 index 0000000..6cb00b3 --- /dev/null +++ b/docs/html/_b_m_a_stream_content_provider_8h_source.html @@ -0,0 +1,76 @@ + + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAStreamContentProvider.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Documents/Development/BMASockets/BMAStreamContentProvider.h
+
+
+
1 #ifndef __BMAStreamContentProvider_h__
2 #define __BMAStreamContentProvider_h__
3 
4 #include "includes"
5 #include "BMAStreamFrame.h"
6 class BMAStreamServer;
7 
9 
10  public:
13 
14  bool ready = false;
15 
16  //-------------------------------------------------------------------------------
17  // When inheriting from BMAStreamContentProvider the framesReady is called by
18  // the object to indicate that the media is loaded and ready to deliver frames.
19  //-------------------------------------------------------------------------------
20 
21 // void framesReady();
22 
23  //-------------------------------------------------------------------------------
24  // The getNextStreamFrame is called by the server when it needs a new frame to
25  // send to the clients.
26  //-------------------------------------------------------------------------------
27 
28  virtual BMAStreamFrame* getNextStreamFrame();
29 
30  int getFrameCount();
31 
32  std::vector<BMAStreamFrame *> frames;
33  int cursor;
34 
35  private:
36  BMAStreamServer &server;
37 
38 };
39 
40 #endif
Definition: BMAStreamFrame.h:4
+
Definition: BMAStreamServer.h:19
+
Definition: BMAStreamContentProvider.h:8
+
+ + + + diff --git a/docs/html/_b_m_a_stream_frame_8cpp.html b/docs/html/_b_m_a_stream_frame_8cpp.html new file mode 100644 index 0000000..c250cb8 --- /dev/null +++ b/docs/html/_b_m_a_stream_frame_8cpp.html @@ -0,0 +1,104 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAStreamFrame.cpp File Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+
+
/home/barant/Documents/Development/BMASockets/BMAStreamFrame.cpp File Reference
+
+
+
#include "BMAStreamFrame.h"
+
+Include dependency graph for BMAStreamFrame.cpp:
+
+
+ + + +
+
+ + + + diff --git a/docs/html/_b_m_a_stream_frame_8cpp__incl.map b/docs/html/_b_m_a_stream_frame_8cpp__incl.map new file mode 100644 index 0000000..92cc280 --- /dev/null +++ b/docs/html/_b_m_a_stream_frame_8cpp__incl.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/_b_m_a_stream_frame_8cpp__incl.md5 b/docs/html/_b_m_a_stream_frame_8cpp__incl.md5 new file mode 100644 index 0000000..bcc10da --- /dev/null +++ b/docs/html/_b_m_a_stream_frame_8cpp__incl.md5 @@ -0,0 +1 @@ +2948a2fceb500d2930278f8e50603031 \ No newline at end of file diff --git a/docs/html/_b_m_a_stream_frame_8cpp__incl.png b/docs/html/_b_m_a_stream_frame_8cpp__incl.png new file mode 100644 index 0000000..11a20e7 Binary files /dev/null and b/docs/html/_b_m_a_stream_frame_8cpp__incl.png differ diff --git a/docs/html/_b_m_a_stream_frame_8h.html b/docs/html/_b_m_a_stream_frame_8h.html new file mode 100644 index 0000000..5b4ae69 --- /dev/null +++ b/docs/html/_b_m_a_stream_frame_8h.html @@ -0,0 +1,125 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAStreamFrame.h File Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
/home/barant/Documents/Development/BMASockets/BMAStreamFrame.h File Reference
+
+
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + + + + + + + + + + + + + +
+
+

Go to the source code of this file.

+ + + + +

+Classes

class  BMAStreamFrame
 
+
+ + + + diff --git a/docs/html/_b_m_a_stream_frame_8h__dep__incl.map b/docs/html/_b_m_a_stream_frame_8h__dep__incl.map new file mode 100644 index 0000000..b084773 --- /dev/null +++ b/docs/html/_b_m_a_stream_frame_8h__dep__incl.map @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/docs/html/_b_m_a_stream_frame_8h__dep__incl.md5 b/docs/html/_b_m_a_stream_frame_8h__dep__incl.md5 new file mode 100644 index 0000000..95568c6 --- /dev/null +++ b/docs/html/_b_m_a_stream_frame_8h__dep__incl.md5 @@ -0,0 +1 @@ +a351bf065eebe445104150ecaf10ebb8 \ No newline at end of file diff --git a/docs/html/_b_m_a_stream_frame_8h__dep__incl.png b/docs/html/_b_m_a_stream_frame_8h__dep__incl.png new file mode 100644 index 0000000..4ccee71 Binary files /dev/null and b/docs/html/_b_m_a_stream_frame_8h__dep__incl.png differ diff --git a/docs/html/_b_m_a_stream_frame_8h_source.html b/docs/html/_b_m_a_stream_frame_8h_source.html new file mode 100644 index 0000000..08a7b98 --- /dev/null +++ b/docs/html/_b_m_a_stream_frame_8h_source.html @@ -0,0 +1,74 @@ + + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAStreamFrame.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Documents/Development/BMASockets/BMAStreamFrame.h
+
+
+
1 #ifndef __BMAStreamFrame_h__
2 #define __BMAStreamFrame_h__
3 
5 
6  public:
7  BMAStreamFrame(char *streamData);
8 
9  virtual double getDuration() = 0;
10  virtual int getFrameSize() = 0;
11 
12  char *streamData;
13  bool lastFrame;
14 
15 };
16 
17 #endif
Definition: BMAStreamFrame.h:4
+
+ + + + diff --git a/docs/html/_b_m_a_stream_server_8cpp.html b/docs/html/_b_m_a_stream_server_8cpp.html new file mode 100644 index 0000000..fd4c121 --- /dev/null +++ b/docs/html/_b_m_a_stream_server_8cpp.html @@ -0,0 +1,122 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAStreamServer.cpp File Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+
+
/home/barant/Documents/Development/BMASockets/BMAStreamServer.cpp File Reference
+
+
+
#include "BMAStreamServer.h"
+#include "BMAEPoll.h"
+#include "BMAStreamContentProvider.h"
+#include "BMATCPSocket.h"
+#include "BMAStreamSocket.h"
+
+Include dependency graph for BMAStreamServer.cpp:
+
+
+ + + + + + + + + + + + + + + + + +
+
+ + + + diff --git a/docs/html/_b_m_a_stream_server_8cpp__incl.map b/docs/html/_b_m_a_stream_server_8cpp__incl.map new file mode 100644 index 0000000..0a68036 --- /dev/null +++ b/docs/html/_b_m_a_stream_server_8cpp__incl.map @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/docs/html/_b_m_a_stream_server_8cpp__incl.md5 b/docs/html/_b_m_a_stream_server_8cpp__incl.md5 new file mode 100644 index 0000000..c0fc20d --- /dev/null +++ b/docs/html/_b_m_a_stream_server_8cpp__incl.md5 @@ -0,0 +1 @@ +f14ed5d6c47e3ce6220955f8a529cd18 \ No newline at end of file diff --git a/docs/html/_b_m_a_stream_server_8cpp__incl.png b/docs/html/_b_m_a_stream_server_8cpp__incl.png new file mode 100644 index 0000000..7106e2c Binary files /dev/null and b/docs/html/_b_m_a_stream_server_8cpp__incl.png differ diff --git a/docs/html/_b_m_a_stream_server_8h.html b/docs/html/_b_m_a_stream_server_8h.html new file mode 100644 index 0000000..0ffda30 --- /dev/null +++ b/docs/html/_b_m_a_stream_server_8h.html @@ -0,0 +1,139 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAStreamServer.h File Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
/home/barant/Documents/Development/BMASockets/BMAStreamServer.h File Reference
+
+
+
#include "includes"
+#include "BMATCPServerSocket.h"
+#include "BMAStreamFrame.h"
+#include "BMAStreamContentProvider.h"
+#include "BMATimer.h"
+
+Include dependency graph for BMAStreamServer.h:
+
+
+ + + + + + + + + + + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + + + + + + +
+
+

Go to the source code of this file.

+ + + + +

+Classes

class  BMAStreamServer
 
+
+ + + + diff --git a/docs/html/_b_m_a_stream_server_8h__dep__incl.map b/docs/html/_b_m_a_stream_server_8h__dep__incl.map new file mode 100644 index 0000000..ad03ad5 --- /dev/null +++ b/docs/html/_b_m_a_stream_server_8h__dep__incl.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/html/_b_m_a_stream_server_8h__dep__incl.md5 b/docs/html/_b_m_a_stream_server_8h__dep__incl.md5 new file mode 100644 index 0000000..8a10367 --- /dev/null +++ b/docs/html/_b_m_a_stream_server_8h__dep__incl.md5 @@ -0,0 +1 @@ +d257972125c025e250a3c82db9b82309 \ No newline at end of file diff --git a/docs/html/_b_m_a_stream_server_8h__dep__incl.png b/docs/html/_b_m_a_stream_server_8h__dep__incl.png new file mode 100644 index 0000000..2efdb46 Binary files /dev/null and b/docs/html/_b_m_a_stream_server_8h__dep__incl.png differ diff --git a/docs/html/_b_m_a_stream_server_8h__incl.map b/docs/html/_b_m_a_stream_server_8h__incl.map new file mode 100644 index 0000000..3158b08 --- /dev/null +++ b/docs/html/_b_m_a_stream_server_8h__incl.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/html/_b_m_a_stream_server_8h__incl.md5 b/docs/html/_b_m_a_stream_server_8h__incl.md5 new file mode 100644 index 0000000..a6d61fe --- /dev/null +++ b/docs/html/_b_m_a_stream_server_8h__incl.md5 @@ -0,0 +1 @@ +fd0c6f6debd6ff42b2134f80a9db5ff2 \ No newline at end of file diff --git a/docs/html/_b_m_a_stream_server_8h__incl.png b/docs/html/_b_m_a_stream_server_8h__incl.png new file mode 100644 index 0000000..e72059e Binary files /dev/null and b/docs/html/_b_m_a_stream_server_8h__incl.png differ diff --git a/docs/html/_b_m_a_stream_server_8h_source.html b/docs/html/_b_m_a_stream_server_8h_source.html new file mode 100644 index 0000000..2dadd51 --- /dev/null +++ b/docs/html/_b_m_a_stream_server_8h_source.html @@ -0,0 +1,84 @@ + + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAStreamServer.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Documents/Development/BMASockets/BMAStreamServer.h
+
+
+
1 #ifndef __BMAStreamServer_h__
2 #define __BMAStreamServer_h__
3 
4 #include "includes"
5 #include "BMATCPServerSocket.h"
6 #include "BMAStreamFrame.h"
7 #include "BMAStreamContentProvider.h"
8 #include "BMATimer.h"
9 
10 class BMAStreamContentScheduler;
11 class BMAEPoll;
12 
18 
20  public BMATimer {
21 
22 public:
23 
27 
28  BMAStreamServer(BMAEPoll &ePoll, std::string url, short int port, std::string commandName);
29 
33 
35 
41 
42  void startStreaming();
43 
48 
49  void setContentProvider(BMAStreamContentProvider &contentProvider);
50 
51  private:
52  BMAStreamContentProvider *contentProvider;
53  std::queue<BMAStreamFrame *> *streamFrames;
54  bool streaming = false;
55 
56  BMASession * getSocketAccept() override;
57  void onTimeout() override;
58  void sendFrameToClients(BMAStreamFrame *streamFrame);
59 
60 };
61 
62 #endif
void startStreaming()
Definition: BMAStreamServer.cpp:14
+
Definition: BMATCPServerSocket.h:20
+
Definition: BMAStreamFrame.h:4
+
Definition: BMAStreamServer.h:19
+
void setContentProvider(BMAStreamContentProvider &contentProvider)
Definition: BMAStreamServer.cpp:30
+
Definition: BMAEPoll.h:29
+
Definition: BMATimer.h:15
+
Definition: BMASession.h:18
+
BMAStreamServer(BMAEPoll &ePoll, std::string url, short int port, std::string commandName)
Definition: BMAStreamServer.cpp:7
+
Definition: BMAStreamContentProvider.h:8
+
~BMAStreamServer()
Definition: BMAStreamServer.cpp:11
+
+ + + + diff --git a/docs/html/_b_m_a_stream_session_8h_source.html b/docs/html/_b_m_a_stream_session_8h_source.html new file mode 100644 index 0000000..f2174c2 --- /dev/null +++ b/docs/html/_b_m_a_stream_session_8h_source.html @@ -0,0 +1,78 @@ + + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAStreamSession.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Documents/Development/BMASockets/BMAStreamSession.h
+
+
+
1 #ifndef __BMAStreamSession_h__
2 #define __BMAStreamSession_h__
3 
4 #include "BMATCPSocket.h"
5 #include "BMAEPoll.h"
6 #include "BMAStreamFrame.h"
7 
8 class BMAStreamSession : public BMASession {
9 
10  public:
12  ~BMAStreamSession();
13  int writeFrame(BMAStreamFrame *frame);
14 
15  protected:
16  void protocol(std::string data) override;
17  void onStreamDataReceived(BMAStreamFrame *frame);
18 
19  private:
20 
21 };
22 
23 #endif
Definition: BMATCPServerSocket.h:20
+
Definition: BMAStreamFrame.h:4
+
Definition: BMAEPoll.h:29
+
Definition: BMAStreamSession.h:8
+
Definition: BMASession.h:18
+
+ + + + diff --git a/docs/html/_b_m_a_stream_socket_8cpp.html b/docs/html/_b_m_a_stream_socket_8cpp.html new file mode 100644 index 0000000..2cd59c2 --- /dev/null +++ b/docs/html/_b_m_a_stream_socket_8cpp.html @@ -0,0 +1,117 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAStreamSocket.cpp File Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+
+
/home/barant/Documents/Development/BMASockets/BMAStreamSocket.cpp File Reference
+
+
+
#include "BMAStreamSocket.h"
+#include "BMAHeader.h"
+
+Include dependency graph for BMAStreamSocket.cpp:
+
+
+ + + + + + + + + + + + + + + +
+
+ + + + diff --git a/docs/html/_b_m_a_stream_socket_8cpp__incl.map b/docs/html/_b_m_a_stream_socket_8cpp__incl.map new file mode 100644 index 0000000..47a7bc6 --- /dev/null +++ b/docs/html/_b_m_a_stream_socket_8cpp__incl.map @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/docs/html/_b_m_a_stream_socket_8cpp__incl.md5 b/docs/html/_b_m_a_stream_socket_8cpp__incl.md5 new file mode 100644 index 0000000..ec32985 --- /dev/null +++ b/docs/html/_b_m_a_stream_socket_8cpp__incl.md5 @@ -0,0 +1 @@ +2d0c0923e797f0b8fd3a0183b8cd78c7 \ No newline at end of file diff --git a/docs/html/_b_m_a_stream_socket_8cpp__incl.png b/docs/html/_b_m_a_stream_socket_8cpp__incl.png new file mode 100644 index 0000000..5dc11d1 Binary files /dev/null and b/docs/html/_b_m_a_stream_socket_8cpp__incl.png differ diff --git a/docs/html/_b_m_a_stream_socket_8h.html b/docs/html/_b_m_a_stream_socket_8h.html new file mode 100644 index 0000000..c620bb3 --- /dev/null +++ b/docs/html/_b_m_a_stream_socket_8h.html @@ -0,0 +1,135 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAStreamSocket.h File Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
/home/barant/Documents/Development/BMASockets/BMAStreamSocket.h File Reference
+
+
+
#include "BMATCPSocket.h"
+#include "BMAEPoll.h"
+#include "BMAStreamFrame.h"
+
+Include dependency graph for BMAStreamSocket.h:
+
+
+ + + + + + + + + + + + + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + + +
+
+

Go to the source code of this file.

+ + + + +

+Classes

class  BMAStreamSocket
 
+
+ + + + diff --git a/docs/html/_b_m_a_stream_socket_8h__dep__incl.map b/docs/html/_b_m_a_stream_socket_8h__dep__incl.map new file mode 100644 index 0000000..e21bbf2 --- /dev/null +++ b/docs/html/_b_m_a_stream_socket_8h__dep__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/html/_b_m_a_stream_socket_8h__dep__incl.md5 b/docs/html/_b_m_a_stream_socket_8h__dep__incl.md5 new file mode 100644 index 0000000..771f6fb --- /dev/null +++ b/docs/html/_b_m_a_stream_socket_8h__dep__incl.md5 @@ -0,0 +1 @@ +ca66aa4e51cbb1dc7562d8d12365880f \ No newline at end of file diff --git a/docs/html/_b_m_a_stream_socket_8h__dep__incl.png b/docs/html/_b_m_a_stream_socket_8h__dep__incl.png new file mode 100644 index 0000000..26f47dd Binary files /dev/null and b/docs/html/_b_m_a_stream_socket_8h__dep__incl.png differ diff --git a/docs/html/_b_m_a_stream_socket_8h__incl.map b/docs/html/_b_m_a_stream_socket_8h__incl.map new file mode 100644 index 0000000..4c131f1 --- /dev/null +++ b/docs/html/_b_m_a_stream_socket_8h__incl.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/docs/html/_b_m_a_stream_socket_8h__incl.md5 b/docs/html/_b_m_a_stream_socket_8h__incl.md5 new file mode 100644 index 0000000..f5df097 --- /dev/null +++ b/docs/html/_b_m_a_stream_socket_8h__incl.md5 @@ -0,0 +1 @@ +e52cc78f3c9c0b35fb2309668ed45e72 \ No newline at end of file diff --git a/docs/html/_b_m_a_stream_socket_8h__incl.png b/docs/html/_b_m_a_stream_socket_8h__incl.png new file mode 100644 index 0000000..2f9f1a2 Binary files /dev/null and b/docs/html/_b_m_a_stream_socket_8h__incl.png differ diff --git a/docs/html/_b_m_a_stream_socket_8h_source.html b/docs/html/_b_m_a_stream_socket_8h_source.html new file mode 100644 index 0000000..ecfffe9 --- /dev/null +++ b/docs/html/_b_m_a_stream_socket_8h_source.html @@ -0,0 +1,78 @@ + + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAStreamSocket.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Documents/Development/BMASockets/BMAStreamSocket.h
+
+
+
1 #ifndef __BMAStreamSocket_h__
2 #define __BMAStreamSocket_h__
3 
4 #include "BMATCPSocket.h"
5 #include "BMAEPoll.h"
6 #include "BMAStreamFrame.h"
7 
8 class BMAStreamSocket : public BMASession {
9 
10  public:
11  BMAStreamSocket(BMAEPoll &ePoll);
12  ~BMAStreamSocket();
13  int writeFrame(BMAStreamFrame *frame);
14 
15  protected:
16  void onDataReceived(char *data, int length);
17  void onStreamDataReceived(BMAStreamFrame *frame);
18 
19  private:
20 
21 };
22 
23 #endif
void onDataReceived(char *data, int length)
Called when data is received from the socket.
Definition: BMAStreamSocket.cpp:12
+
Definition: BMAStreamFrame.h:4
+
Definition: BMAStreamSocket.h:8
+
Definition: BMAEPoll.h:29
+
Definition: BMASession.h:16
+
+ + + + diff --git a/docs/html/_b_m_a_t_c_p_server_socket_8cpp.html b/docs/html/_b_m_a_t_c_p_server_socket_8cpp.html new file mode 100644 index 0000000..ca618e3 --- /dev/null +++ b/docs/html/_b_m_a_t_c_p_server_socket_8cpp.html @@ -0,0 +1,116 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMATCPServerSocket.cpp File Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+
+
/home/barant/Documents/Development/BMASockets/BMATCPServerSocket.cpp File Reference
+
+
+
#include "BMATCPServerSocket.h"
+#include "BMAEPoll.h"
+#include "BMAConsoleSession.h"
+
+Include dependency graph for BMATCPServerSocket.cpp:
+
+
+ + + + + + + + + + + + + +
+
+ + + + diff --git a/docs/html/_b_m_a_t_c_p_server_socket_8cpp__incl.map b/docs/html/_b_m_a_t_c_p_server_socket_8cpp__incl.map new file mode 100644 index 0000000..1233fdf --- /dev/null +++ b/docs/html/_b_m_a_t_c_p_server_socket_8cpp__incl.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/docs/html/_b_m_a_t_c_p_server_socket_8cpp__incl.md5 b/docs/html/_b_m_a_t_c_p_server_socket_8cpp__incl.md5 new file mode 100644 index 0000000..ff952fb --- /dev/null +++ b/docs/html/_b_m_a_t_c_p_server_socket_8cpp__incl.md5 @@ -0,0 +1 @@ +6ef977eee805e169bf49beac26a6b03c \ No newline at end of file diff --git a/docs/html/_b_m_a_t_c_p_server_socket_8cpp__incl.png b/docs/html/_b_m_a_t_c_p_server_socket_8cpp__incl.png new file mode 100644 index 0000000..6811a7f Binary files /dev/null and b/docs/html/_b_m_a_t_c_p_server_socket_8cpp__incl.png differ diff --git a/docs/html/_b_m_a_t_c_p_server_socket_8h.html b/docs/html/_b_m_a_t_c_p_server_socket_8h.html new file mode 100644 index 0000000..2ac2787 --- /dev/null +++ b/docs/html/_b_m_a_t_c_p_server_socket_8h.html @@ -0,0 +1,159 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMATCPServerSocket.h File Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
/home/barant/Documents/Development/BMASockets/BMATCPServerSocket.h File Reference
+
+
+
#include "BMASocket.h"
+#include "BMATCPSocket.h"
+#include "BMAConsoleCommand.h"
+
+Include dependency graph for BMATCPServerSocket.h:
+
+
+ + + + + + + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Go to the source code of this file.

+ + + + +

+Classes

class  BMATCPServerSocket
 
+
+ + + + diff --git a/docs/html/_b_m_a_t_c_p_server_socket_8h__dep__incl.map b/docs/html/_b_m_a_t_c_p_server_socket_8h__dep__incl.map new file mode 100644 index 0000000..5ffd05e --- /dev/null +++ b/docs/html/_b_m_a_t_c_p_server_socket_8h__dep__incl.map @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/html/_b_m_a_t_c_p_server_socket_8h__dep__incl.md5 b/docs/html/_b_m_a_t_c_p_server_socket_8h__dep__incl.md5 new file mode 100644 index 0000000..a173d07 --- /dev/null +++ b/docs/html/_b_m_a_t_c_p_server_socket_8h__dep__incl.md5 @@ -0,0 +1 @@ +fb385e516188484dc2ea8ce84f7d4cd5 \ No newline at end of file diff --git a/docs/html/_b_m_a_t_c_p_server_socket_8h__dep__incl.png b/docs/html/_b_m_a_t_c_p_server_socket_8h__dep__incl.png new file mode 100644 index 0000000..8e0dbf9 Binary files /dev/null and b/docs/html/_b_m_a_t_c_p_server_socket_8h__dep__incl.png differ diff --git a/docs/html/_b_m_a_t_c_p_server_socket_8h__incl.map b/docs/html/_b_m_a_t_c_p_server_socket_8h__incl.map new file mode 100644 index 0000000..a513cac --- /dev/null +++ b/docs/html/_b_m_a_t_c_p_server_socket_8h__incl.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/html/_b_m_a_t_c_p_server_socket_8h__incl.md5 b/docs/html/_b_m_a_t_c_p_server_socket_8h__incl.md5 new file mode 100644 index 0000000..ac0b6d0 --- /dev/null +++ b/docs/html/_b_m_a_t_c_p_server_socket_8h__incl.md5 @@ -0,0 +1 @@ +eec57a34ead0e16b32469c10a3dfb79d \ No newline at end of file diff --git a/docs/html/_b_m_a_t_c_p_server_socket_8h__incl.png b/docs/html/_b_m_a_t_c_p_server_socket_8h__incl.png new file mode 100644 index 0000000..ad74ed0 Binary files /dev/null and b/docs/html/_b_m_a_t_c_p_server_socket_8h__incl.png differ diff --git a/docs/html/_b_m_a_t_c_p_server_socket_8h_source.html b/docs/html/_b_m_a_t_c_p_server_socket_8h_source.html new file mode 100644 index 0000000..e0368a2 --- /dev/null +++ b/docs/html/_b_m_a_t_c_p_server_socket_8h_source.html @@ -0,0 +1,84 @@ + + + + + + + +BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/BMATCPServerSocket.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Development/BMA/server_core/ServerCore/BMATCPServerSocket.h
+
+
+
1 #ifndef BMATCPServerSocket_h__
2 #define BMATCPServerSocket_h__
3 
4 #include "BMASocket.h"
5 #include "BMATCPSocket.h"
6 #include "BMACommand.h"
7 
19 
21  public BMACommand {
22 
23 public:
24 
33 
34  BMATCPServerSocket(BMAEPoll &ePoll, std::string url, short int port, std::string commandName);
35 
39 
41 
42  void removeFromSessionList(BMASession *session);
43 
47 
48  std::vector<BMASession *> sessions;
49 
50  protected:
51 
52  virtual void init();
53 
61 
62  virtual BMASession * getSocketAccept() = 0;
63 
73 
74  void onDataReceived(std::string data) override;
75 
82 
83  void processCommand(std::string command, BMASession *session) override;
84 
85  private:
86 
87  BMASession * accept();
88 
89 };
90 
91 
92 
93 #endif
~BMATCPServerSocket()
Definition: BMATCPServerSocket.cpp:32
+
Definition: BMATCPSocket.h:18
+
Definition: BMATCPServerSocket.h:20
+
void processCommand(std::string command, BMASession *session) override
Definition: BMATCPServerSocket.cpp:57
+
virtual BMASession * getSocketAccept()=0
+
BMATCPServerSocket(BMAEPoll &ePoll, std::string url, short int port, std::string commandName)
Definition: BMATCPServerSocket.cpp:6
+
void onDataReceived(std::string data) override
Definition: BMATCPServerSocket.cpp:38
+
Definition: BMAEPoll.h:29
+
Definition: BMACommand.h:8
+
std::vector< BMASession * > sessions
Definition: BMATCPServerSocket.h:48
+
Definition: BMASession.h:18
+
+ + + + diff --git a/docs/html/_b_m_a_t_c_p_socket_8cpp.html b/docs/html/_b_m_a_t_c_p_socket_8cpp.html new file mode 100644 index 0000000..67d5f69 --- /dev/null +++ b/docs/html/_b_m_a_t_c_p_socket_8cpp.html @@ -0,0 +1,114 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMATCPSocket.cpp File Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+
+
/home/barant/Documents/Development/BMASockets/BMATCPSocket.cpp File Reference
+
+
+
#include "BMATCPSocket.h"
+#include "BMAEPoll.h"
+
+Include dependency graph for BMATCPSocket.cpp:
+
+
+ + + + + + + + + + + + +
+
+ + + + diff --git a/docs/html/_b_m_a_t_c_p_socket_8cpp__incl.map b/docs/html/_b_m_a_t_c_p_socket_8cpp__incl.map new file mode 100644 index 0000000..83a095e --- /dev/null +++ b/docs/html/_b_m_a_t_c_p_socket_8cpp__incl.map @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/docs/html/_b_m_a_t_c_p_socket_8cpp__incl.md5 b/docs/html/_b_m_a_t_c_p_socket_8cpp__incl.md5 new file mode 100644 index 0000000..4a2f23d --- /dev/null +++ b/docs/html/_b_m_a_t_c_p_socket_8cpp__incl.md5 @@ -0,0 +1 @@ +903657ed39e386cf79ae8e264853752c \ No newline at end of file diff --git a/docs/html/_b_m_a_t_c_p_socket_8cpp__incl.png b/docs/html/_b_m_a_t_c_p_socket_8cpp__incl.png new file mode 100644 index 0000000..e1fa136 Binary files /dev/null and b/docs/html/_b_m_a_t_c_p_socket_8cpp__incl.png differ diff --git a/docs/html/_b_m_a_t_c_p_socket_8h.html b/docs/html/_b_m_a_t_c_p_socket_8h.html new file mode 100644 index 0000000..8e1d93a --- /dev/null +++ b/docs/html/_b_m_a_t_c_p_socket_8h.html @@ -0,0 +1,157 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMATCPSocket.h File Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
/home/barant/Documents/Development/BMASockets/BMATCPSocket.h File Reference
+
+
+
#include "includes"
+#include "BMASocket.h"
+
+Include dependency graph for BMATCPSocket.h:
+
+
+ + + + + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Go to the source code of this file.

+ + + + +

+Classes

class  BMATCPSocket
 
+
+ + + + diff --git a/docs/html/_b_m_a_t_c_p_socket_8h__dep__incl.map b/docs/html/_b_m_a_t_c_p_socket_8h__dep__incl.map new file mode 100644 index 0000000..9ea383c --- /dev/null +++ b/docs/html/_b_m_a_t_c_p_socket_8h__dep__incl.map @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/html/_b_m_a_t_c_p_socket_8h__dep__incl.md5 b/docs/html/_b_m_a_t_c_p_socket_8h__dep__incl.md5 new file mode 100644 index 0000000..adf3abd --- /dev/null +++ b/docs/html/_b_m_a_t_c_p_socket_8h__dep__incl.md5 @@ -0,0 +1 @@ +76ba56a222d275af681382d3d29316ea \ No newline at end of file diff --git a/docs/html/_b_m_a_t_c_p_socket_8h__dep__incl.png b/docs/html/_b_m_a_t_c_p_socket_8h__dep__incl.png new file mode 100644 index 0000000..552bb6c Binary files /dev/null and b/docs/html/_b_m_a_t_c_p_socket_8h__dep__incl.png differ diff --git a/docs/html/_b_m_a_t_c_p_socket_8h__incl.map b/docs/html/_b_m_a_t_c_p_socket_8h__incl.map new file mode 100644 index 0000000..5b6927a --- /dev/null +++ b/docs/html/_b_m_a_t_c_p_socket_8h__incl.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/html/_b_m_a_t_c_p_socket_8h__incl.md5 b/docs/html/_b_m_a_t_c_p_socket_8h__incl.md5 new file mode 100644 index 0000000..c49b891 --- /dev/null +++ b/docs/html/_b_m_a_t_c_p_socket_8h__incl.md5 @@ -0,0 +1 @@ +4c6ce3646e5705d8fb9c7aca5237c81e \ No newline at end of file diff --git a/docs/html/_b_m_a_t_c_p_socket_8h__incl.png b/docs/html/_b_m_a_t_c_p_socket_8h__incl.png new file mode 100644 index 0000000..185e79d Binary files /dev/null and b/docs/html/_b_m_a_t_c_p_socket_8h__incl.png differ diff --git a/docs/html/_b_m_a_t_c_p_socket_8h_source.html b/docs/html/_b_m_a_t_c_p_socket_8h_source.html new file mode 100644 index 0000000..e7c709c --- /dev/null +++ b/docs/html/_b_m_a_t_c_p_socket_8h_source.html @@ -0,0 +1,78 @@ + + + + + + + +BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/BMATCPSocket.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Development/BMA/server_core/ServerCore/BMATCPSocket.h
+
+
+
1 #ifndef __BMATCPSocket_h__
2 #define __BMATCPSocket_h__
3 
4 #include "includes"
5 #include "BMASocket.h"
6 #include "BMAIPAddress.h"
7 
17 
18 class BMATCPSocket : public BMASocket {
19 
20 public:
21 
22  BMATCPSocket(BMAEPoll &ePoll);
23  ~BMATCPSocket();
24 
25  void connect(BMAIPAddress &address);
26 
27  BMAIPAddress ipAddress;
28 
35 
36  virtual void output(std::stringstream &out);
37 
38 };
39 
40 #endif
Definition: BMATCPSocket.h:18
+
Definition: BMASocket.h:31
+
Definition: BMAIPAddress.h:7
+
Definition: BMAEPoll.h:29
+
virtual void output(std::stringstream &out)
Definition: BMATCPSocket.cpp:17
+
+ + + + diff --git a/docs/html/_b_m_a_t_l_s_server_socket_8h_source.html b/docs/html/_b_m_a_t_l_s_server_socket_8h_source.html new file mode 100644 index 0000000..1f9ae01 --- /dev/null +++ b/docs/html/_b_m_a_t_l_s_server_socket_8h_source.html @@ -0,0 +1,80 @@ + + + + + + + +BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/BMATLSServerSocket.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Development/BMA/server_core/ServerCore/BMATLSServerSocket.h
+
+
+
1 #ifndef BMATLSServerSocket_h__
2 #define BMATLSServerSocket_h__
3 
4 #include "BMASocket.h"
5 #include "BMATCPServerSocket.h"
6 #include "BMACommand.h"
7 #include "BMASession.h"
8 #include <openssl/ssl.h>
9 #include <openssl/rand.h>
10 #include <openssl/err.h>
11 
12 // Global values used by all TLS functions for this server socket.
13 
20 
22 
23  public:
24 
33 
34  BMATLSServerSocket(BMAEPoll &ePoll, std::string url, short int port, std::string commandName);
35 
39 
41 
42  SSL_CTX *ctx;
43 
44  protected:
45  BMASession * getSocketAccept() override;
46 
47  private:
48  void tlsServerInit();
49 
50  char *sip_cacert = (char *)"/home/barant/testkeys/certs/pbxca.crt";
51  char *sip_cert = (char *)"/home/barant/testkeys/certs/pbxserver.crt";
52  char *sip_key = (char *)"/home/barant/testkeys/certs/pbxserver.key";
53 
54 };
55 
56 #endif
BMASession * getSocketAccept() override
Definition: BMATLSServerSocket.cpp:58
+
Definition: BMATCPServerSocket.h:20
+
BMATLSServerSocket(BMAEPoll &ePoll, std::string url, short int port, std::string commandName)
Definition: BMATLSServerSocket.cpp:16
+
Definition: BMATLSServerSocket.h:21
+
Definition: BMAEPoll.h:29
+
~BMATLSServerSocket()
Definition: BMATLSServerSocket.cpp:39
+
Definition: BMASession.h:18
+
+ + + + diff --git a/docs/html/_b_m_a_t_l_s_session_8h_source.html b/docs/html/_b_m_a_t_l_s_session_8h_source.html new file mode 100644 index 0000000..e1c073c --- /dev/null +++ b/docs/html/_b_m_a_t_l_s_session_8h_source.html @@ -0,0 +1,79 @@ + + + + + + + +BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/BMATLSSession.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Development/BMA/server_core/ServerCore/BMATLSSession.h
+
+
+
1 #ifndef __BMATLSSession_h__
2 #define __BMATLSSession_h__
3 
4 #include "includes"
5 #include "BMASession.h"
6 #include "BMATLSServerSocket.h"
7 #include <openssl/ssl.h>
8 
10 
20 
21 class BMATLSSession : public BMASession {
22 
23  public:
24 
25  BMATLSSession(BMAEPoll &ePoll, BMATLSServerSocket &server);
26  ~BMATLSSession();
27 
34 
35  virtual void output(std::stringstream &out);
36  virtual void protocol(std::string data) override;
37 
38  protected:
39  void init() override;
40  void receiveData(char *buffer, int bufferLength) override;
41 
42 private:
43  bool initialized = false;
44  BMATLSServerSocket &server;
45  SSL *ssl;
46 
47 };
48 
49 #endif
Definition: BMATLSServerSocket.h:21
+
void receiveData(char *buffer, int bufferLength) override
Definition: BMATLSSession.cpp:84
+
Definition: BMAEPoll.h:29
+
Definition: BMATLSSession.h:21
+
Definition: BMASession.h:18
+
virtual void output(std::stringstream &out)
Definition: BMATLSSession.cpp:143
+
+ + + + diff --git a/docs/html/_b_m_a_t_l_s_socket_8h_source.html b/docs/html/_b_m_a_t_l_s_socket_8h_source.html new file mode 100644 index 0000000..99a9a2d --- /dev/null +++ b/docs/html/_b_m_a_t_l_s_socket_8h_source.html @@ -0,0 +1,78 @@ + + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMATLSSocket.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Documents/Development/BMASockets/BMATLSSocket.h
+
+
+
1 #ifndef __BMATLSSocket_h__
2 #define __BMATLSSocket_h__
3 
4 #include "includes"
5 #include "BMATCPSocket.h"
6 #include <openssl/ssl.h>
7 
17 
18 class BMATLSSocket : public BMATCPSocket {
19 
20  public:
21 
22  BMATLSSocket(BMAEPoll &ePoll, SSL_CTX *ctx);
23  ~BMATLSSocket();
24 
31 
32  virtual void output(std::stringstream &out);
33 
34  protected:
35  void receiveData(char *buffer, int bufferLength) override;
36 
37  private:
38 
39  SSL *ssl;
40 
41  int generate_session_id();
42 
43 };
44 
45 #endif
Definition: BMATCPSocket.h:18
+
Definition: BMAEPoll.h:29
+
void receiveData(char *buffer, int bufferLength) override
Definition: BMATLSSocket.cpp:70
+
Definition: BMATLSSocket.h:18
+
virtual void output(std::stringstream &out)
Definition: BMATLSSocket.cpp:100
+
+ + + + diff --git a/docs/html/_b_m_a_terminal_8h_source.html b/docs/html/_b_m_a_terminal_8h_source.html new file mode 100644 index 0000000..7b78b27 --- /dev/null +++ b/docs/html/_b_m_a_terminal_8h_source.html @@ -0,0 +1,77 @@ + + + + + + + +BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/BMATerminal.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Development/BMA/server_core/ServerCore/BMATerminal.h
+
+
+
1 #ifndef __BMATerminal_h__
2 #define __BMATerminal_h__
3 
4 #include "includes"
5 #include "BMASession.h"
6 
7 static const int FG_BLACK = 30;
8 static const int FG_RED = 31;
9 static const int FG_GREEN = 32;
10 static const int FG_YELLOW = 33;
11 static const int FG_BLUE = 34;
12 static const int FG_MAGENTA = 35;
13 static const int FG_CYAN = 36;
14 static const int FG_WHITE = 37;
15 
16 static const int BG_BLACK = 40;
17 static const int BG_RED = 41;
18 static const int BG_GREEN = 42;
19 static const int BG_YELLOW = 43;
20 static const int BG_BLUE = 44;
21 static const int BG_MAGENTA = 45;
22 static const int BG_CYAN = 46;
23 static const int BG_WHITE = 47;
24 
25 static const char esc = 0x1b;
26 
27 class BMATerminal : public BMASession {
28 
29  public:
30  BMATerminal(BMAEPoll &ePoll, BMATCPServerSocket &server);
31  ~BMATerminal();
32 
33  int getLines();
34 
35  void clear();
36  void clearEOL();
37  void setCursorLocation(int x, int y);
38  void setColor(int color);
39  void setBackColor(int color);
40  void saveCursor();
41  void restoreCursor();
42  void NextLine(int lines);
43  void PreviousLine(int lines);
44  void scrollArea(int start, int end);
45 
46 };
47 
48 #endif
Definition: BMATCPServerSocket.h:20
+
Definition: BMAEPoll.h:29
+
Definition: BMATerminal.h:27
+
Definition: BMASession.h:18
+
+ + + + diff --git a/docs/html/_b_m_a_thread_8cpp.html b/docs/html/_b_m_a_thread_8cpp.html new file mode 100644 index 0000000..49e5b53 --- /dev/null +++ b/docs/html/_b_m_a_thread_8cpp.html @@ -0,0 +1,114 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAThread.cpp File Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+
+
/home/barant/Documents/Development/BMASockets/BMAThread.cpp File Reference
+
+
+
#include "BMAThread.h"
+#include "BMAEPoll.h"
+
+Include dependency graph for BMAThread.cpp:
+
+
+ + + + + + + + + + + + +
+
+ + + + diff --git a/docs/html/_b_m_a_thread_8cpp__incl.map b/docs/html/_b_m_a_thread_8cpp__incl.map new file mode 100644 index 0000000..69253aa --- /dev/null +++ b/docs/html/_b_m_a_thread_8cpp__incl.map @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/docs/html/_b_m_a_thread_8cpp__incl.md5 b/docs/html/_b_m_a_thread_8cpp__incl.md5 new file mode 100644 index 0000000..b1dcba6 --- /dev/null +++ b/docs/html/_b_m_a_thread_8cpp__incl.md5 @@ -0,0 +1 @@ +06096d2e39c72b63db7680a3d6f77e60 \ No newline at end of file diff --git a/docs/html/_b_m_a_thread_8cpp__incl.png b/docs/html/_b_m_a_thread_8cpp__incl.png new file mode 100644 index 0000000..70cd6bd Binary files /dev/null and b/docs/html/_b_m_a_thread_8cpp__incl.png differ diff --git a/docs/html/_b_m_a_thread_8h.html b/docs/html/_b_m_a_thread_8h.html new file mode 100644 index 0000000..3290989 --- /dev/null +++ b/docs/html/_b_m_a_thread_8h.html @@ -0,0 +1,147 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAThread.h File Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
/home/barant/Documents/Development/BMASockets/BMAThread.h File Reference
+
+
+
#include "includes"
+#include "BMALog.h"
+
+Include dependency graph for BMAThread.h:
+
+
+ + + + + + + + + + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + + + + + + + + + + + + + + + + + + +
+
+

Go to the source code of this file.

+ + + + +

+Classes

class  BMAThread
 
+
+ + + + diff --git a/docs/html/_b_m_a_thread_8h__dep__incl.map b/docs/html/_b_m_a_thread_8h__dep__incl.map new file mode 100644 index 0000000..11d2b03 --- /dev/null +++ b/docs/html/_b_m_a_thread_8h__dep__incl.map @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/docs/html/_b_m_a_thread_8h__dep__incl.md5 b/docs/html/_b_m_a_thread_8h__dep__incl.md5 new file mode 100644 index 0000000..52a1eaa --- /dev/null +++ b/docs/html/_b_m_a_thread_8h__dep__incl.md5 @@ -0,0 +1 @@ +b4ea53bf9c37c8fcd8efb162e157a92e \ No newline at end of file diff --git a/docs/html/_b_m_a_thread_8h__dep__incl.png b/docs/html/_b_m_a_thread_8h__dep__incl.png new file mode 100644 index 0000000..c85cdf7 Binary files /dev/null and b/docs/html/_b_m_a_thread_8h__dep__incl.png differ diff --git a/docs/html/_b_m_a_thread_8h__incl.map b/docs/html/_b_m_a_thread_8h__incl.map new file mode 100644 index 0000000..68e710c --- /dev/null +++ b/docs/html/_b_m_a_thread_8h__incl.map @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/docs/html/_b_m_a_thread_8h__incl.md5 b/docs/html/_b_m_a_thread_8h__incl.md5 new file mode 100644 index 0000000..0077028 --- /dev/null +++ b/docs/html/_b_m_a_thread_8h__incl.md5 @@ -0,0 +1 @@ +a76c94b3657e06e6273a0e4f86ccd32d \ No newline at end of file diff --git a/docs/html/_b_m_a_thread_8h__incl.png b/docs/html/_b_m_a_thread_8h__incl.png new file mode 100644 index 0000000..bbd9a93 Binary files /dev/null and b/docs/html/_b_m_a_thread_8h__incl.png differ diff --git a/docs/html/_b_m_a_thread_8h_source.html b/docs/html/_b_m_a_thread_8h_source.html new file mode 100644 index 0000000..ef5f182 --- /dev/null +++ b/docs/html/_b_m_a_thread_8h_source.html @@ -0,0 +1,78 @@ + + + + + + + +BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/BMAThread.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Development/BMA/server_core/ServerCore/BMAThread.h
+
+
+
1 #ifndef __BMAThread_h__
2 #define __BMAThread_h__
3 
4 #include "includes"
5 #include "BMALog.h"
6 #include "BMAObject.h"
7 class BMAEPoll;
8 
16 
17 class BMAThread : public BMAObject {
18 
19  public:
20  BMAThread(BMAEPoll &ePoll);
21  ~BMAThread();
22 
26 
27  void start();
28  void join();
29  std::string getStatus();
30  pid_t getThreadId();
31  int getCount();
32  void output(BMASession *session);
33 
34  private:
35  BMAEPoll &ePoll; // The EPoll control object.
36  std::string status;
37  int count;
38  std::thread *_thread;
39  void print_thread_start_log();
40  pid_t threadId;
41  void run();
42 
43 };
44 
45 #endif
void start()
Definition: BMAThread.cpp:8
+
Definition: BMAThread.h:17
+
Definition: BMAEPoll.h:29
+
Definition: BMASession.h:18
+
Definition: BMAObject.h:6
+
+ + + + diff --git a/docs/html/_b_m_a_timer_8cpp.html b/docs/html/_b_m_a_timer_8cpp.html new file mode 100644 index 0000000..0666982 --- /dev/null +++ b/docs/html/_b_m_a_timer_8cpp.html @@ -0,0 +1,115 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMATimer.cpp File Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+
+
/home/barant/Documents/Development/BMASockets/BMATimer.cpp File Reference
+
+
+
#include "BMATimer.h"
+#include "BMAEPoll.h"
+
+Include dependency graph for BMATimer.cpp:
+
+
+ + + + + + + + + + + + + +
+
+ + + + diff --git a/docs/html/_b_m_a_timer_8cpp__incl.map b/docs/html/_b_m_a_timer_8cpp__incl.map new file mode 100644 index 0000000..db4052a --- /dev/null +++ b/docs/html/_b_m_a_timer_8cpp__incl.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/docs/html/_b_m_a_timer_8cpp__incl.md5 b/docs/html/_b_m_a_timer_8cpp__incl.md5 new file mode 100644 index 0000000..5dafc42 --- /dev/null +++ b/docs/html/_b_m_a_timer_8cpp__incl.md5 @@ -0,0 +1 @@ +5333bb579bea515ebac142971bc02fc7 \ No newline at end of file diff --git a/docs/html/_b_m_a_timer_8cpp__incl.png b/docs/html/_b_m_a_timer_8cpp__incl.png new file mode 100644 index 0000000..3c0f45b Binary files /dev/null and b/docs/html/_b_m_a_timer_8cpp__incl.png differ diff --git a/docs/html/_b_m_a_timer_8h.html b/docs/html/_b_m_a_timer_8h.html new file mode 100644 index 0000000..29c81e8 --- /dev/null +++ b/docs/html/_b_m_a_timer_8h.html @@ -0,0 +1,131 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMATimer.h File Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
/home/barant/Documents/Development/BMASockets/BMATimer.h File Reference
+
+
+
#include "BMASocket.h"
+
+Include dependency graph for BMATimer.h:
+
+
+ + + + + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + + + + + + + + +
+
+

Go to the source code of this file.

+ + + + +

+Classes

class  BMATimer
 
+
+ + + + diff --git a/docs/html/_b_m_a_timer_8h__dep__incl.map b/docs/html/_b_m_a_timer_8h__dep__incl.map new file mode 100644 index 0000000..85ea25e --- /dev/null +++ b/docs/html/_b_m_a_timer_8h__dep__incl.map @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/docs/html/_b_m_a_timer_8h__dep__incl.md5 b/docs/html/_b_m_a_timer_8h__dep__incl.md5 new file mode 100644 index 0000000..24a1647 --- /dev/null +++ b/docs/html/_b_m_a_timer_8h__dep__incl.md5 @@ -0,0 +1 @@ +614e5d3e5f7014685208b7b09605c41b \ No newline at end of file diff --git a/docs/html/_b_m_a_timer_8h__dep__incl.png b/docs/html/_b_m_a_timer_8h__dep__incl.png new file mode 100644 index 0000000..c4545a8 Binary files /dev/null and b/docs/html/_b_m_a_timer_8h__dep__incl.png differ diff --git a/docs/html/_b_m_a_timer_8h__incl.map b/docs/html/_b_m_a_timer_8h__incl.map new file mode 100644 index 0000000..44a7f34 --- /dev/null +++ b/docs/html/_b_m_a_timer_8h__incl.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/html/_b_m_a_timer_8h__incl.md5 b/docs/html/_b_m_a_timer_8h__incl.md5 new file mode 100644 index 0000000..173271f --- /dev/null +++ b/docs/html/_b_m_a_timer_8h__incl.md5 @@ -0,0 +1 @@ +a46ebea59855147153ee9f5d860db199 \ No newline at end of file diff --git a/docs/html/_b_m_a_timer_8h__incl.png b/docs/html/_b_m_a_timer_8h__incl.png new file mode 100644 index 0000000..af11e3f Binary files /dev/null and b/docs/html/_b_m_a_timer_8h__incl.png differ diff --git a/docs/html/_b_m_a_timer_8h_source.html b/docs/html/_b_m_a_timer_8h_source.html new file mode 100644 index 0000000..8fa333a --- /dev/null +++ b/docs/html/_b_m_a_timer_8h_source.html @@ -0,0 +1,80 @@ + + + + + + + +BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/BMATimer.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Development/BMA/server_core/ServerCore/BMATimer.h
+
+
+
1 #ifndef __BMATimer_h__
2 #define __BMATimer_h__
3 
4 #include "BMASocket.h"
5 #include "BMAEPoll.h"
6 
15 
17 
18  public:
19  BMATimer(BMAEPoll &ePoll);
20  BMATimer(BMAEPoll &ePoll, double delay);
21  ~BMATimer();
22 
30 
31  void setTimer(double delay);
32 
36 
37  void clearTimer();
38 
43 
44  double getElapsed();
45 
46  double getEpoch();
47 
48  protected:
49 
53 
54  virtual void onTimeout() = 0;
55 
56  private:
57  void onDataReceived(std::string data) override;
58  double delayValue;
59 
60 };
61 
62 #endif
Definition: BMASocket.h:31
+
virtual void onTimeout()=0
+
Definition: BMAEPoll.h:29
+
Definition: BMATimer.h:16
+
double getElapsed()
Definition: BMATimer.cpp:45
+
void setTimer(double delay)
Definition: BMATimer.cpp:12
+
void clearTimer()
Definition: BMATimer.cpp:32
+
+ + + + diff --git a/docs/html/_b_m_a_u_d_p_server_socket_8h_source.html b/docs/html/_b_m_a_u_d_p_server_socket_8h_source.html new file mode 100644 index 0000000..6e960a5 --- /dev/null +++ b/docs/html/_b_m_a_u_d_p_server_socket_8h_source.html @@ -0,0 +1,79 @@ + + + + + + + +BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/BMAUDPServerSocket.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Development/BMA/server_core/ServerCore/BMAUDPServerSocket.h
+
+
+
1 #ifndef BMAUDPServerSocket_h__
2 #define BMAUDPServerSocket_h__
3 
4 #include "BMASocket.h"
5 #include "BMAUDPSocket.h"
6 #include "BMACommand.h"
7 
14 
16  public BMACommand {
17 
18  public:
19 
20  BMAUDPServerSocket(BMAEPoll &ePoll, std::string url, short int port, std::string commandName);
22 
23  protected:
24 
25  //---------------------------------------------------------------
26  // Override the virtual dataReceived since for the server these
27  // are requests to accept the new connection socket.
28  //---------------------------------------------------------------
29 
30  void onDataReceived(std::string data) override;
31 
32  void processCommand(BMASession *session);
33 
34  //------------------------------------------------------------------------------------
35  // The retrieved socket connections are placed into the client vector list.
36  //------------------------------------------------------------------------------------
37 
38  std::vector<BMASession *> sessions;
39 
40  private:
41 
42 
43 };
44 
45 
46 
47 #endif
Definition: BMAUDPServerSocket.h:15
+
Definition: BMAUDPSocket.h:7
+
Definition: BMAEPoll.h:29
+
Definition: BMACommand.h:8
+
void onDataReceived(std::string data) override
Called when data is received from the socket.
Definition: BMAUDPServerSocket.cpp:33
+
Definition: BMASession.h:18
+
+ + + + diff --git a/docs/html/_b_m_a_u_d_p_socket_8cpp.html b/docs/html/_b_m_a_u_d_p_socket_8cpp.html new file mode 100644 index 0000000..e8b6840 --- /dev/null +++ b/docs/html/_b_m_a_u_d_p_socket_8cpp.html @@ -0,0 +1,133 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAUDPSocket.cpp File Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
/home/barant/Documents/Development/BMASockets/BMAUDPSocket.cpp File Reference
+
+
+
#include "BMASocket.h"
+
+Include dependency graph for BMAUDPSocket.cpp:
+
+
+ + + + + +
+
+ + + +

+Classes

class  BMAUDPSocket
 
+ + + +

+Macros

#define BMAUDPSocket_h__
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define BMAUDPSocket_h__
+
+ +
+
+
+ + + + diff --git a/docs/html/_b_m_a_u_d_p_socket_8cpp__incl.map b/docs/html/_b_m_a_u_d_p_socket_8cpp__incl.map new file mode 100644 index 0000000..2efc970 --- /dev/null +++ b/docs/html/_b_m_a_u_d_p_socket_8cpp__incl.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/html/_b_m_a_u_d_p_socket_8cpp__incl.md5 b/docs/html/_b_m_a_u_d_p_socket_8cpp__incl.md5 new file mode 100644 index 0000000..e9496d9 --- /dev/null +++ b/docs/html/_b_m_a_u_d_p_socket_8cpp__incl.md5 @@ -0,0 +1 @@ +959cbd516550a6ccd5e84ece7e12da98 \ No newline at end of file diff --git a/docs/html/_b_m_a_u_d_p_socket_8cpp__incl.png b/docs/html/_b_m_a_u_d_p_socket_8cpp__incl.png new file mode 100644 index 0000000..dd6b3c6 Binary files /dev/null and b/docs/html/_b_m_a_u_d_p_socket_8cpp__incl.png differ diff --git a/docs/html/_b_m_a_u_d_p_socket_8h.html b/docs/html/_b_m_a_u_d_p_socket_8h.html new file mode 100644 index 0000000..dcc3490 --- /dev/null +++ b/docs/html/_b_m_a_u_d_p_socket_8h.html @@ -0,0 +1,116 @@ + + + + + + +BMA Server Framework: /home/barant/Documents/Development/BMASockets/BMAUDPSocket.h File Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
/home/barant/Documents/Development/BMASockets/BMAUDPSocket.h File Reference
+
+
+
#include "BMASocket.h"
+
+Include dependency graph for BMAUDPSocket.h:
+
+
+ + + + + +
+
+

Go to the source code of this file.

+ + + + +

+Classes

class  BMAUDPSocket
 
+
+ + + + diff --git a/docs/html/_b_m_a_u_d_p_socket_8h__incl.map b/docs/html/_b_m_a_u_d_p_socket_8h__incl.map new file mode 100644 index 0000000..bb27d44 --- /dev/null +++ b/docs/html/_b_m_a_u_d_p_socket_8h__incl.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/html/_b_m_a_u_d_p_socket_8h__incl.md5 b/docs/html/_b_m_a_u_d_p_socket_8h__incl.md5 new file mode 100644 index 0000000..6bf709c --- /dev/null +++ b/docs/html/_b_m_a_u_d_p_socket_8h__incl.md5 @@ -0,0 +1 @@ +70ba744ed15db87debc3baef0fd78279 \ No newline at end of file diff --git a/docs/html/_b_m_a_u_d_p_socket_8h__incl.png b/docs/html/_b_m_a_u_d_p_socket_8h__incl.png new file mode 100644 index 0000000..b1c8f0b Binary files /dev/null and b/docs/html/_b_m_a_u_d_p_socket_8h__incl.png differ diff --git a/docs/html/_b_m_a_u_d_p_socket_8h_source.html b/docs/html/_b_m_a_u_d_p_socket_8h_source.html new file mode 100644 index 0000000..b8cb195 --- /dev/null +++ b/docs/html/_b_m_a_u_d_p_socket_8h_source.html @@ -0,0 +1,76 @@ + + + + + + + +BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/BMAUDPSocket.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Development/BMA/server_core/ServerCore/BMAUDPSocket.h
+
+
+
1 #ifndef BMAUDPSocket_h__
2 #define BMAUDPSocket_h__
3 
4 #include "BMASocket.h"
5 #include "BMASession.h"
6 
7 class BMAUDPSocket : public BMASocket /*,
8  public BMASession */ {
9 
10  public:
11  BMAUDPSocket(BMAEPoll &ePoll);
12  ~BMAUDPSocket();
13 
14 // virtual int open(string address, short int port);
15 // virtual void write(istream data);
16 
17 
18 
19 
20 
21 };
22 
23 #endif
Definition: BMASocket.h:31
+
Definition: BMAUDPSocket.h:7
+
Definition: BMAEPoll.h:29
+
+ + + + diff --git a/docs/html/_command_8h_source.html b/docs/html/_command_8h_source.html new file mode 100644 index 0000000..7b52c96 --- /dev/null +++ b/docs/html/_command_8h_source.html @@ -0,0 +1,81 @@ + + + + + + + +BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/Command.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Development/BMA/server_core/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
+
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
+
Definition: Object.h:8
+
Definition: Command.h:18
+
virtual void output(Session *session)
Definition: Command.cpp:6
+
+ + + + diff --git a/docs/html/_command_list_8h_source.html b/docs/html/_command_list_8h_source.html new file mode 100644 index 0000000..903f4a4 --- /dev/null +++ b/docs/html/_command_list_8h_source.html @@ -0,0 +1,78 @@ + + + + + + + +BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/CommandList.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Development/BMA/server_core/ServerCore/CommandList.h
+
+
+
1 #ifndef __CommandList_h__
2 #define __CommandList_h__
3 
4 #include "Session.h"
5 #include "Command.h"
6 
7 namespace core {
8 
9  class CommandList : public Command {
10 
11  public:
12  CommandList();
13  ~CommandList();
14 
15  void add(Command &command, std::string name = "");
16 
17  void remove(Command &command);
18 
19  bool processRequest(std::string request, Session *session);
20 
21  int processCommand(std::string request, Session *session) override;
22 
23  private:
24  std::vector<Command *> commands;
25 
26  };
27 
28 }
29 
30 #endif
Definition: Command.cpp:4
+
Definition: Session.h:22
+
int processCommand(std::string request, Session *session) override
Definition: CommandList.cpp:33
+
Definition: Command.h:18
+
Definition: CommandList.h:9
+
+ + + + diff --git a/docs/html/_console_server_8h_source.html b/docs/html/_console_server_8h_source.html new file mode 100644 index 0000000..dadd915 --- /dev/null +++ b/docs/html/_console_server_8h_source.html @@ -0,0 +1,80 @@ + + + + + + + +BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/ConsoleServer.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Development/BMA/server_core/ServerCore/ConsoleServer.h
+
+
+
1 #ifndef __ConsoleServer_h__
2 #define __ConsoleServer_h__
3 
4 #include "includes"
5 #include "TCPServerSocket.h"
6 #include "Command.h"
7 #include "Session.h"
8 #include "EPoll.h"
9 
10 namespace core {
11 
12  class TCPSocket;
13 
17 
18  class ConsoleServer : public TCPServerSocket {
19 
20  public:
21 
22  //
23  //
24  //
25 
26  ConsoleServer(EPoll &ePoll, std::string url, short int port);
27 
28  //
29  //
30  //
31 
32  ~ConsoleServer();
33 
34  void sendToConnectedConsoles(std::string out);
35 
36  void output(Session *session) override;
37 
38  protected:
39 
40  Session * getSocketAccept() override;
41 
42  };
43 
44 }
45 
46 
47 #endif
Definition: EPoll.h:31
+
Definition: Command.cpp:4
+
Definition: Session.h:22
+
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:18
+
Definition: TCPServerSocket.h:23
+
+ + + + diff --git a/docs/html/_console_session_8h_source.html b/docs/html/_console_session_8h_source.html new file mode 100644 index 0000000..1dfae51 --- /dev/null +++ b/docs/html/_console_session_8h_source.html @@ -0,0 +1,79 @@ + + + + + + + +BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/ConsoleSession.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Development/BMA/server_core/ServerCore/ConsoleSession.h
+
+
+
1 #ifndef __ConsoleSession_h__
2 #define __ConsoleSession_h__
3 
4 #include "TerminalSession.h"
5 #include "Session.h"
6 #include "ConsoleServer.h"
7 #include "CommandList.h"
8 
9 namespace core {
10 
18 
20 
21  public:
22  ConsoleSession(EPoll &ePoll, ConsoleServer &server);
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
+
Definition: Command.cpp:4
+
Definition: ConsoleSession.h:19
+
virtual void output(std::stringstream &out)
Definition: ConsoleSession.cpp:11
+
Definition: ConsoleServer.h:18
+
Definition: TerminalSession.h:29
+
+ + + + diff --git a/docs/html/_e_poll_8h_source.html b/docs/html/_e_poll_8h_source.html new file mode 100644 index 0000000..1fb7da5 --- /dev/null +++ b/docs/html/_e_poll_8h_source.html @@ -0,0 +1,89 @@ + + + + + + + +BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/EPoll.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Development/BMA/server_core/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
+
Definition: EPoll.h:31
+
Definition: Command.cpp:4
+
Definition: Session.h:22
+
~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
+
Definition: Socket.h:32
+
bool isStopping()
Returns a true if the stop command has been requested.
Definition: EPoll.cpp:68
+
EPoll()
Definition: EPoll.cpp:9
+
Definition: Command.h:18
+
bool registerSocket(Socket *socket)
Register a BMASocket for monitoring by BMAEPoll.
Definition: EPoll.cpp:72
+
int maxSockets
The maximum number of socket allowed.
Definition: EPoll.h:98
+
bool start(int numberOfThreads, int maxSockets)
Start the BMAEPoll processing.
Definition: EPoll.cpp:22
+
bool stop()
Stop and shut down the BMAEPoll processing.
Definition: EPoll.cpp:48
+
+ + + + diff --git a/docs/html/_exception_8h_source.html b/docs/html/_exception_8h_source.html new file mode 100644 index 0000000..7860b79 --- /dev/null +++ b/docs/html/_exception_8h_source.html @@ -0,0 +1,75 @@ + + + + + + + +BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/Exception.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Development/BMA/server_core/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
+
Definition: Command.cpp:4
+
+ + + + diff --git a/docs/html/_file_8h_source.html b/docs/html/_file_8h_source.html new file mode 100644 index 0000000..f137fd9 --- /dev/null +++ b/docs/html/_file_8h_source.html @@ -0,0 +1,75 @@ + + + + + + + +BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/File.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Development/BMA/server_core/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
+
Definition: Command.cpp:4
+
+ + + + diff --git a/docs/html/_header_8h_source.html b/docs/html/_header_8h_source.html new file mode 100644 index 0000000..5387ed2 --- /dev/null +++ b/docs/html/_header_8h_source.html @@ -0,0 +1,76 @@ + + + + + + + +BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/Header.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Development/BMA/server_core/ServerCore/Header.h
+
+
+
1 #ifndef __Header_h__
2 #define __Header_h__
3 
4 #include "includes"
5 #include "Object.h"
6 
7 namespace core {
8 
9  class Header : public Object {
10 
11  public:
12  Header(std::string data);
13  ~Header();
14 
15  std::string data;
16 
17  std::string requestMethod();
18  std::string requestURL();
19  std::string requestProtocol();
20 
21  private:
22 
23  // vector<map<string, string>> header;
24 
25  };
26 
27 }
28 
29 #endif
Definition: Command.cpp:4
+
Definition: Header.h:9
+
Definition: Object.h:8
+
+ + + + diff --git a/docs/html/_i_p_address_8h_source.html b/docs/html/_i_p_address_8h_source.html new file mode 100644 index 0000000..19f61ea --- /dev/null +++ b/docs/html/_i_p_address_8h_source.html @@ -0,0 +1,79 @@ + + + + + + + +BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/IPAddress.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Development/BMA/server_core/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();
14 
15  struct sockaddr_in address;
16  socklen_t addressLength;
17 
18  std::string getClientAddress();
19  std::string getClientAddressAndPort();
20  int getClientPort();
21 
22  };
23 
24 }
25 
26 #endif
int getClientPort()
Get the client network port number.
Definition: IPAddress.cpp:25
+
Definition: Command.cpp:4
+
std::string getClientAddressAndPort()
Get the client network address and port as xxx.xxx.xxx.xxx:ppppp.
Definition: IPAddress.cpp:18
+
Definition: IPAddress.h:9
+
std::string getClientAddress()
Get the client network address as xxx.xxx.xxx.xxx.
Definition: IPAddress.cpp:13
+
Definition: Object.h:8
+
+ + + + diff --git a/docs/html/_log_8h_source.html b/docs/html/_log_8h_source.html new file mode 100644 index 0000000..e4454e8 --- /dev/null +++ b/docs/html/_log_8h_source.html @@ -0,0 +1,83 @@ + + + + + + + +BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/Log.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Development/BMA/server_core/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
+
Definition: File.h:14
+
Definition: Command.cpp:4
+
static int seq
Definition: Log.h:88
+
static ConsoleServer * consoleServer
Definition: Log.h:74
+
static File * logFile
Definition: Log.h:81
+
~Log()
Definition: Log.cpp:61
+
Definition: Object.h:8
+
Log(ConsoleServer *consoleServer)
Definition: Log.cpp:10
+
Definition: ConsoleServer.h:18
+
+ + + + diff --git a/docs/html/_object_8h_source.html b/docs/html/_object_8h_source.html new file mode 100644 index 0000000..a319821 --- /dev/null +++ b/docs/html/_object_8h_source.html @@ -0,0 +1,75 @@ + + + + + + + +BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/Object.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Development/BMA/server_core/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
+
Definition: Object.h:8
+
+ + + + diff --git a/docs/html/_response_8h_source.html b/docs/html/_response_8h_source.html new file mode 100644 index 0000000..6090133 --- /dev/null +++ b/docs/html/_response_8h_source.html @@ -0,0 +1,83 @@ + + + + + + + +BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/Response.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Development/BMA/server_core/ServerCore/Response.h
+
+
+
1 #ifndef __Response_h__
2 #define __Response_h__
3 
4 #include "includes"
5 #include "Object.h"
6 
7 namespace core {
8 
15 
16  class Response : public Object {
17 
18  public:
19 
20  enum Mode { LENGTH, STREAMING };
21 
25 
26  Response();
27 
31 
32  ~Response();
33 
41 
42  std::string getResponse(Mode mode);
43 
55 
56  std::string getResponse(std::string content, Mode mode);
57 
64 
65  void setProtocol(std::string protocol);
66 
72 
73  void setCode(std::string code);
74 
81 
82  void setText(std::string text);
83 
89 
90  void setMimeType(std::string mimeType);
91 
92  void addHeaderItem(std::string key, std::string value);
93 
94  private:
95  std::string protocol;
96  std::string code;
97  std::string text;
98  std::string mimeType;
99 
100  std::string CRLF = "\r\n";
101 
102  std::map<std::string, std::string> header;
103 
104  };
105 
106 }
107 
108 #endif
void setProtocol(std::string protocol)
Definition: Response.cpp:30
+
void setText(std::string text)
Definition: Response.cpp:38
+
Response()
Definition: Response.cpp:6
+
Definition: Command.cpp:4
+
Definition: Response.h:16
+
void setCode(std::string code)
Definition: Response.cpp:34
+
void setMimeType(std::string mimeType)
Definition: Response.cpp:42
+
~Response()
Definition: Response.cpp:7
+
std::string getResponse(Mode mode)
Definition: Response.cpp:9
+
Definition: Object.h:8
+
+ + + + diff --git a/docs/html/_session_8h_source.html b/docs/html/_session_8h_source.html new file mode 100644 index 0000000..039f6dc --- /dev/null +++ b/docs/html/_session_8h_source.html @@ -0,0 +1,83 @@ + + + + + + + +BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/Session.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Development/BMA/server_core/ServerCore/Session.h
+
+
+
1 #ifndef __Session_h__
2 #define __Session_h__
3 
4 #include "TCPSocket.h"
5 //#include "TCPServerSocket.h"
6 #include "SessionFilter.h"
7 
8 namespace core {
9 
10  class TCPServerSocket;
11 
21 
22  class Session : public TCPSocket {
23 
24  public:
25  Session(EPoll &ePoll, TCPServerSocket &server);
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  TCPServerSocket &getServer();
57  TCPServerSocket &server;
58 
59  protected:
60  void onDataReceived(std::string data) override;
61  void onConnected() override;
62  virtual void protocol(std::string data) = 0;
63 
64  private:
65 
66  };
67 
68 }
69 
70 #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:30
+
Definition: TCPSocket.h:20
+
void sendToAll()
Definition: Session.cpp:34
+
void onConnected() override
Called when socket is open and ready to communicate.
Definition: Session.cpp:26
+
Definition: SessionFilter.h:10
+
void send()
Definition: Session.cpp:52
+
Definition: TCPServerSocket.h:23
+
+ + + + diff --git a/docs/html/_session_filter_8h_source.html b/docs/html/_session_filter_8h_source.html new file mode 100644 index 0000000..56148eb --- /dev/null +++ b/docs/html/_session_filter_8h_source.html @@ -0,0 +1,77 @@ + + + + + + + +BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/SessionFilter.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Development/BMA/server_core/ServerCore/SessionFilter.h
+
+
+
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
+
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 new file mode 100644 index 0000000..d1c8990 --- /dev/null +++ b/docs/html/_socket_8h_source.html @@ -0,0 +1,87 @@ + + + + + + + +BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/Socket.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Development/BMA/server_core/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
+
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
+
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
+
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
+
+ + + + diff --git a/docs/html/_t_c_p_server_socket_8h_source.html b/docs/html/_t_c_p_server_socket_8h_source.html new file mode 100644 index 0000000..914b050 --- /dev/null +++ b/docs/html/_t_c_p_server_socket_8h_source.html @@ -0,0 +1,86 @@ + + + + + + + +BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/TCPServerSocket.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Development/BMA/server_core/ServerCore/TCPServerSocket.h
+
+
+
1 #ifndef __TCPServerSocket_h__
2 #define __TCPServerSocket_h__
3 
4 #include "Socket.h"
5 #include "TCPSocket.h"
6 #include "Command.h"
7 #include "CommandList.h"
8 
9 namespace core {
10 
22 
23  class TCPServerSocket : public TCPSocket, public Command {
24 
25  public:
26 
35 
36  TCPServerSocket(EPoll &ePoll, std::string url, short int port);
37 
41 
43 
44  void removeFromSessionList(Session *session);
45 
49 
50  std::vector<Session *> sessions;
51 
52  CommandList commands;
53 
54  protected:
55 
56  virtual void init();
57 
65 
66  virtual Session * getSocketAccept() = 0;
67 
77 
78  void onDataReceived(std::string data) override;
79 
86 
87  int processCommand(std::string command, Session *session) override;
88 
89  private:
90 
91  Session * accept();
92 
93  };
94 
95 }
96 
97 #endif
Definition: EPoll.h:31
+
Definition: Command.cpp:4
+
Definition: Session.h:22
+
virtual Session * getSocketAccept()=0
+
void onDataReceived(std::string data) override
Definition: TCPServerSocket.cpp:40
+
TCPServerSocket(EPoll &ePoll, std::string url, short int port)
Definition: TCPServerSocket.cpp:8
+
std::vector< Session * > sessions
Definition: TCPServerSocket.h:50
+
int processCommand(std::string command, Session *session) override
Definition: TCPServerSocket.cpp:59
+
Definition: Command.h:18
+
Definition: TCPSocket.h:20
+
Definition: CommandList.h:9
+
Definition: TCPServerSocket.h:23
+
~TCPServerSocket()
Definition: TCPServerSocket.cpp:34
+
+ + + + diff --git a/docs/html/_t_c_p_socket_8h_source.html b/docs/html/_t_c_p_socket_8h_source.html new file mode 100644 index 0000000..718afb2 --- /dev/null +++ b/docs/html/_t_c_p_socket_8h_source.html @@ -0,0 +1,79 @@ + + + + + + + +BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/TCPSocket.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Development/BMA/server_core/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
+
Definition: Command.cpp:4
+
Definition: Socket.h:32
+
Definition: IPAddress.h:9
+
Definition: TCPSocket.h:20
+
virtual void output(std::stringstream &out)
Definition: TCPSocket.cpp:19
+
+ + + + diff --git a/docs/html/_t_l_s_server_socket_8h_source.html b/docs/html/_t_l_s_server_socket_8h_source.html new file mode 100644 index 0000000..a3ea127 --- /dev/null +++ b/docs/html/_t_l_s_server_socket_8h_source.html @@ -0,0 +1,81 @@ + + + + + + + +BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/TLSServerSocket.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Development/BMA/server_core/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 <openssl/ssl.h>
9 #include <openssl/rand.h>
10 #include <openssl/err.h>
11 
12 // Global values used by all TLS functions for this server socket.
13 //
14 namespace core {
15 
22 
24 
25  public:
26 
35 
36  TLSServerSocket(EPoll &ePoll, std::string url, short int port);
37 
41 
43 
44  SSL_CTX *ctx;
45 
46  protected:
47  Session * getSocketAccept() override;
48 
49  private:
50  void tlsServerInit();
51 
52  char *sip_cacert = (char *)"/home/barant/testkeys/certs/pbxca.crt";
53  char *sip_cert = (char *)"/home/barant/testkeys/certs/pbxserver.crt";
54  char *sip_key = (char *)"/home/barant/testkeys/certs/pbxserver.key";
55 
56  };
57 
58 }
59 
60 #endif
Definition: EPoll.h:31
+
Definition: Command.cpp:4
+
Definition: Session.h:22
+
TLSServerSocket(EPoll &ePoll, std::string url, short int port)
Definition: TLSServerSocket.cpp:18
+
~TLSServerSocket()
Definition: TLSServerSocket.cpp:42
+
Session * getSocketAccept() override
Definition: TLSServerSocket.cpp:61
+
Definition: TCPServerSocket.h:23
+
Definition: TLSServerSocket.h:23
+
+ + + + diff --git a/docs/html/_t_l_s_session_8h_source.html b/docs/html/_t_l_s_session_8h_source.html new file mode 100644 index 0000000..9a098bc --- /dev/null +++ b/docs/html/_t_l_s_session_8h_source.html @@ -0,0 +1,80 @@ + + + + + + + +BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/TLSSession.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Development/BMA/server_core/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, TLSServerSocket &server);
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
+
Definition: Command.cpp:4
+
Definition: Session.h:22
+
void receiveData(char *buffer, int bufferLength) override
Definition: TLSSession.cpp:86
+
Definition: TLSSession.h:23
+
virtual void output(std::stringstream &out)
Definition: TLSSession.cpp:122
+
Definition: TLSServerSocket.h:23
+
+ + + + diff --git a/docs/html/_terminal_8h_source.html b/docs/html/_terminal_8h_source.html new file mode 100644 index 0000000..583f76d --- /dev/null +++ b/docs/html/_terminal_8h_source.html @@ -0,0 +1,78 @@ + + + + + + + +BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/Terminal.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Development/BMA/server_core/ServerCore/Terminal.h
+
+
+
1 #ifndef __Terminal_h__
2 #define __Terminal_h__
3 
4 #include "includes"
5 #include "Session.h"
6 
7 namespace core {
8 
9  static const int FG_BLACK = 30;
10  static const int FG_RED = 31;
11  static const int FG_GREEN = 32;
12  static const int FG_YELLOW = 33;
13  static const int FG_BLUE = 34;
14  static const int FG_MAGENTA = 35;
15  static const int FG_CYAN = 36;
16  static const int FG_WHITE = 37;
17 
18  static const int BG_BLACK = 40;
19  static const int BG_RED = 41;
20  static const int BG_GREEN = 42;
21  static const int BG_YELLOW = 43;
22  static const int BG_BLUE = 44;
23  static const int BG_MAGENTA = 45;
24  static const int BG_CYAN = 46;
25  static const int BG_WHITE = 47;
26 
27  static const char esc = 0x1b;
28 
29  class Terminal : public Session {
30 
31  public:
32  Terminal(EPoll &ePoll, TCPServerSocket &server);
33  ~Terminal();
34 
35  int getLines();
36 
37  void clear();
38  void clearEOL();
39  void setCursorLocation(int x, int y);
40  void setColor(int color);
41  void setBackColor(int color);
42  void saveCursor();
43  void restoreCursor();
44  void NextLine(int lines);
45  void PreviousLine(int lines);
46  void scrollArea(int start, int end);
47 
48  };
49 
50 }
51 
52 #endif
Definition: EPoll.h:31
+
Definition: Command.cpp:4
+
Definition: Session.h:20
+
Definition: Terminal.h:29
+
Definition: TCPServerSocket.h:22
+
+ + + + diff --git a/docs/html/_terminal_session_8h_source.html b/docs/html/_terminal_session_8h_source.html new file mode 100644 index 0000000..baccaf4 --- /dev/null +++ b/docs/html/_terminal_session_8h_source.html @@ -0,0 +1,78 @@ + + + + + + + +BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/TerminalSession.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Development/BMA/server_core/ServerCore/TerminalSession.h
+
+
+
1 #ifndef __Terminal_h__
2 #define __Terminal_h__
3 
4 #include "includes"
5 #include "Session.h"
6 
7 namespace core {
8 
9  static const int FG_BLACK = 30;
10  static const int FG_RED = 31;
11  static const int FG_GREEN = 32;
12  static const int FG_YELLOW = 33;
13  static const int FG_BLUE = 34;
14  static const int FG_MAGENTA = 35;
15  static const int FG_CYAN = 36;
16  static const int FG_WHITE = 37;
17 
18  static const int BG_BLACK = 40;
19  static const int BG_RED = 41;
20  static const int BG_GREEN = 42;
21  static const int BG_YELLOW = 43;
22  static const int BG_BLUE = 44;
23  static const int BG_MAGENTA = 45;
24  static const int BG_CYAN = 46;
25  static const int BG_WHITE = 47;
26 
27  static const char esc = 0x1b;
28 
29  class TerminalSession : public Session {
30 
31  public:
32  TerminalSession(EPoll &ePoll, TCPServerSocket &server);
33  ~TerminalSession();
34 
35  int getLines();
36 
37  void clear();
38  void clearEOL();
39  void setCursorLocation(int x, int y);
40  void setColor(int color);
41  void setBackColor(int color);
42  void saveCursor();
43  void restoreCursor();
44  void NextLine(int lines);
45  void PreviousLine(int lines);
46  void scrollArea(int start, int end);
47 
48  };
49 
50 }
51 
52 #endif
Definition: EPoll.h:31
+
Definition: Command.cpp:4
+
Definition: Session.h:22
+
Definition: TCPServerSocket.h:23
+
Definition: TerminalSession.h:29
+
+ + + + diff --git a/docs/html/_thread_8h_source.html b/docs/html/_thread_8h_source.html new file mode 100644 index 0000000..d6e5d19 --- /dev/null +++ b/docs/html/_thread_8h_source.html @@ -0,0 +1,79 @@ + + + + + + + +BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/Thread.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Development/BMA/server_core/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
+
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 new file mode 100644 index 0000000..10fe635 --- /dev/null +++ b/docs/html/_timer_8h_source.html @@ -0,0 +1,81 @@ + + + + + + + +BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/Timer.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Development/BMA/server_core/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
+
double getElapsed()
Definition: Timer.cpp:47
+
Definition: Command.cpp:4
+
virtual void onTimeout()=0
+
Definition: Timer.h:18
+
void setTimer(double delay)
Definition: Timer.cpp:14
+
Definition: Socket.h:32
+
void clearTimer()
Definition: Timer.cpp:34
+
+ + + + diff --git a/docs/html/_u_d_p_server_socket_8h_source.html b/docs/html/_u_d_p_server_socket_8h_source.html new file mode 100644 index 0000000..8da133e --- /dev/null +++ b/docs/html/_u_d_p_server_socket_8h_source.html @@ -0,0 +1,80 @@ + + + + + + + +BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/UDPServerSocket.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Development/BMA/server_core/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
+
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
+
Definition: Command.h:18
+
+ + + + diff --git a/docs/html/_u_d_p_socket_8h_source.html b/docs/html/_u_d_p_socket_8h_source.html new file mode 100644 index 0000000..dea0949 --- /dev/null +++ b/docs/html/_u_d_p_socket_8h_source.html @@ -0,0 +1,77 @@ + + + + + + + +BMA Server Framework: /home/barant/Development/BMA/server_core/ServerCore/UDPSocket.h Source File + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
/home/barant/Development/BMA/server_core/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
+
Definition: Command.cpp:4
+
Definition: UDPSocket.h:9
+
Definition: Socket.h:32
+
+ + + + diff --git a/docs/html/annotated.html b/docs/html/annotated.html new file mode 100644 index 0000000..9d44bc4 --- /dev/null +++ b/docs/html/annotated.html @@ -0,0 +1,102 @@ + + + + + + + +BMA Server Framework: Class List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
Class List
+
+
+
Here are the classes, structs, unions and interfaces with brief descriptions:
+
[detail level 12]
+ + + + + + + + + + + + + + + + + + + + + + + + + +
 Ncore
 CCommand
 CCommandList
 CConsoleServer
 CConsoleSession
 CEPoll
 CException
 CFile
 CHeader
 CIPAddress
 CLog
 CObject
 CResponse
 CSession
 CSessionFilter
 CSocket
 CTCPServerSocket
 CTCPSocket
 CTerminalSession
 CThread
 CTimer
 CTLSServerSocket
 CTLSSession
 CUDPServerSocket
 CUDPSocket
+
+
+ + + + diff --git a/docs/html/arrowdown.png b/docs/html/arrowdown.png new file mode 100644 index 0000000..0b63f6d Binary files /dev/null and b/docs/html/arrowdown.png differ diff --git a/docs/html/arrowright.png b/docs/html/arrowright.png new file mode 100644 index 0000000..c6ee22f Binary files /dev/null and b/docs/html/arrowright.png differ diff --git a/docs/html/bc_s.png b/docs/html/bc_s.png new file mode 100644 index 0000000..224b29a Binary files /dev/null and b/docs/html/bc_s.png differ diff --git a/docs/html/bdwn.png b/docs/html/bdwn.png new file mode 100644 index 0000000..940a0b9 Binary files /dev/null and b/docs/html/bdwn.png differ diff --git a/docs/html/class_b_m_a_account-members.html b/docs/html/class_b_m_a_account-members.html new file mode 100644 index 0000000..1975733 --- /dev/null +++ b/docs/html/class_b_m_a_account-members.html @@ -0,0 +1,85 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMAAccount Member List
+
+
+ +

This is the complete list of members for BMAAccount, including all inherited members.

+ + + + + + + + + + +
BMAAccount() (defined in BMAAccount)BMAAccount
contacts (defined in BMAAccount)BMAAccount
getAlias() (defined in BMAAccount)BMAAccount
getName() (defined in BMAAccount)BMAAccount
name (defined in BMAObject)BMAObject
setAlias(string name) (defined in BMAAccount)BMAAccount
setName(string name) (defined in BMAAccount)BMAAccount
tag (defined in BMAObject)BMAObject
~BMAAccount() (defined in BMAAccount)BMAAccount
+ + + + diff --git a/docs/html/class_b_m_a_account.html b/docs/html/class_b_m_a_account.html new file mode 100644 index 0000000..78a01ec --- /dev/null +++ b/docs/html/class_b_m_a_account.html @@ -0,0 +1,125 @@ + + + + + + + +BMA Server Framework: BMAAccount Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
BMAAccount Class Reference
+
+
+
+Inheritance diagram for BMAAccount:
+
+
Inheritance graph
+ + + +
[legend]
+
+Collaboration diagram for BMAAccount:
+
+
Collaboration graph
+ + + +
[legend]
+ + + + + + + + + + +

+Public Member Functions

+string getName ()
 
+void setName (string name)
 
+string getAlias ()
 
+void setAlias (string name)
 
+ + + + + + + + +

+Public Attributes

+vector< string > contacts
 
- Public Attributes inherited from BMAObject
+std::string name
 
+std::string tag
 
+
The documentation for this class was generated from the following file:
    +
  • /home/barant/Documents/Development/BMASockets/BMAAccount.h
  • +
+
+ + + + diff --git a/docs/html/class_b_m_a_account__coll__graph.map b/docs/html/class_b_m_a_account__coll__graph.map new file mode 100644 index 0000000..4541524 --- /dev/null +++ b/docs/html/class_b_m_a_account__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/class_b_m_a_account__coll__graph.md5 b/docs/html/class_b_m_a_account__coll__graph.md5 new file mode 100644 index 0000000..a0a4536 --- /dev/null +++ b/docs/html/class_b_m_a_account__coll__graph.md5 @@ -0,0 +1 @@ +e48f7ad3dbcc3f7b3d82177a4e443b9a \ No newline at end of file diff --git a/docs/html/class_b_m_a_account__coll__graph.png b/docs/html/class_b_m_a_account__coll__graph.png new file mode 100644 index 0000000..60c3f4a Binary files /dev/null and b/docs/html/class_b_m_a_account__coll__graph.png differ diff --git a/docs/html/class_b_m_a_account__inherit__graph.map b/docs/html/class_b_m_a_account__inherit__graph.map new file mode 100644 index 0000000..4541524 --- /dev/null +++ b/docs/html/class_b_m_a_account__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/class_b_m_a_account__inherit__graph.md5 b/docs/html/class_b_m_a_account__inherit__graph.md5 new file mode 100644 index 0000000..fc79c8e --- /dev/null +++ b/docs/html/class_b_m_a_account__inherit__graph.md5 @@ -0,0 +1 @@ +89dbecc9650b9dbbcddb3c0b7907a849 \ No newline at end of file diff --git a/docs/html/class_b_m_a_account__inherit__graph.png b/docs/html/class_b_m_a_account__inherit__graph.png new file mode 100644 index 0000000..60c3f4a Binary files /dev/null and b/docs/html/class_b_m_a_account__inherit__graph.png differ diff --git a/docs/html/class_b_m_a_authenticate-members.html b/docs/html/class_b_m_a_authenticate-members.html new file mode 100644 index 0000000..fb75414 --- /dev/null +++ b/docs/html/class_b_m_a_authenticate-members.html @@ -0,0 +1,83 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMAAuthenticate Member List
+
+
+ +

This is the complete list of members for BMAAuthenticate, including all inherited members.

+ + + + + + + + +
BMAAuthenticate(BMASession *session) (defined in BMAAuthenticate)BMAAuthenticate
name (defined in BMAObject)BMAObject
onDataReceived(char *data, int length) (defined in BMAAuthenticate)BMAAuthenticate
onEnd() (defined in BMAAuthenticate)BMAAuthenticate
onStart() (defined in BMAAuthenticate)BMAAuthenticate
tag (defined in BMAObject)BMAObject
~BMAAuthenticate() (defined in BMAAuthenticate)BMAAuthenticate
+ + + + diff --git a/docs/html/class_b_m_a_authenticate.html b/docs/html/class_b_m_a_authenticate.html new file mode 100644 index 0000000..442b824 --- /dev/null +++ b/docs/html/class_b_m_a_authenticate.html @@ -0,0 +1,122 @@ + + + + + + + +BMA Server Framework: BMAAuthenticate Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
BMAAuthenticate Class Reference
+
+
+
+Inheritance diagram for BMAAuthenticate:
+
+
Inheritance graph
+ + + +
[legend]
+
+Collaboration diagram for BMAAuthenticate:
+
+
Collaboration graph
+ + + +
[legend]
+ + + + + + + + + + +

+Public Member Functions

BMAAuthenticate (BMASession *session)
 
+void onStart ()
 
+void onDataReceived (char *data, int length)
 
+void onEnd ()
 
+ + + + + + +

+Additional Inherited Members

- Public Attributes inherited from BMAObject
+std::string name
 
+std::string tag
 
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Development/BMA/server_core/ServerCore/BMAAuthenticate.h
  • +
  • /home/barant/Development/BMA/server_core/ServerCore/BMAAuthenticate.cpp
  • +
+
+ + + + diff --git a/docs/html/class_b_m_a_authenticate__coll__graph.map b/docs/html/class_b_m_a_authenticate__coll__graph.map new file mode 100644 index 0000000..5b13a13 --- /dev/null +++ b/docs/html/class_b_m_a_authenticate__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/class_b_m_a_authenticate__coll__graph.md5 b/docs/html/class_b_m_a_authenticate__coll__graph.md5 new file mode 100644 index 0000000..852d0eb --- /dev/null +++ b/docs/html/class_b_m_a_authenticate__coll__graph.md5 @@ -0,0 +1 @@ +ca4eb3c9639249b4397609b80ecba3c0 \ No newline at end of file diff --git a/docs/html/class_b_m_a_authenticate__coll__graph.png b/docs/html/class_b_m_a_authenticate__coll__graph.png new file mode 100644 index 0000000..598b8b5 Binary files /dev/null and b/docs/html/class_b_m_a_authenticate__coll__graph.png differ diff --git a/docs/html/class_b_m_a_authenticate__inherit__graph.map b/docs/html/class_b_m_a_authenticate__inherit__graph.map new file mode 100644 index 0000000..5b13a13 --- /dev/null +++ b/docs/html/class_b_m_a_authenticate__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/class_b_m_a_authenticate__inherit__graph.md5 b/docs/html/class_b_m_a_authenticate__inherit__graph.md5 new file mode 100644 index 0000000..a7d6b25 --- /dev/null +++ b/docs/html/class_b_m_a_authenticate__inherit__graph.md5 @@ -0,0 +1 @@ +3125bd0548e5749d58348496f91178ff \ No newline at end of file diff --git a/docs/html/class_b_m_a_authenticate__inherit__graph.png b/docs/html/class_b_m_a_authenticate__inherit__graph.png new file mode 100644 index 0000000..598b8b5 Binary files /dev/null and b/docs/html/class_b_m_a_authenticate__inherit__graph.png differ diff --git a/docs/html/class_b_m_a_command-members.html b/docs/html/class_b_m_a_command-members.html new file mode 100644 index 0000000..1350b55 --- /dev/null +++ b/docs/html/class_b_m_a_command-members.html @@ -0,0 +1,83 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMACommand Member List
+
+
+ +

This is the complete list of members for BMACommand, including all inherited members.

+ + + + + + + + +
BMACommand(std::string commandName) (defined in BMACommand)BMACommand
commandName (defined in BMACommand)BMACommand
name (defined in BMAObject)BMAObject
output(BMASession *session) (defined in BMACommand)BMACommandvirtual
processCommand(std::string command, BMASession *session)=0 (defined in BMACommand)BMACommandpure virtual
tag (defined in BMAObject)BMAObject
~BMACommand() (defined in BMACommand)BMACommand
+ + + + diff --git a/docs/html/class_b_m_a_command.html b/docs/html/class_b_m_a_command.html new file mode 100644 index 0000000..217a3ed --- /dev/null +++ b/docs/html/class_b_m_a_command.html @@ -0,0 +1,128 @@ + + + + + + + +BMA Server Framework: BMACommand Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
BMACommand Class Referenceabstract
+
+
+
+Inheritance diagram for BMACommand:
+
+
Inheritance graph
+ + + + + + + + +
[legend]
+
+Collaboration diagram for BMACommand:
+
+
Collaboration graph
+ + + +
[legend]
+ + + + + + + + +

+Public Member Functions

BMACommand (std::string commandName)
 
+virtual void processCommand (std::string command, BMASession *session)=0
 
+virtual void output (BMASession *session)
 
+ + + + + + + + +

+Public Attributes

+std::string commandName
 
- Public Attributes inherited from BMAObject
+std::string name
 
+std::string tag
 
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Development/BMA/server_core/ServerCore/BMACommand.h
  • +
  • /home/barant/Development/BMA/server_core/ServerCore/BMACommand.cpp
  • +
+
+ + + + diff --git a/docs/html/class_b_m_a_command__coll__graph.map b/docs/html/class_b_m_a_command__coll__graph.map new file mode 100644 index 0000000..f2cd226 --- /dev/null +++ b/docs/html/class_b_m_a_command__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/class_b_m_a_command__coll__graph.md5 b/docs/html/class_b_m_a_command__coll__graph.md5 new file mode 100644 index 0000000..7f9e1f9 --- /dev/null +++ b/docs/html/class_b_m_a_command__coll__graph.md5 @@ -0,0 +1 @@ +2c062057b35e6a3a9587cc32bff45dc5 \ No newline at end of file diff --git a/docs/html/class_b_m_a_command__coll__graph.png b/docs/html/class_b_m_a_command__coll__graph.png new file mode 100644 index 0000000..f33386b Binary files /dev/null and b/docs/html/class_b_m_a_command__coll__graph.png differ diff --git a/docs/html/class_b_m_a_command__inherit__graph.map b/docs/html/class_b_m_a_command__inherit__graph.map new file mode 100644 index 0000000..35ca66c --- /dev/null +++ b/docs/html/class_b_m_a_command__inherit__graph.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/html/class_b_m_a_command__inherit__graph.md5 b/docs/html/class_b_m_a_command__inherit__graph.md5 new file mode 100644 index 0000000..e4929b3 --- /dev/null +++ b/docs/html/class_b_m_a_command__inherit__graph.md5 @@ -0,0 +1 @@ +7a1e55e2205357bb9649dfbe8cc72716 \ No newline at end of file diff --git a/docs/html/class_b_m_a_command__inherit__graph.png b/docs/html/class_b_m_a_command__inherit__graph.png new file mode 100644 index 0000000..7c1f8fb Binary files /dev/null and b/docs/html/class_b_m_a_command__inherit__graph.png differ diff --git a/docs/html/class_b_m_a_command_session-members.html b/docs/html/class_b_m_a_command_session-members.html new file mode 100644 index 0000000..1e68be2 --- /dev/null +++ b/docs/html/class_b_m_a_command_session-members.html @@ -0,0 +1,105 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMACommandSession Member List
+
+
+ +

This is the complete list of members for BMACommandSession, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BMACommandSession(BMAEPoll &ePoll) (defined in BMACommandSession)BMACommandSession
BMASession(BMAEPoll &ePoll) (defined in BMASession)BMASession
BMASocket(BMAEPoll &ePoll) (defined in BMASocket)BMASocket
BMATCPSocket(BMAEPoll &ePoll) (defined in BMATCPSocket)BMATCPSocket
bufferSize (defined in BMASocket)BMASocket
client_addr (defined in BMATCPSocket)BMATCPSocket
client_addr_len (defined in BMATCPSocket)BMATCPSocket
command (defined in BMASession)BMASession
ePoll (defined in BMASocket)BMASocketprotected
eventReceived(struct epoll_event event)BMASocket
getClientAddress()BMATCPSocket
getClientAddressAndPort()BMATCPSocket
getClientPort()BMATCPSocket
getDescriptor()BMASocket
name (defined in BMAObject)BMAObject
onConnected()BMASessionprotectedvirtual
onDataReceived(char *data, int length)BMASessionprotectedvirtual
onRegistered()BMASocketvirtual
output(stringstream &out)BMACommandSessionvirtual
protocol(char *data, int length) override (defined in BMACommandSession)BMACommandSessionprotectedvirtual
setBufferSize(int length) (defined in BMASocket)BMASocketprotected
setDescriptor(int descriptor)BMASocket
shutDown (defined in BMASocket)BMASocketprotected
tag (defined in BMAObject)BMAObject
write(char *buffer, int length) (defined in BMASocket)BMASocket
~BMACommandSession() (defined in BMACommandSession)BMACommandSession
~BMASession() (defined in BMASession)BMASession
~BMASocket()BMASocket
~BMATCPSocket() (defined in BMATCPSocket)BMATCPSocket
+ + + + diff --git a/docs/html/class_b_m_a_command_session.html b/docs/html/class_b_m_a_command_session.html new file mode 100644 index 0000000..219a374 --- /dev/null +++ b/docs/html/class_b_m_a_command_session.html @@ -0,0 +1,249 @@ + + + + + + + +BMA Server Framework: BMACommandSession Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
BMACommandSession Class Reference
+
+
+ +

#include <BMACommandSession.h>

+
+Inheritance diagram for BMACommandSession:
+
+
Inheritance graph
+ + + + + + +
[legend]
+
+Collaboration diagram for BMACommandSession:
+
+
Collaboration graph
+ + + + + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

BMACommandSession (BMAEPoll &ePoll)
 
virtual void output (stringstream &out)
 
- Public Member Functions inherited from BMASession
BMASession (BMAEPoll &ePoll)
 
- Public Member Functions inherited from BMATCPSocket
BMATCPSocket (BMAEPoll &ePoll)
 
+string getClientAddress ()
 Get the client network address as xxx.xxx.xxx.xxx.
 
+string getClientAddressAndPort ()
 Get the client network address and port as xxx.xxx.xxx.xxx:ppppp.
 
+int getClientPort ()
 Get the client network port number.
 
void onConnected () override
 Called when socket is open and ready to communicate. More...
 
- Public Member Functions inherited from BMASocket
BMASocket (BMAEPoll &ePoll)
 
 ~BMASocket ()
 
+void setDescriptor (int descriptor)
 Set the descriptor for the socket.
 
+int getDescriptor ()
 Get the descriptor for the socket.
 
void eventReceived (struct epoll_event event)
 Parse epoll event and call specified callbacks. More...
 
+void write (char *buffer, int length)
 
+void output (stringstream &out)
 
virtual void onRegistered ()
 Called when the socket has finished registering with the epoll processing. More...
 
+ + + + + + + + + + + + + +

+Protected Member Functions

+void protocol (char *data, int length) override
 
- Protected Member Functions inherited from BMASession
virtual void onConnected ()
 Called when socket is open and ready to communicate. More...
 
virtual void onDataReceived (char *data, int length)
 Called when data is received from the socket. More...
 
- Protected Member Functions inherited from BMASocket
+void setBufferSize (int length)
 
+ + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Attributes inherited from BMASession
+string command
 
- Public Attributes inherited from BMATCPSocket
+struct sockaddr_in client_addr
 
+socklen_t client_addr_len
 
- Public Attributes inherited from BMASocket
+class {
bufferSize
 
- Public Attributes inherited from BMAObject
+string name
 
+string tag
 
- Protected Attributes inherited from BMASocket
+BMAEPollePoll
 
+bool shutDown = false
 
+

Detailed Description

+

BMACommandSession

+

Extends the session parameters for this BMATCPSocket derived object. Extend the protocol() method in order to define the behavior and protocol interaction for this socket.

+

Member Function Documentation

+ +

◆ output()

+ +
+
+ + + + + +
+ + + + + + + + +
void BMACommandSession::output (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 BMASession.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Documents/Development/BMASockets/BMACommandSession.h
  • +
  • /home/barant/Documents/Development/BMASockets/BMACommandSession.cpp
  • +
+
+ + + + diff --git a/docs/html/class_b_m_a_command_session__coll__graph.map b/docs/html/class_b_m_a_command_session__coll__graph.map new file mode 100644 index 0000000..cee794d --- /dev/null +++ b/docs/html/class_b_m_a_command_session__coll__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/html/class_b_m_a_command_session__coll__graph.md5 b/docs/html/class_b_m_a_command_session__coll__graph.md5 new file mode 100644 index 0000000..e8581be --- /dev/null +++ b/docs/html/class_b_m_a_command_session__coll__graph.md5 @@ -0,0 +1 @@ +e42a3b8ff18ae239211e4af70622aa75 \ No newline at end of file diff --git a/docs/html/class_b_m_a_command_session__coll__graph.png b/docs/html/class_b_m_a_command_session__coll__graph.png new file mode 100644 index 0000000..e927090 Binary files /dev/null and b/docs/html/class_b_m_a_command_session__coll__graph.png differ diff --git a/docs/html/class_b_m_a_command_session__inherit__graph.map b/docs/html/class_b_m_a_command_session__inherit__graph.map new file mode 100644 index 0000000..3c9ae9a --- /dev/null +++ b/docs/html/class_b_m_a_command_session__inherit__graph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/html/class_b_m_a_command_session__inherit__graph.md5 b/docs/html/class_b_m_a_command_session__inherit__graph.md5 new file mode 100644 index 0000000..2001cf9 --- /dev/null +++ b/docs/html/class_b_m_a_command_session__inherit__graph.md5 @@ -0,0 +1 @@ +cb80e2dde42f3ff8db3e692bc4e8cf21 \ No newline at end of file diff --git a/docs/html/class_b_m_a_command_session__inherit__graph.png b/docs/html/class_b_m_a_command_session__inherit__graph.png new file mode 100644 index 0000000..7a45daa Binary files /dev/null and b/docs/html/class_b_m_a_command_session__inherit__graph.png differ diff --git a/docs/html/class_b_m_a_console-members.html b/docs/html/class_b_m_a_console-members.html new file mode 100644 index 0000000..a65816c --- /dev/null +++ b/docs/html/class_b_m_a_console-members.html @@ -0,0 +1,112 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMAConsole Member List
+
+
+ +

This is the complete list of members for BMAConsole, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
accept()BMATCPServerSocketvirtual
BMACommand(string commandName) (defined in BMACommand)BMACommand
BMAConsole(BMAEPoll &ePoll, string url, short int port) (defined in BMAConsole)BMAConsole
BMASocket(BMAEPoll &ePoll) (defined in BMASocket)BMASocket
BMATCPServerSocket(BMAEPoll &ePoll, string url, short int port, string commandName) (defined in BMATCPServerSocket)BMATCPServerSocket
BMATCPSocket(BMAEPoll &ePoll) (defined in BMATCPSocket)BMATCPSocket
bufferSize (defined in BMASocket)BMASocket
client_addr (defined in BMATCPSocket)BMATCPSocket
client_addr_len (defined in BMATCPSocket)BMATCPSocket
commandName (defined in BMACommand)BMACommand
ePoll (defined in BMASocket)BMASocketprotected
eventReceived(struct epoll_event event)BMASocket
getClientAddress()BMATCPSocket
getClientAddressAndPort()BMATCPSocket
getClientPort()BMATCPSocket
getDescriptor()BMASocket
getSocketAccept() (defined in BMAConsole)BMAConsolevirtual
name (defined in BMAObject)BMAObject
name (defined in BMAObject)BMAObject
onConnected() overrideBMATCPSocketvirtual
onDataReceived(char *data, int length) overrideBMATCPServerSocketprotectedvirtual
onRegistered()BMASocketvirtual
output(stringstream &out)BMATCPSocketvirtual
processCommand(BMASession *session) (defined in BMATCPServerSocket)BMATCPServerSocketprotectedvirtual
sessions (defined in BMATCPServerSocket)BMATCPServerSocketprotected
setBufferSize(int length) (defined in BMASocket)BMASocketprotected
setDescriptor(int descriptor)BMASocket
shutDown (defined in BMASocket)BMASocketprotected
tag (defined in BMAObject)BMAObject
tag (defined in BMAObject)BMAObject
write(char *buffer, int length) (defined in BMASocket)BMASocket
~BMACommand() (defined in BMACommand)BMACommand
~BMAConsole() (defined in BMAConsole)BMAConsole
~BMASocket()BMASocket
~BMATCPServerSocket() (defined in BMATCPServerSocket)BMATCPServerSocket
~BMATCPSocket() (defined in BMATCPSocket)BMATCPSocket
+ + + + diff --git a/docs/html/class_b_m_a_console.html b/docs/html/class_b_m_a_console.html new file mode 100644 index 0000000..f213498 --- /dev/null +++ b/docs/html/class_b_m_a_console.html @@ -0,0 +1,221 @@ + + + + + + + +BMA Server Framework: BMAConsole Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
BMAConsole Class Reference
+
+
+
+Inheritance diagram for BMAConsole:
+
+
Inheritance graph
+ + + + + + + +
[legend]
+
+Collaboration diagram for BMAConsole:
+
+
Collaboration graph
+ + + + + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

BMAConsole (BMAEPoll &ePoll, string url, short int port)
 
+BMASessiongetSocketAccept ()
 
- Public Member Functions inherited from BMATCPServerSocket
BMATCPServerSocket (BMAEPoll &ePoll, string url, short int port, string commandName)
 
virtual BMASessionaccept ()
 
- Public Member Functions inherited from BMATCPSocket
BMATCPSocket (BMAEPoll &ePoll)
 
+string getClientAddress ()
 Get the client network address as xxx.xxx.xxx.xxx.
 
+string getClientAddressAndPort ()
 Get the client network address and port as xxx.xxx.xxx.xxx:ppppp.
 
+int getClientPort ()
 Get the client network port number.
 
virtual void output (stringstream &out)
 
void onConnected () override
 Called when socket is open and ready to communicate. More...
 
- Public Member Functions inherited from BMASocket
BMASocket (BMAEPoll &ePoll)
 
 ~BMASocket ()
 
+void setDescriptor (int descriptor)
 Set the descriptor for the socket.
 
+int getDescriptor ()
 Get the descriptor for the socket.
 
void eventReceived (struct epoll_event event)
 Parse epoll event and call specified callbacks. More...
 
+void write (char *buffer, int length)
 
+void output (stringstream &out)
 
virtual void onRegistered ()
 Called when the socket has finished registering with the epoll processing. More...
 
- Public Member Functions inherited from BMACommand
BMACommand (string commandName)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Attributes inherited from BMATCPSocket
+struct sockaddr_in client_addr
 
+socklen_t client_addr_len
 
- Public Attributes inherited from BMASocket
+class {
bufferSize
 
- Public Attributes inherited from BMAObject
+string name
 
+string tag
 
- Public Attributes inherited from BMACommand
+string commandName
 
- Protected Member Functions inherited from BMATCPServerSocket
void onDataReceived (char *data, int length) override
 Called when data is received from the socket. More...
 
+int processCommand (BMASession *session)
 
- Protected Member Functions inherited from BMASocket
+void setBufferSize (int length)
 
- Protected Attributes inherited from BMATCPServerSocket
+vector< BMASession * > sessions
 
- Protected Attributes inherited from BMASocket
+BMAEPollePoll
 
+bool shutDown = false
 
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Documents/Development/BMASockets/BMAConsole.h
  • +
  • /home/barant/Documents/Development/BMASockets/BMAConsole.cpp
  • +
+
+ + + + diff --git a/docs/html/class_b_m_a_console__coll__graph.map b/docs/html/class_b_m_a_console__coll__graph.map new file mode 100644 index 0000000..8ce28d9 --- /dev/null +++ b/docs/html/class_b_m_a_console__coll__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/html/class_b_m_a_console__coll__graph.md5 b/docs/html/class_b_m_a_console__coll__graph.md5 new file mode 100644 index 0000000..4d82fd3 --- /dev/null +++ b/docs/html/class_b_m_a_console__coll__graph.md5 @@ -0,0 +1 @@ +736f943223ee22b71ebe2d42afccfedc \ No newline at end of file diff --git a/docs/html/class_b_m_a_console__coll__graph.png b/docs/html/class_b_m_a_console__coll__graph.png new file mode 100644 index 0000000..995bf88 Binary files /dev/null and b/docs/html/class_b_m_a_console__coll__graph.png differ diff --git a/docs/html/class_b_m_a_console__inherit__graph.map b/docs/html/class_b_m_a_console__inherit__graph.map new file mode 100644 index 0000000..8d199ef --- /dev/null +++ b/docs/html/class_b_m_a_console__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/html/class_b_m_a_console__inherit__graph.md5 b/docs/html/class_b_m_a_console__inherit__graph.md5 new file mode 100644 index 0000000..97b2b52 --- /dev/null +++ b/docs/html/class_b_m_a_console__inherit__graph.md5 @@ -0,0 +1 @@ +9000f46fb165b43468b8d004d4f01b7b \ No newline at end of file diff --git a/docs/html/class_b_m_a_console__inherit__graph.png b/docs/html/class_b_m_a_console__inherit__graph.png new file mode 100644 index 0000000..ae78c3e Binary files /dev/null and b/docs/html/class_b_m_a_console__inherit__graph.png differ diff --git a/docs/html/class_b_m_a_console_command-members.html b/docs/html/class_b_m_a_console_command-members.html new file mode 100644 index 0000000..21f7f55 --- /dev/null +++ b/docs/html/class_b_m_a_console_command-members.html @@ -0,0 +1,104 @@ + + + + + + +BMA Server Framework: Member List + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMAConsoleCommand Member List
+
+
+ +

This is the complete list of members for BMAConsoleCommand, including all inherited members.

+ + + + + +
BMAConsoleCommand(string commandName)BMAConsoleCommand
commandNameBMAConsoleCommand
processCommand(BMAConsoleSession *session)BMAConsoleCommandvirtual
~BMAConsoleCommand()BMAConsoleCommand
+ + + + diff --git a/docs/html/class_b_m_a_console_command.html b/docs/html/class_b_m_a_console_command.html new file mode 100644 index 0000000..da63bcb --- /dev/null +++ b/docs/html/class_b_m_a_console_command.html @@ -0,0 +1,207 @@ + + + + + + +BMA Server Framework: BMAConsoleCommand Class Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
BMAConsoleCommand Class Reference
+
+
+ +

#include <BMAConsoleCommand.h>

+
+Inheritance diagram for BMAConsoleCommand:
+
+
Inheritance graph
+ + + + + + + + +
[legend]
+ + + + + + + + +

+Public Member Functions

 BMAConsoleCommand (string commandName)
 
 ~BMAConsoleCommand ()
 
virtual int processCommand (BMAConsoleSession *session)
 
+ + + +

+Public Attributes

string commandName
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
BMAConsoleCommand::BMAConsoleCommand (string commandName)
+
+ +
+
+ +
+
+ + + + + + + +
BMAConsoleCommand::~BMAConsoleCommand ()
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
int BMAConsoleCommand::processCommand (BMAConsoleSessionsession)
+
+virtual
+
+ +

Reimplemented in BMATCPServerSocket, and BMAEPoll.

+ +
+
+

Member Data Documentation

+ +
+
+ + + + +
string BMAConsoleCommand::commandName
+
+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/docs/html/class_b_m_a_console_command__inherit__graph.map b/docs/html/class_b_m_a_console_command__inherit__graph.map new file mode 100644 index 0000000..712b52e --- /dev/null +++ b/docs/html/class_b_m_a_console_command__inherit__graph.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/html/class_b_m_a_console_command__inherit__graph.md5 b/docs/html/class_b_m_a_console_command__inherit__graph.md5 new file mode 100644 index 0000000..3f294c0 --- /dev/null +++ b/docs/html/class_b_m_a_console_command__inherit__graph.md5 @@ -0,0 +1 @@ +57766abbc377da3cdff0434223cd0641 \ No newline at end of file diff --git a/docs/html/class_b_m_a_console_command__inherit__graph.png b/docs/html/class_b_m_a_console_command__inherit__graph.png new file mode 100644 index 0000000..33b23ec Binary files /dev/null and b/docs/html/class_b_m_a_console_command__inherit__graph.png differ diff --git a/docs/html/class_b_m_a_console_server-members.html b/docs/html/class_b_m_a_console_server-members.html new file mode 100644 index 0000000..bab75f9 --- /dev/null +++ b/docs/html/class_b_m_a_console_server-members.html @@ -0,0 +1,120 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMAConsoleServer Member List
+
+
+ +

This is the complete list of members for BMAConsoleServer, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BMACommand(std::string commandName) (defined in BMACommand)BMACommand
BMAConsoleServer(BMAEPoll &ePoll, std::string url, short int port) (defined in BMAConsoleServer)BMAConsoleServer
BMASocket(BMAEPoll &ePoll) (defined in BMASocket)BMASocket
BMATCPServerSocket(BMAEPoll &ePoll, std::string url, short int port, std::string commandName)BMATCPServerSocket
BMATCPSocket(BMAEPoll &ePoll) (defined in BMATCPSocket)BMATCPSocket
bufferSize (defined in BMASocket)BMASocket
commandName (defined in BMACommand)BMACommand
commands (defined in BMAConsoleServer)BMAConsoleServer
connect(BMAIPAddress &address) (defined in BMATCPSocket)BMATCPSocket
enable(bool mode)BMASocket
ePoll (defined in BMASocket)BMASocketprotected
eventReceived(struct epoll_event event)BMASocket
getDescriptor()BMASocket
getSocketAccept() overrideBMAConsoleServervirtual
init() (defined in BMATCPServerSocket)BMATCPServerSocketprotectedvirtual
ipAddress (defined in BMATCPSocket)BMATCPSocket
name (defined in BMAObject)BMAObject
name (defined in BMAObject)BMAObject
onConnected()BMASocketprotectedvirtual
onDataReceived(std::string data) overrideBMATCPServerSocketprotectedvirtual
onRegistered()BMASocketvirtual
onTLSInit() (defined in BMASocket)BMASocketprotectedvirtual
onUnregistered()BMASocketvirtual
output(BMASession *session) overrideBMAConsoleServervirtual
BMATCPServerSocket::output(std::stringstream &out)BMATCPSocketvirtual
processCommand(std::string command, BMASession *session) overrideBMATCPServerSocketprotectedvirtual
receiveData(char *buffer, int bufferLength)BMASocketprotectedvirtual
registerCommand(BMACommand &command) (defined in BMAConsoleServer)BMAConsoleServer
removeFromSessionList(BMASession *session) (defined in BMATCPServerSocket)BMATCPServerSocket
sendToConnectedConsoles(std::string out) (defined in BMAConsoleServer)BMAConsoleServer
sessionsBMATCPServerSocket
setBufferSize(int length) (defined in BMASocket)BMASocketprotected
setDescriptor(int descriptor)BMASocket
shutDown (defined in BMASocket)BMASocketprotected
shutdown() (defined in BMASocket)BMASocketprotected
tag (defined in BMAObject)BMAObject
tag (defined in BMAObject)BMAObject
write(std::string data)BMASocket
write(char *buffer, int length) (defined in BMASocket)BMASocket
~BMACommand() (defined in BMACommand)BMACommand
~BMAConsoleServer() (defined in BMAConsoleServer)BMAConsoleServer
~BMASocket() (defined in BMASocket)BMASocket
~BMATCPServerSocket()BMATCPServerSocket
~BMATCPSocket() (defined in BMATCPSocket)BMATCPSocket
+ + + + diff --git a/docs/html/class_b_m_a_console_server.html b/docs/html/class_b_m_a_console_server.html new file mode 100644 index 0000000..e5bd721 --- /dev/null +++ b/docs/html/class_b_m_a_console_server.html @@ -0,0 +1,271 @@ + + + + + + + +BMA Server Framework: BMAConsoleServer Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
BMAConsoleServer Class Reference
+
+
+
+Inheritance diagram for BMAConsoleServer:
+
+
Inheritance graph
+ + + + + + + +
[legend]
+
+Collaboration diagram for BMAConsoleServer:
+
+
Collaboration graph
+ + + + + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

BMAConsoleServer (BMAEPoll &ePoll, std::string url, short int port)
 
+void sendToConnectedConsoles (std::string out)
 
BMASessiongetSocketAccept () override
 
+void registerCommand (BMACommand &command)
 
+void output (BMASession *session) override
 Output the consoles array to the console.
 
- Public Member Functions inherited from BMATCPServerSocket
 BMATCPServerSocket (BMAEPoll &ePoll, std::string url, short int port, std::string commandName)
 
 ~BMATCPServerSocket ()
 
+void removeFromSessionList (BMASession *session)
 
- Public Member Functions inherited from BMATCPSocket
BMATCPSocket (BMAEPoll &ePoll)
 
+void connect (BMAIPAddress &address)
 
virtual void output (std::stringstream &out)
 
- Public Member Functions inherited from BMASocket
BMASocket (BMAEPoll &ePoll)
 
+void setDescriptor (int descriptor)
 Set the descriptor for the socket.
 
+int getDescriptor ()
 Get the descriptor for the socket.
 
void eventReceived (struct epoll_event event)
 Parse epoll event and call specified callbacks. More...
 
void write (std::string data)
 
+void write (char *buffer, int length)
 
+void output (std::stringstream &out)
 
virtual void onRegistered ()
 Called when the socket has finished registering with the epoll processing. More...
 
virtual void onUnregistered ()
 Called when the socket has finished unregistering for the epoll processing. More...
 
+void enable (bool mode)
 Enable the socket to read or write based upon buffer.
 
- Public Member Functions inherited from BMACommand
BMACommand (std::string commandName)
 
+ + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+std::vector< BMACommand * > commands
 
- Public Attributes inherited from BMATCPServerSocket
std::vector< BMASession * > sessions
 
- Public Attributes inherited from BMATCPSocket
+BMAIPAddress ipAddress
 
- Public Attributes inherited from BMASocket
+class {
bufferSize
 
- Public Attributes inherited from BMAObject
+std::string name
 
+std::string tag
 
- Public Attributes inherited from BMACommand
+std::string commandName
 
+ + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from BMATCPServerSocket
+virtual void init ()
 
void onDataReceived (std::string data) override
 
void processCommand (std::string command, BMASession *session) override
 
- Protected Member Functions inherited from BMASocket
+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)
 
- Protected Attributes inherited from BMASocket
+BMAEPollePoll
 
+bool shutDown = false
 
+

Member Function Documentation

+ +

◆ getSocketAccept()

+ +
+
+ + + + + +
+ + + + + + + +
BMASession * BMAConsoleServer::getSocketAccept ()
+
+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 BMASession provides the mechanism where the server can select the protocol dialog for the desired service.

+ +

Implements BMATCPServerSocket.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Development/BMA/server_core/ServerCore/BMAConsoleServer.h
  • +
  • /home/barant/Development/BMA/server_core/ServerCore/BMAConsoleServer.cpp
  • +
+
+ + + + diff --git a/docs/html/class_b_m_a_console_server__coll__graph.map b/docs/html/class_b_m_a_console_server__coll__graph.map new file mode 100644 index 0000000..d30723b --- /dev/null +++ b/docs/html/class_b_m_a_console_server__coll__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/html/class_b_m_a_console_server__coll__graph.md5 b/docs/html/class_b_m_a_console_server__coll__graph.md5 new file mode 100644 index 0000000..b41d334 --- /dev/null +++ b/docs/html/class_b_m_a_console_server__coll__graph.md5 @@ -0,0 +1 @@ +b2c36fd9c3f0813ca3c3bdf3356f7175 \ No newline at end of file diff --git a/docs/html/class_b_m_a_console_server__coll__graph.png b/docs/html/class_b_m_a_console_server__coll__graph.png new file mode 100644 index 0000000..fa1bbab Binary files /dev/null and b/docs/html/class_b_m_a_console_server__coll__graph.png differ diff --git a/docs/html/class_b_m_a_console_server__inherit__graph.map b/docs/html/class_b_m_a_console_server__inherit__graph.map new file mode 100644 index 0000000..5c27b8c --- /dev/null +++ b/docs/html/class_b_m_a_console_server__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/html/class_b_m_a_console_server__inherit__graph.md5 b/docs/html/class_b_m_a_console_server__inherit__graph.md5 new file mode 100644 index 0000000..0931b37 --- /dev/null +++ b/docs/html/class_b_m_a_console_server__inherit__graph.md5 @@ -0,0 +1 @@ +46495a82597558e2000a3f3eb5daf4ad \ No newline at end of file diff --git a/docs/html/class_b_m_a_console_server__inherit__graph.png b/docs/html/class_b_m_a_console_server__inherit__graph.png new file mode 100644 index 0000000..551f6ba Binary files /dev/null and b/docs/html/class_b_m_a_console_server__inherit__graph.png differ diff --git a/docs/html/class_b_m_a_console_session-members.html b/docs/html/class_b_m_a_console_session-members.html new file mode 100644 index 0000000..6eafbed --- /dev/null +++ b/docs/html/class_b_m_a_console_session-members.html @@ -0,0 +1,129 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMAConsoleSession Member List
+
+
+ +

This is the complete list of members for BMAConsoleSession, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BMAConsoleSession(BMAEPoll &ePoll, BMAConsoleServer &server) (defined in BMAConsoleSession)BMAConsoleSession
BMASession(BMAEPoll &ePoll, BMATCPServerSocket &server) (defined in BMASession)BMASession
BMASocket(BMAEPoll &ePoll) (defined in BMASocket)BMASocket
BMATCPSocket(BMAEPoll &ePoll) (defined in BMATCPSocket)BMATCPSocket
BMATerminal(BMAEPoll &ePoll, BMATCPServerSocket &server) (defined in BMATerminal)BMATerminal
bufferSize (defined in BMASocket)BMASocket
clear() (defined in BMATerminal)BMATerminal
clearEOL() (defined in BMATerminal)BMATerminal
connect(BMAIPAddress &address) (defined in BMATCPSocket)BMATCPSocket
enable(bool mode)BMASocket
ePoll (defined in BMASocket)BMASocketprotected
eventReceived(struct epoll_event event)BMASocket
getDescriptor()BMASocket
getLines() (defined in BMATerminal)BMATerminal
getServer() (defined in BMASession)BMASession
init() (defined in BMASession)BMASessionvirtual
ipAddress (defined in BMATCPSocket)BMATCPSocket
name (defined in BMAObject)BMAObject
NextLine(int lines) (defined in BMATerminal)BMATerminal
onConnected() overrideBMASessionprotectedvirtual
onDataReceived(std::string data) overrideBMASessionprotectedvirtual
onRegistered()BMASocketvirtual
onTLSInit() (defined in BMASocket)BMASocketprotectedvirtual
onUnregistered()BMASocketvirtual
out (defined in BMASession)BMASession
output(std::stringstream &out)BMAConsoleSessionvirtual
output(BMASession *session) (defined in BMASession)BMASessionvirtual
PreviousLine(int lines) (defined in BMATerminal)BMATerminal
protocol(std::string data) override (defined in BMAConsoleSession)BMAConsoleSessionprotectedvirtual
receiveData(char *buffer, int bufferLength)BMASocketprotectedvirtual
restoreCursor() (defined in BMATerminal)BMATerminal
saveCursor() (defined in BMATerminal)BMATerminal
scrollArea(int start, int end) (defined in BMATerminal)BMATerminal
send()BMASession
sendToAll()BMASession
sendToAll(BMASessionFilter *filter)BMASession
server (defined in BMASession)BMASession
setBackColor(int color) (defined in BMATerminal)BMATerminal
setBufferSize(int length) (defined in BMASocket)BMASocketprotected
setColor(int color) (defined in BMATerminal)BMATerminal
setCursorLocation(int x, int y) (defined in BMATerminal)BMATerminal
setDescriptor(int descriptor)BMASocket
shutdown() (defined in BMASocket)BMASocketprotected
shutDown (defined in BMASocket)BMASocketprotected
tag (defined in BMAObject)BMAObject
write(std::string data)BMASocket
write(char *buffer, int length) (defined in BMASocket)BMASocket
writeLog(std::string data) (defined in BMAConsoleSession)BMAConsoleSession
~BMAConsoleSession() (defined in BMAConsoleSession)BMAConsoleSession
~BMASession() (defined in BMASession)BMASession
~BMASocket() (defined in BMASocket)BMASocket
~BMATCPSocket() (defined in BMATCPSocket)BMATCPSocket
~BMATerminal() (defined in BMATerminal)BMATerminal
+ + + + diff --git a/docs/html/class_b_m_a_console_session.html b/docs/html/class_b_m_a_console_session.html new file mode 100644 index 0000000..acca844 --- /dev/null +++ b/docs/html/class_b_m_a_console_session.html @@ -0,0 +1,310 @@ + + + + + + + +BMA Server Framework: BMAConsoleSession Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
BMAConsoleSession Class Reference
+
+
+ +

#include <BMAConsoleSession.h>

+
+Inheritance diagram for BMAConsoleSession:
+
+
Inheritance graph
+ + + + + + + +
[legend]
+
+Collaboration diagram for BMAConsoleSession:
+
+
Collaboration graph
+ + + + + + + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

BMAConsoleSession (BMAEPoll &ePoll, BMAConsoleServer &server)
 
virtual void output (std::stringstream &out)
 
+void writeLog (std::string data)
 
- Public Member Functions inherited from BMATerminal
BMATerminal (BMAEPoll &ePoll, BMATCPServerSocket &server)
 
+int getLines ()
 
+void clear ()
 
+void clearEOL ()
 
+void setCursorLocation (int x, int y)
 
+void setColor (int color)
 
+void setBackColor (int color)
 
+void saveCursor ()
 
+void restoreCursor ()
 
+void NextLine (int lines)
 
+void PreviousLine (int lines)
 
+void scrollArea (int start, int end)
 
- Public Member Functions inherited from BMASession
BMASession (BMAEPoll &ePoll, BMATCPServerSocket &server)
 
+virtual void init ()
 
+virtual void output (BMASession *session)
 
void send ()
 
void sendToAll ()
 
void sendToAll (BMASessionFilter *filter)
 
+BMATCPServerSocketgetServer ()
 
- Public Member Functions inherited from BMATCPSocket
BMATCPSocket (BMAEPoll &ePoll)
 
+void connect (BMAIPAddress &address)
 
- Public Member Functions inherited from BMASocket
BMASocket (BMAEPoll &ePoll)
 
+void setDescriptor (int descriptor)
 Set the descriptor for the socket.
 
+int getDescriptor ()
 Get the descriptor for the socket.
 
void eventReceived (struct epoll_event event)
 Parse epoll event and call specified callbacks. More...
 
void write (std::string data)
 
+void write (char *buffer, int length)
 
+void output (std::stringstream &out)
 
virtual void onRegistered ()
 Called when the socket has finished registering with the epoll processing. More...
 
virtual void onUnregistered ()
 Called when the socket has finished unregistering for the epoll processing. More...
 
+void enable (bool mode)
 Enable the socket to read or write based upon buffer.
 
+ + + + + + + + + + + + + + + + + + + +

+Protected Member Functions

+void protocol (std::string data) override
 
- Protected Member Functions inherited from BMASession
void onDataReceived (std::string data) override
 Called when data is received from the socket. More...
 
void onConnected () override
 Called when socket is open and ready to communicate. More...
 
- Protected Member Functions inherited from BMASocket
+void setBufferSize (int length)
 
+virtual void onTLSInit ()
 
+void shutdown ()
 
virtual void receiveData (char *buffer, int bufferLength)
 
+ + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Attributes inherited from BMASession
+std::stringstream out
 
+BMATCPServerSocketserver
 
- Public Attributes inherited from BMATCPSocket
+BMAIPAddress ipAddress
 
- Public Attributes inherited from BMASocket
+class {
bufferSize
 
- Public Attributes inherited from BMAObject
+std::string name
 
+std::string tag
 
- Protected Attributes inherited from BMASocket
+BMAEPollePoll
 
+bool shutDown = false
 
+

Detailed Description

+

BMAConsoleSession

+

Extends the session parameters for this BMATCPSocket 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 BMAConsoleSession::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 BMATCPSocket.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Development/BMA/server_core/ServerCore/BMAConsoleSession.h
  • +
  • /home/barant/Development/BMA/server_core/ServerCore/BMAConsoleSession.cpp
  • +
+
+ + + + diff --git a/docs/html/class_b_m_a_console_session__coll__graph.map b/docs/html/class_b_m_a_console_session__coll__graph.map new file mode 100644 index 0000000..655eed5 --- /dev/null +++ b/docs/html/class_b_m_a_console_session__coll__graph.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/html/class_b_m_a_console_session__coll__graph.md5 b/docs/html/class_b_m_a_console_session__coll__graph.md5 new file mode 100644 index 0000000..37df652 --- /dev/null +++ b/docs/html/class_b_m_a_console_session__coll__graph.md5 @@ -0,0 +1 @@ +5a26fe700c4fb9c85ea31e05479348c0 \ No newline at end of file diff --git a/docs/html/class_b_m_a_console_session__coll__graph.png b/docs/html/class_b_m_a_console_session__coll__graph.png new file mode 100644 index 0000000..753aad3 Binary files /dev/null and b/docs/html/class_b_m_a_console_session__coll__graph.png differ diff --git a/docs/html/class_b_m_a_console_session__inherit__graph.map b/docs/html/class_b_m_a_console_session__inherit__graph.map new file mode 100644 index 0000000..85a0b81 --- /dev/null +++ b/docs/html/class_b_m_a_console_session__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/html/class_b_m_a_console_session__inherit__graph.md5 b/docs/html/class_b_m_a_console_session__inherit__graph.md5 new file mode 100644 index 0000000..e696be3 --- /dev/null +++ b/docs/html/class_b_m_a_console_session__inherit__graph.md5 @@ -0,0 +1 @@ +a9301c235d9589e36a9650d82601d70c \ No newline at end of file diff --git a/docs/html/class_b_m_a_console_session__inherit__graph.png b/docs/html/class_b_m_a_console_session__inherit__graph.png new file mode 100644 index 0000000..6547de2 Binary files /dev/null and b/docs/html/class_b_m_a_console_session__inherit__graph.png differ diff --git a/docs/html/class_b_m_a_e_poll-members.html b/docs/html/class_b_m_a_e_poll-members.html new file mode 100644 index 0000000..1b57faa --- /dev/null +++ b/docs/html/class_b_m_a_e_poll-members.html @@ -0,0 +1,93 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMAEPoll Member List
+
+
+ +

This is the complete list of members for BMAEPoll, including all inherited members.

+ + + + + + + + + + + + + + + + + + +
BMACommand(std::string commandName) (defined in BMACommand)BMACommand
BMAEPoll()BMAEPoll
commandName (defined in BMACommand)BMACommand
eventReceived(struct epoll_event event)BMAEPoll
getDescriptor()BMAEPoll
isStopping()BMAEPoll
maxSocketsBMAEPoll
name (defined in BMAObject)BMAObject
output(BMASession *session) (defined in BMACommand)BMACommandvirtual
processCommand(std::string command, BMASession *session) overrideBMAEPollvirtual
registerSocket(BMASocket *socket)BMAEPoll
start(int numberOfThreads, int maxSockets)BMAEPoll
stop()BMAEPoll
tag (defined in BMAObject)BMAObject
unregisterSocket(BMASocket *socket)BMAEPoll
~BMACommand() (defined in BMACommand)BMACommand
~BMAEPoll()BMAEPoll
+ + + + diff --git a/docs/html/class_b_m_a_e_poll.html b/docs/html/class_b_m_a_e_poll.html new file mode 100644 index 0000000..e6a0c26 --- /dev/null +++ b/docs/html/class_b_m_a_e_poll.html @@ -0,0 +1,448 @@ + + + + + + + +BMA Server Framework: BMAEPoll Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
BMAEPoll Class Reference
+
+
+ +

#include <BMAEPoll.h>

+
+Inheritance diagram for BMAEPoll:
+
+
Inheritance graph
+ + + + +
[legend]
+
+Collaboration diagram for BMAEPoll:
+
+
Collaboration graph
+ + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 BMAEPoll ()
 
 ~BMAEPoll ()
 
bool start (int numberOfThreads, int maxSockets)
 Start the BMAEPoll processing. More...
 
bool stop ()
 Stop and shut down the BMAEPoll processing. More...
 
bool isStopping ()
 Returns a true if the stop command has been requested. More...
 
bool registerSocket (BMASocket *socket)
 Register a BMASocket for monitoring by BMAEPoll. More...
 
bool unregisterSocket (BMASocket *socket)
 Unregister a BMASocket from monitoring by BMAEPoll. More...
 
int getDescriptor ()
 Return the descriptor for the ePoll socket. More...
 
void eventReceived (struct epoll_event event)
 Dispatch event to appropriate socket. More...
 
void processCommand (std::string command, BMASession *session) override
 Output the threads array to the console. More...
 
- Public Member Functions inherited from BMACommand
BMACommand (std::string commandName)
 
+virtual void output (BMASession *session)
 
+ + + + + + + + + + + + +

+Public Attributes

int maxSockets
 The maximum number of socket allowed. More...
 
- Public Attributes inherited from BMACommand
+std::string commandName
 
- Public Attributes inherited from BMAObject
+std::string name
 
+std::string tag
 
+

Detailed Description

+

BMAEPoll

+

Manage socket events from the epoll system call.

+

Use this object to establish a socket server using the epoll network structure of Linux.

+

Use this object to establish the basis of working with multiple sockets of all sorts using the epoll capabilities of the Linux platform. Socket objects can register with BMAEPoll which will establish a communication mechanism with that socket.

+

The maximum number of sockets to communicate with is specified on the start method.

+

Threads are used to establish a read queue for epoll. The desired number of threads (or queues) is established by a parameter on the start method.

+

Constructor & Destructor Documentation

+ +

◆ BMAEPoll()

+ +
+
+ + + + + + + +
BMAEPoll::BMAEPoll ()
+
+

The constructor for the BMAEPoll object.

+ +
+
+ +

◆ ~BMAEPoll()

+ +
+
+ + + + + + + +
BMAEPoll::~BMAEPoll ()
+
+

The destructor for the BMAEPoll object.

+ +
+
+

Member Function Documentation

+ +

◆ eventReceived()

+ +
+
+ + + + + + + + +
void BMAEPoll::eventReceived (struct epoll_event event)
+
+ +

Dispatch event to appropriate socket.

+

Receive the epoll events and dispatch the event to the socket making the request.

+ +
+
+ +

◆ getDescriptor()

+ +
+
+ + + + + + + +
int BMAEPoll::getDescriptor ()
+
+ +

Return the descriptor for the ePoll socket.

+

Use this method to obtain the current descriptor socket number for the epoll function call.

+ +
+
+ +

◆ isStopping()

+ +
+
+ + + + + + + +
bool BMAEPoll::isStopping ()
+
+ +

Returns a true if the stop command has been requested.

+

This method returns a true if the stop() method has been called and the epoll system is shutting.

+ +
+
+ +

◆ processCommand()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void BMAEPoll::processCommand (std::string command,
BMASessionsession 
)
+
+overridevirtual
+
+ +

Output the threads array to the console.

+

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

+
Parameters
+ + +
sessionthe session to write the requested data to.
+
+
+ +

Implements BMACommand.

+ +
+
+ +

◆ registerSocket()

+ +
+
+ + + + + + + + +
bool BMAEPoll::registerSocket (BMASocketsocket)
+
+ +

Register a BMASocket for monitoring by BMAEPoll.

+

Use registerSocket to add a new socket to the ePoll event watch list. This enables a new BMASocket object to receive events when data is received as well as to write data output to the socket.

+
Parameters
+ + +
socketa pointer to a BMASocket object.
+
+
+
Returns
a booelean that indicates the socket was registered or not.
+
Parameters
+ + +
socketThe BMASocket to register.
+
+
+ +
+
+ +

◆ start()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool BMAEPoll::start (int numberOfThreads,
int maxSockets 
)
+
+ +

Start the BMAEPoll processing.

+

Use the start() method to initiate the threads and begin epoll queue processing.

+
Parameters
+ + + +
numberOfThreadsthe number of threads to start for processing epoll entries.
maxSocketsthe maximum number of open sockets that epoll will manage.
+
+
+ +
+
+ +

◆ stop()

+ +
+
+ + + + + + + +
bool BMAEPoll::stop ()
+
+ +

Stop and shut down the BMAEPoll processing.

+

Use the stop() method to initiate the shutdown process for the epoll socket management.

+

A complete shutdown of all managed sockets will be initiated by this method call.

+ +
+
+ +

◆ unregisterSocket()

+ +
+
+ + + + + + + + +
bool BMAEPoll::unregisterSocket (BMASocketsocket)
+
+ +

Unregister a BMASocket from monitoring by BMAEPoll.

+

Use this method to remove a socket from receiving events from the epoll system.

+
Parameters
+ + +
socketThe BMASocket to unregister.
+
+
+ +
+
+

Member Data Documentation

+ +

◆ maxSockets

+ +
+
+ + + + +
int BMAEPoll::maxSockets
+
+ +

The maximum number of socket allowed.

+

The maximum number of sockets that can be managed by the epoll system.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Development/BMA/server_core/ServerCore/BMAEPoll.h
  • +
  • /home/barant/Development/BMA/server_core/ServerCore/BMAEPoll.cpp
  • +
+
+ + + + diff --git a/docs/html/class_b_m_a_e_poll__coll__graph.map b/docs/html/class_b_m_a_e_poll__coll__graph.map new file mode 100644 index 0000000..3b393c7 --- /dev/null +++ b/docs/html/class_b_m_a_e_poll__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/html/class_b_m_a_e_poll__coll__graph.md5 b/docs/html/class_b_m_a_e_poll__coll__graph.md5 new file mode 100644 index 0000000..be2c8cb --- /dev/null +++ b/docs/html/class_b_m_a_e_poll__coll__graph.md5 @@ -0,0 +1 @@ +bbf6252e3c5c361d8165c461607c3535 \ No newline at end of file diff --git a/docs/html/class_b_m_a_e_poll__coll__graph.png b/docs/html/class_b_m_a_e_poll__coll__graph.png new file mode 100644 index 0000000..c9170ab Binary files /dev/null and b/docs/html/class_b_m_a_e_poll__coll__graph.png differ diff --git a/docs/html/class_b_m_a_e_poll__inherit__graph.map b/docs/html/class_b_m_a_e_poll__inherit__graph.map new file mode 100644 index 0000000..3b393c7 --- /dev/null +++ b/docs/html/class_b_m_a_e_poll__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/html/class_b_m_a_e_poll__inherit__graph.md5 b/docs/html/class_b_m_a_e_poll__inherit__graph.md5 new file mode 100644 index 0000000..60f2e84 --- /dev/null +++ b/docs/html/class_b_m_a_e_poll__inherit__graph.md5 @@ -0,0 +1 @@ +93a6d9338924ec4100a90e18d2281f5a \ No newline at end of file diff --git a/docs/html/class_b_m_a_e_poll__inherit__graph.png b/docs/html/class_b_m_a_e_poll__inherit__graph.png new file mode 100644 index 0000000..c9170ab Binary files /dev/null and b/docs/html/class_b_m_a_e_poll__inherit__graph.png differ diff --git a/docs/html/class_b_m_a_event-members.html b/docs/html/class_b_m_a_event-members.html new file mode 100644 index 0000000..6f9af78 --- /dev/null +++ b/docs/html/class_b_m_a_event-members.html @@ -0,0 +1,103 @@ + + + + + + +BMA Server Framework: Member List + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMAEvent< Args > Member List
+
+
+ +

This is the complete list of members for BMAEvent< Args >, including all inherited members.

+ + + + +
addHandler(function< void(Args...)> handler) (defined in BMAEvent< Args >)BMAEvent< Args >inline
BMAEvent() (defined in BMAEvent< Args >)BMAEvent< Args >inline
sendEvent(Args...args) (defined in BMAEvent< Args >)BMAEvent< Args >inline
+ + + + diff --git a/docs/html/class_b_m_a_event.html b/docs/html/class_b_m_a_event.html new file mode 100644 index 0000000..9ef31e4 --- /dev/null +++ b/docs/html/class_b_m_a_event.html @@ -0,0 +1,113 @@ + + + + + + +BMA Server Framework: BMAEvent< Args > Class Template Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
BMAEvent< Args > Class Template Reference
+
+
+ + + + + + +

+Public Member Functions

+void addHandler (function< void(Args...)> handler)
 
+void sendEvent (Args...args)
 
+
The documentation for this class was generated from the following file:
    +
  • /home/barant/Documents/Development/BMASockets/BMAEvent.h
  • +
+
+ + + + diff --git a/docs/html/class_b_m_a_exception-members.html b/docs/html/class_b_m_a_exception-members.html new file mode 100644 index 0000000..7916528 --- /dev/null +++ b/docs/html/class_b_m_a_exception-members.html @@ -0,0 +1,83 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMAException Member List
+
+
+ +

This is the complete list of members for BMAException, including all inherited members.

+ + + + + + + + +
BMAException(std::string text, std::string file=__FILE__, int line=__LINE__, int errorNumber=-1) (defined in BMAException)BMAException
className (defined in BMAException)BMAException
errorNumber (defined in BMAException)BMAException
file (defined in BMAException)BMAException
line (defined in BMAException)BMAException
text (defined in BMAException)BMAException
~BMAException() (defined in BMAException)BMAException
+ + + + diff --git a/docs/html/class_b_m_a_exception.html b/docs/html/class_b_m_a_exception.html new file mode 100644 index 0000000..ee0651e --- /dev/null +++ b/docs/html/class_b_m_a_exception.html @@ -0,0 +1,106 @@ + + + + + + + +BMA Server Framework: BMAException Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
BMAException Class Reference
+
+
+ + + + +

+Public Member Functions

BMAException (std::string text, std::string file=__FILE__, int line=__LINE__, int errorNumber=-1)
 
+ + + + + + + + + + + +

+Public Attributes

+std::string className
 
+std::string file
 
+int line
 
+std::string text
 
+int errorNumber
 
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Development/BMA/server_core/ServerCore/BMAException.h
  • +
  • /home/barant/Development/BMA/server_core/ServerCore/BMAException.cpp
  • +
+
+ + + + diff --git a/docs/html/class_b_m_a_file-members.html b/docs/html/class_b_m_a_file-members.html new file mode 100644 index 0000000..15d4b64 --- /dev/null +++ b/docs/html/class_b_m_a_file-members.html @@ -0,0 +1,84 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMAFile Member List
+
+
+ +

This is the complete list of members for BMAFile, including all inherited members.

+ + + + + + + + + +
BMAFile(std::string fileName, int mode=O_RDONLY, int authority=0664) (defined in BMAFile)BMAFile
buffer (defined in BMAFile)BMAFile
fileName (defined in BMAFile)BMAFile
read() (defined in BMAFile)BMAFile
setBufferSize(size_t size) (defined in BMAFile)BMAFile
size (defined in BMAFile)BMAFile
write(std::string data) (defined in BMAFile)BMAFile
~BMAFile() (defined in BMAFile)BMAFile
+ + + + diff --git a/docs/html/class_b_m_a_file.html b/docs/html/class_b_m_a_file.html new file mode 100644 index 0000000..7d9b3d0 --- /dev/null +++ b/docs/html/class_b_m_a_file.html @@ -0,0 +1,114 @@ + + + + + + + +BMA Server Framework: BMAFile Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
BMAFile Class Reference
+
+
+ +

#include <BMAFile.h>

+ + + + + + + + + + +

+Public Member Functions

BMAFile (std::string fileName, int mode=O_RDONLY, int authority=0664)
 
+void setBufferSize (size_t size)
 
+void read ()
 
+void write (std::string data)
 
+ + + + + + + +

+Public Attributes

+char * buffer
 
+size_t size
 
+std::string fileName
 
+

Detailed Description

+

BMAFile

+

File abstraction class for accessing local file system files.

+

The documentation for this class was generated from the following files:
    +
  • /home/barant/Development/BMA/server_core/ServerCore/BMAFile.h
  • +
  • /home/barant/Development/BMA/server_core/ServerCore/BMAFile.cpp
  • +
+
+ + + + diff --git a/docs/html/class_b_m_a_file__inherit__graph.map b/docs/html/class_b_m_a_file__inherit__graph.map new file mode 100644 index 0000000..49472c5 --- /dev/null +++ b/docs/html/class_b_m_a_file__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/class_b_m_a_file__inherit__graph.md5 b/docs/html/class_b_m_a_file__inherit__graph.md5 new file mode 100644 index 0000000..e6343f5 --- /dev/null +++ b/docs/html/class_b_m_a_file__inherit__graph.md5 @@ -0,0 +1 @@ +90e510d59320ec30ea7569d6ff89da27 \ No newline at end of file diff --git a/docs/html/class_b_m_a_file__inherit__graph.png b/docs/html/class_b_m_a_file__inherit__graph.png new file mode 100644 index 0000000..4687a7e Binary files /dev/null and b/docs/html/class_b_m_a_file__inherit__graph.png differ diff --git a/docs/html/class_b_m_a_game_server-members.html b/docs/html/class_b_m_a_game_server-members.html new file mode 100644 index 0000000..f2be6ce --- /dev/null +++ b/docs/html/class_b_m_a_game_server-members.html @@ -0,0 +1,113 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMAGameServer Member List
+
+
+ +

This is the complete list of members for BMAGameServer, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BMACommand(std::string commandName) (defined in BMACommand)BMACommand
BMAGameServer(BMAEPoll &ePoll, std::string url, short int port, std::string commandName) (defined in BMAGameServer)BMAGameServer
BMASocket(BMAEPoll &ePoll) (defined in BMASocket)BMASocket
BMATCPServerSocket(BMAEPoll &ePoll, std::string url, short int port, std::string commandName)BMATCPServerSocket
BMATCPSocket(BMAEPoll &ePoll) (defined in BMATCPSocket)BMATCPSocket
bufferSize (defined in BMASocket)BMASocket
commandName (defined in BMACommand)BMACommand
enable(bool mode)BMASocket
ePoll (defined in BMASocket)BMASocketprotected
eventReceived(struct epoll_event event)BMASocket
getDescriptor()BMASocket
getSocketAccept() overrideBMAGameServerprotectedvirtual
ipAddress (defined in BMATCPSocket)BMATCPSocket
name (defined in BMAObject)BMAObject
name (defined in BMAObject)BMAObject
onConnected()BMASocketprotectedvirtual
onDataReceived(std::string data) overrideBMATCPServerSocketprotectedvirtual
onRegistered()BMASocketvirtual
onUnregistered()BMASocketvirtual
BMATCPSocket::output(std::stringstream &out)BMATCPSocketvirtual
output(BMASession *session) (defined in BMACommand)BMACommandvirtual
processCommand(BMASession *session) overrideBMATCPServerSocketprotectedvirtual
removeFromSessionList(BMASession *session) (defined in BMATCPServerSocket)BMATCPServerSocket
sessionsBMATCPServerSocket
setBufferSize(int length) (defined in BMASocket)BMASocketprotected
setDescriptor(int descriptor)BMASocket
shutDown (defined in BMASocket)BMASocketprotected
shutdown() (defined in BMASocket)BMASocketprotected
tag (defined in BMAObject)BMAObject
tag (defined in BMAObject)BMAObject
write(std::string data)BMASocket
write(char *buffer, int length) (defined in BMASocket)BMASocket
~BMACommand() (defined in BMACommand)BMACommand
~BMAGameServer() (defined in BMAGameServer)BMAGameServer
~BMASocket() (defined in BMASocket)BMASocket
~BMATCPServerSocket()BMATCPServerSocket
~BMATCPSocket() (defined in BMATCPSocket)BMATCPSocket
+ + + + diff --git a/docs/html/class_b_m_a_game_server.html b/docs/html/class_b_m_a_game_server.html new file mode 100644 index 0000000..e6306a3 --- /dev/null +++ b/docs/html/class_b_m_a_game_server.html @@ -0,0 +1,250 @@ + + + + + + + +BMA Server Framework: BMAGameServer Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
BMAGameServer Class Reference
+
+
+
+Inheritance diagram for BMAGameServer:
+
+
Inheritance graph
+ + + + + + + +
[legend]
+
+Collaboration diagram for BMAGameServer:
+
+
Collaboration graph
+ + + + + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

BMAGameServer (BMAEPoll &ePoll, std::string url, short int port, std::string commandName)
 
- Public Member Functions inherited from BMATCPServerSocket
 BMATCPServerSocket (BMAEPoll &ePoll, std::string url, short int port, std::string commandName)
 
 ~BMATCPServerSocket ()
 
+void removeFromSessionList (BMASession *session)
 
- Public Member Functions inherited from BMATCPSocket
BMATCPSocket (BMAEPoll &ePoll)
 
virtual void output (std::stringstream &out)
 
- Public Member Functions inherited from BMASocket
BMASocket (BMAEPoll &ePoll)
 
+void setDescriptor (int descriptor)
 Set the descriptor for the socket.
 
+int getDescriptor ()
 Get the descriptor for the socket.
 
void eventReceived (struct epoll_event event)
 Parse epoll event and call specified callbacks. More...
 
void write (std::string data)
 
+void write (char *buffer, int length)
 
+void output (std::stringstream &out)
 
virtual void onRegistered ()
 Called when the socket has finished registering with the epoll processing. More...
 
virtual void onUnregistered ()
 Called when the socket has finished unregistering for the epoll processing. More...
 
+void enable (bool mode)
 Enable the socket to read or write based upon buffer.
 
- Public Member Functions inherited from BMACommand
BMACommand (std::string commandName)
 
+virtual void output (BMASession *session)
 
+ + + + + + + + + + + + + + + + +

+Protected Member Functions

BMASessiongetSocketAccept () override
 
- Protected Member Functions inherited from BMATCPServerSocket
void onDataReceived (std::string data) override
 
void processCommand (BMASession *session) override
 
- Protected Member Functions inherited from BMASocket
+void setBufferSize (int length)
 
virtual void onConnected ()
 Called when socket is open and ready to communicate. More...
 
+void shutdown ()
 
+ + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Attributes inherited from BMATCPServerSocket
std::vector< BMASession * > sessions
 
- Public Attributes inherited from BMATCPSocket
+BMAIPAddress ipAddress
 
- Public Attributes inherited from BMASocket
+class {
bufferSize
 
- Public Attributes inherited from BMAObject
+std::string name
 
+std::string tag
 
- Public Attributes inherited from BMACommand
+std::string commandName
 
- Protected Attributes inherited from BMASocket
+BMAEPollePoll
 
+bool shutDown = false
 
+

Member Function Documentation

+ +

◆ getSocketAccept()

+ +
+
+ + + + + +
+ + + + + + + +
BMASession * BMAGameServer::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.

+ +

Implements BMATCPServerSocket.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Documents/Development/BMASockets/BMAGameServer.h
  • +
  • /home/barant/Documents/Development/BMASockets/BMAGameServer.cpp
  • +
+
+ + + + diff --git a/docs/html/class_b_m_a_game_server__coll__graph.map b/docs/html/class_b_m_a_game_server__coll__graph.map new file mode 100644 index 0000000..c6c72ed --- /dev/null +++ b/docs/html/class_b_m_a_game_server__coll__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/html/class_b_m_a_game_server__coll__graph.md5 b/docs/html/class_b_m_a_game_server__coll__graph.md5 new file mode 100644 index 0000000..491e18c --- /dev/null +++ b/docs/html/class_b_m_a_game_server__coll__graph.md5 @@ -0,0 +1 @@ +b66cde8ea1ff68030ffa6231a87287fa \ No newline at end of file diff --git a/docs/html/class_b_m_a_game_server__coll__graph.png b/docs/html/class_b_m_a_game_server__coll__graph.png new file mode 100644 index 0000000..60576b3 Binary files /dev/null and b/docs/html/class_b_m_a_game_server__coll__graph.png differ diff --git a/docs/html/class_b_m_a_game_server__inherit__graph.map b/docs/html/class_b_m_a_game_server__inherit__graph.map new file mode 100644 index 0000000..b6b3e52 --- /dev/null +++ b/docs/html/class_b_m_a_game_server__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/html/class_b_m_a_game_server__inherit__graph.md5 b/docs/html/class_b_m_a_game_server__inherit__graph.md5 new file mode 100644 index 0000000..b71e95d --- /dev/null +++ b/docs/html/class_b_m_a_game_server__inherit__graph.md5 @@ -0,0 +1 @@ +b193f581fe069749d35712399d3fa386 \ No newline at end of file diff --git a/docs/html/class_b_m_a_game_server__inherit__graph.png b/docs/html/class_b_m_a_game_server__inherit__graph.png new file mode 100644 index 0000000..f4630ed Binary files /dev/null and b/docs/html/class_b_m_a_game_server__inherit__graph.png differ diff --git a/docs/html/class_b_m_a_game_session-members.html b/docs/html/class_b_m_a_game_session-members.html new file mode 100644 index 0000000..58d97c6 --- /dev/null +++ b/docs/html/class_b_m_a_game_session-members.html @@ -0,0 +1,113 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMAGameSession Member List
+
+
+ +

This is the complete list of members for BMAGameSession, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BMAGameSession(BMAEPoll &ePoll, BMAGameServer &server) (defined in BMAGameSession)BMAGameSession
BMASession(BMAEPoll &ePoll, BMATCPServerSocket &server) (defined in BMASession)BMASession
BMASocket(BMAEPoll &ePoll) (defined in BMASocket)BMASocket
BMATCPSocket(BMAEPoll &ePoll) (defined in BMATCPSocket)BMATCPSocket
bufferSize (defined in BMASocket)BMASocket
enable(bool mode)BMASocket
ePoll (defined in BMASocket)BMASocketprotected
eventReceived(struct epoll_event event)BMASocket
getDescriptor()BMASocket
getServer() (defined in BMASession)BMASession
ipAddress (defined in BMATCPSocket)BMATCPSocket
isAuthenticated (defined in BMAGameSession)BMAGameSession
name (defined in BMAObject)BMAObject
onConnected() overrideBMASessionprotectedvirtual
onRegistered()BMASocketvirtual
onUnregistered()BMASocketvirtual
out (defined in BMASession)BMASession
output(BMASession *session) (defined in BMAGameSession)BMAGameSessionprotectedvirtual
BMATCPSocket::output(std::stringstream &out)BMATCPSocketvirtual
playerName (defined in BMAGameSession)BMAGameSession
pos (defined in BMAGameSession)BMAGameSession
protocol(std::string data) override (defined in BMAGameSession)BMAGameSessionprotectedvirtual
send() (defined in BMASession)BMASession
sendToAll() (defined in BMASession)BMASession
sendToAll(BMASessionFilter *filter) (defined in BMASession)BMASession
setBufferSize(int length) (defined in BMASocket)BMASocketprotected
setDescriptor(int descriptor)BMASocket
shutDown (defined in BMASocket)BMASocketprotected
shutdown() (defined in BMASocket)BMASocketprotected
tag (defined in BMAObject)BMAObject
write(std::string data)BMASocket
write(char *buffer, int length) (defined in BMASocket)BMASocket
zoneId (defined in BMAGameSession)BMAGameSession
~BMAGameSession() (defined in BMAGameSession)BMAGameSession
~BMASession() (defined in BMASession)BMASession
~BMASocket() (defined in BMASocket)BMASocket
~BMATCPSocket() (defined in BMATCPSocket)BMATCPSocket
+ + + + diff --git a/docs/html/class_b_m_a_game_session.html b/docs/html/class_b_m_a_game_session.html new file mode 100644 index 0000000..eb79a97 --- /dev/null +++ b/docs/html/class_b_m_a_game_session.html @@ -0,0 +1,235 @@ + + + + + + + +BMA Server Framework: BMAGameSession Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+ +
+
+Inheritance diagram for BMAGameSession:
+
+
Inheritance graph
+ + + + + + +
[legend]
+
+Collaboration diagram for BMAGameSession:
+
+
Collaboration graph
+ + + + + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

BMAGameSession (BMAEPoll &ePoll, BMAGameServer &server)
 
- Public Member Functions inherited from BMASession
BMASession (BMAEPoll &ePoll, BMATCPServerSocket &server)
 
+void send ()
 
+void sendToAll ()
 
+void sendToAll (BMASessionFilter *filter)
 
+BMATCPServerSocketgetServer ()
 
- Public Member Functions inherited from BMATCPSocket
BMATCPSocket (BMAEPoll &ePoll)
 
virtual void output (std::stringstream &out)
 
- Public Member Functions inherited from BMASocket
BMASocket (BMAEPoll &ePoll)
 
+void setDescriptor (int descriptor)
 Set the descriptor for the socket.
 
+int getDescriptor ()
 Get the descriptor for the socket.
 
void eventReceived (struct epoll_event event)
 Parse epoll event and call specified callbacks. More...
 
void write (std::string data)
 
+void write (char *buffer, int length)
 
+void output (std::stringstream &out)
 
virtual void onRegistered ()
 Called when the socket has finished registering with the epoll processing. More...
 
virtual void onUnregistered ()
 Called when the socket has finished unregistering for the epoll processing. More...
 
+void enable (bool mode)
 Enable the socket to read or write based upon buffer.
 
+ + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+std::string playerName
 
+bool isAuthenticated = false
 
+int zoneId = 1
 
+std::string pos
 
- Public Attributes inherited from BMASession
+std::stringstream out
 
- Public Attributes inherited from BMATCPSocket
+BMAIPAddress ipAddress
 
- Public Attributes inherited from BMASocket
+class {
bufferSize
 
- Public Attributes inherited from BMAObject
+std::string name
 
+std::string tag
 
+ + + + + + + + + + + + + + +

+Protected Member Functions

+void protocol (std::string data) override
 
+void output (BMASession *session)
 
- Protected Member Functions inherited from BMASession
void onConnected () override
 Called when socket is open and ready to communicate. More...
 
- Protected Member Functions inherited from BMASocket
+void setBufferSize (int length)
 
+void shutdown ()
 
+ + + + + + +

+Additional Inherited Members

- Protected Attributes inherited from BMASocket
+BMAEPollePoll
 
+bool shutDown = false
 
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Documents/Development/BMASockets/BMAGameSession.h
  • +
  • /home/barant/Documents/Development/BMASockets/BMAGameSession.cpp
  • +
+
+ + + + diff --git a/docs/html/class_b_m_a_game_session__coll__graph.map b/docs/html/class_b_m_a_game_session__coll__graph.map new file mode 100644 index 0000000..84bf575 --- /dev/null +++ b/docs/html/class_b_m_a_game_session__coll__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/html/class_b_m_a_game_session__coll__graph.md5 b/docs/html/class_b_m_a_game_session__coll__graph.md5 new file mode 100644 index 0000000..b98a234 --- /dev/null +++ b/docs/html/class_b_m_a_game_session__coll__graph.md5 @@ -0,0 +1 @@ +57c4eb9bd41c4a13ab9a7122efd61357 \ No newline at end of file diff --git a/docs/html/class_b_m_a_game_session__coll__graph.png b/docs/html/class_b_m_a_game_session__coll__graph.png new file mode 100644 index 0000000..7dca6ee Binary files /dev/null and b/docs/html/class_b_m_a_game_session__coll__graph.png differ diff --git a/docs/html/class_b_m_a_game_session__inherit__graph.map b/docs/html/class_b_m_a_game_session__inherit__graph.map new file mode 100644 index 0000000..e2a52e5 --- /dev/null +++ b/docs/html/class_b_m_a_game_session__inherit__graph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/html/class_b_m_a_game_session__inherit__graph.md5 b/docs/html/class_b_m_a_game_session__inherit__graph.md5 new file mode 100644 index 0000000..c97cbcd --- /dev/null +++ b/docs/html/class_b_m_a_game_session__inherit__graph.md5 @@ -0,0 +1 @@ +72a222c047b2a102756a30beac5d2423 \ No newline at end of file diff --git a/docs/html/class_b_m_a_game_session__inherit__graph.png b/docs/html/class_b_m_a_game_session__inherit__graph.png new file mode 100644 index 0000000..58c3561 Binary files /dev/null and b/docs/html/class_b_m_a_game_session__inherit__graph.png differ diff --git a/docs/html/class_b_m_a_h_t_t_p_request_handler-members.html b/docs/html/class_b_m_a_h_t_t_p_request_handler-members.html new file mode 100644 index 0000000..4b5e4e5 --- /dev/null +++ b/docs/html/class_b_m_a_h_t_t_p_request_handler-members.html @@ -0,0 +1,81 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMAHTTPRequestHandler Member List
+
+
+ +

This is the complete list of members for BMAHTTPRequestHandler, including all inherited members.

+ + + + + + +
BMAHTTPRequestHandler(BMAHTTPServer &server, std::string path) (defined in BMAHTTPRequestHandler)BMAHTTPRequestHandler
name (defined in BMAObject)BMAObject
response(std::stringstream &sink) (defined in BMAHTTPRequestHandler)BMAHTTPRequestHandlervirtual
tag (defined in BMAObject)BMAObject
~BMAHTTPRequestHandler() (defined in BMAHTTPRequestHandler)BMAHTTPRequestHandler
+ + + + diff --git a/docs/html/class_b_m_a_h_t_t_p_request_handler.html b/docs/html/class_b_m_a_h_t_t_p_request_handler.html new file mode 100644 index 0000000..5f5da32 --- /dev/null +++ b/docs/html/class_b_m_a_h_t_t_p_request_handler.html @@ -0,0 +1,116 @@ + + + + + + + +BMA Server Framework: BMAHTTPRequestHandler Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
BMAHTTPRequestHandler Class Reference
+
+
+
+Inheritance diagram for BMAHTTPRequestHandler:
+
+
Inheritance graph
+ + + +
[legend]
+
+Collaboration diagram for BMAHTTPRequestHandler:
+
+
Collaboration graph
+ + + +
[legend]
+ + + + + + +

+Public Member Functions

BMAHTTPRequestHandler (BMAHTTPServer &server, std::string path)
 
+virtual int response (std::stringstream &sink)
 
+ + + + + + +

+Additional Inherited Members

- Public Attributes inherited from BMAObject
+std::string name
 
+std::string tag
 
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Documents/Development/BMASockets/BMAHTTPRequestHandler.h
  • +
  • /home/barant/Documents/Development/BMASockets/BMAHTTPRequestHandler.cpp
  • +
+
+ + + + diff --git a/docs/html/class_b_m_a_h_t_t_p_request_handler__coll__graph.map b/docs/html/class_b_m_a_h_t_t_p_request_handler__coll__graph.map new file mode 100644 index 0000000..9aa4cca --- /dev/null +++ b/docs/html/class_b_m_a_h_t_t_p_request_handler__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/class_b_m_a_h_t_t_p_request_handler__coll__graph.md5 b/docs/html/class_b_m_a_h_t_t_p_request_handler__coll__graph.md5 new file mode 100644 index 0000000..2837823 --- /dev/null +++ b/docs/html/class_b_m_a_h_t_t_p_request_handler__coll__graph.md5 @@ -0,0 +1 @@ +ee3554cbd241de65391af9f928309b54 \ No newline at end of file diff --git a/docs/html/class_b_m_a_h_t_t_p_request_handler__coll__graph.png b/docs/html/class_b_m_a_h_t_t_p_request_handler__coll__graph.png new file mode 100644 index 0000000..f7bbab6 Binary files /dev/null and b/docs/html/class_b_m_a_h_t_t_p_request_handler__coll__graph.png differ diff --git a/docs/html/class_b_m_a_h_t_t_p_request_handler__inherit__graph.map b/docs/html/class_b_m_a_h_t_t_p_request_handler__inherit__graph.map new file mode 100644 index 0000000..9aa4cca --- /dev/null +++ b/docs/html/class_b_m_a_h_t_t_p_request_handler__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/class_b_m_a_h_t_t_p_request_handler__inherit__graph.md5 b/docs/html/class_b_m_a_h_t_t_p_request_handler__inherit__graph.md5 new file mode 100644 index 0000000..ae45844 --- /dev/null +++ b/docs/html/class_b_m_a_h_t_t_p_request_handler__inherit__graph.md5 @@ -0,0 +1 @@ +9142ce6b0ab178a72b8ccd1526843df4 \ No newline at end of file diff --git a/docs/html/class_b_m_a_h_t_t_p_request_handler__inherit__graph.png b/docs/html/class_b_m_a_h_t_t_p_request_handler__inherit__graph.png new file mode 100644 index 0000000..f7bbab6 Binary files /dev/null and b/docs/html/class_b_m_a_h_t_t_p_request_handler__inherit__graph.png differ diff --git a/docs/html/class_b_m_a_h_t_t_p_server-members.html b/docs/html/class_b_m_a_h_t_t_p_server-members.html new file mode 100644 index 0000000..0911a3e --- /dev/null +++ b/docs/html/class_b_m_a_h_t_t_p_server-members.html @@ -0,0 +1,117 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMAHTTPServer Member List
+
+
+ +

This is the complete list of members for BMAHTTPServer, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BMACommand(std::string commandName) (defined in BMACommand)BMACommand
BMAHTTPServer(BMAEPoll &ePoll, std::string url, short int port, std::string commandName) (defined in BMAHTTPServer)BMAHTTPServer
BMASocket(BMAEPoll &ePoll) (defined in BMASocket)BMASocket
BMATCPServerSocket(BMAEPoll &ePoll, std::string url, short int port, std::string commandName)BMATCPServerSocket
BMATCPSocket(BMAEPoll &ePoll) (defined in BMATCPSocket)BMATCPSocket
bufferSize (defined in BMASocket)BMASocket
commandName (defined in BMACommand)BMACommand
enable(bool mode)BMASocket
ePoll (defined in BMASocket)BMASocketprotected
eventReceived(struct epoll_event event)BMASocket
getDescriptor()BMASocket
getRequestHandler(std::string path) (defined in BMAHTTPServer)BMAHTTPServer
getSocketAccept() overrideBMAHTTPServerprotectedvirtual
ipAddress (defined in BMATCPSocket)BMATCPSocket
name (defined in BMAObject)BMAObject
name (defined in BMAObject)BMAObject
onConnected()BMASocketprotectedvirtual
onDataReceived(std::string data) overrideBMATCPServerSocketprotectedvirtual
onRegistered()BMASocketvirtual
onUnregistered()BMASocketvirtual
BMATCPSocket::output(std::stringstream &out)BMATCPSocketvirtual
output(BMASession *session) (defined in BMACommand)BMACommandvirtual
processCommand(BMASession *session) overrideBMATCPServerSocketprotectedvirtual
registerHandler(std::string path, BMAHTTPRequestHandler &requestHandler) (defined in BMAHTTPServer)BMAHTTPServer
removeFromSessionList(BMASession *session) (defined in BMATCPServerSocket)BMATCPServerSocket
requestHandlers (defined in BMAHTTPServer)BMAHTTPServer
sessionsBMATCPServerSocket
setBufferSize(int length) (defined in BMASocket)BMASocketprotected
setDescriptor(int descriptor)BMASocket
shutdown() (defined in BMASocket)BMASocketprotected
shutDown (defined in BMASocket)BMASocketprotected
tag (defined in BMAObject)BMAObject
tag (defined in BMAObject)BMAObject
unregisterHandler(BMAHTTPRequestHandler &requestHandler) (defined in BMAHTTPServer)BMAHTTPServer
write(std::string data)BMASocket
write(char *buffer, int length) (defined in BMASocket)BMASocket
~BMACommand() (defined in BMACommand)BMACommand
~BMAHTTPServer() (defined in BMAHTTPServer)BMAHTTPServer
~BMASocket() (defined in BMASocket)BMASocket
~BMATCPServerSocket()BMATCPServerSocket
~BMATCPSocket() (defined in BMATCPSocket)BMATCPSocket
+ + + + diff --git a/docs/html/class_b_m_a_h_t_t_p_server.html b/docs/html/class_b_m_a_h_t_t_p_server.html new file mode 100644 index 0000000..1348736 --- /dev/null +++ b/docs/html/class_b_m_a_h_t_t_p_server.html @@ -0,0 +1,266 @@ + + + + + + + +BMA Server Framework: BMAHTTPServer Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+ +
+
+Inheritance diagram for BMAHTTPServer:
+
+
Inheritance graph
+ + + + + + + +
[legend]
+
+Collaboration diagram for BMAHTTPServer:
+
+
Collaboration graph
+ + + + + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

BMAHTTPServer (BMAEPoll &ePoll, std::string url, short int port, std::string commandName)
 
+void registerHandler (std::string path, BMAHTTPRequestHandler &requestHandler)
 
+void unregisterHandler (BMAHTTPRequestHandler &requestHandler)
 
+BMAHTTPRequestHandlergetRequestHandler (std::string path)
 
- Public Member Functions inherited from BMATCPServerSocket
 BMATCPServerSocket (BMAEPoll &ePoll, std::string url, short int port, std::string commandName)
 
 ~BMATCPServerSocket ()
 
+void removeFromSessionList (BMASession *session)
 
- Public Member Functions inherited from BMATCPSocket
BMATCPSocket (BMAEPoll &ePoll)
 
virtual void output (std::stringstream &out)
 
- Public Member Functions inherited from BMASocket
BMASocket (BMAEPoll &ePoll)
 
+void setDescriptor (int descriptor)
 Set the descriptor for the socket.
 
+int getDescriptor ()
 Get the descriptor for the socket.
 
void eventReceived (struct epoll_event event)
 Parse epoll event and call specified callbacks. More...
 
void write (std::string data)
 
+void write (char *buffer, int length)
 
+void output (std::stringstream &out)
 
virtual void onRegistered ()
 Called when the socket has finished registering with the epoll processing. More...
 
virtual void onUnregistered ()
 Called when the socket has finished unregistering for the epoll processing. More...
 
+void enable (bool mode)
 Enable the socket to read or write based upon buffer.
 
- Public Member Functions inherited from BMACommand
BMACommand (std::string commandName)
 
+virtual void output (BMASession *session)
 
+ + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+std::map< std::string, BMAHTTPRequestHandler * > requestHandlers
 
- Public Attributes inherited from BMATCPServerSocket
std::vector< BMASession * > sessions
 
- Public Attributes inherited from BMATCPSocket
+BMAIPAddress ipAddress
 
- Public Attributes inherited from BMASocket
+class {
bufferSize
 
- Public Attributes inherited from BMAObject
+std::string name
 
+std::string tag
 
- Public Attributes inherited from BMACommand
+std::string commandName
 
+ + + + + + + + + + + + + + + + +

+Protected Member Functions

BMASessiongetSocketAccept () override
 
- Protected Member Functions inherited from BMATCPServerSocket
void onDataReceived (std::string data) override
 
void processCommand (BMASession *session) override
 
- Protected Member Functions inherited from BMASocket
+void setBufferSize (int length)
 
virtual void onConnected ()
 Called when socket is open and ready to communicate. More...
 
+void shutdown ()
 
+ + + + + + +

+Additional Inherited Members

- Protected Attributes inherited from BMASocket
+BMAEPollePoll
 
+bool shutDown = false
 
+

Member Function Documentation

+ +

◆ getSocketAccept()

+ +
+
+ + + + + +
+ + + + + + + +
BMASession * BMAHTTPServer::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.

+ +

Implements BMATCPServerSocket.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Documents/Development/BMASockets/BMAHTTPServer.h
  • +
  • /home/barant/Documents/Development/BMASockets/BMAHTTPServer.cpp
  • +
+
+ + + + diff --git a/docs/html/class_b_m_a_h_t_t_p_server__coll__graph.map b/docs/html/class_b_m_a_h_t_t_p_server__coll__graph.map new file mode 100644 index 0000000..b6e3283 --- /dev/null +++ b/docs/html/class_b_m_a_h_t_t_p_server__coll__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/html/class_b_m_a_h_t_t_p_server__coll__graph.md5 b/docs/html/class_b_m_a_h_t_t_p_server__coll__graph.md5 new file mode 100644 index 0000000..e30c9df --- /dev/null +++ b/docs/html/class_b_m_a_h_t_t_p_server__coll__graph.md5 @@ -0,0 +1 @@ +cb576c230dc40cb18697f621003cddba \ No newline at end of file diff --git a/docs/html/class_b_m_a_h_t_t_p_server__coll__graph.png b/docs/html/class_b_m_a_h_t_t_p_server__coll__graph.png new file mode 100644 index 0000000..70eda69 Binary files /dev/null and b/docs/html/class_b_m_a_h_t_t_p_server__coll__graph.png differ diff --git a/docs/html/class_b_m_a_h_t_t_p_server__inherit__graph.map b/docs/html/class_b_m_a_h_t_t_p_server__inherit__graph.map new file mode 100644 index 0000000..5566900 --- /dev/null +++ b/docs/html/class_b_m_a_h_t_t_p_server__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/html/class_b_m_a_h_t_t_p_server__inherit__graph.md5 b/docs/html/class_b_m_a_h_t_t_p_server__inherit__graph.md5 new file mode 100644 index 0000000..263820e --- /dev/null +++ b/docs/html/class_b_m_a_h_t_t_p_server__inherit__graph.md5 @@ -0,0 +1 @@ +4566503f3412085d4f33f22f275d7b0b \ No newline at end of file diff --git a/docs/html/class_b_m_a_h_t_t_p_server__inherit__graph.png b/docs/html/class_b_m_a_h_t_t_p_server__inherit__graph.png new file mode 100644 index 0000000..5d8803d Binary files /dev/null and b/docs/html/class_b_m_a_h_t_t_p_server__inherit__graph.png differ diff --git a/docs/html/class_b_m_a_h_t_t_p_session-members.html b/docs/html/class_b_m_a_h_t_t_p_session-members.html new file mode 100644 index 0000000..650594a --- /dev/null +++ b/docs/html/class_b_m_a_h_t_t_p_session-members.html @@ -0,0 +1,109 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMAHTTPSession Member List
+
+
+ +

This is the complete list of members for BMAHTTPSession, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BMAHTTPSession(BMAEPoll &ePoll, BMAHTTPServer &server) (defined in BMAHTTPSession)BMAHTTPSession
BMASession(BMAEPoll &ePoll, BMATCPServerSocket &server) (defined in BMASession)BMASession
BMASocket(BMAEPoll &ePoll) (defined in BMASocket)BMASocket
BMATCPSocket(BMAEPoll &ePoll) (defined in BMATCPSocket)BMATCPSocket
bufferSize (defined in BMASocket)BMASocket
enable(bool mode)BMASocket
ePoll (defined in BMASocket)BMASocketprotected
eventReceived(struct epoll_event event)BMASocket
getDescriptor()BMASocket
getServer() (defined in BMASession)BMASession
ipAddress (defined in BMATCPSocket)BMATCPSocket
name (defined in BMAObject)BMAObject
onConnected() overrideBMASessionprotectedvirtual
onRegistered()BMASocketvirtual
onUnregistered()BMASocketvirtual
out (defined in BMASession)BMASession
output(BMASession *session) (defined in BMASession)BMASessionvirtual
BMATCPSocket::output(std::stringstream &out)BMATCPSocketvirtual
protocol(std::string data) override (defined in BMAHTTPSession)BMAHTTPSessionprotectedvirtual
send() (defined in BMASession)BMASession
sendToAll() (defined in BMASession)BMASession
sendToAll(BMASessionFilter *filter) (defined in BMASession)BMASession
setBufferSize(int length) (defined in BMASocket)BMASocketprotected
setDescriptor(int descriptor)BMASocket
shutDown (defined in BMASocket)BMASocketprotected
shutdown() (defined in BMASocket)BMASocketprotected
tag (defined in BMAObject)BMAObject
write(std::string data)BMASocket
write(char *buffer, int length) (defined in BMASocket)BMASocket
~BMAHTTPSession() (defined in BMAHTTPSession)BMAHTTPSession
~BMASession() (defined in BMASession)BMASession
~BMASocket() (defined in BMASocket)BMASocket
~BMATCPSocket() (defined in BMATCPSocket)BMATCPSocket
+ + + + diff --git a/docs/html/class_b_m_a_h_t_t_p_session.html b/docs/html/class_b_m_a_h_t_t_p_session.html new file mode 100644 index 0000000..56c8900 --- /dev/null +++ b/docs/html/class_b_m_a_h_t_t_p_session.html @@ -0,0 +1,218 @@ + + + + + + + +BMA Server Framework: BMAHTTPSession Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
BMAHTTPSession Class Reference
+
+
+
+Inheritance diagram for BMAHTTPSession:
+
+
Inheritance graph
+ + + + + + +
[legend]
+
+Collaboration diagram for BMAHTTPSession:
+
+
Collaboration graph
+ + + + + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

BMAHTTPSession (BMAEPoll &ePoll, BMAHTTPServer &server)
 
- Public Member Functions inherited from BMASession
BMASession (BMAEPoll &ePoll, BMATCPServerSocket &server)
 
+virtual void output (BMASession *session)
 
+void send ()
 
+void sendToAll ()
 
+void sendToAll (BMASessionFilter *filter)
 
+BMATCPServerSocketgetServer ()
 
- Public Member Functions inherited from BMATCPSocket
BMATCPSocket (BMAEPoll &ePoll)
 
virtual void output (std::stringstream &out)
 
- Public Member Functions inherited from BMASocket
BMASocket (BMAEPoll &ePoll)
 
+void setDescriptor (int descriptor)
 Set the descriptor for the socket.
 
+int getDescriptor ()
 Get the descriptor for the socket.
 
void eventReceived (struct epoll_event event)
 Parse epoll event and call specified callbacks. More...
 
void write (std::string data)
 
+void write (char *buffer, int length)
 
+void output (std::stringstream &out)
 
virtual void onRegistered ()
 Called when the socket has finished registering with the epoll processing. More...
 
virtual void onUnregistered ()
 Called when the socket has finished unregistering for the epoll processing. More...
 
+void enable (bool mode)
 Enable the socket to read or write based upon buffer.
 
+ + + + + + + + + + + + +

+Protected Member Functions

+void protocol (std::string data) override
 
- Protected Member Functions inherited from BMASession
void onConnected () override
 Called when socket is open and ready to communicate. More...
 
- Protected Member Functions inherited from BMASocket
+void setBufferSize (int length)
 
+void shutdown ()
 
+ + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Attributes inherited from BMASession
+std::stringstream out
 
- Public Attributes inherited from BMATCPSocket
+BMAIPAddress ipAddress
 
- Public Attributes inherited from BMASocket
+class {
bufferSize
 
- Public Attributes inherited from BMAObject
+std::string name
 
+std::string tag
 
- Protected Attributes inherited from BMASocket
+BMAEPollePoll
 
+bool shutDown = false
 
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Documents/Development/BMASockets/BMAHTTPSession.h
  • +
  • /home/barant/Documents/Development/BMASockets/BMAHTTPSession.cpp
  • +
+
+ + + + diff --git a/docs/html/class_b_m_a_h_t_t_p_session__coll__graph.map b/docs/html/class_b_m_a_h_t_t_p_session__coll__graph.map new file mode 100644 index 0000000..6abdba4 --- /dev/null +++ b/docs/html/class_b_m_a_h_t_t_p_session__coll__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/html/class_b_m_a_h_t_t_p_session__coll__graph.md5 b/docs/html/class_b_m_a_h_t_t_p_session__coll__graph.md5 new file mode 100644 index 0000000..3ef027a --- /dev/null +++ b/docs/html/class_b_m_a_h_t_t_p_session__coll__graph.md5 @@ -0,0 +1 @@ +d5b5dcd9cb335ced3e78dd4a04bc29fe \ No newline at end of file diff --git a/docs/html/class_b_m_a_h_t_t_p_session__coll__graph.png b/docs/html/class_b_m_a_h_t_t_p_session__coll__graph.png new file mode 100644 index 0000000..d18cc9a Binary files /dev/null and b/docs/html/class_b_m_a_h_t_t_p_session__coll__graph.png differ diff --git a/docs/html/class_b_m_a_h_t_t_p_session__inherit__graph.map b/docs/html/class_b_m_a_h_t_t_p_session__inherit__graph.map new file mode 100644 index 0000000..2c9c64f --- /dev/null +++ b/docs/html/class_b_m_a_h_t_t_p_session__inherit__graph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/html/class_b_m_a_h_t_t_p_session__inherit__graph.md5 b/docs/html/class_b_m_a_h_t_t_p_session__inherit__graph.md5 new file mode 100644 index 0000000..37d271a --- /dev/null +++ b/docs/html/class_b_m_a_h_t_t_p_session__inherit__graph.md5 @@ -0,0 +1 @@ +4e61bb57694918cc00dde6b5a9a1afd8 \ No newline at end of file diff --git a/docs/html/class_b_m_a_h_t_t_p_session__inherit__graph.png b/docs/html/class_b_m_a_h_t_t_p_session__inherit__graph.png new file mode 100644 index 0000000..22d1c15 Binary files /dev/null and b/docs/html/class_b_m_a_h_t_t_p_session__inherit__graph.png differ diff --git a/docs/html/class_b_m_a_header-members.html b/docs/html/class_b_m_a_header-members.html new file mode 100644 index 0000000..4f72001 --- /dev/null +++ b/docs/html/class_b_m_a_header-members.html @@ -0,0 +1,84 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMAHeader Member List
+
+
+ +

This is the complete list of members for BMAHeader, including all inherited members.

+ + + + + + + + + +
BMAHeader(std::string data) (defined in BMAHeader)BMAHeader
data (defined in BMAHeader)BMAHeader
name (defined in BMAObject)BMAObject
requestMethod() (defined in BMAHeader)BMAHeader
requestProtocol() (defined in BMAHeader)BMAHeader
requestURL() (defined in BMAHeader)BMAHeader
tag (defined in BMAObject)BMAObject
~BMAHeader() (defined in BMAHeader)BMAHeader
+ + + + diff --git a/docs/html/class_b_m_a_header.html b/docs/html/class_b_m_a_header.html new file mode 100644 index 0000000..46edd89 --- /dev/null +++ b/docs/html/class_b_m_a_header.html @@ -0,0 +1,126 @@ + + + + + + + +BMA Server Framework: BMAHeader Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
BMAHeader Class Reference
+
+
+
+Inheritance diagram for BMAHeader:
+
+
Inheritance graph
+ + + +
[legend]
+
+Collaboration diagram for BMAHeader:
+
+
Collaboration graph
+ + + +
[legend]
+ + + + + + + + + + +

+Public Member Functions

BMAHeader (std::string data)
 
+std::string requestMethod ()
 
+std::string requestURL ()
 
+std::string requestProtocol ()
 
+ + + + + + + + +

+Public Attributes

+std::string data
 
- Public Attributes inherited from BMAObject
+std::string name
 
+std::string tag
 
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Development/BMA/server_core/ServerCore/BMAHeader.h
  • +
  • /home/barant/Development/BMA/server_core/ServerCore/BMAHeader.cpp
  • +
+
+ + + + diff --git a/docs/html/class_b_m_a_header__coll__graph.map b/docs/html/class_b_m_a_header__coll__graph.map new file mode 100644 index 0000000..6e5d1f5 --- /dev/null +++ b/docs/html/class_b_m_a_header__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/class_b_m_a_header__coll__graph.md5 b/docs/html/class_b_m_a_header__coll__graph.md5 new file mode 100644 index 0000000..45c197c --- /dev/null +++ b/docs/html/class_b_m_a_header__coll__graph.md5 @@ -0,0 +1 @@ +ce4f589cf1ca30776d3300f4d3a45ce7 \ No newline at end of file diff --git a/docs/html/class_b_m_a_header__coll__graph.png b/docs/html/class_b_m_a_header__coll__graph.png new file mode 100644 index 0000000..48db49d Binary files /dev/null and b/docs/html/class_b_m_a_header__coll__graph.png differ diff --git a/docs/html/class_b_m_a_header__inherit__graph.map b/docs/html/class_b_m_a_header__inherit__graph.map new file mode 100644 index 0000000..6e5d1f5 --- /dev/null +++ b/docs/html/class_b_m_a_header__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/class_b_m_a_header__inherit__graph.md5 b/docs/html/class_b_m_a_header__inherit__graph.md5 new file mode 100644 index 0000000..2070bd4 --- /dev/null +++ b/docs/html/class_b_m_a_header__inherit__graph.md5 @@ -0,0 +1 @@ +858460ac27ae57630aeec829d7ee39d5 \ No newline at end of file diff --git a/docs/html/class_b_m_a_header__inherit__graph.png b/docs/html/class_b_m_a_header__inherit__graph.png new file mode 100644 index 0000000..48db49d Binary files /dev/null and b/docs/html/class_b_m_a_header__inherit__graph.png differ diff --git a/docs/html/class_b_m_a_i_m_a_p_server-members.html b/docs/html/class_b_m_a_i_m_a_p_server-members.html new file mode 100644 index 0000000..0548f22 --- /dev/null +++ b/docs/html/class_b_m_a_i_m_a_p_server-members.html @@ -0,0 +1,115 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMAIMAPServer Member List
+
+
+ +

This is the complete list of members for BMAIMAPServer, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BMACommand(std::string commandName) (defined in BMACommand)BMACommand
BMAIMAPServer(BMAEPoll &ePoll, std::string url, short int port) (defined in BMAIMAPServer)BMAIMAPServer
BMASocket(BMAEPoll &ePoll) (defined in BMASocket)BMASocket
BMATCPServerSocket(BMAEPoll &ePoll, std::string url, short int port, std::string commandName)BMATCPServerSocket
BMATCPSocket(BMAEPoll &ePoll) (defined in BMATCPSocket)BMATCPSocket
bufferSize (defined in BMASocket)BMASocket
commandName (defined in BMACommand)BMACommand
commands (defined in BMAIMAPServer)BMAIMAPServer
enable(bool mode)BMASocket
ePoll (defined in BMASocket)BMASocketprotected
eventReceived(struct epoll_event event)BMASocket
getDescriptor()BMASocket
getSocketAccept()BMAIMAPServervirtual
ipAddress (defined in BMATCPSocket)BMATCPSocket
name (defined in BMAObject)BMAObject
name (defined in BMAObject)BMAObject
onConnected()BMASocketprotectedvirtual
onDataReceived(std::string data) overrideBMATCPServerSocketprotectedvirtual
onRegistered()BMASocketvirtual
onUnregistered()BMASocketvirtual
BMATCPSocket::output(std::stringstream &out)BMATCPSocketvirtual
output(BMASession *session) (defined in BMACommand)BMACommandvirtual
processCommand(BMASession *session) overrideBMAIMAPServervirtual
registerCommand(BMACommand &command) (defined in BMAIMAPServer)BMAIMAPServer
removeFromSessionList(BMASession *session) (defined in BMATCPServerSocket)BMATCPServerSocket
sessionsBMATCPServerSocket
setBufferSize(int length) (defined in BMASocket)BMASocketprotected
setDescriptor(int descriptor)BMASocket
shutdown() (defined in BMASocket)BMASocketprotected
shutDown (defined in BMASocket)BMASocketprotected
tag (defined in BMAObject)BMAObject
tag (defined in BMAObject)BMAObject
write(std::string data)BMASocket
write(char *buffer, int length) (defined in BMASocket)BMASocket
~BMACommand() (defined in BMACommand)BMACommand
~BMAIMAPServer() (defined in BMAIMAPServer)BMAIMAPServer
~BMASocket() (defined in BMASocket)BMASocket
~BMATCPServerSocket()BMATCPServerSocket
~BMATCPSocket() (defined in BMATCPSocket)BMATCPSocket
+ + + + diff --git a/docs/html/class_b_m_a_i_m_a_p_server.html b/docs/html/class_b_m_a_i_m_a_p_server.html new file mode 100644 index 0000000..ebb6f76 --- /dev/null +++ b/docs/html/class_b_m_a_i_m_a_p_server.html @@ -0,0 +1,259 @@ + + + + + + + +BMA Server Framework: BMAIMAPServer Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
BMAIMAPServer Class Reference
+
+
+
+Inheritance diagram for BMAIMAPServer:
+
+
Inheritance graph
+ + + + + + + +
[legend]
+
+Collaboration diagram for BMAIMAPServer:
+
+
Collaboration graph
+ + + + + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

BMAIMAPServer (BMAEPoll &ePoll, std::string url, short int port)
 
BMASessiongetSocketAccept ()
 
+void registerCommand (BMACommand &command)
 
+int processCommand (BMASession *session) override
 Output the consoles array to the console.
 
- Public Member Functions inherited from BMATCPServerSocket
 BMATCPServerSocket (BMAEPoll &ePoll, std::string url, short int port, std::string commandName)
 
 ~BMATCPServerSocket ()
 
+void removeFromSessionList (BMASession *session)
 
- Public Member Functions inherited from BMATCPSocket
BMATCPSocket (BMAEPoll &ePoll)
 
virtual void output (std::stringstream &out)
 
- Public Member Functions inherited from BMASocket
BMASocket (BMAEPoll &ePoll)
 
+void setDescriptor (int descriptor)
 Set the descriptor for the socket.
 
+int getDescriptor ()
 Get the descriptor for the socket.
 
void eventReceived (struct epoll_event event)
 Parse epoll event and call specified callbacks. More...
 
void write (std::string data)
 
+void write (char *buffer, int length)
 
+void output (std::stringstream &out)
 
virtual void onRegistered ()
 Called when the socket has finished registering with the epoll processing. More...
 
virtual void onUnregistered ()
 Called when the socket has finished unregistering for the epoll processing. More...
 
+void enable (bool mode)
 Enable the socket to read or write based upon buffer.
 
- Public Member Functions inherited from BMACommand
BMACommand (std::string commandName)
 
+virtual void output (BMASession *session)
 
+ + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+std::vector< BMACommand * > commands
 
- Public Attributes inherited from BMATCPServerSocket
std::vector< BMASession * > sessions
 
- Public Attributes inherited from BMATCPSocket
+BMAIPAddress ipAddress
 
- Public Attributes inherited from BMASocket
+class {
bufferSize
 
- Public Attributes inherited from BMAObject
+std::string name
 
+std::string tag
 
- Public Attributes inherited from BMACommand
+std::string commandName
 
+ + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from BMATCPServerSocket
void onDataReceived (std::string data) override
 
void processCommand (BMASession *session) override
 
- Protected Member Functions inherited from BMASocket
+void setBufferSize (int length)
 
virtual void onConnected ()
 Called when socket is open and ready to communicate. More...
 
+void shutdown ()
 
- Protected Attributes inherited from BMASocket
+BMAEPollePoll
 
+bool shutDown = false
 
+

Member Function Documentation

+ +

◆ getSocketAccept()

+ +
+
+ + + + + +
+ + + + + + + +
BMASession* BMAIMAPServer::getSocketAccept ()
+
+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 BMASession provides the mechanism where the server can select the protocol dialog for the desired service.

+ +

Implements BMATCPServerSocket.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/html/class_b_m_a_i_m_a_p_server__coll__graph.map b/docs/html/class_b_m_a_i_m_a_p_server__coll__graph.map new file mode 100644 index 0000000..6601b49 --- /dev/null +++ b/docs/html/class_b_m_a_i_m_a_p_server__coll__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/html/class_b_m_a_i_m_a_p_server__coll__graph.md5 b/docs/html/class_b_m_a_i_m_a_p_server__coll__graph.md5 new file mode 100644 index 0000000..0cfc159 --- /dev/null +++ b/docs/html/class_b_m_a_i_m_a_p_server__coll__graph.md5 @@ -0,0 +1 @@ +75389eda114268b3869f8864ce4bab02 \ No newline at end of file diff --git a/docs/html/class_b_m_a_i_m_a_p_server__coll__graph.png b/docs/html/class_b_m_a_i_m_a_p_server__coll__graph.png new file mode 100644 index 0000000..15bcba7 Binary files /dev/null and b/docs/html/class_b_m_a_i_m_a_p_server__coll__graph.png differ diff --git a/docs/html/class_b_m_a_i_m_a_p_server__inherit__graph.map b/docs/html/class_b_m_a_i_m_a_p_server__inherit__graph.map new file mode 100644 index 0000000..4139334 --- /dev/null +++ b/docs/html/class_b_m_a_i_m_a_p_server__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/html/class_b_m_a_i_m_a_p_server__inherit__graph.md5 b/docs/html/class_b_m_a_i_m_a_p_server__inherit__graph.md5 new file mode 100644 index 0000000..7c59a53 --- /dev/null +++ b/docs/html/class_b_m_a_i_m_a_p_server__inherit__graph.md5 @@ -0,0 +1 @@ +1d45080954f285a9832ec48d24d09d45 \ No newline at end of file diff --git a/docs/html/class_b_m_a_i_m_a_p_server__inherit__graph.png b/docs/html/class_b_m_a_i_m_a_p_server__inherit__graph.png new file mode 100644 index 0000000..a9fab3c Binary files /dev/null and b/docs/html/class_b_m_a_i_m_a_p_server__inherit__graph.png differ diff --git a/docs/html/class_b_m_a_i_m_a_p_session-members.html b/docs/html/class_b_m_a_i_m_a_p_session-members.html new file mode 100644 index 0000000..036a39c --- /dev/null +++ b/docs/html/class_b_m_a_i_m_a_p_session-members.html @@ -0,0 +1,110 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMAIMAPSession Member List
+
+
+ +

This is the complete list of members for BMAIMAPSession, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BMAIMAPSession(BMAEPoll &ePoll, BMAConsoleServer &server) (defined in BMAIMAPSession)BMAIMAPSession
BMASession(BMAEPoll &ePoll, BMATCPServerSocket &server) (defined in BMASession)BMASession
BMASocket(BMAEPoll &ePoll) (defined in BMASocket)BMASocket
BMATCPSocket(BMAEPoll &ePoll) (defined in BMATCPSocket)BMATCPSocket
bufferSize (defined in BMASocket)BMASocket
enable(bool mode)BMASocket
ePoll (defined in BMASocket)BMASocketprotected
eventReceived(struct epoll_event event)BMASocket
getDescriptor()BMASocket
getServer() (defined in BMASession)BMASession
ipAddress (defined in BMATCPSocket)BMATCPSocket
name (defined in BMAObject)BMAObject
onConnected() overrideBMASessionprotectedvirtual
onRegistered()BMASocketvirtual
onUnregistered()BMASocketvirtual
out (defined in BMASession)BMASession
output(std::stringstream &out)BMAIMAPSessionvirtual
output(BMASession *session) (defined in BMASession)BMASessionvirtual
protocol(char *data, int length) override (defined in BMAIMAPSession)BMAIMAPSessionprotected
protocol(std::string data)=0 (defined in BMASession)BMASessionprotectedpure virtual
send() (defined in BMASession)BMASession
sendToAll() (defined in BMASession)BMASession
sendToAll(BMASessionFilter *filter) (defined in BMASession)BMASession
setBufferSize(int length) (defined in BMASocket)BMASocketprotected
setDescriptor(int descriptor)BMASocket
shutdown() (defined in BMASocket)BMASocketprotected
shutDown (defined in BMASocket)BMASocketprotected
tag (defined in BMAObject)BMAObject
write(std::string data)BMASocket
write(char *buffer, int length) (defined in BMASocket)BMASocket
~BMAIMAPSession() (defined in BMAIMAPSession)BMAIMAPSession
~BMASession() (defined in BMASession)BMASession
~BMASocket() (defined in BMASocket)BMASocket
~BMATCPSocket() (defined in BMATCPSocket)BMATCPSocket
+ + + + diff --git a/docs/html/class_b_m_a_i_m_a_p_session.html b/docs/html/class_b_m_a_i_m_a_p_session.html new file mode 100644 index 0000000..b239be7 --- /dev/null +++ b/docs/html/class_b_m_a_i_m_a_p_session.html @@ -0,0 +1,255 @@ + + + + + + + +BMA Server Framework: BMAIMAPSession Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
BMAIMAPSession Class Reference
+
+
+ +

#include <BMAIMAPSession.h>

+
+Inheritance diagram for BMAIMAPSession:
+
+
Inheritance graph
+ + + + + + +
[legend]
+
+Collaboration diagram for BMAIMAPSession:
+
+
Collaboration graph
+ + + + + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

BMAIMAPSession (BMAEPoll &ePoll, BMAConsoleServer &server)
 
virtual void output (std::stringstream &out)
 
- Public Member Functions inherited from BMASession
BMASession (BMAEPoll &ePoll, BMATCPServerSocket &server)
 
+virtual void output (BMASession *session)
 
+void send ()
 
+void sendToAll ()
 
+void sendToAll (BMASessionFilter *filter)
 
+BMATCPServerSocketgetServer ()
 
- Public Member Functions inherited from BMATCPSocket
BMATCPSocket (BMAEPoll &ePoll)
 
- Public Member Functions inherited from BMASocket
BMASocket (BMAEPoll &ePoll)
 
+void setDescriptor (int descriptor)
 Set the descriptor for the socket.
 
+int getDescriptor ()
 Get the descriptor for the socket.
 
void eventReceived (struct epoll_event event)
 Parse epoll event and call specified callbacks. More...
 
void write (std::string data)
 
+void write (char *buffer, int length)
 
+void output (std::stringstream &out)
 
virtual void onRegistered ()
 Called when the socket has finished registering with the epoll processing. More...
 
virtual void onUnregistered ()
 Called when the socket has finished unregistering for the epoll processing. More...
 
+void enable (bool mode)
 Enable the socket to read or write based upon buffer.
 
+ + + + + + + + + + + + + + +

+Protected Member Functions

+void protocol (char *data, int length) override
 
- Protected Member Functions inherited from BMASession
void onConnected () override
 Called when socket is open and ready to communicate. More...
 
+virtual void protocol (std::string data)=0
 
- Protected Member Functions inherited from BMASocket
+void setBufferSize (int length)
 
+void shutdown ()
 
+ + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Attributes inherited from BMASession
+std::stringstream out
 
- Public Attributes inherited from BMATCPSocket
+BMAIPAddress ipAddress
 
- Public Attributes inherited from BMASocket
+class {
bufferSize
 
- Public Attributes inherited from BMAObject
+std::string name
 
+std::string tag
 
- Protected Attributes inherited from BMASocket
+BMAEPollePoll
 
+bool shutDown = false
 
+

Detailed Description

+

BMAIMAPSession

+

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

+

Member Function Documentation

+ +

◆ output()

+ +
+
+ + + + + +
+ + + + + + + + +
virtual void BMAIMAPSession::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 BMATCPSocket.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/html/class_b_m_a_i_m_a_p_session__coll__graph.map b/docs/html/class_b_m_a_i_m_a_p_session__coll__graph.map new file mode 100644 index 0000000..48ac35d --- /dev/null +++ b/docs/html/class_b_m_a_i_m_a_p_session__coll__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/html/class_b_m_a_i_m_a_p_session__coll__graph.md5 b/docs/html/class_b_m_a_i_m_a_p_session__coll__graph.md5 new file mode 100644 index 0000000..a53d0dd --- /dev/null +++ b/docs/html/class_b_m_a_i_m_a_p_session__coll__graph.md5 @@ -0,0 +1 @@ +6252752398280b185edad3ab51006a52 \ No newline at end of file diff --git a/docs/html/class_b_m_a_i_m_a_p_session__coll__graph.png b/docs/html/class_b_m_a_i_m_a_p_session__coll__graph.png new file mode 100644 index 0000000..0611c35 Binary files /dev/null and b/docs/html/class_b_m_a_i_m_a_p_session__coll__graph.png differ diff --git a/docs/html/class_b_m_a_i_m_a_p_session__inherit__graph.map b/docs/html/class_b_m_a_i_m_a_p_session__inherit__graph.map new file mode 100644 index 0000000..c9773d5 --- /dev/null +++ b/docs/html/class_b_m_a_i_m_a_p_session__inherit__graph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/html/class_b_m_a_i_m_a_p_session__inherit__graph.md5 b/docs/html/class_b_m_a_i_m_a_p_session__inherit__graph.md5 new file mode 100644 index 0000000..702c322 --- /dev/null +++ b/docs/html/class_b_m_a_i_m_a_p_session__inherit__graph.md5 @@ -0,0 +1 @@ +18a9bc158929fa69f789718af74b5aca \ No newline at end of file diff --git a/docs/html/class_b_m_a_i_m_a_p_session__inherit__graph.png b/docs/html/class_b_m_a_i_m_a_p_session__inherit__graph.png new file mode 100644 index 0000000..4343b72 Binary files /dev/null and b/docs/html/class_b_m_a_i_m_a_p_session__inherit__graph.png differ diff --git a/docs/html/class_b_m_a_i_p_address-members.html b/docs/html/class_b_m_a_i_p_address-members.html new file mode 100644 index 0000000..0f1add3 --- /dev/null +++ b/docs/html/class_b_m_a_i_p_address-members.html @@ -0,0 +1,85 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMAIPAddress Member List
+
+
+ +

This is the complete list of members for BMAIPAddress, including all inherited members.

+ + + + + + + + + + +
address (defined in BMAIPAddress)BMAIPAddress
addressLength (defined in BMAIPAddress)BMAIPAddress
BMAIPAddress() (defined in BMAIPAddress)BMAIPAddress
getClientAddress()BMAIPAddress
getClientAddressAndPort()BMAIPAddress
getClientPort()BMAIPAddress
name (defined in BMAObject)BMAObject
tag (defined in BMAObject)BMAObject
~BMAIPAddress() (defined in BMAIPAddress)BMAIPAddress
+ + + + diff --git a/docs/html/class_b_m_a_i_p_address.html b/docs/html/class_b_m_a_i_p_address.html new file mode 100644 index 0000000..54a6860 --- /dev/null +++ b/docs/html/class_b_m_a_i_p_address.html @@ -0,0 +1,129 @@ + + + + + + + +BMA Server Framework: BMAIPAddress Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
BMAIPAddress Class Reference
+
+
+
+Inheritance diagram for BMAIPAddress:
+
+
Inheritance graph
+ + + +
[legend]
+
+Collaboration diagram for BMAIPAddress:
+
+
Collaboration graph
+ + + +
[legend]
+ + + + + + + + + + + +

+Public Member Functions

+std::string getClientAddress ()
 Get the client network address as xxx.xxx.xxx.xxx.
 
+std::string getClientAddressAndPort ()
 Get the client network address and port as xxx.xxx.xxx.xxx:ppppp.
 
+int getClientPort ()
 Get the client network port number.
 
+ + + + + + + + + + +

+Public Attributes

+struct sockaddr_in address
 
+socklen_t addressLength
 
- Public Attributes inherited from BMAObject
+std::string name
 
+std::string tag
 
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Development/BMA/server_core/ServerCore/BMAIPAddress.h
  • +
  • /home/barant/Development/BMA/server_core/ServerCore/BMAIPAddress.cpp
  • +
+
+ + + + diff --git a/docs/html/class_b_m_a_i_p_address__coll__graph.map b/docs/html/class_b_m_a_i_p_address__coll__graph.map new file mode 100644 index 0000000..42ad6c0 --- /dev/null +++ b/docs/html/class_b_m_a_i_p_address__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/class_b_m_a_i_p_address__coll__graph.md5 b/docs/html/class_b_m_a_i_p_address__coll__graph.md5 new file mode 100644 index 0000000..2fa7732 --- /dev/null +++ b/docs/html/class_b_m_a_i_p_address__coll__graph.md5 @@ -0,0 +1 @@ +96977b5bd04cf3c6b3836b9fd05caec5 \ No newline at end of file diff --git a/docs/html/class_b_m_a_i_p_address__coll__graph.png b/docs/html/class_b_m_a_i_p_address__coll__graph.png new file mode 100644 index 0000000..99fb967 Binary files /dev/null and b/docs/html/class_b_m_a_i_p_address__coll__graph.png differ diff --git a/docs/html/class_b_m_a_i_p_address__inherit__graph.map b/docs/html/class_b_m_a_i_p_address__inherit__graph.map new file mode 100644 index 0000000..42ad6c0 --- /dev/null +++ b/docs/html/class_b_m_a_i_p_address__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/class_b_m_a_i_p_address__inherit__graph.md5 b/docs/html/class_b_m_a_i_p_address__inherit__graph.md5 new file mode 100644 index 0000000..fa45b15 --- /dev/null +++ b/docs/html/class_b_m_a_i_p_address__inherit__graph.md5 @@ -0,0 +1 @@ +6f585f7387461d54a296228518b1c817 \ No newline at end of file diff --git a/docs/html/class_b_m_a_i_p_address__inherit__graph.png b/docs/html/class_b_m_a_i_p_address__inherit__graph.png new file mode 100644 index 0000000..99fb967 Binary files /dev/null and b/docs/html/class_b_m_a_i_p_address__inherit__graph.png differ diff --git a/docs/html/class_b_m_a_log-members.html b/docs/html/class_b_m_a_log-members.html new file mode 100644 index 0000000..a4643a3 --- /dev/null +++ b/docs/html/class_b_m_a_log-members.html @@ -0,0 +1,86 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMALog Member List
+
+
+ +

This is the complete list of members for BMALog, including all inherited members.

+ + + + + + + + + + + +
BMALog(BMAConsoleServer *consoleServer)BMALog
BMALog(BMAFile *logFile)BMALog
BMALog(int level)BMALog
consoleServerBMALogstatic
logFileBMALogstatic
name (defined in BMAObject)BMAObject
output (defined in BMALog)BMALog
seqBMALogstatic
tag (defined in BMAObject)BMAObject
~BMALog()BMALog
+ + + + diff --git a/docs/html/class_b_m_a_log.html b/docs/html/class_b_m_a_log.html new file mode 100644 index 0000000..c1b6c25 --- /dev/null +++ b/docs/html/class_b_m_a_log.html @@ -0,0 +1,304 @@ + + + + + + + +BMA Server Framework: BMALog Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+ +
+ +

#include <BMALog.h>

+
+Inheritance diagram for BMALog:
+
+
Inheritance graph
+ + + +
[legend]
+
+Collaboration diagram for BMALog:
+
+
Collaboration graph
+ + + + + + + + + + + +
[legend]
+ + + + + + + + + + +

+Public Member Functions

 BMALog (BMAConsoleServer *consoleServer)
 
 BMALog (BMAFile *logFile)
 
 BMALog (int level)
 
 ~BMALog ()
 
+ + + + + + + + +

+Public Attributes

+bool output = false
 
- Public Attributes inherited from BMAObject
+std::string name
 
+std::string tag
 
+ + + + + + + +

+Static Public Attributes

static BMAConsoleServerconsoleServer = NULL
 
static BMAFilelogFile = NULL
 
static int seq = 0
 
+

Detailed Description

+

BMALog

+

Provides easy to access and use logging features to maintain a history of activity and provide information for activity debugging.

+

Constructor & Destructor Documentation

+ +

◆ BMALog() [1/3]

+ +
+
+ + + + + + + + +
BMALog::BMALog (BMAConsoleServerconsoleServer)
+
+

Constructor method that accepts a pointer to the applications console server. This enables the BMALog object to send new log messages to the connected console sessions.

+
Parameters
+ + +
consoleServera pointer to the console server that will be used to echo log entries.
+
+
+ +
+
+ +

◆ BMALog() [2/3]

+ +
+
+ + + + + + + + +
BMALog::BMALog (BMAFilelogFile)
+
+

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.

+ +
+
+ +

◆ BMALog() [3/3]

+ +
+
+ + + + + + + + +
BMALog::BMALog (int level)
+
+

Constructor method that is used to send a message to the log.

+
Parameters
+ + +
levelthe logging level to associate with this message.
+
+
+

To send log message: BMALog(LOG_INFO) << "This is a log message.";

+ +
+
+ +

◆ ~BMALog()

+ +
+
+ + + + + + + +
BMALog::~BMALog ()
+
+

The destructor for the log object.

+ +
+
+

Member Data Documentation

+ +

◆ consoleServer

+ +
+
+ + + + + +
+ + + + +
BMAConsoleServer * BMALog::consoleServer = NULL
+
+static
+
+

Set the consoleServer to point to the instantiated BMAConsoleServer object for the application.

+ +
+
+ +

◆ logFile

+ +
+
+ + + + + +
+ + + + +
BMAFile * BMALog::logFile = NULL
+
+static
+
+

Specify a BMAFile object where the log entries will be written as a permanent record to disk.

+ +
+
+ +

◆ seq

+ +
+
+ + + + + +
+ + + + +
int BMALog::seq = 0
+
+static
+
+

A meaningless sequenctial number that starts from - at the beginning of the logging process.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Development/BMA/server_core/ServerCore/BMALog.h
  • +
  • /home/barant/Development/BMA/server_core/ServerCore/BMALog.cpp
  • +
+
+ + + + diff --git a/docs/html/class_b_m_a_log__coll__graph.map b/docs/html/class_b_m_a_log__coll__graph.map new file mode 100644 index 0000000..e8b4066 --- /dev/null +++ b/docs/html/class_b_m_a_log__coll__graph.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/html/class_b_m_a_log__coll__graph.md5 b/docs/html/class_b_m_a_log__coll__graph.md5 new file mode 100644 index 0000000..f112f83 --- /dev/null +++ b/docs/html/class_b_m_a_log__coll__graph.md5 @@ -0,0 +1 @@ +166d6d97977af3b3bd81b5c787705eac \ No newline at end of file diff --git a/docs/html/class_b_m_a_log__coll__graph.png b/docs/html/class_b_m_a_log__coll__graph.png new file mode 100644 index 0000000..77ebc65 Binary files /dev/null and b/docs/html/class_b_m_a_log__coll__graph.png differ diff --git a/docs/html/class_b_m_a_log__inherit__graph.map b/docs/html/class_b_m_a_log__inherit__graph.map new file mode 100644 index 0000000..8743c83 --- /dev/null +++ b/docs/html/class_b_m_a_log__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/class_b_m_a_log__inherit__graph.md5 b/docs/html/class_b_m_a_log__inherit__graph.md5 new file mode 100644 index 0000000..2496a83 --- /dev/null +++ b/docs/html/class_b_m_a_log__inherit__graph.md5 @@ -0,0 +1 @@ +a9ecde824aebe3f8f0aa14ea269d2909 \ No newline at end of file diff --git a/docs/html/class_b_m_a_log__inherit__graph.png b/docs/html/class_b_m_a_log__inherit__graph.png new file mode 100644 index 0000000..0c9af91 Binary files /dev/null and b/docs/html/class_b_m_a_log__inherit__graph.png differ diff --git a/docs/html/class_b_m_a_m_p3_file-members.html b/docs/html/class_b_m_a_m_p3_file-members.html new file mode 100644 index 0000000..7d6993f --- /dev/null +++ b/docs/html/class_b_m_a_m_p3_file-members.html @@ -0,0 +1,93 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMAMP3File Member List
+
+
+ +

This is the complete list of members for BMAMP3File, including all inherited members.

+ + + + + + + + + + + + + + + + + + +
BMAFile(std::string fileName, int mode=O_RDONLY, int authority=0664) (defined in BMAFile)BMAFile
BMAMP3File(BMAStreamServer &server, std::string fileName) (defined in BMAMP3File)BMAMP3File
BMAStreamContentProvider(BMAStreamServer &server) (defined in BMAStreamContentProvider)BMAStreamContentProvider
buffer (defined in BMAFile)BMAFile
cursor (defined in BMAStreamContentProvider)BMAStreamContentProvider
fileName (defined in BMAFile)BMAFile
frames (defined in BMAStreamContentProvider)BMAStreamContentProvider
getFrameCount() (defined in BMAStreamContentProvider)BMAStreamContentProvider
getNextStreamFrame() (defined in BMAStreamContentProvider)BMAStreamContentProvidervirtual
read() (defined in BMAFile)BMAFile
ready (defined in BMAStreamContentProvider)BMAStreamContentProvider
setBufferSize(size_t size) (defined in BMAFile)BMAFile
size (defined in BMAFile)BMAFile
write(std::string data) (defined in BMAFile)BMAFile
~BMAFile() (defined in BMAFile)BMAFile
~BMAMP3File() (defined in BMAMP3File)BMAMP3File
~BMAStreamContentProvider() (defined in BMAStreamContentProvider)BMAStreamContentProvider
+ + + + diff --git a/docs/html/class_b_m_a_m_p3_file.html b/docs/html/class_b_m_a_m_p3_file.html new file mode 100644 index 0000000..5601a93 --- /dev/null +++ b/docs/html/class_b_m_a_m_p3_file.html @@ -0,0 +1,156 @@ + + + + + + + +BMA Server Framework: BMAMP3File Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
BMAMP3File Class Reference
+
+
+ +

#include <BMAMP3File.h>

+
+Inheritance diagram for BMAMP3File:
+
+
Inheritance graph
+ + + + +
[legend]
+
+Collaboration diagram for BMAMP3File:
+
+
Collaboration graph
+ + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

BMAMP3File (BMAStreamServer &server, std::string fileName)
 
- Public Member Functions inherited from BMAStreamContentProvider
BMAStreamContentProvider (BMAStreamServer &server)
 
+virtual BMAStreamFramegetNextStreamFrame ()
 
+int getFrameCount ()
 
- Public Member Functions inherited from BMAFile
BMAFile (std::string fileName, int mode=O_RDONLY, int authority=0664)
 
+void setBufferSize (size_t size)
 
+void read ()
 
+void write (std::string data)
 
+ + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Attributes inherited from BMAStreamContentProvider
+bool ready = false
 
+std::vector< BMAStreamFrame * > frames
 
+int cursor
 
- Public Attributes inherited from BMAFile
+char * buffer
 
+size_t size
 
+std::string fileName
 
+

Detailed Description

+

BMAMP3File

+

Provides access to the MP3 formatted file as an array of BMAMP3StreamFrames.

+

The documentation for this class was generated from the following files:
    +
  • /home/barant/Documents/Development/BMASockets/BMAMP3File.h
  • +
  • /home/barant/Documents/Development/BMASockets/BMAMP3File.cpp
  • +
+
+ + + + diff --git a/docs/html/class_b_m_a_m_p3_file__coll__graph.map b/docs/html/class_b_m_a_m_p3_file__coll__graph.map new file mode 100644 index 0000000..40c17dc --- /dev/null +++ b/docs/html/class_b_m_a_m_p3_file__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/html/class_b_m_a_m_p3_file__coll__graph.md5 b/docs/html/class_b_m_a_m_p3_file__coll__graph.md5 new file mode 100644 index 0000000..a2ff293 --- /dev/null +++ b/docs/html/class_b_m_a_m_p3_file__coll__graph.md5 @@ -0,0 +1 @@ +a105d7fe44b4b682e7a53d2b0da85c67 \ No newline at end of file diff --git a/docs/html/class_b_m_a_m_p3_file__coll__graph.png b/docs/html/class_b_m_a_m_p3_file__coll__graph.png new file mode 100644 index 0000000..54ce7ac Binary files /dev/null and b/docs/html/class_b_m_a_m_p3_file__coll__graph.png differ diff --git a/docs/html/class_b_m_a_m_p3_file__inherit__graph.map b/docs/html/class_b_m_a_m_p3_file__inherit__graph.map new file mode 100644 index 0000000..40c17dc --- /dev/null +++ b/docs/html/class_b_m_a_m_p3_file__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/html/class_b_m_a_m_p3_file__inherit__graph.md5 b/docs/html/class_b_m_a_m_p3_file__inherit__graph.md5 new file mode 100644 index 0000000..d545238 --- /dev/null +++ b/docs/html/class_b_m_a_m_p3_file__inherit__graph.md5 @@ -0,0 +1 @@ +d89b3f00ffe0f2e081a89a264edee5ee \ No newline at end of file diff --git a/docs/html/class_b_m_a_m_p3_file__inherit__graph.png b/docs/html/class_b_m_a_m_p3_file__inherit__graph.png new file mode 100644 index 0000000..54ce7ac Binary files /dev/null and b/docs/html/class_b_m_a_m_p3_file__inherit__graph.png differ diff --git a/docs/html/class_b_m_a_m_p3_stream_content_provider-members.html b/docs/html/class_b_m_a_m_p3_stream_content_provider-members.html new file mode 100644 index 0000000..0300ee0 --- /dev/null +++ b/docs/html/class_b_m_a_m_p3_stream_content_provider-members.html @@ -0,0 +1,86 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMAMP3StreamContentProvider Member List
+
+
+ +

This is the complete list of members for BMAMP3StreamContentProvider, including all inherited members.

+ + + + + + + + + + + +
BMAMP3StreamContentProvider(BMAStreamServer &server) (defined in BMAMP3StreamContentProvider)BMAMP3StreamContentProvider
BMAStreamContentProvider(BMAStreamServer &server) (defined in BMAStreamContentProvider)BMAStreamContentProvider
cursor (defined in BMAStreamContentProvider)BMAStreamContentProvider
frames (defined in BMAStreamContentProvider)BMAStreamContentProvider
getFrameCount() (defined in BMAStreamContentProvider)BMAStreamContentProvider
getNextStreamFrame() (defined in BMAStreamContentProvider)BMAStreamContentProvidervirtual
getStreamFrame() (defined in BMAMP3StreamContentProvider)BMAMP3StreamContentProvider
ready (defined in BMAStreamContentProvider)BMAStreamContentProvider
~BMAMP3StreamContentProvider() (defined in BMAMP3StreamContentProvider)BMAMP3StreamContentProvider
~BMAStreamContentProvider() (defined in BMAStreamContentProvider)BMAStreamContentProvider
+ + + + diff --git a/docs/html/class_b_m_a_m_p3_stream_content_provider.html b/docs/html/class_b_m_a_m_p3_stream_content_provider.html new file mode 100644 index 0000000..12a622e --- /dev/null +++ b/docs/html/class_b_m_a_m_p3_stream_content_provider.html @@ -0,0 +1,128 @@ + + + + + + + +BMA Server Framework: BMAMP3StreamContentProvider Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
BMAMP3StreamContentProvider Class Reference
+
+
+
+Inheritance diagram for BMAMP3StreamContentProvider:
+
+
Inheritance graph
+ + + +
[legend]
+
+Collaboration diagram for BMAMP3StreamContentProvider:
+
+
Collaboration graph
+ + + +
[legend]
+ + + + + + + + + + + + + +

+Public Member Functions

BMAMP3StreamContentProvider (BMAStreamServer &server)
 
+BMAStreamFramegetStreamFrame ()
 
- Public Member Functions inherited from BMAStreamContentProvider
BMAStreamContentProvider (BMAStreamServer &server)
 
+virtual BMAStreamFramegetNextStreamFrame ()
 
+int getFrameCount ()
 
+ + + + + + + + +

+Additional Inherited Members

- Public Attributes inherited from BMAStreamContentProvider
+bool ready = false
 
+std::vector< BMAStreamFrame * > frames
 
+int cursor
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/html/class_b_m_a_m_p3_stream_content_provider__coll__graph.map b/docs/html/class_b_m_a_m_p3_stream_content_provider__coll__graph.map new file mode 100644 index 0000000..dcec8cf --- /dev/null +++ b/docs/html/class_b_m_a_m_p3_stream_content_provider__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/class_b_m_a_m_p3_stream_content_provider__coll__graph.md5 b/docs/html/class_b_m_a_m_p3_stream_content_provider__coll__graph.md5 new file mode 100644 index 0000000..f4d5336 --- /dev/null +++ b/docs/html/class_b_m_a_m_p3_stream_content_provider__coll__graph.md5 @@ -0,0 +1 @@ +6bf7b46d8b19a5239707fe459c1e07ba \ No newline at end of file diff --git a/docs/html/class_b_m_a_m_p3_stream_content_provider__coll__graph.png b/docs/html/class_b_m_a_m_p3_stream_content_provider__coll__graph.png new file mode 100644 index 0000000..6be5d43 Binary files /dev/null and b/docs/html/class_b_m_a_m_p3_stream_content_provider__coll__graph.png differ diff --git a/docs/html/class_b_m_a_m_p3_stream_content_provider__inherit__graph.map b/docs/html/class_b_m_a_m_p3_stream_content_provider__inherit__graph.map new file mode 100644 index 0000000..dcec8cf --- /dev/null +++ b/docs/html/class_b_m_a_m_p3_stream_content_provider__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/class_b_m_a_m_p3_stream_content_provider__inherit__graph.md5 b/docs/html/class_b_m_a_m_p3_stream_content_provider__inherit__graph.md5 new file mode 100644 index 0000000..94a1052 --- /dev/null +++ b/docs/html/class_b_m_a_m_p3_stream_content_provider__inherit__graph.md5 @@ -0,0 +1 @@ +59746ec6ad07324ce9884ace505c075d \ No newline at end of file diff --git a/docs/html/class_b_m_a_m_p3_stream_content_provider__inherit__graph.png b/docs/html/class_b_m_a_m_p3_stream_content_provider__inherit__graph.png new file mode 100644 index 0000000..6be5d43 Binary files /dev/null and b/docs/html/class_b_m_a_m_p3_stream_content_provider__inherit__graph.png differ diff --git a/docs/html/class_b_m_a_m_p3_stream_frame-members.html b/docs/html/class_b_m_a_m_p3_stream_frame-members.html new file mode 100644 index 0000000..d9e77fd --- /dev/null +++ b/docs/html/class_b_m_a_m_p3_stream_frame-members.html @@ -0,0 +1,91 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMAMP3StreamFrame Member List
+
+
+ +

This is the complete list of members for BMAMP3StreamFrame, including all inherited members.

+ + + + + + + + + + + + + + + + +
bit_rates (defined in BMAMP3StreamFrame)BMAMP3StreamFrameprotected
BMAMP3StreamFrame(char *stream) (defined in BMAMP3StreamFrame)BMAMP3StreamFrame
BMAStreamFrame(char *streamData) (defined in BMAStreamFrame)BMAStreamFrame
getBitRate() (defined in BMAMP3StreamFrame)BMAMP3StreamFrame
getDuration() (defined in BMAMP3StreamFrame)BMAMP3StreamFramevirtual
getFrameSampleSize() (defined in BMAMP3StreamFrame)BMAMP3StreamFrame
getFrameSize() (defined in BMAMP3StreamFrame)BMAMP3StreamFramevirtual
getLayer() (defined in BMAMP3StreamFrame)BMAMP3StreamFrame
getPaddingSize() (defined in BMAMP3StreamFrame)BMAMP3StreamFrame
getSampleRate() (defined in BMAMP3StreamFrame)BMAMP3StreamFrame
getVersion() (defined in BMAMP3StreamFrame)BMAMP3StreamFrame
lastFrame (defined in BMAStreamFrame)BMAStreamFrame
sample_rates (defined in BMAMP3StreamFrame)BMAMP3StreamFrameprotected
streamData (defined in BMAStreamFrame)BMAStreamFrame
~BMAMP3StreamFrame() (defined in BMAMP3StreamFrame)BMAMP3StreamFrame
+ + + + diff --git a/docs/html/class_b_m_a_m_p3_stream_frame.html b/docs/html/class_b_m_a_m_p3_stream_frame.html new file mode 100644 index 0000000..f719c3e --- /dev/null +++ b/docs/html/class_b_m_a_m_p3_stream_frame.html @@ -0,0 +1,151 @@ + + + + + + + +BMA Server Framework: BMAMP3StreamFrame Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
BMAMP3StreamFrame Class Reference
+
+
+
+Inheritance diagram for BMAMP3StreamFrame:
+
+
Inheritance graph
+ + + +
[legend]
+
+Collaboration diagram for BMAMP3StreamFrame:
+
+
Collaboration graph
+ + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

BMAMP3StreamFrame (char *stream)
 
+double getDuration ()
 
+int getVersion ()
 
+int getLayer ()
 
+int getBitRate ()
 
+int getSampleRate ()
 
+int getPaddingSize ()
 
+int getFrameSampleSize ()
 
+int getFrameSize ()
 
- Public Member Functions inherited from BMAStreamFrame
BMAStreamFrame (char *streamData)
 
+ + + + + +

+Protected Attributes

+int bit_rates [16] = { -1, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, -1 }
 
+int sample_rates [4] = { 44100, 48000, 32000, -1 }
 
+ + + + + + +

+Additional Inherited Members

- Public Attributes inherited from BMAStreamFrame
+char * streamData
 
+bool lastFrame
 
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Documents/Development/BMASockets/BMAMP3StreamFrame.h
  • +
  • /home/barant/Documents/Development/BMASockets/BMAMP3StreamFrame.cpp
  • +
+
+ + + + diff --git a/docs/html/class_b_m_a_m_p3_stream_frame__coll__graph.map b/docs/html/class_b_m_a_m_p3_stream_frame__coll__graph.map new file mode 100644 index 0000000..e1378a3 --- /dev/null +++ b/docs/html/class_b_m_a_m_p3_stream_frame__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/class_b_m_a_m_p3_stream_frame__coll__graph.md5 b/docs/html/class_b_m_a_m_p3_stream_frame__coll__graph.md5 new file mode 100644 index 0000000..5b28228 --- /dev/null +++ b/docs/html/class_b_m_a_m_p3_stream_frame__coll__graph.md5 @@ -0,0 +1 @@ +ecb218f1a803f846c601798a808c103a \ No newline at end of file diff --git a/docs/html/class_b_m_a_m_p3_stream_frame__coll__graph.png b/docs/html/class_b_m_a_m_p3_stream_frame__coll__graph.png new file mode 100644 index 0000000..e5abf1f Binary files /dev/null and b/docs/html/class_b_m_a_m_p3_stream_frame__coll__graph.png differ diff --git a/docs/html/class_b_m_a_m_p3_stream_frame__inherit__graph.map b/docs/html/class_b_m_a_m_p3_stream_frame__inherit__graph.map new file mode 100644 index 0000000..e1378a3 --- /dev/null +++ b/docs/html/class_b_m_a_m_p3_stream_frame__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/class_b_m_a_m_p3_stream_frame__inherit__graph.md5 b/docs/html/class_b_m_a_m_p3_stream_frame__inherit__graph.md5 new file mode 100644 index 0000000..e76a5e7 --- /dev/null +++ b/docs/html/class_b_m_a_m_p3_stream_frame__inherit__graph.md5 @@ -0,0 +1 @@ +3daddbc3b9726c0be0b229e80c87c174 \ No newline at end of file diff --git a/docs/html/class_b_m_a_m_p3_stream_frame__inherit__graph.png b/docs/html/class_b_m_a_m_p3_stream_frame__inherit__graph.png new file mode 100644 index 0000000..e5abf1f Binary files /dev/null and b/docs/html/class_b_m_a_m_p3_stream_frame__inherit__graph.png differ diff --git a/docs/html/class_b_m_a_object-members.html b/docs/html/class_b_m_a_object-members.html new file mode 100644 index 0000000..46ba7e7 --- /dev/null +++ b/docs/html/class_b_m_a_object-members.html @@ -0,0 +1,78 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMAObject Member List
+
+
+ +

This is the complete list of members for BMAObject, including all inherited members.

+ + + +
name (defined in BMAObject)BMAObject
tag (defined in BMAObject)BMAObject
+ + + + diff --git a/docs/html/class_b_m_a_object.html b/docs/html/class_b_m_a_object.html new file mode 100644 index 0000000..d74edf9 --- /dev/null +++ b/docs/html/class_b_m_a_object.html @@ -0,0 +1,117 @@ + + + + + + + +BMA Server Framework: BMAObject Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
BMAObject Class Reference
+
+
+
+Inheritance diagram for BMAObject:
+
+
Inheritance graph
+ + + + + + + + + + + + + + + + + + + + + + + +
[legend]
+ + + + + + +

+Public Attributes

+std::string name
 
+std::string tag
 
+
The documentation for this class was generated from the following file:
    +
  • /home/barant/Development/BMA/server_core/ServerCore/BMAObject.h
  • +
+
+ + + + diff --git a/docs/html/class_b_m_a_object__inherit__graph.map b/docs/html/class_b_m_a_object__inherit__graph.map new file mode 100644 index 0000000..c8535fe --- /dev/null +++ b/docs/html/class_b_m_a_object__inherit__graph.map @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/html/class_b_m_a_object__inherit__graph.md5 b/docs/html/class_b_m_a_object__inherit__graph.md5 new file mode 100644 index 0000000..8863dae --- /dev/null +++ b/docs/html/class_b_m_a_object__inherit__graph.md5 @@ -0,0 +1 @@ +e73c87a56ae7c786ca648cd6a199b9dc \ No newline at end of file diff --git a/docs/html/class_b_m_a_object__inherit__graph.png b/docs/html/class_b_m_a_object__inherit__graph.png new file mode 100644 index 0000000..fbe9806 Binary files /dev/null and b/docs/html/class_b_m_a_object__inherit__graph.png differ diff --git a/docs/html/class_b_m_a_p_o_p3_server-members.html b/docs/html/class_b_m_a_p_o_p3_server-members.html new file mode 100644 index 0000000..02c7630 --- /dev/null +++ b/docs/html/class_b_m_a_p_o_p3_server-members.html @@ -0,0 +1,115 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMAPOP3Server Member List
+
+
+ +

This is the complete list of members for BMAPOP3Server, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BMACommand(std::string commandName) (defined in BMACommand)BMACommand
BMAPOP3Server(BMAEPoll &ePoll, std::string url, short int port) (defined in BMAPOP3Server)BMAPOP3Server
BMASocket(BMAEPoll &ePoll) (defined in BMASocket)BMASocket
BMATCPServerSocket(BMAEPoll &ePoll, std::string url, short int port, std::string commandName)BMATCPServerSocket
BMATCPSocket(BMAEPoll &ePoll) (defined in BMATCPSocket)BMATCPSocket
bufferSize (defined in BMASocket)BMASocket
commandName (defined in BMACommand)BMACommand
commands (defined in BMAPOP3Server)BMAPOP3Server
enable(bool mode)BMASocket
ePoll (defined in BMASocket)BMASocketprotected
eventReceived(struct epoll_event event)BMASocket
getDescriptor()BMASocket
getSocketAccept()BMAPOP3Servervirtual
ipAddress (defined in BMATCPSocket)BMATCPSocket
name (defined in BMAObject)BMAObject
name (defined in BMAObject)BMAObject
onConnected()BMASocketprotectedvirtual
onDataReceived(std::string data) overrideBMATCPServerSocketprotectedvirtual
onRegistered()BMASocketvirtual
onUnregistered()BMASocketvirtual
BMATCPSocket::output(std::stringstream &out)BMATCPSocketvirtual
output(BMASession *session) (defined in BMACommand)BMACommandvirtual
processCommand(BMASession *session) overrideBMAPOP3Servervirtual
registerCommand(BMACommand &command) (defined in BMAPOP3Server)BMAPOP3Server
removeFromSessionList(BMASession *session) (defined in BMATCPServerSocket)BMATCPServerSocket
sessionsBMATCPServerSocket
setBufferSize(int length) (defined in BMASocket)BMASocketprotected
setDescriptor(int descriptor)BMASocket
shutdown() (defined in BMASocket)BMASocketprotected
shutDown (defined in BMASocket)BMASocketprotected
tag (defined in BMAObject)BMAObject
tag (defined in BMAObject)BMAObject
write(std::string data)BMASocket
write(char *buffer, int length) (defined in BMASocket)BMASocket
~BMACommand() (defined in BMACommand)BMACommand
~BMAPOP3Server() (defined in BMAPOP3Server)BMAPOP3Server
~BMASocket() (defined in BMASocket)BMASocket
~BMATCPServerSocket()BMATCPServerSocket
~BMATCPSocket() (defined in BMATCPSocket)BMATCPSocket
+ + + + diff --git a/docs/html/class_b_m_a_p_o_p3_server.html b/docs/html/class_b_m_a_p_o_p3_server.html new file mode 100644 index 0000000..25f9f7e --- /dev/null +++ b/docs/html/class_b_m_a_p_o_p3_server.html @@ -0,0 +1,259 @@ + + + + + + + +BMA Server Framework: BMAPOP3Server Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
BMAPOP3Server Class Reference
+
+
+
+Inheritance diagram for BMAPOP3Server:
+
+
Inheritance graph
+ + + + + + + +
[legend]
+
+Collaboration diagram for BMAPOP3Server:
+
+
Collaboration graph
+ + + + + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

BMAPOP3Server (BMAEPoll &ePoll, std::string url, short int port)
 
BMASessiongetSocketAccept ()
 
+void registerCommand (BMACommand &command)
 
+int processCommand (BMASession *session) override
 Output the consoles array to the console.
 
- Public Member Functions inherited from BMATCPServerSocket
 BMATCPServerSocket (BMAEPoll &ePoll, std::string url, short int port, std::string commandName)
 
 ~BMATCPServerSocket ()
 
+void removeFromSessionList (BMASession *session)
 
- Public Member Functions inherited from BMATCPSocket
BMATCPSocket (BMAEPoll &ePoll)
 
virtual void output (std::stringstream &out)
 
- Public Member Functions inherited from BMASocket
BMASocket (BMAEPoll &ePoll)
 
+void setDescriptor (int descriptor)
 Set the descriptor for the socket.
 
+int getDescriptor ()
 Get the descriptor for the socket.
 
void eventReceived (struct epoll_event event)
 Parse epoll event and call specified callbacks. More...
 
void write (std::string data)
 
+void write (char *buffer, int length)
 
+void output (std::stringstream &out)
 
virtual void onRegistered ()
 Called when the socket has finished registering with the epoll processing. More...
 
virtual void onUnregistered ()
 Called when the socket has finished unregistering for the epoll processing. More...
 
+void enable (bool mode)
 Enable the socket to read or write based upon buffer.
 
- Public Member Functions inherited from BMACommand
BMACommand (std::string commandName)
 
+virtual void output (BMASession *session)
 
+ + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+std::vector< BMACommand * > commands
 
- Public Attributes inherited from BMATCPServerSocket
std::vector< BMASession * > sessions
 
- Public Attributes inherited from BMATCPSocket
+BMAIPAddress ipAddress
 
- Public Attributes inherited from BMASocket
+class {
bufferSize
 
- Public Attributes inherited from BMAObject
+std::string name
 
+std::string tag
 
- Public Attributes inherited from BMACommand
+std::string commandName
 
+ + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from BMATCPServerSocket
void onDataReceived (std::string data) override
 
void processCommand (BMASession *session) override
 
- Protected Member Functions inherited from BMASocket
+void setBufferSize (int length)
 
virtual void onConnected ()
 Called when socket is open and ready to communicate. More...
 
+void shutdown ()
 
- Protected Attributes inherited from BMASocket
+BMAEPollePoll
 
+bool shutDown = false
 
+

Member Function Documentation

+ +

◆ getSocketAccept()

+ +
+
+ + + + + +
+ + + + + + + +
BMASession* BMAPOP3Server::getSocketAccept ()
+
+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 BMASession provides the mechanism where the server can select the protocol dialog for the desired service.

+ +

Implements BMATCPServerSocket.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/html/class_b_m_a_p_o_p3_server__coll__graph.map b/docs/html/class_b_m_a_p_o_p3_server__coll__graph.map new file mode 100644 index 0000000..7027485 --- /dev/null +++ b/docs/html/class_b_m_a_p_o_p3_server__coll__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/html/class_b_m_a_p_o_p3_server__coll__graph.md5 b/docs/html/class_b_m_a_p_o_p3_server__coll__graph.md5 new file mode 100644 index 0000000..b2de243 --- /dev/null +++ b/docs/html/class_b_m_a_p_o_p3_server__coll__graph.md5 @@ -0,0 +1 @@ +01b6e6c233a161c42cf78b2a9b211d7f \ No newline at end of file diff --git a/docs/html/class_b_m_a_p_o_p3_server__coll__graph.png b/docs/html/class_b_m_a_p_o_p3_server__coll__graph.png new file mode 100644 index 0000000..0150df8 Binary files /dev/null and b/docs/html/class_b_m_a_p_o_p3_server__coll__graph.png differ diff --git a/docs/html/class_b_m_a_p_o_p3_server__inherit__graph.map b/docs/html/class_b_m_a_p_o_p3_server__inherit__graph.map new file mode 100644 index 0000000..b73885c --- /dev/null +++ b/docs/html/class_b_m_a_p_o_p3_server__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/html/class_b_m_a_p_o_p3_server__inherit__graph.md5 b/docs/html/class_b_m_a_p_o_p3_server__inherit__graph.md5 new file mode 100644 index 0000000..9342c46 --- /dev/null +++ b/docs/html/class_b_m_a_p_o_p3_server__inherit__graph.md5 @@ -0,0 +1 @@ +6ad3ee34a95e0308d4c605d63928ee64 \ No newline at end of file diff --git a/docs/html/class_b_m_a_p_o_p3_server__inherit__graph.png b/docs/html/class_b_m_a_p_o_p3_server__inherit__graph.png new file mode 100644 index 0000000..822b2a0 Binary files /dev/null and b/docs/html/class_b_m_a_p_o_p3_server__inherit__graph.png differ diff --git a/docs/html/class_b_m_a_p_o_p3_session-members.html b/docs/html/class_b_m_a_p_o_p3_session-members.html new file mode 100644 index 0000000..1392ade --- /dev/null +++ b/docs/html/class_b_m_a_p_o_p3_session-members.html @@ -0,0 +1,110 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMAPOP3Session Member List
+
+
+ +

This is the complete list of members for BMAPOP3Session, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BMAPOP3Session(BMAEPoll &ePoll, BMAPOP3Server &server) (defined in BMAPOP3Session)BMAPOP3Session
BMASession(BMAEPoll &ePoll, BMATCPServerSocket &server) (defined in BMASession)BMASession
BMASocket(BMAEPoll &ePoll) (defined in BMASocket)BMASocket
BMATCPSocket(BMAEPoll &ePoll) (defined in BMATCPSocket)BMATCPSocket
bufferSize (defined in BMASocket)BMASocket
enable(bool mode)BMASocket
ePoll (defined in BMASocket)BMASocketprotected
eventReceived(struct epoll_event event)BMASocket
getDescriptor()BMASocket
getServer() (defined in BMASession)BMASession
ipAddress (defined in BMATCPSocket)BMATCPSocket
name (defined in BMAObject)BMAObject
onConnected() overrideBMASessionprotectedvirtual
onRegistered()BMASocketvirtual
onUnregistered()BMASocketvirtual
out (defined in BMASession)BMASession
output(std::stringstream &out)BMAPOP3Sessionvirtual
output(BMASession *session) (defined in BMASession)BMASessionvirtual
protocol(char *data, int length) override (defined in BMAPOP3Session)BMAPOP3Sessionprotected
protocol(std::string data)=0 (defined in BMASession)BMASessionprotectedpure virtual
send() (defined in BMASession)BMASession
sendToAll() (defined in BMASession)BMASession
sendToAll(BMASessionFilter *filter) (defined in BMASession)BMASession
setBufferSize(int length) (defined in BMASocket)BMASocketprotected
setDescriptor(int descriptor)BMASocket
shutdown() (defined in BMASocket)BMASocketprotected
shutDown (defined in BMASocket)BMASocketprotected
tag (defined in BMAObject)BMAObject
write(std::string data)BMASocket
write(char *buffer, int length) (defined in BMASocket)BMASocket
~BMAPop3Session() (defined in BMAPOP3Session)BMAPOP3Session
~BMASession() (defined in BMASession)BMASession
~BMASocket() (defined in BMASocket)BMASocket
~BMATCPSocket() (defined in BMATCPSocket)BMATCPSocket
+ + + + diff --git a/docs/html/class_b_m_a_p_o_p3_session.html b/docs/html/class_b_m_a_p_o_p3_session.html new file mode 100644 index 0000000..262007e --- /dev/null +++ b/docs/html/class_b_m_a_p_o_p3_session.html @@ -0,0 +1,255 @@ + + + + + + + +BMA Server Framework: BMAPOP3Session Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
BMAPOP3Session Class Reference
+
+
+ +

#include <BMAPOP3Session.h>

+
+Inheritance diagram for BMAPOP3Session:
+
+
Inheritance graph
+ + + + + + +
[legend]
+
+Collaboration diagram for BMAPOP3Session:
+
+
Collaboration graph
+ + + + + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

BMAPOP3Session (BMAEPoll &ePoll, BMAPOP3Server &server)
 
virtual void output (std::stringstream &out)
 
- Public Member Functions inherited from BMASession
BMASession (BMAEPoll &ePoll, BMATCPServerSocket &server)
 
+virtual void output (BMASession *session)
 
+void send ()
 
+void sendToAll ()
 
+void sendToAll (BMASessionFilter *filter)
 
+BMATCPServerSocketgetServer ()
 
- Public Member Functions inherited from BMATCPSocket
BMATCPSocket (BMAEPoll &ePoll)
 
- Public Member Functions inherited from BMASocket
BMASocket (BMAEPoll &ePoll)
 
+void setDescriptor (int descriptor)
 Set the descriptor for the socket.
 
+int getDescriptor ()
 Get the descriptor for the socket.
 
void eventReceived (struct epoll_event event)
 Parse epoll event and call specified callbacks. More...
 
void write (std::string data)
 
+void write (char *buffer, int length)
 
+void output (std::stringstream &out)
 
virtual void onRegistered ()
 Called when the socket has finished registering with the epoll processing. More...
 
virtual void onUnregistered ()
 Called when the socket has finished unregistering for the epoll processing. More...
 
+void enable (bool mode)
 Enable the socket to read or write based upon buffer.
 
+ + + + + + + + + + + + + + +

+Protected Member Functions

+void protocol (char *data, int length) override
 
- Protected Member Functions inherited from BMASession
void onConnected () override
 Called when socket is open and ready to communicate. More...
 
+virtual void protocol (std::string data)=0
 
- Protected Member Functions inherited from BMASocket
+void setBufferSize (int length)
 
+void shutdown ()
 
+ + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Attributes inherited from BMASession
+std::stringstream out
 
- Public Attributes inherited from BMATCPSocket
+BMAIPAddress ipAddress
 
- Public Attributes inherited from BMASocket
+class {
bufferSize
 
- Public Attributes inherited from BMAObject
+std::string name
 
+std::string tag
 
- Protected Attributes inherited from BMASocket
+BMAEPollePoll
 
+bool shutDown = false
 
+

Detailed Description

+

BMAPOP3Session

+

Extends the session parameters for this BMATCPSocket 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()

+ +
+
+ + + + + +
+ + + + + + + + +
virtual void BMAPOP3Session::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 BMATCPSocket.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/html/class_b_m_a_p_o_p3_session__coll__graph.map b/docs/html/class_b_m_a_p_o_p3_session__coll__graph.map new file mode 100644 index 0000000..fef15ca --- /dev/null +++ b/docs/html/class_b_m_a_p_o_p3_session__coll__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/html/class_b_m_a_p_o_p3_session__coll__graph.md5 b/docs/html/class_b_m_a_p_o_p3_session__coll__graph.md5 new file mode 100644 index 0000000..a2be5ae --- /dev/null +++ b/docs/html/class_b_m_a_p_o_p3_session__coll__graph.md5 @@ -0,0 +1 @@ +5bd88bd57336c4655b552bb40f0fb5ea \ No newline at end of file diff --git a/docs/html/class_b_m_a_p_o_p3_session__coll__graph.png b/docs/html/class_b_m_a_p_o_p3_session__coll__graph.png new file mode 100644 index 0000000..7e92c2c Binary files /dev/null and b/docs/html/class_b_m_a_p_o_p3_session__coll__graph.png differ diff --git a/docs/html/class_b_m_a_p_o_p3_session__inherit__graph.map b/docs/html/class_b_m_a_p_o_p3_session__inherit__graph.map new file mode 100644 index 0000000..555aedf --- /dev/null +++ b/docs/html/class_b_m_a_p_o_p3_session__inherit__graph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/html/class_b_m_a_p_o_p3_session__inherit__graph.md5 b/docs/html/class_b_m_a_p_o_p3_session__inherit__graph.md5 new file mode 100644 index 0000000..1256e6b --- /dev/null +++ b/docs/html/class_b_m_a_p_o_p3_session__inherit__graph.md5 @@ -0,0 +1 @@ +6b5308af7ab3c11e1c71c8c583cfd24e \ No newline at end of file diff --git a/docs/html/class_b_m_a_p_o_p3_session__inherit__graph.png b/docs/html/class_b_m_a_p_o_p3_session__inherit__graph.png new file mode 100644 index 0000000..5430452 Binary files /dev/null and b/docs/html/class_b_m_a_p_o_p3_session__inherit__graph.png differ diff --git a/docs/html/class_b_m_a_parse_header.html b/docs/html/class_b_m_a_parse_header.html new file mode 100644 index 0000000..992abbd --- /dev/null +++ b/docs/html/class_b_m_a_parse_header.html @@ -0,0 +1,76 @@ + + + + + + + +BMA Server Framework: BMAParseHeader Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMAParseHeader Class Reference
+
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/html/class_b_m_a_property-members.html b/docs/html/class_b_m_a_property-members.html new file mode 100644 index 0000000..19ec21b --- /dev/null +++ b/docs/html/class_b_m_a_property-members.html @@ -0,0 +1,79 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMAProperty< T > Member List
+
+
+ +

This is the complete list of members for BMAProperty< T >, including all inherited members.

+ + + + +
operator T const &() const (defined in BMAProperty< T >)BMAProperty< T >inlinevirtual
operator=(const T &f) (defined in BMAProperty< T >)BMAProperty< T >inlinevirtual
value (defined in BMAProperty< T >)BMAProperty< T >protected
+ + + + diff --git a/docs/html/class_b_m_a_property.html b/docs/html/class_b_m_a_property.html new file mode 100644 index 0000000..850c434 --- /dev/null +++ b/docs/html/class_b_m_a_property.html @@ -0,0 +1,96 @@ + + + + + + + +BMA Server Framework: BMAProperty< T > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
BMAProperty< T > Class Template Reference
+
+
+ + + + + + +

+Public Member Functions

+virtual T & operator= (const T &f)
 
+virtual operator T const & () const
 
+ + + +

+Protected Attributes

+T value
 
+
The documentation for this class was generated from the following file:
    +
  • /home/barant/Development/BMA/server_core/ServerCore/BMAProperty.h
  • +
+
+ + + + diff --git a/docs/html/class_b_m_a_protocol_manager-members.html b/docs/html/class_b_m_a_protocol_manager-members.html new file mode 100644 index 0000000..e5b862c --- /dev/null +++ b/docs/html/class_b_m_a_protocol_manager-members.html @@ -0,0 +1,79 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMAProtocolManager Member List
+
+
+ +

This is the complete list of members for BMAProtocolManager, including all inherited members.

+ + + + +
BMAProtocolManager(BMAEPoll &ePoll) (defined in BMAProtocolManager)BMAProtocolManager
onDataReceived(char *buffer, int length) (defined in BMAProtocolManager)BMAProtocolManager
~BMAProtocolManager() (defined in BMAProtocolManager)BMAProtocolManager
+ + + + diff --git a/docs/html/class_b_m_a_protocol_manager.html b/docs/html/class_b_m_a_protocol_manager.html new file mode 100644 index 0000000..6302371 --- /dev/null +++ b/docs/html/class_b_m_a_protocol_manager.html @@ -0,0 +1,90 @@ + + + + + + + +BMA Server Framework: BMAProtocolManager Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
BMAProtocolManager Class Reference
+
+
+ + + + + + +

+Public Member Functions

BMAProtocolManager (BMAEPoll &ePoll)
 
+void onDataReceived (char *buffer, int length)
 
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Documents/Development/BMASockets/BMAProtocolManager.h
  • +
  • /home/barant/Documents/Development/BMASockets/BMAProtocolManager.cpp
  • +
+
+ + + + diff --git a/docs/html/class_b_m_a_protocol_manager__coll__graph.map b/docs/html/class_b_m_a_protocol_manager__coll__graph.map new file mode 100644 index 0000000..84a5806 --- /dev/null +++ b/docs/html/class_b_m_a_protocol_manager__coll__graph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/html/class_b_m_a_protocol_manager__coll__graph.md5 b/docs/html/class_b_m_a_protocol_manager__coll__graph.md5 new file mode 100644 index 0000000..a8e3e2e --- /dev/null +++ b/docs/html/class_b_m_a_protocol_manager__coll__graph.md5 @@ -0,0 +1 @@ +0b1481090b485254d7d84401f0590e94 \ No newline at end of file diff --git a/docs/html/class_b_m_a_protocol_manager__coll__graph.png b/docs/html/class_b_m_a_protocol_manager__coll__graph.png new file mode 100644 index 0000000..ff92b49 Binary files /dev/null and b/docs/html/class_b_m_a_protocol_manager__coll__graph.png differ diff --git a/docs/html/class_b_m_a_protocol_manager__inherit__graph.map b/docs/html/class_b_m_a_protocol_manager__inherit__graph.map new file mode 100644 index 0000000..7f87128 --- /dev/null +++ b/docs/html/class_b_m_a_protocol_manager__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/class_b_m_a_protocol_manager__inherit__graph.md5 b/docs/html/class_b_m_a_protocol_manager__inherit__graph.md5 new file mode 100644 index 0000000..547b9c7 --- /dev/null +++ b/docs/html/class_b_m_a_protocol_manager__inherit__graph.md5 @@ -0,0 +1 @@ +77a9b2d3ee2dfa5e7ed0ddd3b3a96073 \ No newline at end of file diff --git a/docs/html/class_b_m_a_protocol_manager__inherit__graph.png b/docs/html/class_b_m_a_protocol_manager__inherit__graph.png new file mode 100644 index 0000000..2b67d42 Binary files /dev/null and b/docs/html/class_b_m_a_protocol_manager__inherit__graph.png differ diff --git a/docs/html/class_b_m_a_response-members.html b/docs/html/class_b_m_a_response-members.html new file mode 100644 index 0000000..e0a8173 --- /dev/null +++ b/docs/html/class_b_m_a_response-members.html @@ -0,0 +1,90 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMAResponse Member List
+
+
+ +

This is the complete list of members for BMAResponse, including all inherited members.

+ + + + + + + + + + + + + + + +
addHeaderItem(std::string key, std::string value) (defined in BMAResponse)BMAResponse
BMAResponse()BMAResponse
getResponse(Mode mode)BMAResponse
getResponse(std::string content, Mode mode)BMAResponse
LENGTH enum value (defined in BMAResponse)BMAResponse
Mode enum name (defined in BMAResponse)BMAResponse
name (defined in BMAObject)BMAObject
setCode(std::string code)BMAResponse
setMimeType(std::string mimeType)BMAResponse
setProtocol(std::string protocol)BMAResponse
setText(std::string text)BMAResponse
STREAMING enum value (defined in BMAResponse)BMAResponse
tag (defined in BMAObject)BMAObject
~BMAResponse()BMAResponse
+ + + + diff --git a/docs/html/class_b_m_a_response.html b/docs/html/class_b_m_a_response.html new file mode 100644 index 0000000..2e47086 --- /dev/null +++ b/docs/html/class_b_m_a_response.html @@ -0,0 +1,337 @@ + + + + + + + +BMA Server Framework: BMAResponse Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
BMAResponse Class Reference
+
+
+ +

#include <BMAResponse.h>

+
+Inheritance diagram for BMAResponse:
+
+
Inheritance graph
+ + + +
[legend]
+
+Collaboration diagram for BMAResponse:
+
+
Collaboration graph
+ + + +
[legend]
+ + + + +

+Public Types

enum  Mode { LENGTH, +STREAMING + }
 
+ + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 BMAResponse ()
 
 ~BMAResponse ()
 
std::string getResponse (Mode mode)
 
std::string getResponse (std::string content, Mode mode)
 
void setProtocol (std::string protocol)
 
void setCode (std::string code)
 
void setText (std::string text)
 
void setMimeType (std::string mimeType)
 
+void addHeaderItem (std::string key, std::string value)
 
+ + + + + + +

+Additional Inherited Members

- Public Attributes inherited from BMAObject
+std::string name
 
+std::string tag
 
+

Detailed Description

+

BMAResponse

+

Use this object to build a response output for a protocol that uses headers and responses as the main communications protocol.

+

Constructor & Destructor Documentation

+ +

◆ BMAResponse()

+ +
+
+ + + + + + + +
BMAResponse::BMAResponse ()
+
+

The constructor for the object.

+ +
+
+ +

◆ ~BMAResponse()

+ +
+
+ + + + + + + +
BMAResponse::~BMAResponse ()
+
+

The destructor for the object.

+ +
+
+

Member Function Documentation

+ +

◆ getResponse() [1/2]

+ +
+
+ + + + + + + + +
std::string BMAResponse::getResponse (Mode mode)
+
+

Returns the response generated from the contained values that do not return a content length. Using this constructor ensures a zero length Content-Length value.

+
Returns
the complete response string to send to client.
+ +
+
+ +

◆ getResponse() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
std::string BMAResponse::getResponse (std::string content,
Mode mode 
)
+
+

Returns the response plus the content passed as a parameter.

+

This method will automatically generate the proper Content-Length value for the response.

+
Parameters
+ + +
contentthe content that will be provided on the response message to the client.
+
+
+
Returns
the complete response string to send to client.
+ +
+
+ +

◆ setCode()

+ +
+
+ + + + + + + + +
void BMAResponse::setCode (std::string code)
+
+

Sets the return code value for the response.

+
Parameters
+ + +
codethe response code value to return in the response.
+
+
+ +
+
+ +

◆ setMimeType()

+ +
+
+ + + + + + + + +
void BMAResponse::setMimeType (std::string mimeType)
+
+

Specifies the type of data that will be returned in this response.

+
Parameters
+ + +
mimeTypethe mime type for the data.
+
+
+ +
+
+ +

◆ setProtocol()

+ +
+
+ + + + + + + + +
void BMAResponse::setProtocol (std::string protocol)
+
+

Sets the protocol value for the response message. The protocol should match the header received.

+
Parameters
+ + +
protocolthe protocol value to return in response.
+
+
+ +
+
+ +

◆ setText()

+ +
+
+ + + + + + + + +
void BMAResponse::setText (std::string text)
+
+

Sets the return code string value for the response.

+
Parameters
+ + +
textthe text value for the response code to return on the response.
+
+
+ +
+
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Development/BMA/server_core/ServerCore/BMAResponse.h
  • +
  • /home/barant/Development/BMA/server_core/ServerCore/BMAResponse.cpp
  • +
+
+ + + + diff --git a/docs/html/class_b_m_a_response__coll__graph.map b/docs/html/class_b_m_a_response__coll__graph.map new file mode 100644 index 0000000..2d95317 --- /dev/null +++ b/docs/html/class_b_m_a_response__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/class_b_m_a_response__coll__graph.md5 b/docs/html/class_b_m_a_response__coll__graph.md5 new file mode 100644 index 0000000..388d5ce --- /dev/null +++ b/docs/html/class_b_m_a_response__coll__graph.md5 @@ -0,0 +1 @@ +a2ed9f044392a00f154f8d798852ae48 \ No newline at end of file diff --git a/docs/html/class_b_m_a_response__coll__graph.png b/docs/html/class_b_m_a_response__coll__graph.png new file mode 100644 index 0000000..a5d167e Binary files /dev/null and b/docs/html/class_b_m_a_response__coll__graph.png differ diff --git a/docs/html/class_b_m_a_response__inherit__graph.map b/docs/html/class_b_m_a_response__inherit__graph.map new file mode 100644 index 0000000..2d95317 --- /dev/null +++ b/docs/html/class_b_m_a_response__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/class_b_m_a_response__inherit__graph.md5 b/docs/html/class_b_m_a_response__inherit__graph.md5 new file mode 100644 index 0000000..6614242 --- /dev/null +++ b/docs/html/class_b_m_a_response__inherit__graph.md5 @@ -0,0 +1 @@ +d500168397e33e1db2a880ef457d1807 \ No newline at end of file diff --git a/docs/html/class_b_m_a_response__inherit__graph.png b/docs/html/class_b_m_a_response__inherit__graph.png new file mode 100644 index 0000000..a5d167e Binary files /dev/null and b/docs/html/class_b_m_a_response__inherit__graph.png differ diff --git a/docs/html/class_b_m_a_s_i_p_i_n_v_i_t_e-members.html b/docs/html/class_b_m_a_s_i_p_i_n_v_i_t_e-members.html new file mode 100644 index 0000000..f951a8a --- /dev/null +++ b/docs/html/class_b_m_a_s_i_p_i_n_v_i_t_e-members.html @@ -0,0 +1,83 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMASIPINVITE Member List
+
+
+ +

This is the complete list of members for BMASIPINVITE, including all inherited members.

+ + + + + + + + +
BMASIPINVITE(BMASIPServer &server, std::string url) (defined in BMASIPINVITE)BMASIPINVITE
BMASIPRequestHandler(BMASIPServer &server, std::string path) (defined in BMASIPRequestHandler)BMASIPRequestHandler
name (defined in BMAObject)BMAObject
response(std::stringstream &sink) override (defined in BMASIPINVITE)BMASIPINVITEvirtual
tag (defined in BMAObject)BMAObject
~BMASIPINVITE() (defined in BMASIPINVITE)BMASIPINVITE
~BMASIPRequestHandler() (defined in BMASIPRequestHandler)BMASIPRequestHandler
+ + + + diff --git a/docs/html/class_b_m_a_s_i_p_i_n_v_i_t_e.html b/docs/html/class_b_m_a_s_i_p_i_n_v_i_t_e.html new file mode 100644 index 0000000..f7507b9 --- /dev/null +++ b/docs/html/class_b_m_a_s_i_p_i_n_v_i_t_e.html @@ -0,0 +1,122 @@ + + + + + + + +BMA Server Framework: BMASIPINVITE Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
BMASIPINVITE Class Reference
+
+
+
+Inheritance diagram for BMASIPINVITE:
+
+
Inheritance graph
+ + + + +
[legend]
+
+Collaboration diagram for BMASIPINVITE:
+
+
Collaboration graph
+ + + + +
[legend]
+ + + + + + + + + +

+Public Member Functions

BMASIPINVITE (BMASIPServer &server, std::string url)
 
+int response (std::stringstream &sink) override
 
- Public Member Functions inherited from BMASIPRequestHandler
BMASIPRequestHandler (BMASIPServer &server, std::string path)
 
+ + + + + + +

+Additional Inherited Members

- Public Attributes inherited from BMAObject
+std::string name
 
+std::string tag
 
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Documents/Development/BMASockets/BMASIPINVITE.h
  • +
  • /home/barant/Documents/Development/BMASockets/BMASIPINVITE.cpp
  • +
+
+ + + + diff --git a/docs/html/class_b_m_a_s_i_p_i_n_v_i_t_e__coll__graph.map b/docs/html/class_b_m_a_s_i_p_i_n_v_i_t_e__coll__graph.map new file mode 100644 index 0000000..3ea36f7 --- /dev/null +++ b/docs/html/class_b_m_a_s_i_p_i_n_v_i_t_e__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/html/class_b_m_a_s_i_p_i_n_v_i_t_e__coll__graph.md5 b/docs/html/class_b_m_a_s_i_p_i_n_v_i_t_e__coll__graph.md5 new file mode 100644 index 0000000..704b63f --- /dev/null +++ b/docs/html/class_b_m_a_s_i_p_i_n_v_i_t_e__coll__graph.md5 @@ -0,0 +1 @@ +69de49207aeab5f14f12bdf6525fe55f \ No newline at end of file diff --git a/docs/html/class_b_m_a_s_i_p_i_n_v_i_t_e__coll__graph.png b/docs/html/class_b_m_a_s_i_p_i_n_v_i_t_e__coll__graph.png new file mode 100644 index 0000000..7e24f2b Binary files /dev/null and b/docs/html/class_b_m_a_s_i_p_i_n_v_i_t_e__coll__graph.png differ diff --git a/docs/html/class_b_m_a_s_i_p_i_n_v_i_t_e__inherit__graph.map b/docs/html/class_b_m_a_s_i_p_i_n_v_i_t_e__inherit__graph.map new file mode 100644 index 0000000..3ea36f7 --- /dev/null +++ b/docs/html/class_b_m_a_s_i_p_i_n_v_i_t_e__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/html/class_b_m_a_s_i_p_i_n_v_i_t_e__inherit__graph.md5 b/docs/html/class_b_m_a_s_i_p_i_n_v_i_t_e__inherit__graph.md5 new file mode 100644 index 0000000..f86d733 --- /dev/null +++ b/docs/html/class_b_m_a_s_i_p_i_n_v_i_t_e__inherit__graph.md5 @@ -0,0 +1 @@ +bf24d83e2e061b669a8b40f1d5e0a0b4 \ No newline at end of file diff --git a/docs/html/class_b_m_a_s_i_p_i_n_v_i_t_e__inherit__graph.png b/docs/html/class_b_m_a_s_i_p_i_n_v_i_t_e__inherit__graph.png new file mode 100644 index 0000000..7e24f2b Binary files /dev/null and b/docs/html/class_b_m_a_s_i_p_i_n_v_i_t_e__inherit__graph.png differ diff --git a/docs/html/class_b_m_a_s_i_p_r_e_g_i_s_t_e_r-members.html b/docs/html/class_b_m_a_s_i_p_r_e_g_i_s_t_e_r-members.html new file mode 100644 index 0000000..a22b030 --- /dev/null +++ b/docs/html/class_b_m_a_s_i_p_r_e_g_i_s_t_e_r-members.html @@ -0,0 +1,83 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMASIPREGISTER Member List
+
+
+ +

This is the complete list of members for BMASIPREGISTER, including all inherited members.

+ + + + + + + + +
BMASIPREGISTER(BMASIPServer &server, std::string url) (defined in BMASIPREGISTER)BMASIPREGISTER
BMASIPRequestHandler(BMASIPServer &server, std::string path) (defined in BMASIPRequestHandler)BMASIPRequestHandler
name (defined in BMAObject)BMAObject
response(std::stringstream &sink) override (defined in BMASIPREGISTER)BMASIPREGISTERvirtual
tag (defined in BMAObject)BMAObject
~BMASIPREGISTER() (defined in BMASIPREGISTER)BMASIPREGISTER
~BMASIPRequestHandler() (defined in BMASIPRequestHandler)BMASIPRequestHandler
+ + + + diff --git a/docs/html/class_b_m_a_s_i_p_r_e_g_i_s_t_e_r.html b/docs/html/class_b_m_a_s_i_p_r_e_g_i_s_t_e_r.html new file mode 100644 index 0000000..ded7502 --- /dev/null +++ b/docs/html/class_b_m_a_s_i_p_r_e_g_i_s_t_e_r.html @@ -0,0 +1,122 @@ + + + + + + + +BMA Server Framework: BMASIPREGISTER Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
BMASIPREGISTER Class Reference
+
+
+
+Inheritance diagram for BMASIPREGISTER:
+
+
Inheritance graph
+ + + + +
[legend]
+
+Collaboration diagram for BMASIPREGISTER:
+
+
Collaboration graph
+ + + + +
[legend]
+ + + + + + + + + +

+Public Member Functions

BMASIPREGISTER (BMASIPServer &server, std::string url)
 
+int response (std::stringstream &sink) override
 
- Public Member Functions inherited from BMASIPRequestHandler
BMASIPRequestHandler (BMASIPServer &server, std::string path)
 
+ + + + + + +

+Additional Inherited Members

- Public Attributes inherited from BMAObject
+std::string name
 
+std::string tag
 
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Documents/Development/BMASockets/BMASIPREGISTER.h
  • +
  • /home/barant/Documents/Development/BMASockets/BMASIPREGISTER.cpp
  • +
+
+ + + + diff --git a/docs/html/class_b_m_a_s_i_p_r_e_g_i_s_t_e_r__coll__graph.map b/docs/html/class_b_m_a_s_i_p_r_e_g_i_s_t_e_r__coll__graph.map new file mode 100644 index 0000000..5dec9b5 --- /dev/null +++ b/docs/html/class_b_m_a_s_i_p_r_e_g_i_s_t_e_r__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/html/class_b_m_a_s_i_p_r_e_g_i_s_t_e_r__coll__graph.md5 b/docs/html/class_b_m_a_s_i_p_r_e_g_i_s_t_e_r__coll__graph.md5 new file mode 100644 index 0000000..f5ff806 --- /dev/null +++ b/docs/html/class_b_m_a_s_i_p_r_e_g_i_s_t_e_r__coll__graph.md5 @@ -0,0 +1 @@ +8e3a9774102e7e85bd9c9401a86b9d07 \ No newline at end of file diff --git a/docs/html/class_b_m_a_s_i_p_r_e_g_i_s_t_e_r__coll__graph.png b/docs/html/class_b_m_a_s_i_p_r_e_g_i_s_t_e_r__coll__graph.png new file mode 100644 index 0000000..610d36b Binary files /dev/null and b/docs/html/class_b_m_a_s_i_p_r_e_g_i_s_t_e_r__coll__graph.png differ diff --git a/docs/html/class_b_m_a_s_i_p_r_e_g_i_s_t_e_r__inherit__graph.map b/docs/html/class_b_m_a_s_i_p_r_e_g_i_s_t_e_r__inherit__graph.map new file mode 100644 index 0000000..5dec9b5 --- /dev/null +++ b/docs/html/class_b_m_a_s_i_p_r_e_g_i_s_t_e_r__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/html/class_b_m_a_s_i_p_r_e_g_i_s_t_e_r__inherit__graph.md5 b/docs/html/class_b_m_a_s_i_p_r_e_g_i_s_t_e_r__inherit__graph.md5 new file mode 100644 index 0000000..60403ba --- /dev/null +++ b/docs/html/class_b_m_a_s_i_p_r_e_g_i_s_t_e_r__inherit__graph.md5 @@ -0,0 +1 @@ +d0fa33a85bbf0bf249e161e5dc4c5992 \ No newline at end of file diff --git a/docs/html/class_b_m_a_s_i_p_r_e_g_i_s_t_e_r__inherit__graph.png b/docs/html/class_b_m_a_s_i_p_r_e_g_i_s_t_e_r__inherit__graph.png new file mode 100644 index 0000000..610d36b Binary files /dev/null and b/docs/html/class_b_m_a_s_i_p_r_e_g_i_s_t_e_r__inherit__graph.png differ diff --git a/docs/html/class_b_m_a_s_i_p_request_handler-members.html b/docs/html/class_b_m_a_s_i_p_request_handler-members.html new file mode 100644 index 0000000..4ad83b0 --- /dev/null +++ b/docs/html/class_b_m_a_s_i_p_request_handler-members.html @@ -0,0 +1,81 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMASIPRequestHandler Member List
+
+
+ +

This is the complete list of members for BMASIPRequestHandler, including all inherited members.

+ + + + + + +
BMASIPRequestHandler(BMASIPServer &server, std::string path) (defined in BMASIPRequestHandler)BMASIPRequestHandler
name (defined in BMAObject)BMAObject
response(std::stringstream &sink) (defined in BMASIPRequestHandler)BMASIPRequestHandlervirtual
tag (defined in BMAObject)BMAObject
~BMASIPRequestHandler() (defined in BMASIPRequestHandler)BMASIPRequestHandler
+ + + + diff --git a/docs/html/class_b_m_a_s_i_p_request_handler.html b/docs/html/class_b_m_a_s_i_p_request_handler.html new file mode 100644 index 0000000..ee3aae6 --- /dev/null +++ b/docs/html/class_b_m_a_s_i_p_request_handler.html @@ -0,0 +1,118 @@ + + + + + + + +BMA Server Framework: BMASIPRequestHandler Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
BMASIPRequestHandler Class Reference
+
+
+
+Inheritance diagram for BMASIPRequestHandler:
+
+
Inheritance graph
+ + + + + +
[legend]
+
+Collaboration diagram for BMASIPRequestHandler:
+
+
Collaboration graph
+ + + +
[legend]
+ + + + + + +

+Public Member Functions

BMASIPRequestHandler (BMASIPServer &server, std::string path)
 
+virtual int response (std::stringstream &sink)
 
+ + + + + + +

+Additional Inherited Members

- Public Attributes inherited from BMAObject
+std::string name
 
+std::string tag
 
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Documents/Development/BMASockets/BMASIPRequestHandler.h
  • +
  • /home/barant/Documents/Development/BMASockets/BMASIPRequestHandler.cpp
  • +
+
+ + + + diff --git a/docs/html/class_b_m_a_s_i_p_request_handler__coll__graph.map b/docs/html/class_b_m_a_s_i_p_request_handler__coll__graph.map new file mode 100644 index 0000000..11bbe26 --- /dev/null +++ b/docs/html/class_b_m_a_s_i_p_request_handler__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/class_b_m_a_s_i_p_request_handler__coll__graph.md5 b/docs/html/class_b_m_a_s_i_p_request_handler__coll__graph.md5 new file mode 100644 index 0000000..7e4eed8 --- /dev/null +++ b/docs/html/class_b_m_a_s_i_p_request_handler__coll__graph.md5 @@ -0,0 +1 @@ +ddac1cb5c6b307096b75e9c0f5e25844 \ No newline at end of file diff --git a/docs/html/class_b_m_a_s_i_p_request_handler__coll__graph.png b/docs/html/class_b_m_a_s_i_p_request_handler__coll__graph.png new file mode 100644 index 0000000..fcd9dba Binary files /dev/null and b/docs/html/class_b_m_a_s_i_p_request_handler__coll__graph.png differ diff --git a/docs/html/class_b_m_a_s_i_p_request_handler__inherit__graph.map b/docs/html/class_b_m_a_s_i_p_request_handler__inherit__graph.map new file mode 100644 index 0000000..42241fe --- /dev/null +++ b/docs/html/class_b_m_a_s_i_p_request_handler__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/html/class_b_m_a_s_i_p_request_handler__inherit__graph.md5 b/docs/html/class_b_m_a_s_i_p_request_handler__inherit__graph.md5 new file mode 100644 index 0000000..b797eb0 --- /dev/null +++ b/docs/html/class_b_m_a_s_i_p_request_handler__inherit__graph.md5 @@ -0,0 +1 @@ +f9a818b7cc51d227998f0c556575b04e \ No newline at end of file diff --git a/docs/html/class_b_m_a_s_i_p_request_handler__inherit__graph.png b/docs/html/class_b_m_a_s_i_p_request_handler__inherit__graph.png new file mode 100644 index 0000000..f807ba6 Binary files /dev/null and b/docs/html/class_b_m_a_s_i_p_request_handler__inherit__graph.png differ diff --git a/docs/html/class_b_m_a_s_i_p_server-members.html b/docs/html/class_b_m_a_s_i_p_server-members.html new file mode 100644 index 0000000..3631769 --- /dev/null +++ b/docs/html/class_b_m_a_s_i_p_server-members.html @@ -0,0 +1,116 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMASIPServer Member List
+
+
+ +

This is the complete list of members for BMASIPServer, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BMACommand(std::string commandName) (defined in BMACommand)BMACommand
BMASIPServer(BMAEPoll &ePoll, std::string url, short int port, std::string commandName) (defined in BMASIPServer)BMASIPServer
BMASocket(BMAEPoll &ePoll) (defined in BMASocket)BMASocket
BMATCPServerSocket(BMAEPoll &ePoll, std::string url, short int port, std::string commandName)BMATCPServerSocket
BMATCPSocket(BMAEPoll &ePoll) (defined in BMATCPSocket)BMATCPSocket
bufferSize (defined in BMASocket)BMASocket
commandName (defined in BMACommand)BMACommand
enable(bool mode)BMASocket
ePoll (defined in BMASocket)BMASocketprotected
eventReceived(struct epoll_event event)BMASocket
getDescriptor()BMASocket
getRequestHandler(std::string request) (defined in BMASIPServer)BMASIPServer
getSocketAccept() overrideBMASIPServerprotectedvirtual
ipAddress (defined in BMATCPSocket)BMATCPSocket
name (defined in BMAObject)BMAObject
name (defined in BMAObject)BMAObject
onConnected()BMASocketprotectedvirtual
onDataReceived(std::string data) overrideBMATCPServerSocketprotectedvirtual
onRegistered()BMASocketvirtual
onUnregistered()BMASocketvirtual
BMATCPSocket::output(std::stringstream &out)BMATCPSocketvirtual
output(BMASession *session) (defined in BMACommand)BMACommandvirtual
processCommand(BMASession *session) overrideBMATCPServerSocketprotectedvirtual
registerHandler(std::string request, BMASIPRequestHandler &requestHandler) (defined in BMASIPServer)BMASIPServer
removeFromSessionList(BMASession *session) (defined in BMATCPServerSocket)BMATCPServerSocket
sessionsBMATCPServerSocket
setBufferSize(int length) (defined in BMASocket)BMASocketprotected
setDescriptor(int descriptor)BMASocket
shutdown() (defined in BMASocket)BMASocketprotected
shutDown (defined in BMASocket)BMASocketprotected
tag (defined in BMAObject)BMAObject
tag (defined in BMAObject)BMAObject
unregisterHandler(BMASIPRequestHandler &requestHandler) (defined in BMASIPServer)BMASIPServer
write(std::string data)BMASocket
write(char *buffer, int length) (defined in BMASocket)BMASocket
~BMACommand() (defined in BMACommand)BMACommand
~BMASIPServer() (defined in BMASIPServer)BMASIPServer
~BMASocket() (defined in BMASocket)BMASocket
~BMATCPServerSocket()BMATCPServerSocket
~BMATCPSocket() (defined in BMATCPSocket)BMATCPSocket
+ + + + diff --git a/docs/html/class_b_m_a_s_i_p_server.html b/docs/html/class_b_m_a_s_i_p_server.html new file mode 100644 index 0000000..5f1d135 --- /dev/null +++ b/docs/html/class_b_m_a_s_i_p_server.html @@ -0,0 +1,259 @@ + + + + + + + +BMA Server Framework: BMASIPServer Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
BMASIPServer Class Reference
+
+
+
+Inheritance diagram for BMASIPServer:
+
+
Inheritance graph
+ + + + + + + +
[legend]
+
+Collaboration diagram for BMASIPServer:
+
+
Collaboration graph
+ + + + + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

BMASIPServer (BMAEPoll &ePoll, std::string url, short int port, std::string commandName)
 
+void registerHandler (std::string request, BMASIPRequestHandler &requestHandler)
 
+void unregisterHandler (BMASIPRequestHandler &requestHandler)
 
+BMASIPRequestHandlergetRequestHandler (std::string request)
 
- Public Member Functions inherited from BMATCPServerSocket
 BMATCPServerSocket (BMAEPoll &ePoll, std::string url, short int port, std::string commandName)
 
 ~BMATCPServerSocket ()
 
+void removeFromSessionList (BMASession *session)
 
- Public Member Functions inherited from BMATCPSocket
BMATCPSocket (BMAEPoll &ePoll)
 
virtual void output (std::stringstream &out)
 
- Public Member Functions inherited from BMASocket
BMASocket (BMAEPoll &ePoll)
 
+void setDescriptor (int descriptor)
 Set the descriptor for the socket.
 
+int getDescriptor ()
 Get the descriptor for the socket.
 
void eventReceived (struct epoll_event event)
 Parse epoll event and call specified callbacks. More...
 
void write (std::string data)
 
+void write (char *buffer, int length)
 
+void output (std::stringstream &out)
 
virtual void onRegistered ()
 Called when the socket has finished registering with the epoll processing. More...
 
virtual void onUnregistered ()
 Called when the socket has finished unregistering for the epoll processing. More...
 
+void enable (bool mode)
 Enable the socket to read or write based upon buffer.
 
- Public Member Functions inherited from BMACommand
BMACommand (std::string commandName)
 
+virtual void output (BMASession *session)
 
+ + + + + + + + + + + + + + + + +

+Protected Member Functions

BMASessiongetSocketAccept () override
 
- Protected Member Functions inherited from BMATCPServerSocket
void onDataReceived (std::string data) override
 
void processCommand (BMASession *session) override
 
- Protected Member Functions inherited from BMASocket
+void setBufferSize (int length)
 
virtual void onConnected ()
 Called when socket is open and ready to communicate. More...
 
+void shutdown ()
 
+ + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Attributes inherited from BMATCPServerSocket
std::vector< BMASession * > sessions
 
- Public Attributes inherited from BMATCPSocket
+BMAIPAddress ipAddress
 
- Public Attributes inherited from BMASocket
+class {
bufferSize
 
- Public Attributes inherited from BMAObject
+std::string name
 
+std::string tag
 
- Public Attributes inherited from BMACommand
+std::string commandName
 
- Protected Attributes inherited from BMASocket
+BMAEPollePoll
 
+bool shutDown = false
 
+

Member Function Documentation

+ +

◆ getSocketAccept()

+ +
+
+ + + + + +
+ + + + + + + +
BMASession * BMASIPServer::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.

+ +

Implements BMATCPServerSocket.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Documents/Development/BMASockets/BMASIPServer.h
  • +
  • /home/barant/Documents/Development/BMASockets/BMASIPServer.cpp
  • +
+
+ + + + diff --git a/docs/html/class_b_m_a_s_i_p_server__coll__graph.map b/docs/html/class_b_m_a_s_i_p_server__coll__graph.map new file mode 100644 index 0000000..0e9a931 --- /dev/null +++ b/docs/html/class_b_m_a_s_i_p_server__coll__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/html/class_b_m_a_s_i_p_server__coll__graph.md5 b/docs/html/class_b_m_a_s_i_p_server__coll__graph.md5 new file mode 100644 index 0000000..0efaa1e --- /dev/null +++ b/docs/html/class_b_m_a_s_i_p_server__coll__graph.md5 @@ -0,0 +1 @@ +380cc6587b6ad1e3f1cca1fca0fad9a3 \ No newline at end of file diff --git a/docs/html/class_b_m_a_s_i_p_server__coll__graph.png b/docs/html/class_b_m_a_s_i_p_server__coll__graph.png new file mode 100644 index 0000000..6e787ea Binary files /dev/null and b/docs/html/class_b_m_a_s_i_p_server__coll__graph.png differ diff --git a/docs/html/class_b_m_a_s_i_p_server__inherit__graph.map b/docs/html/class_b_m_a_s_i_p_server__inherit__graph.map new file mode 100644 index 0000000..0dfb7bc --- /dev/null +++ b/docs/html/class_b_m_a_s_i_p_server__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/html/class_b_m_a_s_i_p_server__inherit__graph.md5 b/docs/html/class_b_m_a_s_i_p_server__inherit__graph.md5 new file mode 100644 index 0000000..eb1a8f5 --- /dev/null +++ b/docs/html/class_b_m_a_s_i_p_server__inherit__graph.md5 @@ -0,0 +1 @@ +ac4cb564b01a2384396b0c4a586f3068 \ No newline at end of file diff --git a/docs/html/class_b_m_a_s_i_p_server__inherit__graph.png b/docs/html/class_b_m_a_s_i_p_server__inherit__graph.png new file mode 100644 index 0000000..39d6a51 Binary files /dev/null and b/docs/html/class_b_m_a_s_i_p_server__inherit__graph.png differ diff --git a/docs/html/class_b_m_a_s_i_p_session-members.html b/docs/html/class_b_m_a_s_i_p_session-members.html new file mode 100644 index 0000000..202cde7 --- /dev/null +++ b/docs/html/class_b_m_a_s_i_p_session-members.html @@ -0,0 +1,109 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMASIPSession Member List
+
+
+ +

This is the complete list of members for BMASIPSession, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BMASession(BMAEPoll &ePoll, BMATCPServerSocket &server) (defined in BMASession)BMASession
BMASIPSession(BMAEPoll &ePoll, BMASIPServer &server) (defined in BMASIPSession)BMASIPSession
BMASocket(BMAEPoll &ePoll) (defined in BMASocket)BMASocket
BMATCPSocket(BMAEPoll &ePoll) (defined in BMATCPSocket)BMATCPSocket
bufferSize (defined in BMASocket)BMASocket
enable(bool mode)BMASocket
ePoll (defined in BMASocket)BMASocketprotected
eventReceived(struct epoll_event event)BMASocket
getDescriptor()BMASocket
getServer() (defined in BMASession)BMASession
ipAddress (defined in BMATCPSocket)BMATCPSocket
name (defined in BMAObject)BMAObject
onConnected() overrideBMASessionprotectedvirtual
onRegistered()BMASocketvirtual
onUnregistered()BMASocketvirtual
out (defined in BMASession)BMASession
output(BMASession *session) (defined in BMASession)BMASessionvirtual
BMATCPSocket::output(std::stringstream &out)BMATCPSocketvirtual
protocol(std::string data) override (defined in BMASIPSession)BMASIPSessionprotectedvirtual
send() (defined in BMASession)BMASession
sendToAll() (defined in BMASession)BMASession
sendToAll(BMASessionFilter *filter) (defined in BMASession)BMASession
setBufferSize(int length) (defined in BMASocket)BMASocketprotected
setDescriptor(int descriptor)BMASocket
shutdown() (defined in BMASocket)BMASocketprotected
shutDown (defined in BMASocket)BMASocketprotected
tag (defined in BMAObject)BMAObject
write(std::string data)BMASocket
write(char *buffer, int length) (defined in BMASocket)BMASocket
~BMASession() (defined in BMASession)BMASession
~BMASIPSession() (defined in BMASIPSession)BMASIPSession
~BMASocket() (defined in BMASocket)BMASocket
~BMATCPSocket() (defined in BMATCPSocket)BMATCPSocket
+ + + + diff --git a/docs/html/class_b_m_a_s_i_p_session.html b/docs/html/class_b_m_a_s_i_p_session.html new file mode 100644 index 0000000..13120d6 --- /dev/null +++ b/docs/html/class_b_m_a_s_i_p_session.html @@ -0,0 +1,218 @@ + + + + + + + +BMA Server Framework: BMASIPSession Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
BMASIPSession Class Reference
+
+
+
+Inheritance diagram for BMASIPSession:
+
+
Inheritance graph
+ + + + + + +
[legend]
+
+Collaboration diagram for BMASIPSession:
+
+
Collaboration graph
+ + + + + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

BMASIPSession (BMAEPoll &ePoll, BMASIPServer &server)
 
- Public Member Functions inherited from BMASession
BMASession (BMAEPoll &ePoll, BMATCPServerSocket &server)
 
+virtual void output (BMASession *session)
 
+void send ()
 
+void sendToAll ()
 
+void sendToAll (BMASessionFilter *filter)
 
+BMATCPServerSocketgetServer ()
 
- Public Member Functions inherited from BMATCPSocket
BMATCPSocket (BMAEPoll &ePoll)
 
virtual void output (std::stringstream &out)
 
- Public Member Functions inherited from BMASocket
BMASocket (BMAEPoll &ePoll)
 
+void setDescriptor (int descriptor)
 Set the descriptor for the socket.
 
+int getDescriptor ()
 Get the descriptor for the socket.
 
void eventReceived (struct epoll_event event)
 Parse epoll event and call specified callbacks. More...
 
void write (std::string data)
 
+void write (char *buffer, int length)
 
+void output (std::stringstream &out)
 
virtual void onRegistered ()
 Called when the socket has finished registering with the epoll processing. More...
 
virtual void onUnregistered ()
 Called when the socket has finished unregistering for the epoll processing. More...
 
+void enable (bool mode)
 Enable the socket to read or write based upon buffer.
 
+ + + + + + + + + + + + +

+Protected Member Functions

+void protocol (std::string data) override
 
- Protected Member Functions inherited from BMASession
void onConnected () override
 Called when socket is open and ready to communicate. More...
 
- Protected Member Functions inherited from BMASocket
+void setBufferSize (int length)
 
+void shutdown ()
 
+ + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Attributes inherited from BMASession
+std::stringstream out
 
- Public Attributes inherited from BMATCPSocket
+BMAIPAddress ipAddress
 
- Public Attributes inherited from BMASocket
+class {
bufferSize
 
- Public Attributes inherited from BMAObject
+std::string name
 
+std::string tag
 
- Protected Attributes inherited from BMASocket
+BMAEPollePoll
 
+bool shutDown = false
 
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Documents/Development/BMASockets/BMASIPSession.h
  • +
  • /home/barant/Documents/Development/BMASockets/BMASIPSession.cpp
  • +
+
+ + + + diff --git a/docs/html/class_b_m_a_s_i_p_session__coll__graph.map b/docs/html/class_b_m_a_s_i_p_session__coll__graph.map new file mode 100644 index 0000000..d15b13e --- /dev/null +++ b/docs/html/class_b_m_a_s_i_p_session__coll__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/html/class_b_m_a_s_i_p_session__coll__graph.md5 b/docs/html/class_b_m_a_s_i_p_session__coll__graph.md5 new file mode 100644 index 0000000..6fe56bc --- /dev/null +++ b/docs/html/class_b_m_a_s_i_p_session__coll__graph.md5 @@ -0,0 +1 @@ +3f64de21cc014d181284464256638cbf \ No newline at end of file diff --git a/docs/html/class_b_m_a_s_i_p_session__coll__graph.png b/docs/html/class_b_m_a_s_i_p_session__coll__graph.png new file mode 100644 index 0000000..cb42b63 Binary files /dev/null and b/docs/html/class_b_m_a_s_i_p_session__coll__graph.png differ diff --git a/docs/html/class_b_m_a_s_i_p_session__inherit__graph.map b/docs/html/class_b_m_a_s_i_p_session__inherit__graph.map new file mode 100644 index 0000000..ca25000 --- /dev/null +++ b/docs/html/class_b_m_a_s_i_p_session__inherit__graph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/html/class_b_m_a_s_i_p_session__inherit__graph.md5 b/docs/html/class_b_m_a_s_i_p_session__inherit__graph.md5 new file mode 100644 index 0000000..62c52bc --- /dev/null +++ b/docs/html/class_b_m_a_s_i_p_session__inherit__graph.md5 @@ -0,0 +1 @@ +32463fd6c93c94ceb98fefc4ea886d29 \ No newline at end of file diff --git a/docs/html/class_b_m_a_s_i_p_session__inherit__graph.png b/docs/html/class_b_m_a_s_i_p_session__inherit__graph.png new file mode 100644 index 0000000..7265fea Binary files /dev/null and b/docs/html/class_b_m_a_s_i_p_session__inherit__graph.png differ diff --git a/docs/html/class_b_m_a_s_m_t_p_server-members.html b/docs/html/class_b_m_a_s_m_t_p_server-members.html new file mode 100644 index 0000000..008e70a --- /dev/null +++ b/docs/html/class_b_m_a_s_m_t_p_server-members.html @@ -0,0 +1,115 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMASMTPServer Member List
+
+
+ +

This is the complete list of members for BMASMTPServer, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BMACommand(std::string commandName) (defined in BMACommand)BMACommand
BMASMTPServer(BMAEPoll &ePoll, std::string url, short int port) (defined in BMASMTPServer)BMASMTPServer
BMASocket(BMAEPoll &ePoll) (defined in BMASocket)BMASocket
BMATCPServerSocket(BMAEPoll &ePoll, std::string url, short int port, std::string commandName)BMATCPServerSocket
BMATCPSocket(BMAEPoll &ePoll) (defined in BMATCPSocket)BMATCPSocket
bufferSize (defined in BMASocket)BMASocket
commandName (defined in BMACommand)BMACommand
commands (defined in BMASMTPServer)BMASMTPServer
enable(bool mode)BMASocket
ePoll (defined in BMASocket)BMASocketprotected
eventReceived(struct epoll_event event)BMASocket
getDescriptor()BMASocket
getSocketAccept() overrideBMASMTPServervirtual
ipAddress (defined in BMATCPSocket)BMATCPSocket
name (defined in BMAObject)BMAObject
name (defined in BMAObject)BMAObject
onConnected()BMASocketprotectedvirtual
onDataReceived(std::string data) overrideBMATCPServerSocketprotectedvirtual
onRegistered()BMASocketvirtual
onUnregistered()BMASocketvirtual
BMATCPSocket::output(std::stringstream &out)BMATCPSocketvirtual
output(BMASession *session) (defined in BMACommand)BMACommandvirtual
processCommand(BMASession *session) overrideBMASMTPServervirtual
registerCommand(BMACommand &command) (defined in BMASMTPServer)BMASMTPServer
removeFromSessionList(BMASession *session) (defined in BMATCPServerSocket)BMATCPServerSocket
sessionsBMATCPServerSocket
setBufferSize(int length) (defined in BMASocket)BMASocketprotected
setDescriptor(int descriptor)BMASocket
shutdown() (defined in BMASocket)BMASocketprotected
shutDown (defined in BMASocket)BMASocketprotected
tag (defined in BMAObject)BMAObject
tag (defined in BMAObject)BMAObject
write(std::string data)BMASocket
write(char *buffer, int length) (defined in BMASocket)BMASocket
~BMACommand() (defined in BMACommand)BMACommand
~BMASMTPServer() (defined in BMASMTPServer)BMASMTPServer
~BMASocket() (defined in BMASocket)BMASocket
~BMATCPServerSocket()BMATCPServerSocket
~BMATCPSocket() (defined in BMATCPSocket)BMATCPSocket
+ + + + diff --git a/docs/html/class_b_m_a_s_m_t_p_server.html b/docs/html/class_b_m_a_s_m_t_p_server.html new file mode 100644 index 0000000..dbfb701 --- /dev/null +++ b/docs/html/class_b_m_a_s_m_t_p_server.html @@ -0,0 +1,264 @@ + + + + + + + +BMA Server Framework: BMASMTPServer Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
BMASMTPServer Class Reference
+
+
+ +

#include <BMASMTPServer.h>

+
+Inheritance diagram for BMASMTPServer:
+
+
Inheritance graph
+ + + + + + + +
[legend]
+
+Collaboration diagram for BMASMTPServer:
+
+
Collaboration graph
+ + + + + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

BMASMTPServer (BMAEPoll &ePoll, std::string url, short int port)
 
BMASessiongetSocketAccept () override
 
+void registerCommand (BMACommand &command)
 
+int processCommand (BMASession *session) override
 Output the consoles array to the console.
 
- Public Member Functions inherited from BMATCPServerSocket
 BMATCPServerSocket (BMAEPoll &ePoll, std::string url, short int port, std::string commandName)
 
 ~BMATCPServerSocket ()
 
+void removeFromSessionList (BMASession *session)
 
- Public Member Functions inherited from BMATCPSocket
BMATCPSocket (BMAEPoll &ePoll)
 
virtual void output (std::stringstream &out)
 
- Public Member Functions inherited from BMASocket
BMASocket (BMAEPoll &ePoll)
 
+void setDescriptor (int descriptor)
 Set the descriptor for the socket.
 
+int getDescriptor ()
 Get the descriptor for the socket.
 
void eventReceived (struct epoll_event event)
 Parse epoll event and call specified callbacks. More...
 
void write (std::string data)
 
+void write (char *buffer, int length)
 
+void output (std::stringstream &out)
 
virtual void onRegistered ()
 Called when the socket has finished registering with the epoll processing. More...
 
virtual void onUnregistered ()
 Called when the socket has finished unregistering for the epoll processing. More...
 
+void enable (bool mode)
 Enable the socket to read or write based upon buffer.
 
- Public Member Functions inherited from BMACommand
BMACommand (std::string commandName)
 
+virtual void output (BMASession *session)
 
+ + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+std::vector< BMACommand * > commands
 
- Public Attributes inherited from BMATCPServerSocket
std::vector< BMASession * > sessions
 
- Public Attributes inherited from BMATCPSocket
+BMAIPAddress ipAddress
 
- Public Attributes inherited from BMASocket
+class {
bufferSize
 
- Public Attributes inherited from BMAObject
+std::string name
 
+std::string tag
 
- Public Attributes inherited from BMACommand
+std::string commandName
 
+ + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from BMATCPServerSocket
void onDataReceived (std::string data) override
 
void processCommand (BMASession *session) override
 
- Protected Member Functions inherited from BMASocket
+void setBufferSize (int length)
 
virtual void onConnected ()
 Called when socket is open and ready to communicate. More...
 
+void shutdown ()
 
- Protected Attributes inherited from BMASocket
+BMAEPollePoll
 
+bool shutDown = false
 
+

Detailed Description

+

BMASMTPServer

+

Use this object to create a fully supported SMTP server.

+

Member Function Documentation

+ +

◆ getSocketAccept()

+ +
+
+ + + + + +
+ + + + + + + +
BMASession* BMASMTPServer::getSocketAccept ()
+
+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 BMASession provides the mechanism where the server can select the protocol dialog for the desired service.

+ +

Implements BMATCPServerSocket.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/html/class_b_m_a_s_m_t_p_server__coll__graph.map b/docs/html/class_b_m_a_s_m_t_p_server__coll__graph.map new file mode 100644 index 0000000..d243dfd --- /dev/null +++ b/docs/html/class_b_m_a_s_m_t_p_server__coll__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/html/class_b_m_a_s_m_t_p_server__coll__graph.md5 b/docs/html/class_b_m_a_s_m_t_p_server__coll__graph.md5 new file mode 100644 index 0000000..45722e0 --- /dev/null +++ b/docs/html/class_b_m_a_s_m_t_p_server__coll__graph.md5 @@ -0,0 +1 @@ +ba8142a974c0e4e4fe3c4f64caa22683 \ No newline at end of file diff --git a/docs/html/class_b_m_a_s_m_t_p_server__coll__graph.png b/docs/html/class_b_m_a_s_m_t_p_server__coll__graph.png new file mode 100644 index 0000000..36d85bf Binary files /dev/null and b/docs/html/class_b_m_a_s_m_t_p_server__coll__graph.png differ diff --git a/docs/html/class_b_m_a_s_m_t_p_server__inherit__graph.map b/docs/html/class_b_m_a_s_m_t_p_server__inherit__graph.map new file mode 100644 index 0000000..c02f92a --- /dev/null +++ b/docs/html/class_b_m_a_s_m_t_p_server__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/html/class_b_m_a_s_m_t_p_server__inherit__graph.md5 b/docs/html/class_b_m_a_s_m_t_p_server__inherit__graph.md5 new file mode 100644 index 0000000..fc7bdfd --- /dev/null +++ b/docs/html/class_b_m_a_s_m_t_p_server__inherit__graph.md5 @@ -0,0 +1 @@ +99870e1562fd564f220b9a12a8808904 \ No newline at end of file diff --git a/docs/html/class_b_m_a_s_m_t_p_server__inherit__graph.png b/docs/html/class_b_m_a_s_m_t_p_server__inherit__graph.png new file mode 100644 index 0000000..89f0f81 Binary files /dev/null and b/docs/html/class_b_m_a_s_m_t_p_server__inherit__graph.png differ diff --git a/docs/html/class_b_m_a_s_m_t_p_session-members.html b/docs/html/class_b_m_a_s_m_t_p_session-members.html new file mode 100644 index 0000000..d5f98ec --- /dev/null +++ b/docs/html/class_b_m_a_s_m_t_p_session-members.html @@ -0,0 +1,110 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMASMTPSession Member List
+
+
+ +

This is the complete list of members for BMASMTPSession, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BMAConsoleSession(BMAEPoll &ePoll, BMAConsoleServer &server) (defined in BMASMTPSession)BMASMTPSession
BMASession(BMAEPoll &ePoll, BMATCPServerSocket &server) (defined in BMASession)BMASession
BMASocket(BMAEPoll &ePoll) (defined in BMASocket)BMASocket
BMATCPSocket(BMAEPoll &ePoll) (defined in BMATCPSocket)BMATCPSocket
bufferSize (defined in BMASocket)BMASocket
enable(bool mode)BMASocket
ePoll (defined in BMASocket)BMASocketprotected
eventReceived(struct epoll_event event)BMASocket
getDescriptor()BMASocket
getServer() (defined in BMASession)BMASession
ipAddress (defined in BMATCPSocket)BMATCPSocket
name (defined in BMAObject)BMAObject
onConnected() overrideBMASessionprotectedvirtual
onRegistered()BMASocketvirtual
onUnregistered()BMASocketvirtual
out (defined in BMASession)BMASession
output(std::stringstream &out)BMASMTPSessionvirtual
output(BMASession *session) (defined in BMASession)BMASessionvirtual
protocol(char *data, int length) override (defined in BMASMTPSession)BMASMTPSessionprotected
protocol(std::string data)=0 (defined in BMASession)BMASessionprotectedpure virtual
send() (defined in BMASession)BMASession
sendToAll() (defined in BMASession)BMASession
sendToAll(BMASessionFilter *filter) (defined in BMASession)BMASession
setBufferSize(int length) (defined in BMASocket)BMASocketprotected
setDescriptor(int descriptor)BMASocket
shutdown() (defined in BMASocket)BMASocketprotected
shutDown (defined in BMASocket)BMASocketprotected
tag (defined in BMAObject)BMAObject
write(std::string data)BMASocket
write(char *buffer, int length) (defined in BMASocket)BMASocket
~BMAConsoleSession() (defined in BMASMTPSession)BMASMTPSession
~BMASession() (defined in BMASession)BMASession
~BMASocket() (defined in BMASocket)BMASocket
~BMATCPSocket() (defined in BMATCPSocket)BMATCPSocket
+ + + + diff --git a/docs/html/class_b_m_a_s_m_t_p_session.html b/docs/html/class_b_m_a_s_m_t_p_session.html new file mode 100644 index 0000000..c8184e2 --- /dev/null +++ b/docs/html/class_b_m_a_s_m_t_p_session.html @@ -0,0 +1,255 @@ + + + + + + + +BMA Server Framework: BMASMTPSession Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
BMASMTPSession Class Reference
+
+
+ +

#include <BMASMTPSession.h>

+
+Inheritance diagram for BMASMTPSession:
+
+
Inheritance graph
+ + + + + + +
[legend]
+
+Collaboration diagram for BMASMTPSession:
+
+
Collaboration graph
+ + + + + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

BMAConsoleSession (BMAEPoll &ePoll, BMAConsoleServer &server)
 
virtual void output (std::stringstream &out)
 
- Public Member Functions inherited from BMASession
BMASession (BMAEPoll &ePoll, BMATCPServerSocket &server)
 
+virtual void output (BMASession *session)
 
+void send ()
 
+void sendToAll ()
 
+void sendToAll (BMASessionFilter *filter)
 
+BMATCPServerSocketgetServer ()
 
- Public Member Functions inherited from BMATCPSocket
BMATCPSocket (BMAEPoll &ePoll)
 
- Public Member Functions inherited from BMASocket
BMASocket (BMAEPoll &ePoll)
 
+void setDescriptor (int descriptor)
 Set the descriptor for the socket.
 
+int getDescriptor ()
 Get the descriptor for the socket.
 
void eventReceived (struct epoll_event event)
 Parse epoll event and call specified callbacks. More...
 
void write (std::string data)
 
+void write (char *buffer, int length)
 
+void output (std::stringstream &out)
 
virtual void onRegistered ()
 Called when the socket has finished registering with the epoll processing. More...
 
virtual void onUnregistered ()
 Called when the socket has finished unregistering for the epoll processing. More...
 
+void enable (bool mode)
 Enable the socket to read or write based upon buffer.
 
+ + + + + + + + + + + + + + +

+Protected Member Functions

+void protocol (char *data, int length) override
 
- Protected Member Functions inherited from BMASession
void onConnected () override
 Called when socket is open and ready to communicate. More...
 
+virtual void protocol (std::string data)=0
 
- Protected Member Functions inherited from BMASocket
+void setBufferSize (int length)
 
+void shutdown ()
 
+ + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Attributes inherited from BMASession
+std::stringstream out
 
- Public Attributes inherited from BMATCPSocket
+BMAIPAddress ipAddress
 
- Public Attributes inherited from BMASocket
+class {
bufferSize
 
- Public Attributes inherited from BMAObject
+std::string name
 
+std::string tag
 
- Protected Attributes inherited from BMASocket
+BMAEPollePoll
 
+bool shutDown = false
 
+

Detailed Description

+

BMAConsoleSession

+

Extends the session parameters for this BMATCPSocket 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()

+ +
+
+ + + + + +
+ + + + + + + + +
virtual void BMASMTPSession::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 BMATCPSocket.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/html/class_b_m_a_s_m_t_p_session__coll__graph.map b/docs/html/class_b_m_a_s_m_t_p_session__coll__graph.map new file mode 100644 index 0000000..b705894 --- /dev/null +++ b/docs/html/class_b_m_a_s_m_t_p_session__coll__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/html/class_b_m_a_s_m_t_p_session__coll__graph.md5 b/docs/html/class_b_m_a_s_m_t_p_session__coll__graph.md5 new file mode 100644 index 0000000..4080526 --- /dev/null +++ b/docs/html/class_b_m_a_s_m_t_p_session__coll__graph.md5 @@ -0,0 +1 @@ +a5597acf305805021b13c274216bafe8 \ No newline at end of file diff --git a/docs/html/class_b_m_a_s_m_t_p_session__coll__graph.png b/docs/html/class_b_m_a_s_m_t_p_session__coll__graph.png new file mode 100644 index 0000000..07f5f7e Binary files /dev/null and b/docs/html/class_b_m_a_s_m_t_p_session__coll__graph.png differ diff --git a/docs/html/class_b_m_a_s_m_t_p_session__inherit__graph.map b/docs/html/class_b_m_a_s_m_t_p_session__inherit__graph.map new file mode 100644 index 0000000..c942089 --- /dev/null +++ b/docs/html/class_b_m_a_s_m_t_p_session__inherit__graph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/html/class_b_m_a_s_m_t_p_session__inherit__graph.md5 b/docs/html/class_b_m_a_s_m_t_p_session__inherit__graph.md5 new file mode 100644 index 0000000..a0e35ea --- /dev/null +++ b/docs/html/class_b_m_a_s_m_t_p_session__inherit__graph.md5 @@ -0,0 +1 @@ +bd70064aa3e1f8b7c1ed9fc244d3dcd1 \ No newline at end of file diff --git a/docs/html/class_b_m_a_s_m_t_p_session__inherit__graph.png b/docs/html/class_b_m_a_s_m_t_p_session__inherit__graph.png new file mode 100644 index 0000000..bb86a24 Binary files /dev/null and b/docs/html/class_b_m_a_s_m_t_p_session__inherit__graph.png differ diff --git a/docs/html/class_b_m_a_session-members.html b/docs/html/class_b_m_a_session-members.html new file mode 100644 index 0000000..2e7bbe9 --- /dev/null +++ b/docs/html/class_b_m_a_session-members.html @@ -0,0 +1,113 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMASession Member List
+
+
+ +

This is the complete list of members for BMASession, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BMASession(BMAEPoll &ePoll, BMATCPServerSocket &server) (defined in BMASession)BMASession
BMASocket(BMAEPoll &ePoll) (defined in BMASocket)BMASocket
BMATCPSocket(BMAEPoll &ePoll) (defined in BMATCPSocket)BMATCPSocket
bufferSize (defined in BMASocket)BMASocket
connect(BMAIPAddress &address) (defined in BMATCPSocket)BMATCPSocket
enable(bool mode)BMASocket
ePoll (defined in BMASocket)BMASocketprotected
eventReceived(struct epoll_event event)BMASocket
getDescriptor()BMASocket
getServer() (defined in BMASession)BMASession
init() (defined in BMASession)BMASessionvirtual
ipAddress (defined in BMATCPSocket)BMATCPSocket
name (defined in BMAObject)BMAObject
onConnected() overrideBMASessionprotectedvirtual
onDataReceived(std::string data) overrideBMASessionprotectedvirtual
onRegistered()BMASocketvirtual
onTLSInit() (defined in BMASocket)BMASocketprotectedvirtual
onUnregistered()BMASocketvirtual
out (defined in BMASession)BMASession
output(BMASession *session) (defined in BMASession)BMASessionvirtual
BMATCPSocket::output(std::stringstream &out)BMATCPSocketvirtual
protocol(std::string data)=0 (defined in BMASession)BMASessionprotectedpure virtual
receiveData(char *buffer, int bufferLength)BMASocketprotectedvirtual
send()BMASession
sendToAll()BMASession
sendToAll(BMASessionFilter *filter)BMASession
server (defined in BMASession)BMASession
setBufferSize(int length) (defined in BMASocket)BMASocketprotected
setDescriptor(int descriptor)BMASocket
shutdown() (defined in BMASocket)BMASocketprotected
shutDown (defined in BMASocket)BMASocketprotected
tag (defined in BMAObject)BMAObject
write(std::string data)BMASocket
write(char *buffer, int length) (defined in BMASocket)BMASocket
~BMASession() (defined in BMASession)BMASession
~BMASocket() (defined in BMASocket)BMASocket
~BMATCPSocket() (defined in BMATCPSocket)BMATCPSocket
+ + + + diff --git a/docs/html/class_b_m_a_session.html b/docs/html/class_b_m_a_session.html new file mode 100644 index 0000000..c0a3ad5 --- /dev/null +++ b/docs/html/class_b_m_a_session.html @@ -0,0 +1,360 @@ + + + + + + + +BMA Server Framework: BMASession Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+ +
+ +

#include <BMASession.h>

+
+Inheritance diagram for BMASession:
+
+
Inheritance graph
+ + + + + + + + +
[legend]
+
+Collaboration diagram for BMASession:
+
+
Collaboration graph
+ + + + + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

BMASession (BMAEPoll &ePoll, BMATCPServerSocket &server)
 
+virtual void init ()
 
+virtual void output (BMASession *session)
 
void send ()
 
void sendToAll ()
 
void sendToAll (BMASessionFilter *filter)
 
+BMATCPServerSocketgetServer ()
 
- Public Member Functions inherited from BMATCPSocket
BMATCPSocket (BMAEPoll &ePoll)
 
+void connect (BMAIPAddress &address)
 
virtual void output (std::stringstream &out)
 
- Public Member Functions inherited from BMASocket
BMASocket (BMAEPoll &ePoll)
 
+void setDescriptor (int descriptor)
 Set the descriptor for the socket.
 
+int getDescriptor ()
 Get the descriptor for the socket.
 
void eventReceived (struct epoll_event event)
 Parse epoll event and call specified callbacks. More...
 
void write (std::string data)
 
+void write (char *buffer, int length)
 
+void output (std::stringstream &out)
 
virtual void onRegistered ()
 Called when the socket has finished registering with the epoll processing. More...
 
virtual void onUnregistered ()
 Called when the socket has finished unregistering for the epoll processing. More...
 
+void enable (bool mode)
 Enable the socket to read or write based upon buffer.
 
+ + + + + + + + + + + + + + + + + +

+Public Attributes

+std::stringstream out
 
+BMATCPServerSocketserver
 
- Public Attributes inherited from BMATCPSocket
+BMAIPAddress ipAddress
 
- Public Attributes inherited from BMASocket
+class {
bufferSize
 
- Public Attributes inherited from BMAObject
+std::string name
 
+std::string tag
 
+ + + + + + + + + + + + + + + + + + +

+Protected Member Functions

void onDataReceived (std::string data) override
 Called when data is received from the socket. More...
 
void onConnected () override
 Called when socket is open and ready to communicate. More...
 
+virtual void protocol (std::string data)=0
 
- Protected Member Functions inherited from BMASocket
+void setBufferSize (int length)
 
+virtual void onTLSInit ()
 
+void shutdown ()
 
virtual void receiveData (char *buffer, int bufferLength)
 
+ + + + + + +

+Additional Inherited Members

- Protected Attributes inherited from BMASocket
+BMAEPollePoll
 
+bool shutDown = false
 
+

Detailed Description

+

BMASession

+

BMASession defines the nature of the interaction with the client and stores persistent data for a defined session. BMASession objects are not sockets but instead provide a communications control mechanism. Protocol conversations are provided through extensions from this object.

+

Member Function Documentation

+ +

◆ onConnected()

+ +
+
+ + + + + +
+ + + + + + + +
void BMASession::onConnected ()
+
+overrideprotectedvirtual
+
+ +

Called when socket is open and ready to communicate.

+

The onConnected method is called when the socket is ready to communicate. Writing to the socket can begin on this call to initiate a contact with the remote device.

+ +

Reimplemented from BMASocket.

+ +
+
+ +

◆ onDataReceived()

+ +
+
+ + + + + +
+ + + + + + + + +
void BMASession::onDataReceived (std::string data)
+
+overrideprotectedvirtual
+
+ +

Called when data is received from the socket.

+

The onDataReceived method is called when the socket has received an event from epoll and there is data ready to be read from the socket. The default handler will pull the data and put it into the streambuf for the socket. EPOLLIN

+
Parameters
+ + +
datathe data that has been received from the socket.
+
+
+ +

Implements BMASocket.

+ +
+
+ +

◆ send()

+ +
+
+ + + + + + + +
void BMASession::send ()
+
+

The send method is used to output the contents of the out stream to the session containing the stream.

+ +
+
+ +

◆ sendToAll() [1/2]

+ +
+
+ + + + + + + +
void BMASession::sendToAll ()
+
+

Use this sendToAll method to output the contents of the out stream to all the connections on the server excluding the sender session.

+ +
+
+ +

◆ sendToAll() [2/2]

+ +
+
+ + + + + + + + +
void BMASession::sendToAll (BMASessionFilterfilter)
+
+

Use this sendToAll method to output the contents of the out stream to all the connections on the server excluding the sender session and the entries identified by the passed in filter object.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Development/BMA/server_core/ServerCore/BMASession.h
  • +
  • /home/barant/Development/BMA/server_core/ServerCore/BMASession.cpp
  • +
+
+ + + + diff --git a/docs/html/class_b_m_a_session__coll__graph.map b/docs/html/class_b_m_a_session__coll__graph.map new file mode 100644 index 0000000..ff08ada --- /dev/null +++ b/docs/html/class_b_m_a_session__coll__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/html/class_b_m_a_session__coll__graph.md5 b/docs/html/class_b_m_a_session__coll__graph.md5 new file mode 100644 index 0000000..879b104 --- /dev/null +++ b/docs/html/class_b_m_a_session__coll__graph.md5 @@ -0,0 +1 @@ +75f7b9067731c7a93c0f047bdfcf8f9d \ No newline at end of file diff --git a/docs/html/class_b_m_a_session__coll__graph.png b/docs/html/class_b_m_a_session__coll__graph.png new file mode 100644 index 0000000..a1a974d Binary files /dev/null and b/docs/html/class_b_m_a_session__coll__graph.png differ diff --git a/docs/html/class_b_m_a_session__inherit__graph.map b/docs/html/class_b_m_a_session__inherit__graph.map new file mode 100644 index 0000000..eaceb5b --- /dev/null +++ b/docs/html/class_b_m_a_session__inherit__graph.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/html/class_b_m_a_session__inherit__graph.md5 b/docs/html/class_b_m_a_session__inherit__graph.md5 new file mode 100644 index 0000000..82f8311 --- /dev/null +++ b/docs/html/class_b_m_a_session__inherit__graph.md5 @@ -0,0 +1 @@ +77e572da0faacfce185665c653ca9676 \ No newline at end of file diff --git a/docs/html/class_b_m_a_session__inherit__graph.png b/docs/html/class_b_m_a_session__inherit__graph.png new file mode 100644 index 0000000..9a01dd0 Binary files /dev/null and b/docs/html/class_b_m_a_session__inherit__graph.png differ diff --git a/docs/html/class_b_m_a_session_filter-members.html b/docs/html/class_b_m_a_session_filter-members.html new file mode 100644 index 0000000..0b50378 --- /dev/null +++ b/docs/html/class_b_m_a_session_filter-members.html @@ -0,0 +1,79 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMASessionFilter Member List
+
+
+ +

This is the complete list of members for BMASessionFilter, including all inherited members.

+ + + + +
name (defined in BMAObject)BMAObject
tag (defined in BMAObject)BMAObject
test(BMASession &session) (defined in BMASessionFilter)BMASessionFilterinlinevirtual
+ + + + diff --git a/docs/html/class_b_m_a_session_filter.html b/docs/html/class_b_m_a_session_filter.html new file mode 100644 index 0000000..95a98b5 --- /dev/null +++ b/docs/html/class_b_m_a_session_filter.html @@ -0,0 +1,112 @@ + + + + + + + +BMA Server Framework: BMASessionFilter Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
BMASessionFilter Class Reference
+
+
+
+Inheritance diagram for BMASessionFilter:
+
+
Inheritance graph
+ + + +
[legend]
+
+Collaboration diagram for BMASessionFilter:
+
+
Collaboration graph
+ + + +
[legend]
+ + + + +

+Public Member Functions

+virtual bool test (BMASession &session)
 
+ + + + + + +

+Additional Inherited Members

- Public Attributes inherited from BMAObject
+std::string name
 
+std::string tag
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/html/class_b_m_a_session_filter__coll__graph.map b/docs/html/class_b_m_a_session_filter__coll__graph.map new file mode 100644 index 0000000..9a00d89 --- /dev/null +++ b/docs/html/class_b_m_a_session_filter__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/class_b_m_a_session_filter__coll__graph.md5 b/docs/html/class_b_m_a_session_filter__coll__graph.md5 new file mode 100644 index 0000000..6ea9670 --- /dev/null +++ b/docs/html/class_b_m_a_session_filter__coll__graph.md5 @@ -0,0 +1 @@ +4f3d372e731c00efcebb7a9f181b17d4 \ No newline at end of file diff --git a/docs/html/class_b_m_a_session_filter__coll__graph.png b/docs/html/class_b_m_a_session_filter__coll__graph.png new file mode 100644 index 0000000..7daeec5 Binary files /dev/null and b/docs/html/class_b_m_a_session_filter__coll__graph.png differ diff --git a/docs/html/class_b_m_a_session_filter__inherit__graph.map b/docs/html/class_b_m_a_session_filter__inherit__graph.map new file mode 100644 index 0000000..9a00d89 --- /dev/null +++ b/docs/html/class_b_m_a_session_filter__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/class_b_m_a_session_filter__inherit__graph.md5 b/docs/html/class_b_m_a_session_filter__inherit__graph.md5 new file mode 100644 index 0000000..c105427 --- /dev/null +++ b/docs/html/class_b_m_a_session_filter__inherit__graph.md5 @@ -0,0 +1 @@ +34bf2c4eb2b82e01b1a93e72df08f1f8 \ No newline at end of file diff --git a/docs/html/class_b_m_a_session_filter__inherit__graph.png b/docs/html/class_b_m_a_session_filter__inherit__graph.png new file mode 100644 index 0000000..7daeec5 Binary files /dev/null and b/docs/html/class_b_m_a_session_filter__inherit__graph.png differ diff --git a/docs/html/class_b_m_a_socket-members.html b/docs/html/class_b_m_a_socket-members.html new file mode 100644 index 0000000..c6980a3 --- /dev/null +++ b/docs/html/class_b_m_a_socket-members.html @@ -0,0 +1,98 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMASocket Member List
+
+
+ +

This is the complete list of members for BMASocket, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + +
BMASocket(BMAEPoll &ePoll) (defined in BMASocket)BMASocket
bufferSize (defined in BMASocket)BMASocket
enable(bool mode)BMASocket
ePoll (defined in BMASocket)BMASocketprotected
eventReceived(struct epoll_event event)BMASocket
getDescriptor()BMASocket
name (defined in BMAObject)BMAObject
onConnected()BMASocketprotectedvirtual
onDataReceived(std::string data)=0BMASocketprotectedpure virtual
onRegistered()BMASocketvirtual
onTLSInit() (defined in BMASocket)BMASocketprotectedvirtual
onUnregistered()BMASocketvirtual
output(std::stringstream &out) (defined in BMASocket)BMASocket
receiveData(char *buffer, int bufferLength)BMASocketprotectedvirtual
setBufferSize(int length) (defined in BMASocket)BMASocketprotected
setDescriptor(int descriptor)BMASocket
shutDown (defined in BMASocket)BMASocketprotected
shutdown() (defined in BMASocket)BMASocketprotected
tag (defined in BMAObject)BMAObject
write(std::string data)BMASocket
write(char *buffer, int length) (defined in BMASocket)BMASocket
~BMASocket() (defined in BMASocket)BMASocket
+ + + + diff --git a/docs/html/class_b_m_a_socket.html b/docs/html/class_b_m_a_socket.html new file mode 100644 index 0000000..439861d --- /dev/null +++ b/docs/html/class_b_m_a_socket.html @@ -0,0 +1,404 @@ + + + + + + + +BMA Server Framework: BMASocket Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+ +
+ +

#include <BMASocket.h>

+
+Inheritance diagram for BMASocket:
+
+
Inheritance graph
+ + + + + + + + + + + + + + +
[legend]
+
+Collaboration diagram for BMASocket:
+
+
Collaboration graph
+ + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

BMASocket (BMAEPoll &ePoll)
 
+void setDescriptor (int descriptor)
 Set the descriptor for the socket.
 
+int getDescriptor ()
 Get the descriptor for the socket.
 
void eventReceived (struct epoll_event event)
 Parse epoll event and call specified callbacks. More...
 
void write (std::string data)
 
+void write (char *buffer, int length)
 
+void output (std::stringstream &out)
 
virtual void onRegistered ()
 Called when the socket has finished registering with the epoll processing. More...
 
virtual void onUnregistered ()
 Called when the socket has finished unregistering for the epoll processing. More...
 
+void enable (bool mode)
 Enable the socket to read or write based upon buffer.
 
+ + + + + + + + + +

+Public Attributes

+class {
bufferSize
 
- Public Attributes inherited from BMAObject
+std::string name
 
+std::string tag
 
+ + + + + + + + + + + + + + + +

+Protected Member Functions

+void setBufferSize (int length)
 
virtual void onConnected ()
 Called when socket is open and ready to communicate. More...
 
+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)
 
+ + + + + +

+Protected Attributes

+BMAEPollePoll
 
+bool shutDown = false
 
+

Detailed Description

+

BMASocket

+

The core component to managing a socket.

+

Hooks into the BMAEPoll through the registration and unregistration process and provides a communication socket of the specified protocol type. This object provides for all receiving data threading through use of the BMAEPoll object and also provides buffering for output data requests to the socket.

+

A program using a socket object can request to open a socket (file or network or whatever) and communicate through the streambuffer interface of the socket object.

+

The socket side of the BMASocket accepts EPOLLIN event and will maintain the data in a buffer for the stream readers to read. A onDataReceived event is then sent with the data received in the buffer that can be read through the stream.

+

When writing to the stream the data is written into a buffer and a EPOLLOUT is scheduled. Upon receiving the EPOLLOUT event then the buffer is written to the socket output.

+

Member Function Documentation

+ +

◆ eventReceived()

+ +
+
+ + + + + + + + +
void BMASocket::eventReceived (struct epoll_event event)
+
+ +

Parse epoll event and call specified callbacks.

+

The event received from epoll is sent through the eventReceived method which will parse the event and call the read and write callbacks on the socket.

+

This method is called by the BMAEPoll object and should not be called from any user extended classes unless an epoll event is being simulated.

+ +
+
+ +

◆ onConnected()

+ +
+
+ + + + + +
+ + + + + + + +
void BMASocket::onConnected ()
+
+protectedvirtual
+
+ +

Called when socket is open and ready to communicate.

+

The onConnected method is called when the socket is ready to communicate. Writing to the socket can begin on this call to initiate a contact with the remote device.

+ +

Reimplemented in BMASession.

+ +
+
+ +

◆ onDataReceived()

+ +
+
+ + + + + +
+ + + + + + + + +
virtual void BMASocket::onDataReceived (std::string data)
+
+protectedpure virtual
+
+ +

Called when data is received from the socket.

+

The onDataReceived method is called when the socket has received an event from epoll and there is data ready to be read from the socket. The default handler will pull the data and put it into the streambuf for the socket. EPOLLIN

+
Parameters
+ + +
datathe data that has been received from the socket.
+
+
+ +

Implemented in BMATCPServerSocket, BMASession, and BMAUDPServerSocket.

+ +
+
+ +

◆ onRegistered()

+ +
+
+ + + + + +
+ + + + + + + +
void BMASocket::onRegistered ()
+
+virtual
+
+ +

Called when the socket has finished registering with the epoll processing.

+

The onRegistered method is called whenever the socket is registered with ePoll and socket communcation events can be started.

+ +
+
+ +

◆ onUnregistered()

+ +
+
+ + + + + +
+ + + + + + + +
void BMASocket::onUnregistered ()
+
+virtual
+
+ +

Called when the socket has finished unregistering for the epoll processing.

+

The onUnregistered method is called whenever the socket is unregistered with ePoll and socket communcation events will be stopped. The default method will close the socket and clean up the connection. If this is overridden by an extended object then the object should call this method to clean the socket up.

+ +
+
+ +

◆ receiveData()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void BMASocket::receiveData (char * buffer,
int bufferLength 
)
+
+protectedvirtual
+
+

receiveData will read the data from the socket and place it in the socket buffer. TLS layer overrides this to be able to read from SSL.

+ +

Reimplemented in BMATLSSession.

+ +
+
+ +

◆ write()

+ +
+
+ + + + + + + + +
void BMASocket::write (std::string data)
+
+

Write data to the socket.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Development/BMA/server_core/ServerCore/BMASocket.h
  • +
  • /home/barant/Development/BMA/server_core/ServerCore/BMASocket.cpp
  • +
+
+ + + + diff --git a/docs/html/class_b_m_a_socket_1_1_integer-members.html b/docs/html/class_b_m_a_socket_1_1_integer-members.html new file mode 100644 index 0000000..c44c6bb --- /dev/null +++ b/docs/html/class_b_m_a_socket_1_1_integer-members.html @@ -0,0 +1,106 @@ + + + + + + +BMA Server Framework: Member List + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ + +
+
+
+
BMASocket::Integer Member List
+
+
+ +

This is the complete list of members for BMASocket::Integer, including all inherited members.

+ + + +
operator int() const BMASocket::Integerinline
operator=(const int &i)BMASocket::Integerinline
+ + + + diff --git a/docs/html/class_b_m_a_socket_1_1_integer.html b/docs/html/class_b_m_a_socket_1_1_integer.html new file mode 100644 index 0000000..8052e5a --- /dev/null +++ b/docs/html/class_b_m_a_socket_1_1_integer.html @@ -0,0 +1,165 @@ + + + + + + +BMA Server Framework: BMASocket::Integer Class Reference + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
BMASocket::Integer Class Reference
+
+
+ +

#include <BMASocket.h>

+ + + + + + +

+Public Member Functions

int & operator= (const int &i)
 
 operator int () const
 
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
BMASocket::Integer::operator int () const
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
int& BMASocket::Integer::operator= (const int & i)
+
+inline
+
+ +
+
+
The documentation for this class was generated from the following file:
    +
  • /home/barant/Documents/Development/BMASockets/BMASocket.h
  • +
+
+ + + + diff --git a/docs/html/class_b_m_a_socket__coll__graph.map b/docs/html/class_b_m_a_socket__coll__graph.map new file mode 100644 index 0000000..75d1e04 --- /dev/null +++ b/docs/html/class_b_m_a_socket__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/html/class_b_m_a_socket__coll__graph.md5 b/docs/html/class_b_m_a_socket__coll__graph.md5 new file mode 100644 index 0000000..1bb42bc --- /dev/null +++ b/docs/html/class_b_m_a_socket__coll__graph.md5 @@ -0,0 +1 @@ +920c646844fa0ac242b154f34d99d336 \ No newline at end of file diff --git a/docs/html/class_b_m_a_socket__coll__graph.png b/docs/html/class_b_m_a_socket__coll__graph.png new file mode 100644 index 0000000..fac3c5d Binary files /dev/null and b/docs/html/class_b_m_a_socket__coll__graph.png differ diff --git a/docs/html/class_b_m_a_socket__inherit__graph.map b/docs/html/class_b_m_a_socket__inherit__graph.map new file mode 100644 index 0000000..d652b18 --- /dev/null +++ b/docs/html/class_b_m_a_socket__inherit__graph.map @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/docs/html/class_b_m_a_socket__inherit__graph.md5 b/docs/html/class_b_m_a_socket__inherit__graph.md5 new file mode 100644 index 0000000..9b24739 --- /dev/null +++ b/docs/html/class_b_m_a_socket__inherit__graph.md5 @@ -0,0 +1 @@ +59445423977dc5a17b9940f9d35a0dc9 \ No newline at end of file diff --git a/docs/html/class_b_m_a_socket__inherit__graph.png b/docs/html/class_b_m_a_socket__inherit__graph.png new file mode 100644 index 0000000..b03def6 Binary files /dev/null and b/docs/html/class_b_m_a_socket__inherit__graph.png differ diff --git a/docs/html/class_b_m_a_stream_content_provider-members.html b/docs/html/class_b_m_a_stream_content_provider-members.html new file mode 100644 index 0000000..23ffe99 --- /dev/null +++ b/docs/html/class_b_m_a_stream_content_provider-members.html @@ -0,0 +1,83 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMAStreamContentProvider Member List
+
+
+ +

This is the complete list of members for BMAStreamContentProvider, including all inherited members.

+ + + + + + + + +
BMAStreamContentProvider(BMAStreamServer &server) (defined in BMAStreamContentProvider)BMAStreamContentProvider
cursor (defined in BMAStreamContentProvider)BMAStreamContentProvider
frames (defined in BMAStreamContentProvider)BMAStreamContentProvider
getFrameCount() (defined in BMAStreamContentProvider)BMAStreamContentProvider
getNextStreamFrame() (defined in BMAStreamContentProvider)BMAStreamContentProvidervirtual
ready (defined in BMAStreamContentProvider)BMAStreamContentProvider
~BMAStreamContentProvider() (defined in BMAStreamContentProvider)BMAStreamContentProvider
+ + + + diff --git a/docs/html/class_b_m_a_stream_content_provider.html b/docs/html/class_b_m_a_stream_content_provider.html new file mode 100644 index 0000000..3cab2ae --- /dev/null +++ b/docs/html/class_b_m_a_stream_content_provider.html @@ -0,0 +1,115 @@ + + + + + + + +BMA Server Framework: BMAStreamContentProvider Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
BMAStreamContentProvider Class Reference
+
+
+
+Inheritance diagram for BMAStreamContentProvider:
+
+
Inheritance graph
+ + + + +
[legend]
+ + + + + + + + +

+Public Member Functions

BMAStreamContentProvider (BMAStreamServer &server)
 
+virtual BMAStreamFramegetNextStreamFrame ()
 
+int getFrameCount ()
 
+ + + + + + + +

+Public Attributes

+bool ready = false
 
+std::vector< BMAStreamFrame * > frames
 
+int cursor
 
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Documents/Development/BMASockets/BMAStreamContentProvider.h
  • +
  • /home/barant/Documents/Development/BMASockets/BMAStreamContentProvider.cpp
  • +
+
+ + + + diff --git a/docs/html/class_b_m_a_stream_content_provider__inherit__graph.map b/docs/html/class_b_m_a_stream_content_provider__inherit__graph.map new file mode 100644 index 0000000..8963d93 --- /dev/null +++ b/docs/html/class_b_m_a_stream_content_provider__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/html/class_b_m_a_stream_content_provider__inherit__graph.md5 b/docs/html/class_b_m_a_stream_content_provider__inherit__graph.md5 new file mode 100644 index 0000000..132db3d --- /dev/null +++ b/docs/html/class_b_m_a_stream_content_provider__inherit__graph.md5 @@ -0,0 +1 @@ +16203d05754c3e6f7137588c298c6acd \ No newline at end of file diff --git a/docs/html/class_b_m_a_stream_content_provider__inherit__graph.png b/docs/html/class_b_m_a_stream_content_provider__inherit__graph.png new file mode 100644 index 0000000..d24dffc Binary files /dev/null and b/docs/html/class_b_m_a_stream_content_provider__inherit__graph.png differ diff --git a/docs/html/class_b_m_a_stream_frame-members.html b/docs/html/class_b_m_a_stream_frame-members.html new file mode 100644 index 0000000..f06a4fc --- /dev/null +++ b/docs/html/class_b_m_a_stream_frame-members.html @@ -0,0 +1,81 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMAStreamFrame Member List
+
+
+ +

This is the complete list of members for BMAStreamFrame, including all inherited members.

+ + + + + + +
BMAStreamFrame(char *streamData) (defined in BMAStreamFrame)BMAStreamFrame
getDuration()=0 (defined in BMAStreamFrame)BMAStreamFramepure virtual
getFrameSize()=0 (defined in BMAStreamFrame)BMAStreamFramepure virtual
lastFrame (defined in BMAStreamFrame)BMAStreamFrame
streamData (defined in BMAStreamFrame)BMAStreamFrame
+ + + + diff --git a/docs/html/class_b_m_a_stream_frame.html b/docs/html/class_b_m_a_stream_frame.html new file mode 100644 index 0000000..fd9d456 --- /dev/null +++ b/docs/html/class_b_m_a_stream_frame.html @@ -0,0 +1,111 @@ + + + + + + + +BMA Server Framework: BMAStreamFrame Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
BMAStreamFrame Class Referenceabstract
+
+
+
+Inheritance diagram for BMAStreamFrame:
+
+
Inheritance graph
+ + + +
[legend]
+ + + + + + + + +

+Public Member Functions

BMAStreamFrame (char *streamData)
 
+virtual double getDuration ()=0
 
+virtual int getFrameSize ()=0
 
+ + + + + +

+Public Attributes

+char * streamData
 
+bool lastFrame
 
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Documents/Development/BMASockets/BMAStreamFrame.h
  • +
  • /home/barant/Documents/Development/BMASockets/BMAStreamFrame.cpp
  • +
+
+ + + + diff --git a/docs/html/class_b_m_a_stream_frame__inherit__graph.map b/docs/html/class_b_m_a_stream_frame__inherit__graph.map new file mode 100644 index 0000000..724a654 --- /dev/null +++ b/docs/html/class_b_m_a_stream_frame__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/class_b_m_a_stream_frame__inherit__graph.md5 b/docs/html/class_b_m_a_stream_frame__inherit__graph.md5 new file mode 100644 index 0000000..492303a --- /dev/null +++ b/docs/html/class_b_m_a_stream_frame__inherit__graph.md5 @@ -0,0 +1 @@ +5d1bcf3c4f8cb5c6c24fa02df5bd342e \ No newline at end of file diff --git a/docs/html/class_b_m_a_stream_frame__inherit__graph.png b/docs/html/class_b_m_a_stream_frame__inherit__graph.png new file mode 100644 index 0000000..b6ff494 Binary files /dev/null and b/docs/html/class_b_m_a_stream_frame__inherit__graph.png differ diff --git a/docs/html/class_b_m_a_stream_server-members.html b/docs/html/class_b_m_a_stream_server-members.html new file mode 100644 index 0000000..48df1a3 --- /dev/null +++ b/docs/html/class_b_m_a_stream_server-members.html @@ -0,0 +1,134 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMAStreamServer Member List
+
+
+ +

This is the complete list of members for BMAStreamServer, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BMACommand(std::string commandName) (defined in BMACommand)BMACommand
BMASocket(BMAEPoll &ePoll) (defined in BMASocket)BMASocket
BMASocket(BMAEPoll &ePoll) (defined in BMASocket)BMASocket
BMAStreamServer(BMAEPoll &ePoll, std::string url, short int port, std::string commandName)BMAStreamServer
BMATCPServerSocket(BMAEPoll &ePoll, std::string url, short int port, std::string commandName)BMATCPServerSocket
BMATCPSocket(BMAEPoll &ePoll) (defined in BMATCPSocket)BMATCPSocket
BMATimer(BMAEPoll &ePoll) (defined in BMATimer)BMATimer
BMATimer(BMAEPoll &ePoll, double delay) (defined in BMATimer)BMATimer
bufferSize (defined in BMASocket)BMASocket
bufferSize (defined in BMASocket)BMASocket
clearTimer()BMATimer
commandName (defined in BMACommand)BMACommand
BMATCPServerSocket::enable(bool mode)BMASocket
BMATimer::enable(bool mode)BMASocket
ePoll (defined in BMASocket)BMASocketprotected
ePoll (defined in BMASocket)BMASocketprotected
BMATCPServerSocket::eventReceived(struct epoll_event event)BMASocket
BMATimer::eventReceived(struct epoll_event event)BMASocket
BMATCPServerSocket::getDescriptor()BMASocket
BMATimer::getDescriptor()BMASocket
ipAddress (defined in BMATCPSocket)BMATCPSocket
name (defined in BMAObject)BMAObject
name (defined in BMAObject)BMAObject
name (defined in BMAObject)BMAObject
onConnected()BMASocketprotectedvirtual
BMATCPServerSocket::onDataReceived(std::string data) overrideBMATCPServerSocketprotectedvirtual
onRegistered()BMASocketvirtual
onUnregistered()BMASocketvirtual
BMATCPSocket::output(std::stringstream &out)BMATCPSocketvirtual
output(BMASession *session) (defined in BMACommand)BMACommandvirtual
processCommand(BMASession *session) overrideBMATCPServerSocketprotectedvirtual
removeFromSessionList(BMASession *session) (defined in BMATCPServerSocket)BMATCPServerSocket
sessionsBMATCPServerSocket
setBufferSize(int length) (defined in BMASocket)BMASocketprotected
setBufferSize(int length) (defined in BMASocket)BMASocketprotected
setContentProvider(BMAStreamContentProvider &contentProvider)BMAStreamServer
BMATCPServerSocket::setDescriptor(int descriptor)BMASocket
BMATimer::setDescriptor(int descriptor)BMASocket
setTimer(double delay)BMATimer
shutdown() (defined in BMASocket)BMASocketprotected
shutdown() (defined in BMASocket)BMASocketprotected
shutDown (defined in BMASocket)BMASocketprotected
shutDown (defined in BMASocket)BMASocketprotected
startStreaming()BMAStreamServer
tag (defined in BMAObject)BMAObject
tag (defined in BMAObject)BMAObject
tag (defined in BMAObject)BMAObject
BMATCPServerSocket::write(std::string data)BMASocket
write(char *buffer, int length) (defined in BMASocket)BMASocket
BMATimer::write(std::string data)BMASocket
write(char *buffer, int length) (defined in BMASocket)BMASocket
~BMACommand() (defined in BMACommand)BMACommand
~BMASocket() (defined in BMASocket)BMASocket
~BMASocket() (defined in BMASocket)BMASocket
~BMAStreamServer()BMAStreamServer
~BMATCPServerSocket()BMATCPServerSocket
~BMATCPSocket() (defined in BMATCPSocket)BMATCPSocket
~BMATimer() (defined in BMATimer)BMATimer
+ + + + diff --git a/docs/html/class_b_m_a_stream_server.html b/docs/html/class_b_m_a_stream_server.html new file mode 100644 index 0000000..215c7e6 --- /dev/null +++ b/docs/html/class_b_m_a_stream_server.html @@ -0,0 +1,336 @@ + + + + + + + +BMA Server Framework: BMAStreamServer Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
BMAStreamServer Class Reference
+
+
+ +

#include <BMAStreamServer.h>

+
+Inheritance diagram for BMAStreamServer:
+
+
Inheritance graph
+ + + + + + + + +
[legend]
+
+Collaboration diagram for BMAStreamServer:
+
+
Collaboration graph
+ + + + + + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 BMAStreamServer (BMAEPoll &ePoll, std::string url, short int port, std::string commandName)
 
 ~BMAStreamServer ()
 
void startStreaming ()
 
void setContentProvider (BMAStreamContentProvider &contentProvider)
 
- Public Member Functions inherited from BMATCPServerSocket
 BMATCPServerSocket (BMAEPoll &ePoll, std::string url, short int port, std::string commandName)
 
 ~BMATCPServerSocket ()
 
+void removeFromSessionList (BMASession *session)
 
- Public Member Functions inherited from BMATCPSocket
BMATCPSocket (BMAEPoll &ePoll)
 
virtual void output (std::stringstream &out)
 
- Public Member Functions inherited from BMASocket
BMASocket (BMAEPoll &ePoll)
 
+void setDescriptor (int descriptor)
 Set the descriptor for the socket.
 
+int getDescriptor ()
 Get the descriptor for the socket.
 
void eventReceived (struct epoll_event event)
 Parse epoll event and call specified callbacks. More...
 
void write (std::string data)
 
+void write (char *buffer, int length)
 
+void output (std::stringstream &out)
 
virtual void onRegistered ()
 Called when the socket has finished registering with the epoll processing. More...
 
virtual void onUnregistered ()
 Called when the socket has finished unregistering for the epoll processing. More...
 
+void enable (bool mode)
 Enable the socket to read or write based upon buffer.
 
- Public Member Functions inherited from BMACommand
BMACommand (std::string commandName)
 
+virtual void output (BMASession *session)
 
- Public Member Functions inherited from BMATimer
BMATimer (BMAEPoll &ePoll)
 
BMATimer (BMAEPoll &ePoll, double delay)
 
void setTimer (double delay)
 
void clearTimer ()
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Attributes inherited from BMATCPServerSocket
std::vector< BMASession * > sessions
 
- Public Attributes inherited from BMATCPSocket
+BMAIPAddress ipAddress
 
- Public Attributes inherited from BMASocket
+class {
bufferSize
 
- Public Attributes inherited from BMAObject
+std::string name
 
+std::string tag
 
- Public Attributes inherited from BMACommand
+std::string commandName
 
- Protected Member Functions inherited from BMATCPServerSocket
void onDataReceived (std::string data) override
 
void processCommand (BMASession *session) override
 
- Protected Member Functions inherited from BMASocket
+void setBufferSize (int length)
 
virtual void onConnected ()
 Called when socket is open and ready to communicate. More...
 
+void shutdown ()
 
- Protected Attributes inherited from BMASocket
+BMAEPollePoll
 
+bool shutDown = false
 
+

Detailed Description

+

BMAStreamServer

+

Extends the socket to create a frame based streaming media streamer.

+

Constructor & Destructor Documentation

+ +

◆ BMAStreamServer()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BMAStreamServer::BMAStreamServer (BMAEPollePoll,
std::string url,
short int port,
std::string commandName 
)
+
+

Constructor for the BMAStreamServer object.

+ +
+
+ +

◆ ~BMAStreamServer()

+ +
+
+ + + + + + + +
BMAStreamServer::~BMAStreamServer ()
+
+

Destructor for the BMAStreamServer object.

+ +
+
+

Member Function Documentation

+ +

◆ setContentProvider()

+ +
+
+ + + + + + + + +
void BMAStreamServer::setContentProvider (BMAStreamContentProvidercontentProvider)
+
+

Set the content provider for the streaming server. Output of the content will begin immediately on the next frame.

+ +
+
+ +

◆ startStreaming()

+ +
+
+ + + + + + + +
void BMAStreamServer::startStreaming ()
+
+

Start streaming the content to the client list. Streaming is started even though no clients may be connected. As clients connect they will begin receiving the stream in the spot it is being output.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Documents/Development/BMASockets/BMAStreamServer.h
  • +
  • /home/barant/Documents/Development/BMASockets/BMAStreamServer.cpp
  • +
+
+ + + + diff --git a/docs/html/class_b_m_a_stream_server__coll__graph.map b/docs/html/class_b_m_a_stream_server__coll__graph.map new file mode 100644 index 0000000..f96c724 --- /dev/null +++ b/docs/html/class_b_m_a_stream_server__coll__graph.map @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/docs/html/class_b_m_a_stream_server__coll__graph.md5 b/docs/html/class_b_m_a_stream_server__coll__graph.md5 new file mode 100644 index 0000000..63f9e7c --- /dev/null +++ b/docs/html/class_b_m_a_stream_server__coll__graph.md5 @@ -0,0 +1 @@ +628733c52110f73bee5264cf0ec0a468 \ No newline at end of file diff --git a/docs/html/class_b_m_a_stream_server__coll__graph.png b/docs/html/class_b_m_a_stream_server__coll__graph.png new file mode 100644 index 0000000..3da2bc4 Binary files /dev/null and b/docs/html/class_b_m_a_stream_server__coll__graph.png differ diff --git a/docs/html/class_b_m_a_stream_server__inherit__graph.map b/docs/html/class_b_m_a_stream_server__inherit__graph.map new file mode 100644 index 0000000..0b1520b --- /dev/null +++ b/docs/html/class_b_m_a_stream_server__inherit__graph.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/html/class_b_m_a_stream_server__inherit__graph.md5 b/docs/html/class_b_m_a_stream_server__inherit__graph.md5 new file mode 100644 index 0000000..a8fc856 --- /dev/null +++ b/docs/html/class_b_m_a_stream_server__inherit__graph.md5 @@ -0,0 +1 @@ +cd2ce44b5a278f30b3006f9c0e6e650c \ No newline at end of file diff --git a/docs/html/class_b_m_a_stream_server__inherit__graph.png b/docs/html/class_b_m_a_stream_server__inherit__graph.png new file mode 100644 index 0000000..2ab1304 Binary files /dev/null and b/docs/html/class_b_m_a_stream_server__inherit__graph.png differ diff --git a/docs/html/class_b_m_a_stream_session-members.html b/docs/html/class_b_m_a_stream_session-members.html new file mode 100644 index 0000000..3c6ce72 --- /dev/null +++ b/docs/html/class_b_m_a_stream_session-members.html @@ -0,0 +1,111 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMAStreamSession Member List
+
+
+ +

This is the complete list of members for BMAStreamSession, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BMASession(BMAEPoll &ePoll, BMATCPServerSocket &server) (defined in BMASession)BMASession
BMASocket(BMAEPoll &ePoll) (defined in BMASocket)BMASocket
BMAStreamSession(BMAEPoll &ePoll, BMATCPServerSocket &server) (defined in BMAStreamSession)BMAStreamSession
BMATCPSocket(BMAEPoll &ePoll) (defined in BMATCPSocket)BMATCPSocket
bufferSize (defined in BMASocket)BMASocket
enable(bool mode)BMASocket
ePoll (defined in BMASocket)BMASocketprotected
eventReceived(struct epoll_event event)BMASocket
getDescriptor()BMASocket
getServer() (defined in BMASession)BMASession
ipAddress (defined in BMATCPSocket)BMATCPSocket
name (defined in BMAObject)BMAObject
onConnected() overrideBMASessionprotectedvirtual
onRegistered()BMASocketvirtual
onStreamDataReceived(BMAStreamFrame *frame) (defined in BMAStreamSession)BMAStreamSessionprotected
onUnregistered()BMASocketvirtual
out (defined in BMASession)BMASession
output(BMASession *session) (defined in BMASession)BMASessionvirtual
BMATCPSocket::output(std::stringstream &out)BMATCPSocketvirtual
protocol(std::string data) override (defined in BMAStreamSession)BMAStreamSessionprotectedvirtual
send() (defined in BMASession)BMASession
sendToAll() (defined in BMASession)BMASession
sendToAll(BMASessionFilter *filter) (defined in BMASession)BMASession
setBufferSize(int length) (defined in BMASocket)BMASocketprotected
setDescriptor(int descriptor)BMASocket
shutdown() (defined in BMASocket)BMASocketprotected
shutDown (defined in BMASocket)BMASocketprotected
tag (defined in BMAObject)BMAObject
write(std::string data)BMASocket
write(char *buffer, int length) (defined in BMASocket)BMASocket
writeFrame(BMAStreamFrame *frame) (defined in BMAStreamSession)BMAStreamSession
~BMASession() (defined in BMASession)BMASession
~BMASocket() (defined in BMASocket)BMASocket
~BMAStreamSession() (defined in BMAStreamSession)BMAStreamSession
~BMATCPSocket() (defined in BMATCPSocket)BMATCPSocket
+ + + + diff --git a/docs/html/class_b_m_a_stream_session.html b/docs/html/class_b_m_a_stream_session.html new file mode 100644 index 0000000..3fd6d7c --- /dev/null +++ b/docs/html/class_b_m_a_stream_session.html @@ -0,0 +1,224 @@ + + + + + + + +BMA Server Framework: BMAStreamSession Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
BMAStreamSession Class Reference
+
+
+
+Inheritance diagram for BMAStreamSession:
+
+
Inheritance graph
+ + + + + + +
[legend]
+
+Collaboration diagram for BMAStreamSession:
+
+
Collaboration graph
+ + + + + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

BMAStreamSession (BMAEPoll &ePoll, BMATCPServerSocket &server)
 
+int writeFrame (BMAStreamFrame *frame)
 
- Public Member Functions inherited from BMASession
BMASession (BMAEPoll &ePoll, BMATCPServerSocket &server)
 
+virtual void output (BMASession *session)
 
+void send ()
 
+void sendToAll ()
 
+void sendToAll (BMASessionFilter *filter)
 
+BMATCPServerSocketgetServer ()
 
- Public Member Functions inherited from BMATCPSocket
BMATCPSocket (BMAEPoll &ePoll)
 
virtual void output (std::stringstream &out)
 
- Public Member Functions inherited from BMASocket
BMASocket (BMAEPoll &ePoll)
 
+void setDescriptor (int descriptor)
 Set the descriptor for the socket.
 
+int getDescriptor ()
 Get the descriptor for the socket.
 
void eventReceived (struct epoll_event event)
 Parse epoll event and call specified callbacks. More...
 
void write (std::string data)
 
+void write (char *buffer, int length)
 
+void output (std::stringstream &out)
 
virtual void onRegistered ()
 Called when the socket has finished registering with the epoll processing. More...
 
virtual void onUnregistered ()
 Called when the socket has finished unregistering for the epoll processing. More...
 
+void enable (bool mode)
 Enable the socket to read or write based upon buffer.
 
+ + + + + + + + + + + + + + +

+Protected Member Functions

+void protocol (std::string data) override
 
+void onStreamDataReceived (BMAStreamFrame *frame)
 
- Protected Member Functions inherited from BMASession
void onConnected () override
 Called when socket is open and ready to communicate. More...
 
- Protected Member Functions inherited from BMASocket
+void setBufferSize (int length)
 
+void shutdown ()
 
+ + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Attributes inherited from BMASession
+std::stringstream out
 
- Public Attributes inherited from BMATCPSocket
+BMAIPAddress ipAddress
 
- Public Attributes inherited from BMASocket
+class {
bufferSize
 
- Public Attributes inherited from BMAObject
+std::string name
 
+std::string tag
 
- Protected Attributes inherited from BMASocket
+BMAEPollePoll
 
+bool shutDown = false
 
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Documents/Development/BMASockets/BMAStreamSession.h
  • +
  • /home/barant/Documents/Development/BMASockets/BMAStreamSession.cpp
  • +
+
+ + + + diff --git a/docs/html/class_b_m_a_stream_session__coll__graph.map b/docs/html/class_b_m_a_stream_session__coll__graph.map new file mode 100644 index 0000000..3811b6d --- /dev/null +++ b/docs/html/class_b_m_a_stream_session__coll__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/html/class_b_m_a_stream_session__coll__graph.md5 b/docs/html/class_b_m_a_stream_session__coll__graph.md5 new file mode 100644 index 0000000..83f222d --- /dev/null +++ b/docs/html/class_b_m_a_stream_session__coll__graph.md5 @@ -0,0 +1 @@ +32e276b7c6c767ad614da6bdf9dd387e \ No newline at end of file diff --git a/docs/html/class_b_m_a_stream_session__coll__graph.png b/docs/html/class_b_m_a_stream_session__coll__graph.png new file mode 100644 index 0000000..c702bb0 Binary files /dev/null and b/docs/html/class_b_m_a_stream_session__coll__graph.png differ diff --git a/docs/html/class_b_m_a_stream_session__inherit__graph.map b/docs/html/class_b_m_a_stream_session__inherit__graph.map new file mode 100644 index 0000000..24b3068 --- /dev/null +++ b/docs/html/class_b_m_a_stream_session__inherit__graph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/html/class_b_m_a_stream_session__inherit__graph.md5 b/docs/html/class_b_m_a_stream_session__inherit__graph.md5 new file mode 100644 index 0000000..1b12c41 --- /dev/null +++ b/docs/html/class_b_m_a_stream_session__inherit__graph.md5 @@ -0,0 +1 @@ +2db863291b1421cf75290029470425e8 \ No newline at end of file diff --git a/docs/html/class_b_m_a_stream_session__inherit__graph.png b/docs/html/class_b_m_a_stream_session__inherit__graph.png new file mode 100644 index 0000000..ec2a461 Binary files /dev/null and b/docs/html/class_b_m_a_stream_session__inherit__graph.png differ diff --git a/docs/html/class_b_m_a_stream_socket-members.html b/docs/html/class_b_m_a_stream_socket-members.html new file mode 100644 index 0000000..f037565 --- /dev/null +++ b/docs/html/class_b_m_a_stream_socket-members.html @@ -0,0 +1,107 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMAStreamSocket Member List
+
+
+ +

This is the complete list of members for BMAStreamSocket, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BMASession(BMAEPoll &ePoll) (defined in BMASession)BMASession
BMASocket(BMAEPoll &ePoll) (defined in BMASocket)BMASocket
BMAStreamSocket(BMAEPoll &ePoll) (defined in BMAStreamSocket)BMAStreamSocket
BMATCPSocket(BMAEPoll &ePoll) (defined in BMATCPSocket)BMATCPSocket
bufferSize (defined in BMASocket)BMASocket
client_addr (defined in BMATCPSocket)BMATCPSocket
client_addr_len (defined in BMATCPSocket)BMATCPSocket
command (defined in BMASession)BMASession
ePoll (defined in BMASocket)BMASocketprotected
eventReceived(struct epoll_event event)BMASocket
getClientAddress()BMATCPSocket
getClientAddressAndPort()BMATCPSocket
getClientPort()BMATCPSocket
getDescriptor()BMASocket
name (defined in BMAObject)BMAObject
onConnected()BMASessionprotectedvirtual
onDataReceived(char *data, int length)BMAStreamSocketprotectedvirtual
onRegistered()BMASocketvirtual
onStreamDataReceived(BMAStreamFrame *frame) (defined in BMAStreamSocket)BMAStreamSocketprotected
output(stringstream &out)BMASessionvirtual
protocol(char *data, int length) (defined in BMASession)BMASessionprotectedvirtual
setBufferSize(int length) (defined in BMASocket)BMASocketprotected
setDescriptor(int descriptor)BMASocket
shutDown (defined in BMASocket)BMASocketprotected
tag (defined in BMAObject)BMAObject
write(char *buffer, int length) (defined in BMASocket)BMASocket
writeFrame(BMAStreamFrame *frame) (defined in BMAStreamSocket)BMAStreamSocket
~BMASession() (defined in BMASession)BMASession
~BMASocket()BMASocket
~BMAStreamSocket() (defined in BMAStreamSocket)BMAStreamSocket
~BMATCPSocket() (defined in BMATCPSocket)BMATCPSocket
+ + + + diff --git a/docs/html/class_b_m_a_stream_socket.html b/docs/html/class_b_m_a_stream_socket.html new file mode 100644 index 0000000..e220356 --- /dev/null +++ b/docs/html/class_b_m_a_stream_socket.html @@ -0,0 +1,262 @@ + + + + + + + +BMA Server Framework: BMAStreamSocket Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
BMAStreamSocket Class Reference
+
+
+
+Inheritance diagram for BMAStreamSocket:
+
+
Inheritance graph
+ + + + + + +
[legend]
+
+Collaboration diagram for BMAStreamSocket:
+
+
Collaboration graph
+ + + + + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

BMAStreamSocket (BMAEPoll &ePoll)
 
+int writeFrame (BMAStreamFrame *frame)
 
- Public Member Functions inherited from BMASession
BMASession (BMAEPoll &ePoll)
 
virtual void output (stringstream &out)
 
- Public Member Functions inherited from BMATCPSocket
BMATCPSocket (BMAEPoll &ePoll)
 
+string getClientAddress ()
 Get the client network address as xxx.xxx.xxx.xxx.
 
+string getClientAddressAndPort ()
 Get the client network address and port as xxx.xxx.xxx.xxx:ppppp.
 
+int getClientPort ()
 Get the client network port number.
 
void onConnected () override
 Called when socket is open and ready to communicate. More...
 
- Public Member Functions inherited from BMASocket
BMASocket (BMAEPoll &ePoll)
 
 ~BMASocket ()
 
+void setDescriptor (int descriptor)
 Set the descriptor for the socket.
 
+int getDescriptor ()
 Get the descriptor for the socket.
 
void eventReceived (struct epoll_event event)
 Parse epoll event and call specified callbacks. More...
 
+void write (char *buffer, int length)
 
+void output (stringstream &out)
 
virtual void onRegistered ()
 Called when the socket has finished registering with the epoll processing. More...
 
+ + + + + + + + + + + + + + + +

+Protected Member Functions

void onDataReceived (char *data, int length)
 Called when data is received from the socket. More...
 
+void onStreamDataReceived (BMAStreamFrame *frame)
 
- Protected Member Functions inherited from BMASession
virtual void onConnected ()
 Called when socket is open and ready to communicate. More...
 
+virtual void protocol (char *data, int length)
 
- Protected Member Functions inherited from BMASocket
+void setBufferSize (int length)
 
+ + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Attributes inherited from BMASession
+string command
 
- Public Attributes inherited from BMATCPSocket
+struct sockaddr_in client_addr
 
+socklen_t client_addr_len
 
- Public Attributes inherited from BMASocket
+class {
bufferSize
 
- Public Attributes inherited from BMAObject
+string name
 
+string tag
 
- Protected Attributes inherited from BMASocket
+BMAEPollePoll
 
+bool shutDown = false
 
+

Member Function Documentation

+ +

◆ onDataReceived()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void BMAStreamSocket::onDataReceived (char * data,
int length 
)
+
+protectedvirtual
+
+ +

Called when data is received from the socket.

+

The onDataReceived method is called when the socket has received an event from epoll and there is data ready to be read from the socket. The default handler will pull the data and put it into the streambuf for the socket. EPOLLIN

+ +

Reimplemented from BMASession.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Documents/Development/BMASockets/BMAStreamSocket.h
  • +
  • /home/barant/Documents/Development/BMASockets/BMAStreamSocket.cpp
  • +
+
+ + + + diff --git a/docs/html/class_b_m_a_stream_socket__coll__graph.map b/docs/html/class_b_m_a_stream_socket__coll__graph.map new file mode 100644 index 0000000..fd78421 --- /dev/null +++ b/docs/html/class_b_m_a_stream_socket__coll__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/html/class_b_m_a_stream_socket__coll__graph.md5 b/docs/html/class_b_m_a_stream_socket__coll__graph.md5 new file mode 100644 index 0000000..f840d85 --- /dev/null +++ b/docs/html/class_b_m_a_stream_socket__coll__graph.md5 @@ -0,0 +1 @@ +335442e2b54c4bddb7af1890f26cf87c \ No newline at end of file diff --git a/docs/html/class_b_m_a_stream_socket__coll__graph.png b/docs/html/class_b_m_a_stream_socket__coll__graph.png new file mode 100644 index 0000000..3ac37e2 Binary files /dev/null and b/docs/html/class_b_m_a_stream_socket__coll__graph.png differ diff --git a/docs/html/class_b_m_a_stream_socket__inherit__graph.map b/docs/html/class_b_m_a_stream_socket__inherit__graph.map new file mode 100644 index 0000000..8234e5c --- /dev/null +++ b/docs/html/class_b_m_a_stream_socket__inherit__graph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/html/class_b_m_a_stream_socket__inherit__graph.md5 b/docs/html/class_b_m_a_stream_socket__inherit__graph.md5 new file mode 100644 index 0000000..0bf1ee0 --- /dev/null +++ b/docs/html/class_b_m_a_stream_socket__inherit__graph.md5 @@ -0,0 +1 @@ +9f9d9b5ef42539f5cf625a616993939c \ No newline at end of file diff --git a/docs/html/class_b_m_a_stream_socket__inherit__graph.png b/docs/html/class_b_m_a_stream_socket__inherit__graph.png new file mode 100644 index 0000000..464e8d6 Binary files /dev/null and b/docs/html/class_b_m_a_stream_socket__inherit__graph.png differ diff --git a/docs/html/class_b_m_a_t_c_p_server_socket-members.html b/docs/html/class_b_m_a_t_c_p_server_socket-members.html new file mode 100644 index 0000000..d5fbcc0 --- /dev/null +++ b/docs/html/class_b_m_a_t_c_p_server_socket-members.html @@ -0,0 +1,115 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMATCPServerSocket Member List
+
+
+ +

This is the complete list of members for BMATCPServerSocket, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BMACommand(std::string commandName) (defined in BMACommand)BMACommand
BMASocket(BMAEPoll &ePoll) (defined in BMASocket)BMASocket
BMATCPServerSocket(BMAEPoll &ePoll, std::string url, short int port, std::string commandName)BMATCPServerSocket
BMATCPSocket(BMAEPoll &ePoll) (defined in BMATCPSocket)BMATCPSocket
bufferSize (defined in BMASocket)BMASocket
commandName (defined in BMACommand)BMACommand
connect(BMAIPAddress &address) (defined in BMATCPSocket)BMATCPSocket
enable(bool mode)BMASocket
ePoll (defined in BMASocket)BMASocketprotected
eventReceived(struct epoll_event event)BMASocket
getDescriptor()BMASocket
getSocketAccept()=0BMATCPServerSocketprotectedpure virtual
init() (defined in BMATCPServerSocket)BMATCPServerSocketprotectedvirtual
ipAddress (defined in BMATCPSocket)BMATCPSocket
name (defined in BMAObject)BMAObject
name (defined in BMAObject)BMAObject
onConnected()BMASocketprotectedvirtual
onDataReceived(std::string data) overrideBMATCPServerSocketprotectedvirtual
onRegistered()BMASocketvirtual
onTLSInit() (defined in BMASocket)BMASocketprotectedvirtual
onUnregistered()BMASocketvirtual
BMATCPSocket::output(std::stringstream &out)BMATCPSocketvirtual
output(BMASession *session) (defined in BMACommand)BMACommandvirtual
processCommand(std::string command, BMASession *session) overrideBMATCPServerSocketprotectedvirtual
receiveData(char *buffer, int bufferLength)BMASocketprotectedvirtual
removeFromSessionList(BMASession *session) (defined in BMATCPServerSocket)BMATCPServerSocket
sessionsBMATCPServerSocket
setBufferSize(int length) (defined in BMASocket)BMASocketprotected
setDescriptor(int descriptor)BMASocket
shutDown (defined in BMASocket)BMASocketprotected
shutdown() (defined in BMASocket)BMASocketprotected
tag (defined in BMAObject)BMAObject
tag (defined in BMAObject)BMAObject
write(std::string data)BMASocket
write(char *buffer, int length) (defined in BMASocket)BMASocket
~BMACommand() (defined in BMACommand)BMACommand
~BMASocket() (defined in BMASocket)BMASocket
~BMATCPServerSocket()BMATCPServerSocket
~BMATCPSocket() (defined in BMATCPSocket)BMATCPSocket
+ + + + diff --git a/docs/html/class_b_m_a_t_c_p_server_socket.html b/docs/html/class_b_m_a_t_c_p_server_socket.html new file mode 100644 index 0000000..052e176 --- /dev/null +++ b/docs/html/class_b_m_a_t_c_p_server_socket.html @@ -0,0 +1,433 @@ + + + + + + + +BMA Server Framework: BMATCPServerSocket Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
BMATCPServerSocket Class Referenceabstract
+
+
+ +

#include <BMATCPServerSocket.h>

+
+Inheritance diagram for BMATCPServerSocket:
+
+
Inheritance graph
+ + + + + + + + +
[legend]
+
+Collaboration diagram for BMATCPServerSocket:
+
+
Collaboration graph
+ + + + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 BMATCPServerSocket (BMAEPoll &ePoll, std::string url, short int port, std::string commandName)
 
 ~BMATCPServerSocket ()
 
+void removeFromSessionList (BMASession *session)
 
- Public Member Functions inherited from BMATCPSocket
BMATCPSocket (BMAEPoll &ePoll)
 
+void connect (BMAIPAddress &address)
 
virtual void output (std::stringstream &out)
 
- Public Member Functions inherited from BMASocket
BMASocket (BMAEPoll &ePoll)
 
+void setDescriptor (int descriptor)
 Set the descriptor for the socket.
 
+int getDescriptor ()
 Get the descriptor for the socket.
 
void eventReceived (struct epoll_event event)
 Parse epoll event and call specified callbacks. More...
 
void write (std::string data)
 
+void write (char *buffer, int length)
 
+void output (std::stringstream &out)
 
virtual void onRegistered ()
 Called when the socket has finished registering with the epoll processing. More...
 
virtual void onUnregistered ()
 Called when the socket has finished unregistering for the epoll processing. More...
 
+void enable (bool mode)
 Enable the socket to read or write based upon buffer.
 
- Public Member Functions inherited from BMACommand
BMACommand (std::string commandName)
 
+virtual void output (BMASession *session)
 
+ + + + + + + + + + + + + + + + + + +

+Public Attributes

std::vector< BMASession * > sessions
 
- Public Attributes inherited from BMATCPSocket
+BMAIPAddress ipAddress
 
- Public Attributes inherited from BMASocket
+class {
bufferSize
 
- Public Attributes inherited from BMAObject
+std::string name
 
+std::string tag
 
- Public Attributes inherited from BMACommand
+std::string commandName
 
+ + + + + + + + + + + + + + + + + + + + + +

+Protected Member Functions

+virtual void init ()
 
virtual BMASessiongetSocketAccept ()=0
 
void onDataReceived (std::string data) override
 
void processCommand (std::string command, BMASession *session) override
 
- Protected Member Functions inherited from BMASocket
+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)
 
+ + + + + + +

+Additional Inherited Members

- Protected Attributes inherited from BMASocket
+BMAEPollePoll
 
+bool shutDown = false
 
+

Detailed Description

+

BMATCPServerSocket

+

Manage a socket connection as a TCP server type. Connections to the socket are processed through the accept functionality.

+

A list of connections is maintained in a vector object.

+

This object extends the BMACommand object as well so it can be added to a BMAConsole object and process commands to display status information.

+

Constructor & Destructor Documentation

+ +

◆ BMATCPServerSocket()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BMATCPServerSocket::BMATCPServerSocket (BMAEPollePoll,
std::string url,
short int port,
std::string commandName 
)
+
+

The constructor for the BMATCPSocket object.

+
Parameters
+ + + + + +
ePollthe BMAEPoll instance that manages the socket.
urlthe IP address for the socket to receive connection requests.
portthe port number that the socket will listen on.
commandNamethe name of the command used to invoke the status display for this object.
+
+
+
Returns
the instance of the BMATCPServerSocket.
+ +
+
+ +

◆ ~BMATCPServerSocket()

+ +
+
+ + + + + + + +
BMATCPServerSocket::~BMATCPServerSocket ()
+
+

The destructor for this object.

+ +
+
+

Member Function Documentation

+ +

◆ getSocketAccept()

+ +
+
+ + + + + +
+ + + + + + + +
virtual BMASession* BMATCPServerSocket::getSocketAccept ()
+
+protectedpure 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 BMASession provides the mechanism where the server can select the protocol dialog for the desired service.

+ +

Implemented in BMATLSServerSocket, and BMAConsoleServer.

+ +
+
+ +

◆ onDataReceived()

+ +
+
+ + + + + +
+ + + + + + + + +
void BMATCPServerSocket::onDataReceived (std::string data)
+
+overrideprotectedvirtual
+
+

Override the virtual dataReceived since for the server these are requests to accept the new connection socket. No data is to be read or written when this method is called. It is the response to the fact that a new connection is coming into the system

+
Parameters
+ + + +
datathe pointer to the buffer containing the received data.
lengththe length of the associated data buffer.
+
+
+ +

Implements BMASocket.

+ +
+
+ +

◆ processCommand()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void BMATCPServerSocket::processCommand (std::string command,
BMASessionsession 
)
+
+overrideprotectedvirtual
+
+

This method is called when the BMACommand associated with this object is requested because a user has typed in the associated command name on a command entry line.

+
Parameters
+ + +
thesession object to write the output to.
+
+
+ +

Implements BMACommand.

+ +
+
+

Member Data Documentation

+ +

◆ sessions

+ +
+
+ + + + +
std::vector<BMASession *> BMATCPServerSocket::sessions
+
+

The list of sessions that are currently open and being maintained by this object.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Development/BMA/server_core/ServerCore/BMATCPServerSocket.h
  • +
  • /home/barant/Development/BMA/server_core/ServerCore/BMATCPServerSocket.cpp
  • +
+
+ + + + diff --git a/docs/html/class_b_m_a_t_c_p_server_socket__coll__graph.map b/docs/html/class_b_m_a_t_c_p_server_socket__coll__graph.map new file mode 100644 index 0000000..bbf5afa --- /dev/null +++ b/docs/html/class_b_m_a_t_c_p_server_socket__coll__graph.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/html/class_b_m_a_t_c_p_server_socket__coll__graph.md5 b/docs/html/class_b_m_a_t_c_p_server_socket__coll__graph.md5 new file mode 100644 index 0000000..65d6628 --- /dev/null +++ b/docs/html/class_b_m_a_t_c_p_server_socket__coll__graph.md5 @@ -0,0 +1 @@ +8a3bfd4524c012ee7c0406bdd0d87593 \ No newline at end of file diff --git a/docs/html/class_b_m_a_t_c_p_server_socket__coll__graph.png b/docs/html/class_b_m_a_t_c_p_server_socket__coll__graph.png new file mode 100644 index 0000000..e827674 Binary files /dev/null and b/docs/html/class_b_m_a_t_c_p_server_socket__coll__graph.png differ diff --git a/docs/html/class_b_m_a_t_c_p_server_socket__inherit__graph.map b/docs/html/class_b_m_a_t_c_p_server_socket__inherit__graph.map new file mode 100644 index 0000000..0f84ac6 --- /dev/null +++ b/docs/html/class_b_m_a_t_c_p_server_socket__inherit__graph.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/html/class_b_m_a_t_c_p_server_socket__inherit__graph.md5 b/docs/html/class_b_m_a_t_c_p_server_socket__inherit__graph.md5 new file mode 100644 index 0000000..f23e988 --- /dev/null +++ b/docs/html/class_b_m_a_t_c_p_server_socket__inherit__graph.md5 @@ -0,0 +1 @@ +95dd7af222c9ff292bcca0f2ec8ca4ad \ No newline at end of file diff --git a/docs/html/class_b_m_a_t_c_p_server_socket__inherit__graph.png b/docs/html/class_b_m_a_t_c_p_server_socket__inherit__graph.png new file mode 100644 index 0000000..7ed71f6 Binary files /dev/null and b/docs/html/class_b_m_a_t_c_p_server_socket__inherit__graph.png differ diff --git a/docs/html/class_b_m_a_t_c_p_socket-members.html b/docs/html/class_b_m_a_t_c_p_socket-members.html new file mode 100644 index 0000000..cc17e99 --- /dev/null +++ b/docs/html/class_b_m_a_t_c_p_socket-members.html @@ -0,0 +1,102 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMATCPSocket Member List
+
+
+ +

This is the complete list of members for BMATCPSocket, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
BMASocket(BMAEPoll &ePoll) (defined in BMASocket)BMASocket
BMATCPSocket(BMAEPoll &ePoll) (defined in BMATCPSocket)BMATCPSocket
bufferSize (defined in BMASocket)BMASocket
connect(BMAIPAddress &address) (defined in BMATCPSocket)BMATCPSocket
enable(bool mode)BMASocket
ePoll (defined in BMASocket)BMASocketprotected
eventReceived(struct epoll_event event)BMASocket
getDescriptor()BMASocket
ipAddress (defined in BMATCPSocket)BMATCPSocket
name (defined in BMAObject)BMAObject
onConnected()BMASocketprotectedvirtual
onDataReceived(std::string data)=0BMASocketprotectedpure virtual
onRegistered()BMASocketvirtual
onTLSInit() (defined in BMASocket)BMASocketprotectedvirtual
onUnregistered()BMASocketvirtual
output(std::stringstream &out)BMATCPSocketvirtual
receiveData(char *buffer, int bufferLength)BMASocketprotectedvirtual
setBufferSize(int length) (defined in BMASocket)BMASocketprotected
setDescriptor(int descriptor)BMASocket
shutdown() (defined in BMASocket)BMASocketprotected
shutDown (defined in BMASocket)BMASocketprotected
tag (defined in BMAObject)BMAObject
write(std::string data)BMASocket
write(char *buffer, int length) (defined in BMASocket)BMASocket
~BMASocket() (defined in BMASocket)BMASocket
~BMATCPSocket() (defined in BMATCPSocket)BMATCPSocket
+ + + + diff --git a/docs/html/class_b_m_a_t_c_p_socket.html b/docs/html/class_b_m_a_t_c_p_socket.html new file mode 100644 index 0000000..e3550ec --- /dev/null +++ b/docs/html/class_b_m_a_t_c_p_socket.html @@ -0,0 +1,236 @@ + + + + + + + +BMA Server Framework: BMATCPSocket Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
BMATCPSocket Class Reference
+
+
+ +

#include <BMATCPSocket.h>

+
+Inheritance diagram for BMATCPSocket:
+
+
Inheritance graph
+ + + + + + + + + + + +
[legend]
+
+Collaboration diagram for BMATCPSocket:
+
+
Collaboration graph
+ + + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

BMATCPSocket (BMAEPoll &ePoll)
 
+void connect (BMAIPAddress &address)
 
virtual void output (std::stringstream &out)
 
- Public Member Functions inherited from BMASocket
BMASocket (BMAEPoll &ePoll)
 
+void setDescriptor (int descriptor)
 Set the descriptor for the socket.
 
+int getDescriptor ()
 Get the descriptor for the socket.
 
void eventReceived (struct epoll_event event)
 Parse epoll event and call specified callbacks. More...
 
void write (std::string data)
 
+void write (char *buffer, int length)
 
+void output (std::stringstream &out)
 
virtual void onRegistered ()
 Called when the socket has finished registering with the epoll processing. More...
 
virtual void onUnregistered ()
 Called when the socket has finished unregistering for the epoll processing. More...
 
+void enable (bool mode)
 Enable the socket to read or write based upon buffer.
 
+ + + + + + + + + + + + +

+Public Attributes

+BMAIPAddress ipAddress
 
- Public Attributes inherited from BMASocket
+class {
bufferSize
 
- Public Attributes inherited from BMAObject
+std::string name
 
+std::string tag
 
+ + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from BMASocket
+void setBufferSize (int length)
 
virtual void onConnected ()
 Called when socket is open and ready to communicate. More...
 
+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)
 
- Protected Attributes inherited from BMASocket
+BMAEPollePoll
 
+bool shutDown = false
 
+

Detailed Description

+

BMATCPSocket

+

Provides a network TCP socket.

+

For accessing TCP network functions use this object. The connection oriented nature of TCP provides a single client persistent connection with data error correction and a durable synchronous data connection.

+

Member Function Documentation

+ +

◆ output()

+ +
+
+ + + + + +
+ + + + + + + + +
void BMATCPSocket::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 in BMATLSSession, and BMAConsoleSession.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Development/BMA/server_core/ServerCore/BMATCPSocket.h
  • +
  • /home/barant/Development/BMA/server_core/ServerCore/BMATCPSocket.cpp
  • +
+
+ + + + diff --git a/docs/html/class_b_m_a_t_c_p_socket__coll__graph.map b/docs/html/class_b_m_a_t_c_p_socket__coll__graph.map new file mode 100644 index 0000000..514d282 --- /dev/null +++ b/docs/html/class_b_m_a_t_c_p_socket__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/html/class_b_m_a_t_c_p_socket__coll__graph.md5 b/docs/html/class_b_m_a_t_c_p_socket__coll__graph.md5 new file mode 100644 index 0000000..9ae763f --- /dev/null +++ b/docs/html/class_b_m_a_t_c_p_socket__coll__graph.md5 @@ -0,0 +1 @@ +a83d0c3f28178086204ae75401b6b584 \ No newline at end of file diff --git a/docs/html/class_b_m_a_t_c_p_socket__coll__graph.png b/docs/html/class_b_m_a_t_c_p_socket__coll__graph.png new file mode 100644 index 0000000..8d1c7bc Binary files /dev/null and b/docs/html/class_b_m_a_t_c_p_socket__coll__graph.png differ diff --git a/docs/html/class_b_m_a_t_c_p_socket__inherit__graph.map b/docs/html/class_b_m_a_t_c_p_socket__inherit__graph.map new file mode 100644 index 0000000..86932f4 --- /dev/null +++ b/docs/html/class_b_m_a_t_c_p_socket__inherit__graph.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/html/class_b_m_a_t_c_p_socket__inherit__graph.md5 b/docs/html/class_b_m_a_t_c_p_socket__inherit__graph.md5 new file mode 100644 index 0000000..75994f9 --- /dev/null +++ b/docs/html/class_b_m_a_t_c_p_socket__inherit__graph.md5 @@ -0,0 +1 @@ +08d9978502526743a7b180331fc57745 \ No newline at end of file diff --git a/docs/html/class_b_m_a_t_c_p_socket__inherit__graph.png b/docs/html/class_b_m_a_t_c_p_socket__inherit__graph.png new file mode 100644 index 0000000..afade76 Binary files /dev/null and b/docs/html/class_b_m_a_t_c_p_socket__inherit__graph.png differ diff --git a/docs/html/class_b_m_a_t_l_s_server_socket-members.html b/docs/html/class_b_m_a_t_l_s_server_socket-members.html new file mode 100644 index 0000000..2eaa0c4 --- /dev/null +++ b/docs/html/class_b_m_a_t_l_s_server_socket-members.html @@ -0,0 +1,118 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMATLSServerSocket Member List
+
+
+ +

This is the complete list of members for BMATLSServerSocket, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BMACommand(std::string commandName) (defined in BMACommand)BMACommand
BMASocket(BMAEPoll &ePoll) (defined in BMASocket)BMASocket
BMATCPServerSocket(BMAEPoll &ePoll, std::string url, short int port, std::string commandName)BMATCPServerSocket
BMATCPSocket(BMAEPoll &ePoll) (defined in BMATCPSocket)BMATCPSocket
BMATLSServerSocket(BMAEPoll &ePoll, std::string url, short int port, std::string commandName)BMATLSServerSocket
bufferSize (defined in BMASocket)BMASocket
commandName (defined in BMACommand)BMACommand
connect(BMAIPAddress &address) (defined in BMATCPSocket)BMATCPSocket
ctx (defined in BMATLSServerSocket)BMATLSServerSocket
enable(bool mode)BMASocket
ePoll (defined in BMASocket)BMASocketprotected
eventReceived(struct epoll_event event)BMASocket
getDescriptor()BMASocket
getSocketAccept() overrideBMATLSServerSocketprotectedvirtual
init() (defined in BMATCPServerSocket)BMATCPServerSocketprotectedvirtual
ipAddress (defined in BMATCPSocket)BMATCPSocket
name (defined in BMAObject)BMAObject
name (defined in BMAObject)BMAObject
onConnected()BMASocketprotectedvirtual
onDataReceived(std::string data) overrideBMATCPServerSocketprotectedvirtual
onRegistered()BMASocketvirtual
onTLSInit() (defined in BMASocket)BMASocketprotectedvirtual
onUnregistered()BMASocketvirtual
BMATCPSocket::output(std::stringstream &out)BMATCPSocketvirtual
output(BMASession *session) (defined in BMACommand)BMACommandvirtual
processCommand(std::string command, BMASession *session) overrideBMATCPServerSocketprotectedvirtual
receiveData(char *buffer, int bufferLength)BMASocketprotectedvirtual
removeFromSessionList(BMASession *session) (defined in BMATCPServerSocket)BMATCPServerSocket
sessionsBMATCPServerSocket
setBufferSize(int length) (defined in BMASocket)BMASocketprotected
setDescriptor(int descriptor)BMASocket
shutdown() (defined in BMASocket)BMASocketprotected
shutDown (defined in BMASocket)BMASocketprotected
tag (defined in BMAObject)BMAObject
tag (defined in BMAObject)BMAObject
write(std::string data)BMASocket
write(char *buffer, int length) (defined in BMASocket)BMASocket
~BMACommand() (defined in BMACommand)BMACommand
~BMASocket() (defined in BMASocket)BMASocket
~BMATCPServerSocket()BMATCPServerSocket
~BMATCPSocket() (defined in BMATCPSocket)BMATCPSocket
~BMATLSServerSocket()BMATLSServerSocket
+ + + + diff --git a/docs/html/class_b_m_a_t_l_s_server_socket.html b/docs/html/class_b_m_a_t_l_s_server_socket.html new file mode 100644 index 0000000..ce6f290 --- /dev/null +++ b/docs/html/class_b_m_a_t_l_s_server_socket.html @@ -0,0 +1,344 @@ + + + + + + + +BMA Server Framework: BMATLSServerSocket Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+ +
+ +

#include <BMATLSServerSocket.h>

+
+Inheritance diagram for BMATLSServerSocket:
+
+
Inheritance graph
+ + + + + + + +
[legend]
+
+Collaboration diagram for BMATLSServerSocket:
+
+
Collaboration graph
+ + + + + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 BMATLSServerSocket (BMAEPoll &ePoll, std::string url, short int port, std::string commandName)
 
 ~BMATLSServerSocket ()
 
- Public Member Functions inherited from BMATCPServerSocket
 BMATCPServerSocket (BMAEPoll &ePoll, std::string url, short int port, std::string commandName)
 
 ~BMATCPServerSocket ()
 
+void removeFromSessionList (BMASession *session)
 
- Public Member Functions inherited from BMATCPSocket
BMATCPSocket (BMAEPoll &ePoll)
 
+void connect (BMAIPAddress &address)
 
virtual void output (std::stringstream &out)
 
- Public Member Functions inherited from BMASocket
BMASocket (BMAEPoll &ePoll)
 
+void setDescriptor (int descriptor)
 Set the descriptor for the socket.
 
+int getDescriptor ()
 Get the descriptor for the socket.
 
void eventReceived (struct epoll_event event)
 Parse epoll event and call specified callbacks. More...
 
void write (std::string data)
 
+void write (char *buffer, int length)
 
+void output (std::stringstream &out)
 
virtual void onRegistered ()
 Called when the socket has finished registering with the epoll processing. More...
 
virtual void onUnregistered ()
 Called when the socket has finished unregistering for the epoll processing. More...
 
+void enable (bool mode)
 Enable the socket to read or write based upon buffer.
 
- Public Member Functions inherited from BMACommand
BMACommand (std::string commandName)
 
+virtual void output (BMASession *session)
 
+ + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+SSL_CTX * ctx
 
- Public Attributes inherited from BMATCPServerSocket
std::vector< BMASession * > sessions
 
- Public Attributes inherited from BMATCPSocket
+BMAIPAddress ipAddress
 
- Public Attributes inherited from BMASocket
+class {
bufferSize
 
- Public Attributes inherited from BMAObject
+std::string name
 
+std::string tag
 
- Public Attributes inherited from BMACommand
+std::string commandName
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Protected Member Functions

BMASessiongetSocketAccept () override
 
- Protected Member Functions inherited from BMATCPServerSocket
+virtual void init ()
 
void onDataReceived (std::string data) override
 
void processCommand (std::string command, BMASession *session) override
 
- Protected Member Functions inherited from BMASocket
+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)
 
+ + + + + + +

+Additional Inherited Members

- Protected Attributes inherited from BMASocket
+BMAEPollePoll
 
+bool shutDown = false
 
+

Detailed Description

+

BMATLSServerSocket

+

Manage a socket connection as a TLS server type. Connections to the socket are processed through the accept functionality.

+

Constructor & Destructor Documentation

+ +

◆ BMATLSServerSocket()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BMATLSServerSocket::BMATLSServerSocket (BMAEPollePoll,
std::string url,
short int port,
std::string commandName 
)
+
+

The constructor for the BMATLSSocket object.

+
Parameters
+ + + + + +
ePollthe BMAEPoll instance that manages the socket.
urlthe IP address for the socket to receive connection requests.
portthe port number that the socket will listen on.
commandNamethe name of the command used to invoke the status display for this object.
+
+
+
Returns
the instance of the BMATLSServerSocket.
+ +
+
+ +

◆ ~BMATLSServerSocket()

+ +
+
+ + + + + + + +
BMATLSServerSocket::~BMATLSServerSocket ()
+
+

The destructor for this object.

+ +
+
+

Member Function Documentation

+ +

◆ getSocketAccept()

+ +
+
+ + + + + +
+ + + + + + + +
BMASession * BMATLSServerSocket::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.

+ +

Implements BMATCPServerSocket.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Development/BMA/server_core/ServerCore/BMATLSServerSocket.h
  • +
  • /home/barant/Development/BMA/server_core/ServerCore/BMATLSServerSocket.cpp
  • +
+
+ + + + diff --git a/docs/html/class_b_m_a_t_l_s_server_socket__coll__graph.map b/docs/html/class_b_m_a_t_l_s_server_socket__coll__graph.map new file mode 100644 index 0000000..4172bc8 --- /dev/null +++ b/docs/html/class_b_m_a_t_l_s_server_socket__coll__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/html/class_b_m_a_t_l_s_server_socket__coll__graph.md5 b/docs/html/class_b_m_a_t_l_s_server_socket__coll__graph.md5 new file mode 100644 index 0000000..9f8159f --- /dev/null +++ b/docs/html/class_b_m_a_t_l_s_server_socket__coll__graph.md5 @@ -0,0 +1 @@ +b22ec98a97193a76a553a290e837b2f4 \ No newline at end of file diff --git a/docs/html/class_b_m_a_t_l_s_server_socket__coll__graph.png b/docs/html/class_b_m_a_t_l_s_server_socket__coll__graph.png new file mode 100644 index 0000000..9a9d2c4 Binary files /dev/null and b/docs/html/class_b_m_a_t_l_s_server_socket__coll__graph.png differ diff --git a/docs/html/class_b_m_a_t_l_s_server_socket__inherit__graph.map b/docs/html/class_b_m_a_t_l_s_server_socket__inherit__graph.map new file mode 100644 index 0000000..943bc54 --- /dev/null +++ b/docs/html/class_b_m_a_t_l_s_server_socket__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/html/class_b_m_a_t_l_s_server_socket__inherit__graph.md5 b/docs/html/class_b_m_a_t_l_s_server_socket__inherit__graph.md5 new file mode 100644 index 0000000..99b8985 --- /dev/null +++ b/docs/html/class_b_m_a_t_l_s_server_socket__inherit__graph.md5 @@ -0,0 +1 @@ +2258f3623401d905e8e9ef35f02a0344 \ No newline at end of file diff --git a/docs/html/class_b_m_a_t_l_s_server_socket__inherit__graph.png b/docs/html/class_b_m_a_t_l_s_server_socket__inherit__graph.png new file mode 100644 index 0000000..c557c22 Binary files /dev/null and b/docs/html/class_b_m_a_t_l_s_server_socket__inherit__graph.png differ diff --git a/docs/html/class_b_m_a_t_l_s_session-members.html b/docs/html/class_b_m_a_t_l_s_session-members.html new file mode 100644 index 0000000..02f378d --- /dev/null +++ b/docs/html/class_b_m_a_t_l_s_session-members.html @@ -0,0 +1,114 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMATLSSession Member List
+
+
+ +

This is the complete list of members for BMATLSSession, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BMASession(BMAEPoll &ePoll, BMATCPServerSocket &server) (defined in BMASession)BMASession
BMASocket(BMAEPoll &ePoll) (defined in BMASocket)BMASocket
BMATCPSocket(BMAEPoll &ePoll) (defined in BMATCPSocket)BMATCPSocket
BMATLSSession(BMAEPoll &ePoll, BMATLSServerSocket &server) (defined in BMATLSSession)BMATLSSession
bufferSize (defined in BMASocket)BMASocket
connect(BMAIPAddress &address) (defined in BMATCPSocket)BMATCPSocket
enable(bool mode)BMASocket
ePoll (defined in BMASocket)BMASocketprotected
eventReceived(struct epoll_event event)BMASocket
getDescriptor()BMASocket
getServer() (defined in BMASession)BMASession
init() override (defined in BMATLSSession)BMATLSSessionprotectedvirtual
ipAddress (defined in BMATCPSocket)BMATCPSocket
name (defined in BMAObject)BMAObject
onConnected() overrideBMASessionprotectedvirtual
onDataReceived(std::string data) overrideBMASessionprotectedvirtual
onRegistered()BMASocketvirtual
onTLSInit() (defined in BMASocket)BMASocketprotectedvirtual
onUnregistered()BMASocketvirtual
out (defined in BMASession)BMASession
output(std::stringstream &out)BMATLSSessionvirtual
output(BMASession *session) (defined in BMASession)BMASessionvirtual
protocol(std::string data) override (defined in BMATLSSession)BMATLSSessionvirtual
receiveData(char *buffer, int bufferLength) overrideBMATLSSessionprotectedvirtual
send()BMASession
sendToAll()BMASession
sendToAll(BMASessionFilter *filter)BMASession
setBufferSize(int length) (defined in BMASocket)BMASocketprotected
setDescriptor(int descriptor)BMASocket
shutdown() (defined in BMASocket)BMASocketprotected
shutDown (defined in BMASocket)BMASocketprotected
tag (defined in BMAObject)BMAObject
write(std::string data)BMASocket
write(char *buffer, int length) (defined in BMASocket)BMASocket
~BMASession() (defined in BMASession)BMASession
~BMASocket() (defined in BMASocket)BMASocket
~BMATCPSocket() (defined in BMATCPSocket)BMATCPSocket
~BMATLSSession() (defined in BMATLSSession)BMATLSSession
+ + + + diff --git a/docs/html/class_b_m_a_t_l_s_session.html b/docs/html/class_b_m_a_t_l_s_session.html new file mode 100644 index 0000000..4dd4f32 --- /dev/null +++ b/docs/html/class_b_m_a_t_l_s_session.html @@ -0,0 +1,308 @@ + + + + + + + +BMA Server Framework: BMATLSSession Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
BMATLSSession Class Reference
+
+
+ +

#include <BMATLSSession.h>

+
+Inheritance diagram for BMATLSSession:
+
+
Inheritance graph
+ + + + + + +
[legend]
+
+Collaboration diagram for BMATLSSession:
+
+
Collaboration graph
+ + + + + + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

BMATLSSession (BMAEPoll &ePoll, BMATLSServerSocket &server)
 
virtual void output (std::stringstream &out)
 
+virtual void protocol (std::string data) override
 
- Public Member Functions inherited from BMASession
BMASession (BMAEPoll &ePoll, BMATCPServerSocket &server)
 
+virtual void output (BMASession *session)
 
void send ()
 
void sendToAll ()
 
void sendToAll (BMASessionFilter *filter)
 
+BMATCPServerSocketgetServer ()
 
- Public Member Functions inherited from BMATCPSocket
BMATCPSocket (BMAEPoll &ePoll)
 
+void connect (BMAIPAddress &address)
 
- Public Member Functions inherited from BMASocket
BMASocket (BMAEPoll &ePoll)
 
+void setDescriptor (int descriptor)
 Set the descriptor for the socket.
 
+int getDescriptor ()
 Get the descriptor for the socket.
 
void eventReceived (struct epoll_event event)
 Parse epoll event and call specified callbacks. More...
 
void write (std::string data)
 
+void write (char *buffer, int length)
 
+void output (std::stringstream &out)
 
virtual void onRegistered ()
 Called when the socket has finished registering with the epoll processing. More...
 
virtual void onUnregistered ()
 Called when the socket has finished unregistering for the epoll processing. More...
 
+void enable (bool mode)
 Enable the socket to read or write based upon buffer.
 
+ + + + + + + + + + + + + + + + + + + +

+Protected Member Functions

+void init () override
 
void receiveData (char *buffer, int bufferLength) override
 
- Protected Member Functions inherited from BMASession
void onDataReceived (std::string data) override
 Called when data is received from the socket. More...
 
void onConnected () override
 Called when socket is open and ready to communicate. More...
 
- Protected Member Functions inherited from BMASocket
+void setBufferSize (int length)
 
+virtual void onTLSInit ()
 
+void shutdown ()
 
+ + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Attributes inherited from BMASession
+std::stringstream out
 
+BMATCPServerSocketserver
 
- Public Attributes inherited from BMATCPSocket
+BMAIPAddress ipAddress
 
- Public Attributes inherited from BMASocket
+class {
bufferSize
 
- Public Attributes inherited from BMAObject
+std::string name
 
+std::string tag
 
- Protected Attributes inherited from BMASocket
+BMAEPollePoll
 
+bool shutDown = false
 
+

Detailed Description

+

BMATLSSession

+

Provides a network TLS socket.

+

For accessing TLS network functions use this object. The connection oriented nature of TLS provides a single client persistent connection with data error correction and a durable synchronous data connection.

+

Member Function Documentation

+ +

◆ output()

+ +
+
+ + + + + +
+ + + + + + + + +
void BMATLSSession::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 BMATLSSocket or BMASession you can override the method to add attributes to the list.

+ +

Reimplemented from BMATCPSocket.

+ +
+
+ +

◆ receiveData()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void BMATLSSession::receiveData (char * buffer,
int bufferLength 
)
+
+overrideprotectedvirtual
+
+

receiveData will read the data from the socket and place it in the socket buffer. TLS layer overrides this to be able to read from SSL.

+ +

Reimplemented from BMASocket.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Development/BMA/server_core/ServerCore/BMATLSSession.h
  • +
  • /home/barant/Development/BMA/server_core/ServerCore/BMATLSSession.cpp
  • +
+
+ + + + diff --git a/docs/html/class_b_m_a_t_l_s_session__coll__graph.map b/docs/html/class_b_m_a_t_l_s_session__coll__graph.map new file mode 100644 index 0000000..90e8d56 --- /dev/null +++ b/docs/html/class_b_m_a_t_l_s_session__coll__graph.map @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/docs/html/class_b_m_a_t_l_s_session__coll__graph.md5 b/docs/html/class_b_m_a_t_l_s_session__coll__graph.md5 new file mode 100644 index 0000000..6f46748 --- /dev/null +++ b/docs/html/class_b_m_a_t_l_s_session__coll__graph.md5 @@ -0,0 +1 @@ +3319751cef3688e7d552195a95b0f309 \ No newline at end of file diff --git a/docs/html/class_b_m_a_t_l_s_session__coll__graph.png b/docs/html/class_b_m_a_t_l_s_session__coll__graph.png new file mode 100644 index 0000000..0fb39b8 Binary files /dev/null and b/docs/html/class_b_m_a_t_l_s_session__coll__graph.png differ diff --git a/docs/html/class_b_m_a_t_l_s_session__inherit__graph.map b/docs/html/class_b_m_a_t_l_s_session__inherit__graph.map new file mode 100644 index 0000000..a837ee8 --- /dev/null +++ b/docs/html/class_b_m_a_t_l_s_session__inherit__graph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/html/class_b_m_a_t_l_s_session__inherit__graph.md5 b/docs/html/class_b_m_a_t_l_s_session__inherit__graph.md5 new file mode 100644 index 0000000..05f94c6 --- /dev/null +++ b/docs/html/class_b_m_a_t_l_s_session__inherit__graph.md5 @@ -0,0 +1 @@ +d992fd566ae7c5c486057155a5b4b2ca \ No newline at end of file diff --git a/docs/html/class_b_m_a_t_l_s_session__inherit__graph.png b/docs/html/class_b_m_a_t_l_s_session__inherit__graph.png new file mode 100644 index 0000000..b577daa Binary files /dev/null and b/docs/html/class_b_m_a_t_l_s_session__inherit__graph.png differ diff --git a/docs/html/class_b_m_a_t_l_s_socket-members.html b/docs/html/class_b_m_a_t_l_s_socket-members.html new file mode 100644 index 0000000..4f88b99 --- /dev/null +++ b/docs/html/class_b_m_a_t_l_s_socket-members.html @@ -0,0 +1,102 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMATLSSocket Member List
+
+
+ +

This is the complete list of members for BMATLSSocket, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
BMASocket(BMAEPoll &ePoll) (defined in BMASocket)BMASocket
BMATCPSocket(BMAEPoll &ePoll) (defined in BMATCPSocket)BMATCPSocket
BMATLSSocket(BMAEPoll &ePoll, SSL_CTX *ctx) (defined in BMATLSSocket)BMATLSSocket
bufferSize (defined in BMASocket)BMASocket
enable(bool mode)BMASocket
ePoll (defined in BMASocket)BMASocketprotected
eventReceived(struct epoll_event event)BMASocket
getDescriptor()BMASocket
ipAddress (defined in BMATCPSocket)BMATCPSocket
name (defined in BMAObject)BMAObject
onConnected()BMASocketprotectedvirtual
onDataReceived(std::string data)=0BMASocketprotectedpure virtual
onRegistered()BMASocketvirtual
onUnregistered()BMASocketvirtual
output(std::stringstream &out)BMATLSSocketvirtual
receiveData(char *buffer, int bufferLength) overrideBMATLSSocketprotectedvirtual
setBufferSize(int length) (defined in BMASocket)BMASocketprotected
setDescriptor(int descriptor)BMASocket
shutdown() (defined in BMASocket)BMASocketprotected
shutDown (defined in BMASocket)BMASocketprotected
tag (defined in BMAObject)BMAObject
write(std::string data)BMASocket
write(char *buffer, int length) (defined in BMASocket)BMASocket
~BMASocket() (defined in BMASocket)BMASocket
~BMATCPSocket() (defined in BMATCPSocket)BMATCPSocket
~BMATLSSocket() (defined in BMATLSSocket)BMATLSSocket
+ + + + diff --git a/docs/html/class_b_m_a_t_l_s_socket.html b/docs/html/class_b_m_a_t_l_s_socket.html new file mode 100644 index 0000000..92ccb5c --- /dev/null +++ b/docs/html/class_b_m_a_t_l_s_socket.html @@ -0,0 +1,269 @@ + + + + + + + +BMA Server Framework: BMATLSSocket Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
BMATLSSocket Class Reference
+
+
+ +

#include <BMATLSSocket.h>

+
+Inheritance diagram for BMATLSSocket:
+
+
Inheritance graph
+ + + + + +
[legend]
+
+Collaboration diagram for BMATLSSocket:
+
+
Collaboration graph
+ + + + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

BMATLSSocket (BMAEPoll &ePoll, SSL_CTX *ctx)
 
virtual void output (std::stringstream &out)
 
- Public Member Functions inherited from BMATCPSocket
BMATCPSocket (BMAEPoll &ePoll)
 
- Public Member Functions inherited from BMASocket
BMASocket (BMAEPoll &ePoll)
 
+void setDescriptor (int descriptor)
 Set the descriptor for the socket.
 
+int getDescriptor ()
 Get the descriptor for the socket.
 
void eventReceived (struct epoll_event event)
 Parse epoll event and call specified callbacks. More...
 
void write (std::string data)
 
+void write (char *buffer, int length)
 
+void output (std::stringstream &out)
 
virtual void onRegistered ()
 Called when the socket has finished registering with the epoll processing. More...
 
virtual void onUnregistered ()
 Called when the socket has finished unregistering for the epoll processing. More...
 
+void enable (bool mode)
 Enable the socket to read or write based upon buffer.
 
+ + + + + + + + + + + + + + +

+Protected Member Functions

void receiveData (char *buffer, int bufferLength) override
 
- Protected Member Functions inherited from BMASocket
+void setBufferSize (int length)
 
virtual void onConnected ()
 Called when socket is open and ready to communicate. More...
 
virtual void onDataReceived (std::string data)=0
 Called when data is received from the socket. More...
 
+void shutdown ()
 
+ + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Attributes inherited from BMATCPSocket
+BMAIPAddress ipAddress
 
- Public Attributes inherited from BMASocket
+class {
bufferSize
 
- Public Attributes inherited from BMAObject
+std::string name
 
+std::string tag
 
- Protected Attributes inherited from BMASocket
+BMAEPollePoll
 
+bool shutDown = false
 
+

Detailed Description

+

BMATLSSocket

+

Provides a network TLS socket.

+

For accessing TLS network functions use this object. The connection oriented nature of TLS provides a single client persistent connection with data error correction and a durable synchronous data connection.

+

Member Function Documentation

+ +

◆ output()

+ +
+
+ + + + + +
+ + + + + + + + +
void BMATLSSocket::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 BMATLSSocket or BMASession you can override the method to add attributes to the list.

+ +

Reimplemented from BMATCPSocket.

+ +
+
+ +

◆ receiveData()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void BMATLSSocket::receiveData (char * buffer,
int bufferLength 
)
+
+overrideprotectedvirtual
+
+

receiveData will read the data from the socket and place it in the socket buffer. TLS layer overrides this to be able to read from SSL.

+ +

Reimplemented from BMASocket.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Documents/Development/BMASockets/BMATLSSocket.h
  • +
  • /home/barant/Documents/Development/BMASockets/BMATLSSocket.cpp
  • +
+
+ + + + diff --git a/docs/html/class_b_m_a_t_l_s_socket__coll__graph.map b/docs/html/class_b_m_a_t_l_s_socket__coll__graph.map new file mode 100644 index 0000000..592702e --- /dev/null +++ b/docs/html/class_b_m_a_t_l_s_socket__coll__graph.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/html/class_b_m_a_t_l_s_socket__coll__graph.md5 b/docs/html/class_b_m_a_t_l_s_socket__coll__graph.md5 new file mode 100644 index 0000000..9ca0b2f --- /dev/null +++ b/docs/html/class_b_m_a_t_l_s_socket__coll__graph.md5 @@ -0,0 +1 @@ +23f9bf47a6b98c702b5bc9ee873db8af \ No newline at end of file diff --git a/docs/html/class_b_m_a_t_l_s_socket__coll__graph.png b/docs/html/class_b_m_a_t_l_s_socket__coll__graph.png new file mode 100644 index 0000000..916b726 Binary files /dev/null and b/docs/html/class_b_m_a_t_l_s_socket__coll__graph.png differ diff --git a/docs/html/class_b_m_a_t_l_s_socket__inherit__graph.map b/docs/html/class_b_m_a_t_l_s_socket__inherit__graph.map new file mode 100644 index 0000000..5feaa25 --- /dev/null +++ b/docs/html/class_b_m_a_t_l_s_socket__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/html/class_b_m_a_t_l_s_socket__inherit__graph.md5 b/docs/html/class_b_m_a_t_l_s_socket__inherit__graph.md5 new file mode 100644 index 0000000..9302987 --- /dev/null +++ b/docs/html/class_b_m_a_t_l_s_socket__inherit__graph.md5 @@ -0,0 +1 @@ +52de507678e55a09f8d8bb5312a2e855 \ No newline at end of file diff --git a/docs/html/class_b_m_a_t_l_s_socket__inherit__graph.png b/docs/html/class_b_m_a_t_l_s_socket__inherit__graph.png new file mode 100644 index 0000000..4ddb335 Binary files /dev/null and b/docs/html/class_b_m_a_t_l_s_socket__inherit__graph.png differ diff --git a/docs/html/class_b_m_a_terminal-members.html b/docs/html/class_b_m_a_terminal-members.html new file mode 100644 index 0000000..db2276f --- /dev/null +++ b/docs/html/class_b_m_a_terminal-members.html @@ -0,0 +1,126 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMATerminal Member List
+
+
+ +

This is the complete list of members for BMATerminal, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BMASession(BMAEPoll &ePoll, BMATCPServerSocket &server) (defined in BMASession)BMASession
BMASocket(BMAEPoll &ePoll) (defined in BMASocket)BMASocket
BMATCPSocket(BMAEPoll &ePoll) (defined in BMATCPSocket)BMATCPSocket
BMATerminal(BMAEPoll &ePoll, BMATCPServerSocket &server) (defined in BMATerminal)BMATerminal
bufferSize (defined in BMASocket)BMASocket
clear() (defined in BMATerminal)BMATerminal
clearEOL() (defined in BMATerminal)BMATerminal
connect(BMAIPAddress &address) (defined in BMATCPSocket)BMATCPSocket
enable(bool mode)BMASocket
ePoll (defined in BMASocket)BMASocketprotected
eventReceived(struct epoll_event event)BMASocket
getDescriptor()BMASocket
getLines() (defined in BMATerminal)BMATerminal
getServer() (defined in BMASession)BMASession
init() (defined in BMASession)BMASessionvirtual
ipAddress (defined in BMATCPSocket)BMATCPSocket
name (defined in BMAObject)BMAObject
NextLine(int lines) (defined in BMATerminal)BMATerminal
onConnected() overrideBMASessionprotectedvirtual
onDataReceived(std::string data) overrideBMASessionprotectedvirtual
onRegistered()BMASocketvirtual
onTLSInit() (defined in BMASocket)BMASocketprotectedvirtual
onUnregistered()BMASocketvirtual
out (defined in BMASession)BMASession
output(BMASession *session) (defined in BMASession)BMASessionvirtual
BMATCPSocket::output(std::stringstream &out)BMATCPSocketvirtual
PreviousLine(int lines) (defined in BMATerminal)BMATerminal
protocol(std::string data)=0 (defined in BMASession)BMASessionprotectedpure virtual
receiveData(char *buffer, int bufferLength)BMASocketprotectedvirtual
restoreCursor() (defined in BMATerminal)BMATerminal
saveCursor() (defined in BMATerminal)BMATerminal
scrollArea(int start, int end) (defined in BMATerminal)BMATerminal
send()BMASession
sendToAll()BMASession
sendToAll(BMASessionFilter *filter)BMASession
server (defined in BMASession)BMASession
setBackColor(int color) (defined in BMATerminal)BMATerminal
setBufferSize(int length) (defined in BMASocket)BMASocketprotected
setColor(int color) (defined in BMATerminal)BMATerminal
setCursorLocation(int x, int y) (defined in BMATerminal)BMATerminal
setDescriptor(int descriptor)BMASocket
shutDown (defined in BMASocket)BMASocketprotected
shutdown() (defined in BMASocket)BMASocketprotected
tag (defined in BMAObject)BMAObject
write(std::string data)BMASocket
write(char *buffer, int length) (defined in BMASocket)BMASocket
~BMASession() (defined in BMASession)BMASession
~BMASocket() (defined in BMASocket)BMASocket
~BMATCPSocket() (defined in BMATCPSocket)BMATCPSocket
~BMATerminal() (defined in BMATerminal)BMATerminal
+ + + + diff --git a/docs/html/class_b_m_a_terminal.html b/docs/html/class_b_m_a_terminal.html new file mode 100644 index 0000000..86f452c --- /dev/null +++ b/docs/html/class_b_m_a_terminal.html @@ -0,0 +1,263 @@ + + + + + + + +BMA Server Framework: BMATerminal Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
BMATerminal Class Reference
+
+
+
+Inheritance diagram for BMATerminal:
+
+
Inheritance graph
+ + + + + + + +
[legend]
+
+Collaboration diagram for BMATerminal:
+
+
Collaboration graph
+ + + + + + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

BMATerminal (BMAEPoll &ePoll, BMATCPServerSocket &server)
 
+int getLines ()
 
+void clear ()
 
+void clearEOL ()
 
+void setCursorLocation (int x, int y)
 
+void setColor (int color)
 
+void setBackColor (int color)
 
+void saveCursor ()
 
+void restoreCursor ()
 
+void NextLine (int lines)
 
+void PreviousLine (int lines)
 
+void scrollArea (int start, int end)
 
- Public Member Functions inherited from BMASession
BMASession (BMAEPoll &ePoll, BMATCPServerSocket &server)
 
+virtual void init ()
 
+virtual void output (BMASession *session)
 
void send ()
 
void sendToAll ()
 
void sendToAll (BMASessionFilter *filter)
 
+BMATCPServerSocketgetServer ()
 
- Public Member Functions inherited from BMATCPSocket
BMATCPSocket (BMAEPoll &ePoll)
 
+void connect (BMAIPAddress &address)
 
virtual void output (std::stringstream &out)
 
- Public Member Functions inherited from BMASocket
BMASocket (BMAEPoll &ePoll)
 
+void setDescriptor (int descriptor)
 Set the descriptor for the socket.
 
+int getDescriptor ()
 Get the descriptor for the socket.
 
void eventReceived (struct epoll_event event)
 Parse epoll event and call specified callbacks. More...
 
void write (std::string data)
 
+void write (char *buffer, int length)
 
+void output (std::stringstream &out)
 
virtual void onRegistered ()
 Called when the socket has finished registering with the epoll processing. More...
 
virtual void onUnregistered ()
 Called when the socket has finished unregistering for the epoll processing. More...
 
+void enable (bool mode)
 Enable the socket to read or write based upon buffer.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Attributes inherited from BMASession
+std::stringstream out
 
+BMATCPServerSocketserver
 
- Public Attributes inherited from BMATCPSocket
+BMAIPAddress ipAddress
 
- Public Attributes inherited from BMASocket
+class {
bufferSize
 
- Public Attributes inherited from BMAObject
+std::string name
 
+std::string tag
 
- Protected Member Functions inherited from BMASession
void onDataReceived (std::string data) override
 Called when data is received from the socket. More...
 
void onConnected () override
 Called when socket is open and ready to communicate. More...
 
+virtual void protocol (std::string data)=0
 
- Protected Member Functions inherited from BMASocket
+void setBufferSize (int length)
 
+virtual void onTLSInit ()
 
+void shutdown ()
 
virtual void receiveData (char *buffer, int bufferLength)
 
- Protected Attributes inherited from BMASocket
+BMAEPollePoll
 
+bool shutDown = false
 
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Development/BMA/server_core/ServerCore/BMATerminal.h
  • +
  • /home/barant/Development/BMA/server_core/ServerCore/BMATerminal.cpp
  • +
+
+ + + + diff --git a/docs/html/class_b_m_a_terminal__coll__graph.map b/docs/html/class_b_m_a_terminal__coll__graph.map new file mode 100644 index 0000000..11c5803 --- /dev/null +++ b/docs/html/class_b_m_a_terminal__coll__graph.map @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/docs/html/class_b_m_a_terminal__coll__graph.md5 b/docs/html/class_b_m_a_terminal__coll__graph.md5 new file mode 100644 index 0000000..49f2c80 --- /dev/null +++ b/docs/html/class_b_m_a_terminal__coll__graph.md5 @@ -0,0 +1 @@ +fc200b42619b9cb2393f489b885fdfb2 \ No newline at end of file diff --git a/docs/html/class_b_m_a_terminal__coll__graph.png b/docs/html/class_b_m_a_terminal__coll__graph.png new file mode 100644 index 0000000..d66ceb2 Binary files /dev/null and b/docs/html/class_b_m_a_terminal__coll__graph.png differ diff --git a/docs/html/class_b_m_a_terminal__inherit__graph.map b/docs/html/class_b_m_a_terminal__inherit__graph.map new file mode 100644 index 0000000..9b32ddf --- /dev/null +++ b/docs/html/class_b_m_a_terminal__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/html/class_b_m_a_terminal__inherit__graph.md5 b/docs/html/class_b_m_a_terminal__inherit__graph.md5 new file mode 100644 index 0000000..370eaa6 --- /dev/null +++ b/docs/html/class_b_m_a_terminal__inherit__graph.md5 @@ -0,0 +1 @@ +6dabbdcea906e23548fd96fff1c9aabb \ No newline at end of file diff --git a/docs/html/class_b_m_a_terminal__inherit__graph.png b/docs/html/class_b_m_a_terminal__inherit__graph.png new file mode 100644 index 0000000..fae88ad Binary files /dev/null and b/docs/html/class_b_m_a_terminal__inherit__graph.png differ diff --git a/docs/html/class_b_m_a_thread-members.html b/docs/html/class_b_m_a_thread-members.html new file mode 100644 index 0000000..75d19af --- /dev/null +++ b/docs/html/class_b_m_a_thread-members.html @@ -0,0 +1,86 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMAThread Member List
+
+
+ +

This is the complete list of members for BMAThread, including all inherited members.

+ + + + + + + + + + + +
BMAThread(BMAEPoll &ePoll) (defined in BMAThread)BMAThread
getCount() (defined in BMAThread)BMAThread
getStatus() (defined in BMAThread)BMAThread
getThreadId() (defined in BMAThread)BMAThread
join() (defined in BMAThread)BMAThread
name (defined in BMAObject)BMAObject
output(BMASession *session) (defined in BMAThread)BMAThread
start()BMAThread
tag (defined in BMAObject)BMAObject
~BMAThread() (defined in BMAThread)BMAThread
+ + + + diff --git a/docs/html/class_b_m_a_thread.html b/docs/html/class_b_m_a_thread.html new file mode 100644 index 0000000..af1c8ca --- /dev/null +++ b/docs/html/class_b_m_a_thread.html @@ -0,0 +1,154 @@ + + + + + + + +BMA Server Framework: BMAThread Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
BMAThread Class Reference
+
+
+ +

#include <BMAThread.h>

+
+Inheritance diagram for BMAThread:
+
+
Inheritance graph
+ + + +
[legend]
+
+Collaboration diagram for BMAThread:
+
+
Collaboration graph
+ + + +
[legend]
+ + + + + + + + + + + + + + + + +

+Public Member Functions

BMAThread (BMAEPoll &ePoll)
 
void start ()
 
+void join ()
 
+std::string getStatus ()
 
+pid_t getThreadId ()
 
+int getCount ()
 
+void output (BMASession *session)
 
+ + + + + + +

+Additional Inherited Members

- Public Attributes inherited from BMAObject
+std::string name
 
+std::string tag
 
+

Detailed Description

+

BMAThread

+

This thread object is designed to be the thread processor for the BMAEPoll object. It wraps the thread object to allow maintaining a status value for monitoring the thread activity. BMAEPoll will instantiate a BMAThread object for each thread specified in the BMAEPoll's start method.

+

Member Function Documentation

+ +

◆ start()

+ +
+
+ + + + + + + +
void BMAThread::start ()
+
+

Start the thread object. This will cause the epoll scheduler to commence reading the epoll queue.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Development/BMA/server_core/ServerCore/BMAThread.h
  • +
  • /home/barant/Development/BMA/server_core/ServerCore/BMAThread.cpp
  • +
+
+ + + + diff --git a/docs/html/class_b_m_a_thread__coll__graph.map b/docs/html/class_b_m_a_thread__coll__graph.map new file mode 100644 index 0000000..4083198 --- /dev/null +++ b/docs/html/class_b_m_a_thread__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/class_b_m_a_thread__coll__graph.md5 b/docs/html/class_b_m_a_thread__coll__graph.md5 new file mode 100644 index 0000000..51394f9 --- /dev/null +++ b/docs/html/class_b_m_a_thread__coll__graph.md5 @@ -0,0 +1 @@ +7e665f69a3a241ecb1500d36e6b87b64 \ No newline at end of file diff --git a/docs/html/class_b_m_a_thread__coll__graph.png b/docs/html/class_b_m_a_thread__coll__graph.png new file mode 100644 index 0000000..5f15fea Binary files /dev/null and b/docs/html/class_b_m_a_thread__coll__graph.png differ diff --git a/docs/html/class_b_m_a_thread__inherit__graph.map b/docs/html/class_b_m_a_thread__inherit__graph.map new file mode 100644 index 0000000..4083198 --- /dev/null +++ b/docs/html/class_b_m_a_thread__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/class_b_m_a_thread__inherit__graph.md5 b/docs/html/class_b_m_a_thread__inherit__graph.md5 new file mode 100644 index 0000000..91f7fce --- /dev/null +++ b/docs/html/class_b_m_a_thread__inherit__graph.md5 @@ -0,0 +1 @@ +5dbbbe521131206190d1362be8018c8e \ No newline at end of file diff --git a/docs/html/class_b_m_a_thread__inherit__graph.png b/docs/html/class_b_m_a_thread__inherit__graph.png new file mode 100644 index 0000000..5f15fea Binary files /dev/null and b/docs/html/class_b_m_a_thread__inherit__graph.png differ diff --git a/docs/html/class_b_m_a_timer-members.html b/docs/html/class_b_m_a_timer-members.html new file mode 100644 index 0000000..8760c01 --- /dev/null +++ b/docs/html/class_b_m_a_timer-members.html @@ -0,0 +1,105 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMATimer Member List
+
+
+ +

This is the complete list of members for BMATimer, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BMASocket(BMAEPoll &ePoll) (defined in BMASocket)BMASocketprivate
BMATimer(BMAEPoll &ePoll) (defined in BMATimer)BMATimer
BMATimer(BMAEPoll &ePoll, double delay) (defined in BMATimer)BMATimer
bufferSize (defined in BMASocket)BMASocketprivate
clearTimer()BMATimer
enable(bool mode)BMASocketprivate
ePoll (defined in BMASocket)BMASocketprivate
eventReceived(struct epoll_event event)BMASocketprivate
getDescriptor()BMASocketprivate
getElapsed()BMATimer
getEpoch() (defined in BMATimer)BMATimer
name (defined in BMAObject)BMAObjectprivate
onConnected()BMASocketprivatevirtual
onRegistered()BMASocketprivatevirtual
onTimeout()=0BMATimerprotectedpure virtual
onTLSInit() (defined in BMASocket)BMASocketprivatevirtual
onUnregistered()BMASocketprivatevirtual
output(std::stringstream &out) (defined in BMASocket)BMASocketprivate
receiveData(char *buffer, int bufferLength)BMASocketprivatevirtual
setBufferSize(int length) (defined in BMASocket)BMASocketprivate
setDescriptor(int descriptor)BMASocketprivate
setTimer(double delay)BMATimer
shutdown() (defined in BMASocket)BMASocketprivate
shutDown (defined in BMASocket)BMASocketprivate
tag (defined in BMAObject)BMAObjectprivate
write(std::string data)BMASocketprivate
write(char *buffer, int length) (defined in BMASocket)BMASocketprivate
~BMASocket() (defined in BMASocket)BMASocketprivate
~BMATimer() (defined in BMATimer)BMATimer
+ + + + diff --git a/docs/html/class_b_m_a_timer.html b/docs/html/class_b_m_a_timer.html new file mode 100644 index 0000000..c543129 --- /dev/null +++ b/docs/html/class_b_m_a_timer.html @@ -0,0 +1,219 @@ + + + + + + + +BMA Server Framework: BMATimer Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
BMATimer Class Referenceabstract
+
+
+ +

#include <BMATimer.h>

+
+Inheritance diagram for BMATimer:
+
+
Inheritance graph
+ + + + +
[legend]
+
+Collaboration diagram for BMATimer:
+
+
Collaboration graph
+ + + + + + +
[legend]
+ + + + + + + + + + + + + + +

+Public Member Functions

BMATimer (BMAEPoll &ePoll)
 
BMATimer (BMAEPoll &ePoll, double delay)
 
void setTimer (double delay)
 
void clearTimer ()
 
double getElapsed ()
 
+double getEpoch ()
 
+ + + +

+Protected Member Functions

virtual void onTimeout ()=0
 
+

Detailed Description

+

BMATimer

+

Set and trigger callback upon specified timeout.

+

The BMATimer is used to establish a timer using the timer socket interface. It cannot be instantiated directly but must be extended.

+

Member Function Documentation

+ +

◆ clearTimer()

+ +
+
+ + + + + + + +
void BMATimer::clearTimer ()
+
+

Use the clearTimer() to unset the timer and return the timer to an idle state.

+ +
+
+ +

◆ getElapsed()

+ +
+
+ + + + + + + +
double BMATimer::getElapsed ()
+
+

Use the getElapsed() method to obtain the amount of time that has elapsed since the timer was set.

+ +
+
+ +

◆ onTimeout()

+ +
+
+ + + + + +
+ + + + + + + +
virtual void BMATimer::onTimeout ()
+
+protectedpure virtual
+
+

This method is called when the time out occurs.

+ +
+
+ +

◆ setTimer()

+ +
+
+ + + + + + + + +
void BMATimer::setTimer (double delay)
+
+

Use the setTimer() method to set the time out value for timer. Setting the timer also starts the timer countdown. The clearTimer() method can be used to reset the timer without triggering the onTimeout() callback.

+
Parameters
+ + +
delaythe amount of time in seconds to wait before trigering the onTimeout function.
+
+
+ +
+
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Development/BMA/server_core/ServerCore/BMATimer.h
  • +
  • /home/barant/Development/BMA/server_core/ServerCore/BMATimer.cpp
  • +
+
+ + + + diff --git a/docs/html/class_b_m_a_timer__coll__graph.map b/docs/html/class_b_m_a_timer__coll__graph.map new file mode 100644 index 0000000..b33dd8b --- /dev/null +++ b/docs/html/class_b_m_a_timer__coll__graph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/html/class_b_m_a_timer__coll__graph.md5 b/docs/html/class_b_m_a_timer__coll__graph.md5 new file mode 100644 index 0000000..eb3cc8c --- /dev/null +++ b/docs/html/class_b_m_a_timer__coll__graph.md5 @@ -0,0 +1 @@ +32bac204ee0b20fb151a0433bd8a2fa7 \ No newline at end of file diff --git a/docs/html/class_b_m_a_timer__coll__graph.png b/docs/html/class_b_m_a_timer__coll__graph.png new file mode 100644 index 0000000..2f6c8c3 Binary files /dev/null and b/docs/html/class_b_m_a_timer__coll__graph.png differ diff --git a/docs/html/class_b_m_a_timer__inherit__graph.map b/docs/html/class_b_m_a_timer__inherit__graph.map new file mode 100644 index 0000000..7d4ef4f --- /dev/null +++ b/docs/html/class_b_m_a_timer__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/html/class_b_m_a_timer__inherit__graph.md5 b/docs/html/class_b_m_a_timer__inherit__graph.md5 new file mode 100644 index 0000000..a4a8dd1 --- /dev/null +++ b/docs/html/class_b_m_a_timer__inherit__graph.md5 @@ -0,0 +1 @@ +7e1b782472d3969eedd7ae271dec596d \ No newline at end of file diff --git a/docs/html/class_b_m_a_timer__inherit__graph.png b/docs/html/class_b_m_a_timer__inherit__graph.png new file mode 100644 index 0000000..4cff96d Binary files /dev/null and b/docs/html/class_b_m_a_timer__inherit__graph.png differ diff --git a/docs/html/class_b_m_a_u_d_p_server_socket-members.html b/docs/html/class_b_m_a_u_d_p_server_socket-members.html new file mode 100644 index 0000000..59f8a08 --- /dev/null +++ b/docs/html/class_b_m_a_u_d_p_server_socket-members.html @@ -0,0 +1,111 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMAUDPServerSocket Member List
+
+
+ +

This is the complete list of members for BMAUDPServerSocket, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BMACommand(std::string commandName) (defined in BMACommand)BMACommand
BMASocket(BMAEPoll &ePoll) (defined in BMASocket)BMASocket
BMAUDPServerSocket(BMAEPoll &ePoll, std::string url, short int port, std::string commandName) (defined in BMAUDPServerSocket)BMAUDPServerSocket
BMAUDPSocket(BMAEPoll &ePoll) (defined in BMAUDPSocket)BMAUDPSocket
bufferSize (defined in BMASocket)BMASocket
commandName (defined in BMACommand)BMACommand
enable(bool mode)BMASocket
ePoll (defined in BMASocket)BMASocketprotected
eventReceived(struct epoll_event event)BMASocket
getDescriptor()BMASocket
name (defined in BMAObject)BMAObject
name (defined in BMAObject)BMAObject
onConnected()BMASocketprotectedvirtual
onDataReceived(std::string data) overrideBMAUDPServerSocketprotectedvirtual
onRegistered()BMASocketvirtual
onTLSInit() (defined in BMASocket)BMASocketprotectedvirtual
onUnregistered()BMASocketvirtual
output(std::stringstream &out) (defined in BMASocket)BMASocket
output(BMASession *session) (defined in BMACommand)BMACommandvirtual
processCommand(BMASession *session) (defined in BMAUDPServerSocket)BMAUDPServerSocketprotected
processCommand(std::string command, BMASession *session)=0 (defined in BMACommand)BMACommandpure virtual
receiveData(char *buffer, int bufferLength)BMASocketprotectedvirtual
sessions (defined in BMAUDPServerSocket)BMAUDPServerSocketprotected
setBufferSize(int length) (defined in BMASocket)BMASocketprotected
setDescriptor(int descriptor)BMASocket
shutdown() (defined in BMASocket)BMASocketprotected
shutDown (defined in BMASocket)BMASocketprotected
tag (defined in BMAObject)BMAObject
tag (defined in BMAObject)BMAObject
write(std::string data)BMASocket
write(char *buffer, int length) (defined in BMASocket)BMASocket
~BMACommand() (defined in BMACommand)BMACommand
~BMASocket() (defined in BMASocket)BMASocket
~BMAUDPServerSocket() (defined in BMAUDPServerSocket)BMAUDPServerSocket
~BMAUDPSocket() (defined in BMAUDPSocket)BMAUDPSocket
+ + + + diff --git a/docs/html/class_b_m_a_u_d_p_server_socket.html b/docs/html/class_b_m_a_u_d_p_server_socket.html new file mode 100644 index 0000000..d3771aa --- /dev/null +++ b/docs/html/class_b_m_a_u_d_p_server_socket.html @@ -0,0 +1,258 @@ + + + + + + + +BMA Server Framework: BMAUDPServerSocket Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+ +
+ +

#include <BMAUDPServerSocket.h>

+
+Inheritance diagram for BMAUDPServerSocket:
+
+
Inheritance graph
+ + + + + + +
[legend]
+
+Collaboration diagram for BMAUDPServerSocket:
+
+
Collaboration graph
+ + + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

BMAUDPServerSocket (BMAEPoll &ePoll, std::string url, short int port, std::string commandName)
 
- Public Member Functions inherited from BMAUDPSocket
BMAUDPSocket (BMAEPoll &ePoll)
 
- Public Member Functions inherited from BMASocket
BMASocket (BMAEPoll &ePoll)
 
+void setDescriptor (int descriptor)
 Set the descriptor for the socket.
 
+int getDescriptor ()
 Get the descriptor for the socket.
 
void eventReceived (struct epoll_event event)
 Parse epoll event and call specified callbacks. More...
 
void write (std::string data)
 
+void write (char *buffer, int length)
 
+void output (std::stringstream &out)
 
virtual void onRegistered ()
 Called when the socket has finished registering with the epoll processing. More...
 
virtual void onUnregistered ()
 Called when the socket has finished unregistering for the epoll processing. More...
 
+void enable (bool mode)
 Enable the socket to read or write based upon buffer.
 
- Public Member Functions inherited from BMACommand
BMACommand (std::string commandName)
 
+virtual void processCommand (std::string command, BMASession *session)=0
 
+virtual void output (BMASession *session)
 
+ + + + + + + + + + + + + + + + + + +

+Protected Member Functions

void onDataReceived (std::string data) override
 Called when data is received from the socket. More...
 
+void processCommand (BMASession *session)
 
- Protected Member Functions inherited from BMASocket
+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)
 
+ + + + + + + + +

+Protected Attributes

+std::vector< BMASession * > sessions
 
- Protected Attributes inherited from BMASocket
+BMAEPollePoll
 
+bool shutDown = false
 
+ + + + + + + + + + + + + +

+Additional Inherited Members

- Public Attributes inherited from BMASocket
+class {
bufferSize
 
- Public Attributes inherited from BMAObject
+std::string name
 
+std::string tag
 
- Public Attributes inherited from BMACommand
+std::string commandName
 
+

Detailed Description

+

BMAUDPSocket

+

Manage a socket connection as a UDP server type. Connections to the socket are processed through the session list functionality. A list of sessions is maintained in a vector object.

+

Member Function Documentation

+ +

◆ onDataReceived()

+ +
+
+ + + + + +
+ + + + + + + + +
void BMAUDPServerSocket::onDataReceived (std::string data)
+
+overrideprotectedvirtual
+
+ +

Called when data is received from the socket.

+

The onDataReceived method is called when the socket has received an event from epoll and there is data ready to be read from the socket. The default handler will pull the data and put it into the streambuf for the socket. EPOLLIN

+
Parameters
+ + +
datathe data that has been received from the socket.
+
+
+ +

Implements BMASocket.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Development/BMA/server_core/ServerCore/BMAUDPServerSocket.h
  • +
  • /home/barant/Development/BMA/server_core/ServerCore/BMAUDPServerSocket.cpp
  • +
+
+ + + + diff --git a/docs/html/class_b_m_a_u_d_p_server_socket__coll__graph.map b/docs/html/class_b_m_a_u_d_p_server_socket__coll__graph.map new file mode 100644 index 0000000..e11ea0e --- /dev/null +++ b/docs/html/class_b_m_a_u_d_p_server_socket__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/html/class_b_m_a_u_d_p_server_socket__coll__graph.md5 b/docs/html/class_b_m_a_u_d_p_server_socket__coll__graph.md5 new file mode 100644 index 0000000..ec02ca9 --- /dev/null +++ b/docs/html/class_b_m_a_u_d_p_server_socket__coll__graph.md5 @@ -0,0 +1 @@ +ae5c864c1b53d75a42303b4607f5316f \ No newline at end of file diff --git a/docs/html/class_b_m_a_u_d_p_server_socket__coll__graph.png b/docs/html/class_b_m_a_u_d_p_server_socket__coll__graph.png new file mode 100644 index 0000000..f987f2b Binary files /dev/null and b/docs/html/class_b_m_a_u_d_p_server_socket__coll__graph.png differ diff --git a/docs/html/class_b_m_a_u_d_p_server_socket__inherit__graph.map b/docs/html/class_b_m_a_u_d_p_server_socket__inherit__graph.map new file mode 100644 index 0000000..2ced97c --- /dev/null +++ b/docs/html/class_b_m_a_u_d_p_server_socket__inherit__graph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/html/class_b_m_a_u_d_p_server_socket__inherit__graph.md5 b/docs/html/class_b_m_a_u_d_p_server_socket__inherit__graph.md5 new file mode 100644 index 0000000..905e097 --- /dev/null +++ b/docs/html/class_b_m_a_u_d_p_server_socket__inherit__graph.md5 @@ -0,0 +1 @@ +ed092e30c480ae5fd9f898fe9602e910 \ No newline at end of file diff --git a/docs/html/class_b_m_a_u_d_p_server_socket__inherit__graph.png b/docs/html/class_b_m_a_u_d_p_server_socket__inherit__graph.png new file mode 100644 index 0000000..99ae3e2 Binary files /dev/null and b/docs/html/class_b_m_a_u_d_p_server_socket__inherit__graph.png differ diff --git a/docs/html/class_b_m_a_u_d_p_socket-members.html b/docs/html/class_b_m_a_u_d_p_socket-members.html new file mode 100644 index 0000000..2e100ac --- /dev/null +++ b/docs/html/class_b_m_a_u_d_p_socket-members.html @@ -0,0 +1,100 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
BMAUDPSocket Member List
+
+
+ +

This is the complete list of members for BMAUDPSocket, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + +
BMASocket(BMAEPoll &ePoll) (defined in BMASocket)BMASocket
BMAUDPSocket(BMAEPoll &ePoll) (defined in BMAUDPSocket)BMAUDPSocket
bufferSize (defined in BMASocket)BMASocket
enable(bool mode)BMASocket
ePoll (defined in BMASocket)BMASocketprotected
eventReceived(struct epoll_event event)BMASocket
getDescriptor()BMASocket
name (defined in BMAObject)BMAObject
onConnected()BMASocketprotectedvirtual
onDataReceived(std::string data)=0BMASocketprotectedpure virtual
onRegistered()BMASocketvirtual
onTLSInit() (defined in BMASocket)BMASocketprotectedvirtual
onUnregistered()BMASocketvirtual
output(std::stringstream &out) (defined in BMASocket)BMASocket
receiveData(char *buffer, int bufferLength)BMASocketprotectedvirtual
setBufferSize(int length) (defined in BMASocket)BMASocketprotected
setDescriptor(int descriptor)BMASocket
shutDown (defined in BMASocket)BMASocketprotected
shutdown() (defined in BMASocket)BMASocketprotected
tag (defined in BMAObject)BMAObject
write(std::string data)BMASocket
write(char *buffer, int length) (defined in BMASocket)BMASocket
~BMASocket() (defined in BMASocket)BMASocket
~BMAUDPSocket() (defined in BMAUDPSocket)BMAUDPSocket
+ + + + diff --git a/docs/html/class_b_m_a_u_d_p_socket.html b/docs/html/class_b_m_a_u_d_p_socket.html new file mode 100644 index 0000000..d2cff75 --- /dev/null +++ b/docs/html/class_b_m_a_u_d_p_socket.html @@ -0,0 +1,181 @@ + + + + + + + +BMA Server Framework: BMAUDPSocket Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
BMAUDPSocket Class Reference
+
+
+
+Inheritance diagram for BMAUDPSocket:
+
+
Inheritance graph
+ + + + + +
[legend]
+
+Collaboration diagram for BMAUDPSocket:
+
+
Collaboration graph
+ + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

BMAUDPSocket (BMAEPoll &ePoll)
 
- Public Member Functions inherited from BMASocket
BMASocket (BMAEPoll &ePoll)
 
+void setDescriptor (int descriptor)
 Set the descriptor for the socket.
 
+int getDescriptor ()
 Get the descriptor for the socket.
 
void eventReceived (struct epoll_event event)
 Parse epoll event and call specified callbacks. More...
 
void write (std::string data)
 
+void write (char *buffer, int length)
 
+void output (std::stringstream &out)
 
virtual void onRegistered ()
 Called when the socket has finished registering with the epoll processing. More...
 
virtual void onUnregistered ()
 Called when the socket has finished unregistering for the epoll processing. More...
 
+void enable (bool mode)
 Enable the socket to read or write based upon buffer.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Attributes inherited from BMASocket
+class {
bufferSize
 
- Public Attributes inherited from BMAObject
+std::string name
 
+std::string tag
 
- Protected Member Functions inherited from BMASocket
+void setBufferSize (int length)
 
virtual void onConnected ()
 Called when socket is open and ready to communicate. More...
 
+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)
 
- Protected Attributes inherited from BMASocket
+BMAEPollePoll
 
+bool shutDown = false
 
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Development/BMA/server_core/ServerCore/BMAUDPSocket.h
  • +
  • /home/barant/Development/BMA/server_core/ServerCore/BMAUDPSocket.cpp
  • +
+
+ + + + diff --git a/docs/html/class_b_m_a_u_d_p_socket__coll__graph.map b/docs/html/class_b_m_a_u_d_p_socket__coll__graph.map new file mode 100644 index 0000000..c020419 --- /dev/null +++ b/docs/html/class_b_m_a_u_d_p_socket__coll__graph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/html/class_b_m_a_u_d_p_socket__coll__graph.md5 b/docs/html/class_b_m_a_u_d_p_socket__coll__graph.md5 new file mode 100644 index 0000000..bfcff73 --- /dev/null +++ b/docs/html/class_b_m_a_u_d_p_socket__coll__graph.md5 @@ -0,0 +1 @@ +ba894a7f44eb1ee4d61e0018695aa032 \ No newline at end of file diff --git a/docs/html/class_b_m_a_u_d_p_socket__coll__graph.png b/docs/html/class_b_m_a_u_d_p_socket__coll__graph.png new file mode 100644 index 0000000..106bb6a Binary files /dev/null and b/docs/html/class_b_m_a_u_d_p_socket__coll__graph.png differ diff --git a/docs/html/class_b_m_a_u_d_p_socket__inherit__graph.map b/docs/html/class_b_m_a_u_d_p_socket__inherit__graph.map new file mode 100644 index 0000000..39e9953 --- /dev/null +++ b/docs/html/class_b_m_a_u_d_p_socket__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/html/class_b_m_a_u_d_p_socket__inherit__graph.md5 b/docs/html/class_b_m_a_u_d_p_socket__inherit__graph.md5 new file mode 100644 index 0000000..0255164 --- /dev/null +++ b/docs/html/class_b_m_a_u_d_p_socket__inherit__graph.md5 @@ -0,0 +1 @@ +a1e26bc4b4b175eaaf4f4ac381d313f6 \ No newline at end of file diff --git a/docs/html/class_b_m_a_u_d_p_socket__inherit__graph.png b/docs/html/class_b_m_a_u_d_p_socket__inherit__graph.png new file mode 100644 index 0000000..134d754 Binary files /dev/null and b/docs/html/class_b_m_a_u_d_p_socket__inherit__graph.png differ diff --git a/docs/html/classcore_1_1_command-members.html b/docs/html/classcore_1_1_command-members.html new file mode 100644 index 0000000..42cc53a --- /dev/null +++ b/docs/html/classcore_1_1_command-members.html @@ -0,0 +1,86 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
core::Command Member List
+
+
+ +

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

+ + + + + + + +
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
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 new file mode 100644 index 0000000..59fe124 --- /dev/null +++ b/docs/html/classcore_1_1_command.html @@ -0,0 +1,279 @@ + + + + + + + +BMA Server Framework: core::Command Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
core::Command Class Referenceabstract
+
+
+ +

#include <Command.h>

+
+Inheritance diagram for core::Command:
+
+
Inheritance graph
+ + + + + + + + + +
[legend]
+
+Collaboration diagram for core::Command:
+
+
Collaboration graph
+ + + +
[legend]
+ + + + + + + + + + + + +

+Public Member Functions

virtual bool check (std::string request)
 
virtual int processCommand (std::string request, Session *session)=0
 
virtual void output (Session *session)
 
void setName (std::string name)
 
+std::string getName ()
 
+ + + + + + +

+Additional Inherited Members

- Public Attributes inherited from core::Object
+std::string name
 
+std::string tag
 
+

Detailed Description

+

Command

+

Use the Command object in combination with a CommandList object to maintain a list of functions that can be invoked as a result of processing a request.

+

Member Function Documentation

+ +

◆ check()

+ +
+
+ + + + + +
+ + + + + + + + +
bool core::Command::check (std::string request)
+
+virtual
+
+

Implement check method to provide a special check rule upon the request to see if the command should be processed.

+

The default rule is to verify that the first token in the request string matches the name given on the registration of the command to the CommandList. This can be overridden by implementing the check() method to perform the test and return the condition of the command.

+
Parameters
+ + +
requestThe request passed to the parser to check the rule.
+
+
+
Returns
Return true to execute the command. Returning false will cause no action on this command.
+ +
+
+ +

◆ output()

+ +
+
+ + + + + +
+ + + + + + + + +
void core::Command::output (Sessionsession)
+
+virtual
+
+

Specify the output that will occur to the specified session.

+
Parameters
+ + +
sessionThe session that will receive the output.
+
+
+ +

Reimplemented in core::ConsoleServer.

+ +
+
+ +

◆ processCommand()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual int core::Command::processCommand (std::string request,
Sessionsession 
)
+
+pure virtual
+
+

This method is used to implement the functionality of the requested command. This pure virtual function must be implemented in your inheriting object.

+
Parameters
+ + + +
requestThe request that was entered by the user to invoke this command.
sessionSpecify the requesting session so that the execution of the command process can return its output to the session.
+
+
+
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.

+ +
+
+ +

◆ setName()

+ +
+
+ + + + + + + + +
void core::Command::setName (std::string name)
+
+

Set the name of this command used in default rule checking during request parsing. NOTE: You do not need to call this under normal conditions as adding a Command to a CommandList using the add() method contains a parameter to pass the name of the Command.

+
Parameters
+ + +
nameSpecify the name of this command for default parsing.
+
+
+ +
+
+
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
  • +
+
+ + + + diff --git a/docs/html/classcore_1_1_command__coll__graph.map b/docs/html/classcore_1_1_command__coll__graph.map new file mode 100644 index 0000000..8d43cd0 --- /dev/null +++ b/docs/html/classcore_1_1_command__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/classcore_1_1_command__coll__graph.md5 b/docs/html/classcore_1_1_command__coll__graph.md5 new file mode 100644 index 0000000..4956832 --- /dev/null +++ b/docs/html/classcore_1_1_command__coll__graph.md5 @@ -0,0 +1 @@ +fb20e2e2818e0deb25bd92d98bab297f \ No newline at end of file diff --git a/docs/html/classcore_1_1_command__coll__graph.png b/docs/html/classcore_1_1_command__coll__graph.png new file mode 100644 index 0000000..a0d4d94 Binary files /dev/null and b/docs/html/classcore_1_1_command__coll__graph.png differ diff --git a/docs/html/classcore_1_1_command__inherit__graph.map b/docs/html/classcore_1_1_command__inherit__graph.map new file mode 100644 index 0000000..f8db9bf --- /dev/null +++ b/docs/html/classcore_1_1_command__inherit__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/html/classcore_1_1_command__inherit__graph.md5 b/docs/html/classcore_1_1_command__inherit__graph.md5 new file mode 100644 index 0000000..2bbc839 --- /dev/null +++ b/docs/html/classcore_1_1_command__inherit__graph.md5 @@ -0,0 +1 @@ +b6b680faa1173f2504c2ffed3daa67a1 \ 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 new file mode 100644 index 0000000..0773c0c Binary files /dev/null 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 new file mode 100644 index 0000000..3646f00 --- /dev/null +++ b/docs/html/classcore_1_1_command_list-members.html @@ -0,0 +1,91 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
core::CommandList Member List
+
+
+ +

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

+ + + + + + + + + + + + +
add(Command &command, std::string name="") (defined in core::CommandList)core::CommandList
check(std::string request)core::Commandvirtual
CommandList() (defined in core::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() (defined in core::CommandList)core::CommandList
+ + + + diff --git a/docs/html/classcore_1_1_command_list.html b/docs/html/classcore_1_1_command_list.html new file mode 100644 index 0000000..00eb2d7 --- /dev/null +++ b/docs/html/classcore_1_1_command_list.html @@ -0,0 +1,185 @@ + + + + + + + +BMA Server Framework: core::CommandList Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
core::CommandList Class Reference
+
+
+
+Inheritance diagram for core::CommandList:
+
+
Inheritance graph
+ + + + +
[legend]
+
+Collaboration diagram for core::CommandList:
+
+
Collaboration graph
+ + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + +

+Public Member Functions

+void add (Command &command, std::string name="")
 
+void remove (Command &command)
 
+bool processRequest (std::string request, Session *session)
 
int processCommand (std::string request, Session *session) override
 
- 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 ()
 
+ + + + + + +

+Additional Inherited Members

- Public Attributes inherited from core::Object
+std::string name
 
+std::string tag
 
+

Member Function Documentation

+ +

◆ processCommand()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
int core::CommandList::processCommand (std::string request,
Sessionsession 
)
+
+overridevirtual
+
+

This method is used to implement the functionality of the requested command. This pure virtual function must be implemented in your inheriting object.

+
Parameters
+ + + +
requestThe request that was entered by the user to invoke this command.
sessionSpecify the requesting session so that the execution of the command process can return its output to the session.
+
+
+
Returns
Returns 0 if execution of the command was successful. Otherwise returns a non-zero value indicating an error condition.
+ +

Implements 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
  • +
+
+ + + + diff --git a/docs/html/classcore_1_1_command_list__coll__graph.map b/docs/html/classcore_1_1_command_list__coll__graph.map new file mode 100644 index 0000000..b644a8c --- /dev/null +++ b/docs/html/classcore_1_1_command_list__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/html/classcore_1_1_command_list__coll__graph.md5 b/docs/html/classcore_1_1_command_list__coll__graph.md5 new file mode 100644 index 0000000..ae6b44f --- /dev/null +++ b/docs/html/classcore_1_1_command_list__coll__graph.md5 @@ -0,0 +1 @@ +9537f0ac08146b53ecb7539fe3757032 \ No newline at end of file diff --git a/docs/html/classcore_1_1_command_list__coll__graph.png b/docs/html/classcore_1_1_command_list__coll__graph.png new file mode 100644 index 0000000..b008d27 Binary files /dev/null and b/docs/html/classcore_1_1_command_list__coll__graph.png differ diff --git a/docs/html/classcore_1_1_command_list__inherit__graph.map b/docs/html/classcore_1_1_command_list__inherit__graph.map new file mode 100644 index 0000000..b644a8c --- /dev/null +++ b/docs/html/classcore_1_1_command_list__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/html/classcore_1_1_command_list__inherit__graph.md5 b/docs/html/classcore_1_1_command_list__inherit__graph.md5 new file mode 100644 index 0000000..2284409 --- /dev/null +++ b/docs/html/classcore_1_1_command_list__inherit__graph.md5 @@ -0,0 +1 @@ +a7a4026a028979ef6450e0516b274bd5 \ No newline at end of file diff --git a/docs/html/classcore_1_1_command_list__inherit__graph.png b/docs/html/classcore_1_1_command_list__inherit__graph.png new file mode 100644 index 0000000..b008d27 Binary files /dev/null and b/docs/html/classcore_1_1_command_list__inherit__graph.png differ diff --git a/docs/html/classcore_1_1_console_server-members.html b/docs/html/classcore_1_1_console_server-members.html new file mode 100644 index 0000000..91db943 --- /dev/null +++ b/docs/html/classcore_1_1_console_server-members.html @@ -0,0 +1,122 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
core::ConsoleServer Member List
+
+
+ +

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

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bufferSize (defined in core::Socket)core::Socket
check(std::string request)core::Commandvirtual
commands (defined in core::TCPServerSocket)core::TCPServerSocket
connect(IPAddress &address) (defined in core::TCPSocket)core::TCPSocket
ConsoleServer(EPoll &ePoll, std::string url, short int port) (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
init() (defined in core::TCPServerSocket)core::TCPServerSocketprotectedvirtual
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
removeFromSessionList(Session *session) (defined in core::TCPServerSocket)core::TCPServerSocket
sendToConnectedConsoles(std::string out) (defined in core::ConsoleServer)core::ConsoleServer
sessionscore::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
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, std::string url, short int port)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
~Socket() (defined in core::Socket)core::Socket
~TCPServerSocket()core::TCPServerSocket
~TCPSocket() (defined in core::TCPSocket)core::TCPSocket
+ + + + diff --git a/docs/html/classcore_1_1_console_server.html b/docs/html/classcore_1_1_console_server.html new file mode 100644 index 0000000..0824f87 --- /dev/null +++ b/docs/html/classcore_1_1_console_server.html @@ -0,0 +1,273 @@ + + + + + + + +BMA Server Framework: core::ConsoleServer Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
core::ConsoleServer Class Reference
+
+
+
+Inheritance diagram for core::ConsoleServer:
+
+
Inheritance graph
+ + + + + + + +
[legend]
+
+Collaboration diagram for core::ConsoleServer:
+
+
Collaboration graph
+ + + + + + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

ConsoleServer (EPoll &ePoll, std::string url, short int port)
 
+void sendToConnectedConsoles (std::string out)
 
+void output (Session *session) override
 Output the consoles array to the console.
 
- Public Member Functions inherited from core::TCPServerSocket
 TCPServerSocket (EPoll &ePoll, std::string url, short int port)
 
 ~TCPServerSocket ()
 
+void removeFromSessionList (Session *session)
 
- Public Member Functions inherited from core::TCPSocket
TCPSocket (EPoll &ePoll)
 
+void connect (IPAddress &address)
 
virtual void output (std::stringstream &out)
 
- Public Member Functions inherited from core::Socket
Socket (EPoll &ePoll)
 
+void setDescriptor (int descriptor)
 Set the descriptor for the socket.
 
+int getDescriptor ()
 Get the descriptor for the socket.
 
void eventReceived (struct epoll_event event)
 Parse epoll event and call specified callbacks. More...
 
void write (std::string data)
 
+void write (char *buffer, int length)
 
+void output (std::stringstream &out)
 
virtual void onRegistered ()
 Called when the socket has finished registering with the epoll processing. More...
 
virtual void onUnregistered ()
 Called when the socket has finished unregistering for the epoll processing. More...
 
+void enable (bool mode)
 Enable the socket to read or write based upon buffer.
 
- Public Member Functions inherited from core::Command
virtual bool check (std::string request)
 
void setName (std::string name)
 
+std::string getName ()
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Protected Member Functions

SessiongetSocketAccept () override
 
- Protected Member Functions inherited from core::TCPServerSocket
+virtual void init ()
 
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)
 
+ + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Attributes inherited from core::TCPServerSocket
std::vector< Session * > sessions
 
+CommandList commands
 
- Public Attributes inherited from core::TCPSocket
+IPAddress ipAddress
 
- Public Attributes inherited from core::Socket
+class {
bufferSize
 
- Public Attributes inherited from core::Object
+std::string name
 
+std::string tag
 
- Protected Attributes inherited from core::Socket
+EPollePoll
 
+bool shutDown = 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.

+ +

Implements 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
  • +
+
+ + + + diff --git a/docs/html/classcore_1_1_console_server__coll__graph.map b/docs/html/classcore_1_1_console_server__coll__graph.map new file mode 100644 index 0000000..191f4a9 --- /dev/null +++ b/docs/html/classcore_1_1_console_server__coll__graph.map @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/docs/html/classcore_1_1_console_server__coll__graph.md5 b/docs/html/classcore_1_1_console_server__coll__graph.md5 new file mode 100644 index 0000000..15e3fcc --- /dev/null +++ b/docs/html/classcore_1_1_console_server__coll__graph.md5 @@ -0,0 +1 @@ +5e1f95fd0b15ca54109cfd2c5a2c46da \ 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 new file mode 100644 index 0000000..4c9c4fe Binary files /dev/null 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.map b/docs/html/classcore_1_1_console_server__inherit__graph.map new file mode 100644 index 0000000..db8f830 --- /dev/null +++ b/docs/html/classcore_1_1_console_server__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/html/classcore_1_1_console_server__inherit__graph.md5 b/docs/html/classcore_1_1_console_server__inherit__graph.md5 new file mode 100644 index 0000000..27b823e --- /dev/null +++ b/docs/html/classcore_1_1_console_server__inherit__graph.md5 @@ -0,0 +1 @@ +54fa52528dbab3f7683f5f1b6f3c4417 \ 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 new file mode 100644 index 0000000..7b6447f Binary files /dev/null and b/docs/html/classcore_1_1_console_server__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 new file mode 100644 index 0000000..cec833a --- /dev/null +++ b/docs/html/classcore_1_1_console_session-members.html @@ -0,0 +1,133 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
core::ConsoleSession Member List
+
+
+ +

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

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bufferSize (defined in core::Socket)core::Socket
clear() (defined in core::TerminalSession)core::TerminalSession
clearEOL() (defined in core::TerminalSession)core::TerminalSession
connect(IPAddress &address) (defined in core::TCPSocket)core::TCPSocket
ConsoleSession(EPoll &ePoll, ConsoleServer &server) (defined in core::ConsoleSession)core::ConsoleSession
enable(bool mode)core::Socket
ePoll (defined in core::Socket)core::Socketprotected
eventReceived(struct epoll_event event)core::Socket
getDescriptor()core::Socket
getLines() (defined in core::TerminalSession)core::TerminalSession
getServer() (defined in core::Session)core::Session
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
PreviousLine(int lines) (defined in core::TerminalSession)core::TerminalSession
protocol(std::string data) override (defined in core::ConsoleSession)core::ConsoleSessionprotectedvirtual
receiveData(char *buffer, int bufferLength)core::Socketprotectedvirtual
restoreCursor() (defined in core::TerminalSession)core::TerminalSession
saveCursor() (defined in core::TerminalSession)core::TerminalSession
scrollArea(int start, int end) (defined in core::TerminalSession)core::TerminalSession
send()core::Session
sendToAll()core::Session
sendToAll(SessionFilter *filter)core::Session
server (defined in core::Session)core::Session
Session(EPoll &ePoll, TCPServerSocket &server) (defined in core::Session)core::Session
setBackColor(int color) (defined in core::TerminalSession)core::TerminalSession
setBufferSize(int length) (defined in core::Socket)core::Socketprotected
setColor(int color) (defined in core::TerminalSession)core::TerminalSession
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
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
TerminalSession(EPoll &ePoll, TCPServerSocket &server) (defined in core::TerminalSession)core::TerminalSession
write(std::string data)core::Socket
write(char *buffer, int length) (defined in core::Socket)core::Socket
writeLog(std::string data) (defined in core::ConsoleSession)core::ConsoleSession
~ConsoleSession() (defined in core::ConsoleSession)core::ConsoleSession
~Session() (defined in core::Session)core::Session
~Socket() (defined in core::Socket)core::Socket
~TCPSocket() (defined in core::TCPSocket)core::TCPSocket
~TerminalSession() (defined in core::TerminalSession)core::TerminalSession
+ + + + diff --git a/docs/html/classcore_1_1_console_session.html b/docs/html/classcore_1_1_console_session.html new file mode 100644 index 0000000..7a49518 --- /dev/null +++ b/docs/html/classcore_1_1_console_session.html @@ -0,0 +1,315 @@ + + + + + + + +BMA Server Framework: core::ConsoleSession Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
core::ConsoleSession Class Reference
+
+
+ +

#include <ConsoleSession.h>

+
+Inheritance diagram for core::ConsoleSession:
+
+
Inheritance graph
+ + + + + + + +
[legend]
+
+Collaboration diagram for core::ConsoleSession:
+
+
Collaboration graph
+ + + + + + + + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

ConsoleSession (EPoll &ePoll, ConsoleServer &server)
 
virtual void output (std::stringstream &out)
 
+void writeLog (std::string data)
 
- Public Member Functions inherited from core::TerminalSession
TerminalSession (EPoll &ePoll, TCPServerSocket &server)
 
+int getLines ()
 
+void clear ()
 
+void clearEOL ()
 
+void setCursorLocation (int x, int y)
 
+void setColor (int color)
 
+void setBackColor (int color)
 
+void saveCursor ()
 
+void restoreCursor ()
 
+void NextLine (int lines)
 
+void PreviousLine (int lines)
 
+void scrollArea (int start, int end)
 
- Public Member Functions inherited from core::Session
Session (EPoll &ePoll, TCPServerSocket &server)
 
+virtual void init ()
 
+virtual void output (Session *session)
 
void send ()
 
void sendToAll ()
 
void sendToAll (SessionFilter *filter)
 
+TCPServerSocketgetServer ()
 
- Public Member Functions inherited from core::TCPSocket
TCPSocket (EPoll &ePoll)
 
+void connect (IPAddress &address)
 
- Public Member Functions inherited from core::Socket
Socket (EPoll &ePoll)
 
+void setDescriptor (int descriptor)
 Set the descriptor for the socket.
 
+int getDescriptor ()
 Get the descriptor for the socket.
 
void eventReceived (struct epoll_event event)
 Parse epoll event and call specified callbacks. More...
 
void write (std::string data)
 
+void write (char *buffer, int length)
 
+void output (std::stringstream &out)
 
virtual void onRegistered ()
 Called when the socket has finished registering with the epoll processing. More...
 
virtual void onUnregistered ()
 Called when the socket has finished unregistering for the epoll processing. More...
 
+void enable (bool mode)
 Enable the socket to read or write based upon buffer.
 
+ + + + + + + + + + + + + + + + + + + +

+Protected Member Functions

+void protocol (std::string data) override
 
- Protected Member Functions inherited from core::Session
void onDataReceived (std::string data) override
 Called when data is received from the socket. More...
 
void onConnected () override
 Called when socket is open and ready to communicate. More...
 
- Protected Member Functions inherited from core::Socket
+void setBufferSize (int length)
 
+virtual void onTLSInit ()
 
+void shutdown ()
 
virtual void receiveData (char *buffer, int bufferLength)
 
+ + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Attributes inherited from core::Session
+std::stringstream out
 
+TCPServerSocketserver
 
- Public Attributes inherited from core::TCPSocket
+IPAddress ipAddress
 
- Public Attributes inherited from core::Socket
+class {
bufferSize
 
- Public Attributes inherited from core::Object
+std::string name
 
+std::string tag
 
- Protected Attributes inherited from core::Socket
+EPollePoll
 
+bool shutDown = false
 
+

Detailed Description

+

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.

+ +
+
+
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
  • +
+
+ + + + diff --git a/docs/html/classcore_1_1_console_session__coll__graph.map b/docs/html/classcore_1_1_console_session__coll__graph.map new file mode 100644 index 0000000..22990b6 --- /dev/null +++ b/docs/html/classcore_1_1_console_session__coll__graph.map @@ -0,0 +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 new file mode 100644 index 0000000..7f065d1 --- /dev/null +++ b/docs/html/classcore_1_1_console_session__coll__graph.md5 @@ -0,0 +1 @@ +1cd0a7fbd6eb012fb748538549872417 \ 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 new file mode 100644 index 0000000..0d06434 Binary files /dev/null and b/docs/html/classcore_1_1_console_session__coll__graph.png differ diff --git a/docs/html/classcore_1_1_console_session__inherit__graph.map b/docs/html/classcore_1_1_console_session__inherit__graph.map new file mode 100644 index 0000000..371667a --- /dev/null +++ b/docs/html/classcore_1_1_console_session__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/html/classcore_1_1_console_session__inherit__graph.md5 b/docs/html/classcore_1_1_console_session__inherit__graph.md5 new file mode 100644 index 0000000..df33f16 --- /dev/null +++ b/docs/html/classcore_1_1_console_session__inherit__graph.md5 @@ -0,0 +1 @@ +06ee85784fdcf502c5503eb7e59ffeb1 \ No newline at end of file diff --git a/docs/html/classcore_1_1_console_session__inherit__graph.png b/docs/html/classcore_1_1_console_session__inherit__graph.png new file mode 100644 index 0000000..3b42c82 Binary files /dev/null and b/docs/html/classcore_1_1_console_session__inherit__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 new file mode 100644 index 0000000..66be75c --- /dev/null +++ b/docs/html/classcore_1_1_e_poll-members.html @@ -0,0 +1,96 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
core::EPoll Member List
+
+
+ +

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

+ + + + + + + + + + + + + + + + + +
check(std::string request)core::Commandvirtual
EPoll()core::EPoll
eventReceived(struct epoll_event event)core::EPoll
getDescriptor()core::EPoll
getName() (defined in core::Command)core::Command
isStopping()core::EPoll
maxSocketscore::EPoll
output(Session *session)core::Commandvirtual
processCommand(std::string command, Session *session) overridecore::EPollvirtual
registerSocket(Socket *socket)core::EPoll
setName(std::string name)core::Command
start(int numberOfThreads, int maxSockets)core::EPoll
stop()core::EPoll
tag (defined in core::Object)core::Object
unregisterSocket(Socket *socket)core::EPoll
~EPoll()core::EPoll
+ + + + diff --git a/docs/html/classcore_1_1_e_poll.html b/docs/html/classcore_1_1_e_poll.html new file mode 100644 index 0000000..e7248db --- /dev/null +++ b/docs/html/classcore_1_1_e_poll.html @@ -0,0 +1,451 @@ + + + + + + + +BMA Server Framework: core::EPoll Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
core::EPoll Class Reference
+
+
+ +

#include <EPoll.h>

+
+Inheritance diagram for core::EPoll:
+
+
Inheritance graph
+ + + + +
[legend]
+
+Collaboration diagram for core::EPoll:
+
+
Collaboration graph
+ + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 EPoll ()
 
 ~EPoll ()
 
bool start (int numberOfThreads, int maxSockets)
 Start the BMAEPoll processing. More...
 
bool stop ()
 Stop and shut down the BMAEPoll processing. More...
 
bool isStopping ()
 Returns a true if the stop command has been requested. More...
 
bool registerSocket (Socket *socket)
 Register a BMASocket for monitoring by BMAEPoll. More...
 
bool unregisterSocket (Socket *socket)
 Unregister a BMASocket from monitoring by BMAEPoll. More...
 
int getDescriptor ()
 Return the descriptor for the ePoll socket. More...
 
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...
 
- 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 ()
 
+ + + + + + + + + +

+Public Attributes

int maxSockets
 The maximum number of socket allowed. More...
 
- Public Attributes inherited from core::Object
+std::string name
 
+std::string tag
 
+

Detailed Description

+

EPoll

+

Manage socket events from the epoll system call.

+

Use this object to establish a socket server using the epoll network structure of Linux.

+

Use this object to establish the basis of working with multiple sockets of all sorts using the epoll capabilities of the Linux platform. Socket objects can register with BMAEPoll which will establish a communication mechanism with that socket.

+

The maximum number of sockets to communicate with is specified on the start method.

+

Threads are used to establish a read queue for epoll. The desired number of threads (or queues) is established by a parameter on the start method.

+

Constructor & Destructor Documentation

+ +

◆ EPoll()

+ +
+
+ + + + + + + +
core::EPoll::EPoll ()
+
+

The constructor for the BMAEPoll object.

+ +
+
+ +

◆ ~EPoll()

+ +
+
+ + + + + + + +
core::EPoll::~EPoll ()
+
+

The destructor for the BMAEPoll object.

+ +
+
+

Member Function Documentation

+ +

◆ eventReceived()

+ +
+
+ + + + + + + + +
void core::EPoll::eventReceived (struct epoll_event event)
+
+ +

Dispatch event to appropriate socket.

+

Receive the epoll events and dispatch the event to the socket making the request.

+ +
+
+ +

◆ getDescriptor()

+ +
+
+ + + + + + + +
int core::EPoll::getDescriptor ()
+
+ +

Return the descriptor for the ePoll socket.

+

Use this method to obtain the current descriptor socket number for the epoll function call.

+ +
+
+ +

◆ isStopping()

+ +
+
+ + + + + + + +
bool core::EPoll::isStopping ()
+
+ +

Returns a true if the stop command has been requested.

+

This method returns a true if the stop() method has been called and the epoll system is shutting.

+ +
+
+ +

◆ processCommand()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
int core::EPoll::processCommand (std::string command,
Sessionsession 
)
+
+overridevirtual
+
+ +

Output the threads array to the console.

+

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

+
Parameters
+ + +
sessionthe session to write the requested data to.
+
+
+ +

Implements core::Command.

+ +
+
+ +

◆ registerSocket()

+ +
+
+ + + + + + + + +
bool core::EPoll::registerSocket (Socketsocket)
+
+ +

Register a BMASocket for monitoring by BMAEPoll.

+

Use registerSocket to add a new socket to the ePoll event watch list. This enables a new BMASocket object to receive events when data is received as well as to write data output to the socket.

+
Parameters
+ + +
socketa pointer to a BMASocket object.
+
+
+
Returns
a booelean that indicates the socket was registered or not.
+
Parameters
+ + +
socketThe Socket to register.
+
+
+ +
+
+ +

◆ start()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool core::EPoll::start (int numberOfThreads,
int maxSockets 
)
+
+ +

Start the BMAEPoll processing.

+

Use the start() method to initiate the threads and begin epoll queue processing.

+
Parameters
+ + + +
numberOfThreadsthe number of threads to start for processing epoll entries.
maxSocketsthe maximum number of open sockets that epoll will manage.
+
+
+ +
+
+ +

◆ stop()

+ +
+
+ + + + + + + +
bool core::EPoll::stop ()
+
+ +

Stop and shut down the BMAEPoll processing.

+

Use the stop() method to initiate the shutdown process for the epoll socket management.

+

A complete shutdown of all managed sockets will be initiated by this method call.

+ +
+
+ +

◆ unregisterSocket()

+ +
+
+ + + + + + + + +
bool core::EPoll::unregisterSocket (Socketsocket)
+
+ +

Unregister a BMASocket from monitoring by BMAEPoll.

+

Use this method to remove a socket from receiving events from the epoll system.

+
Parameters
+ + +
socketThe Socket to unregister.
+
+
+ +
+
+

Member Data Documentation

+ +

◆ maxSockets

+ +
+
+ + + + +
int core::EPoll::maxSockets
+
+ +

The maximum number of socket allowed.

+

The maximum number of sockets that can be managed by the epoll system.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Development/BMA/server_core/ServerCore/EPoll.h
  • +
  • /home/barant/Development/BMA/server_core/ServerCore/EPoll.cpp
  • +
+
+ + + + diff --git a/docs/html/classcore_1_1_e_poll__coll__graph.map b/docs/html/classcore_1_1_e_poll__coll__graph.map new file mode 100644 index 0000000..f8fa3a7 --- /dev/null +++ b/docs/html/classcore_1_1_e_poll__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/html/classcore_1_1_e_poll__coll__graph.md5 b/docs/html/classcore_1_1_e_poll__coll__graph.md5 new file mode 100644 index 0000000..9a32398 --- /dev/null +++ b/docs/html/classcore_1_1_e_poll__coll__graph.md5 @@ -0,0 +1 @@ +c75340d7c5a82ba0c2ab4d100006cfa2 \ No newline at end of file diff --git a/docs/html/classcore_1_1_e_poll__coll__graph.png b/docs/html/classcore_1_1_e_poll__coll__graph.png new file mode 100644 index 0000000..1af8f75 Binary files /dev/null and b/docs/html/classcore_1_1_e_poll__coll__graph.png differ diff --git a/docs/html/classcore_1_1_e_poll__inherit__graph.map b/docs/html/classcore_1_1_e_poll__inherit__graph.map new file mode 100644 index 0000000..f8fa3a7 --- /dev/null +++ b/docs/html/classcore_1_1_e_poll__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/html/classcore_1_1_e_poll__inherit__graph.md5 b/docs/html/classcore_1_1_e_poll__inherit__graph.md5 new file mode 100644 index 0000000..5ac5bad --- /dev/null +++ b/docs/html/classcore_1_1_e_poll__inherit__graph.md5 @@ -0,0 +1 @@ +addfef9e1ecea7461431caef8589e67c \ No newline at end of file diff --git a/docs/html/classcore_1_1_e_poll__inherit__graph.png b/docs/html/classcore_1_1_e_poll__inherit__graph.png new file mode 100644 index 0000000..1af8f75 Binary files /dev/null and b/docs/html/classcore_1_1_e_poll__inherit__graph.png differ diff --git a/docs/html/classcore_1_1_exception-members.html b/docs/html/classcore_1_1_exception-members.html new file mode 100644 index 0000000..2f814ed --- /dev/null +++ b/docs/html/classcore_1_1_exception-members.html @@ -0,0 +1,87 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
core::Exception Member List
+
+
+ +

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

+ + + + + + + + +
className (defined in core::Exception)core::Exception
errorNumber (defined in core::Exception)core::Exception
Exception(std::string text, std::string file=__FILE__, int line=__LINE__, int errorNumber=-1) (defined in core::Exception)core::Exception
file (defined in core::Exception)core::Exception
line (defined in core::Exception)core::Exception
text (defined in core::Exception)core::Exception
~Exception() (defined in core::Exception)core::Exception
+ + + + diff --git a/docs/html/classcore_1_1_exception.html b/docs/html/classcore_1_1_exception.html new file mode 100644 index 0000000..0c50be9 --- /dev/null +++ b/docs/html/classcore_1_1_exception.html @@ -0,0 +1,110 @@ + + + + + + + +BMA Server Framework: core::Exception Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
core::Exception Class Reference
+
+
+ + + + +

+Public Member Functions

Exception (std::string text, std::string file=__FILE__, int line=__LINE__, int errorNumber=-1)
 
+ + + + + + + + + + + +

+Public Attributes

+std::string className
 
+std::string file
 
+int line
 
+std::string text
 
+int 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
  • +
+
+ + + + diff --git a/docs/html/classcore_1_1_file-members.html b/docs/html/classcore_1_1_file-members.html new file mode 100644 index 0000000..e096814 --- /dev/null +++ b/docs/html/classcore_1_1_file-members.html @@ -0,0 +1,88 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
core::File Member List
+
+
+ +

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

+ + + + + + + + + +
buffer (defined in core::File)core::File
File(std::string fileName, int mode=O_RDONLY, int authority=0664) (defined in core::File)core::File
fileName (defined in core::File)core::File
read() (defined in core::File)core::File
setBufferSize(size_t size) (defined in core::File)core::File
size (defined in core::File)core::File
write(std::string data) (defined in core::File)core::File
~File() (defined in core::File)core::File
+ + + + diff --git a/docs/html/classcore_1_1_file.html b/docs/html/classcore_1_1_file.html new file mode 100644 index 0000000..a146d1e --- /dev/null +++ b/docs/html/classcore_1_1_file.html @@ -0,0 +1,113 @@ + + + + + + + +BMA Server Framework: core::File Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
core::File Class Reference
+
+
+ + + + + + + + + + +

+Public Member Functions

File (std::string fileName, int mode=O_RDONLY, int authority=0664)
 
+void setBufferSize (size_t size)
 
+void read ()
 
+void write (std::string data)
 
+ + + + + + + +

+Public Attributes

+char * buffer
 
+size_t size
 
+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
  • +
+
+ + + + diff --git a/docs/html/classcore_1_1_header-members.html b/docs/html/classcore_1_1_header-members.html new file mode 100644 index 0000000..bea15e3 --- /dev/null +++ b/docs/html/classcore_1_1_header-members.html @@ -0,0 +1,88 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
core::Header Member List
+
+
+ +

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

+ + + + + + + + + +
data (defined in core::Header)core::Header
Header(std::string data) (defined in core::Header)core::Header
name (defined in core::Object)core::Object
requestMethod() (defined in core::Header)core::Header
requestProtocol() (defined in core::Header)core::Header
requestURL() (defined in core::Header)core::Header
tag (defined in core::Object)core::Object
~Header() (defined in core::Header)core::Header
+ + + + diff --git a/docs/html/classcore_1_1_header.html b/docs/html/classcore_1_1_header.html new file mode 100644 index 0000000..1d8bfe3 --- /dev/null +++ b/docs/html/classcore_1_1_header.html @@ -0,0 +1,130 @@ + + + + + + + +BMA Server Framework: core::Header Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
core::Header Class Reference
+
+
+
+Inheritance diagram for core::Header:
+
+
Inheritance graph
+ + + +
[legend]
+
+Collaboration diagram for core::Header:
+
+
Collaboration graph
+ + + +
[legend]
+ + + + + + + + + + +

+Public Member Functions

Header (std::string data)
 
+std::string requestMethod ()
 
+std::string requestURL ()
 
+std::string requestProtocol ()
 
+ + + + + + + + +

+Public Attributes

+std::string data
 
- Public Attributes inherited from core::Object
+std::string name
 
+std::string tag
 
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Development/BMA/server_core/ServerCore/Header.h
  • +
  • /home/barant/Development/BMA/server_core/ServerCore/Header.cpp
  • +
+
+ + + + diff --git a/docs/html/classcore_1_1_header__coll__graph.map b/docs/html/classcore_1_1_header__coll__graph.map new file mode 100644 index 0000000..badca1e --- /dev/null +++ b/docs/html/classcore_1_1_header__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/classcore_1_1_header__coll__graph.md5 b/docs/html/classcore_1_1_header__coll__graph.md5 new file mode 100644 index 0000000..4d1ac11 --- /dev/null +++ b/docs/html/classcore_1_1_header__coll__graph.md5 @@ -0,0 +1 @@ +c85fbddb893bd26f04be83c844c927de \ No newline at end of file diff --git a/docs/html/classcore_1_1_header__coll__graph.png b/docs/html/classcore_1_1_header__coll__graph.png new file mode 100644 index 0000000..bc91942 Binary files /dev/null and b/docs/html/classcore_1_1_header__coll__graph.png differ diff --git a/docs/html/classcore_1_1_header__inherit__graph.map b/docs/html/classcore_1_1_header__inherit__graph.map new file mode 100644 index 0000000..badca1e --- /dev/null +++ b/docs/html/classcore_1_1_header__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/classcore_1_1_header__inherit__graph.md5 b/docs/html/classcore_1_1_header__inherit__graph.md5 new file mode 100644 index 0000000..ad424eb --- /dev/null +++ b/docs/html/classcore_1_1_header__inherit__graph.md5 @@ -0,0 +1 @@ +b4da3d9cf4e13966afe8a578efd5297f \ No newline at end of file diff --git a/docs/html/classcore_1_1_header__inherit__graph.png b/docs/html/classcore_1_1_header__inherit__graph.png new file mode 100644 index 0000000..bc91942 Binary files /dev/null and b/docs/html/classcore_1_1_header__inherit__graph.png differ diff --git a/docs/html/classcore_1_1_i_p_address-members.html b/docs/html/classcore_1_1_i_p_address-members.html new file mode 100644 index 0000000..81e7f45 --- /dev/null +++ b/docs/html/classcore_1_1_i_p_address-members.html @@ -0,0 +1,89 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
core::IPAddress Member List
+
+
+ +

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

+ + + + + + + + + + +
address (defined in core::IPAddress)core::IPAddress
addressLength (defined in core::IPAddress)core::IPAddress
getClientAddress()core::IPAddress
getClientAddressAndPort()core::IPAddress
getClientPort()core::IPAddress
IPAddress() (defined in core::IPAddress)core::IPAddress
name (defined in core::Object)core::Object
tag (defined in core::Object)core::Object
~IPAddress() (defined in core::IPAddress)core::IPAddress
+ + + + diff --git a/docs/html/classcore_1_1_i_p_address.html b/docs/html/classcore_1_1_i_p_address.html new file mode 100644 index 0000000..9b05a12 --- /dev/null +++ b/docs/html/classcore_1_1_i_p_address.html @@ -0,0 +1,133 @@ + + + + + + + +BMA Server Framework: core::IPAddress Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
core::IPAddress Class Reference
+
+
+
+Inheritance diagram for core::IPAddress:
+
+
Inheritance graph
+ + + +
[legend]
+
+Collaboration diagram for core::IPAddress:
+
+
Collaboration graph
+ + + +
[legend]
+ + + + + + + + + + + +

+Public Member Functions

+std::string getClientAddress ()
 Get the client network address as xxx.xxx.xxx.xxx.
 
+std::string getClientAddressAndPort ()
 Get the client network address and port as xxx.xxx.xxx.xxx:ppppp.
 
+int getClientPort ()
 Get the client network port number.
 
+ + + + + + + + + + +

+Public Attributes

+struct sockaddr_in address
 
+socklen_t addressLength
 
- Public Attributes inherited from core::Object
+std::string name
 
+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
  • +
+
+ + + + diff --git a/docs/html/classcore_1_1_i_p_address__coll__graph.map b/docs/html/classcore_1_1_i_p_address__coll__graph.map new file mode 100644 index 0000000..58eac7e --- /dev/null +++ b/docs/html/classcore_1_1_i_p_address__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/classcore_1_1_i_p_address__coll__graph.md5 b/docs/html/classcore_1_1_i_p_address__coll__graph.md5 new file mode 100644 index 0000000..89a89a4 --- /dev/null +++ b/docs/html/classcore_1_1_i_p_address__coll__graph.md5 @@ -0,0 +1 @@ +c805616539c6f4a1201bc6f8bb4a8947 \ No newline at end of file diff --git a/docs/html/classcore_1_1_i_p_address__coll__graph.png b/docs/html/classcore_1_1_i_p_address__coll__graph.png new file mode 100644 index 0000000..4ca1e1f Binary files /dev/null and b/docs/html/classcore_1_1_i_p_address__coll__graph.png differ diff --git a/docs/html/classcore_1_1_i_p_address__inherit__graph.map b/docs/html/classcore_1_1_i_p_address__inherit__graph.map new file mode 100644 index 0000000..58eac7e --- /dev/null +++ b/docs/html/classcore_1_1_i_p_address__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/classcore_1_1_i_p_address__inherit__graph.md5 b/docs/html/classcore_1_1_i_p_address__inherit__graph.md5 new file mode 100644 index 0000000..9e9fdfc --- /dev/null +++ b/docs/html/classcore_1_1_i_p_address__inherit__graph.md5 @@ -0,0 +1 @@ +169afbf207aa8295752439747ffd68a2 \ No newline at end of file diff --git a/docs/html/classcore_1_1_i_p_address__inherit__graph.png b/docs/html/classcore_1_1_i_p_address__inherit__graph.png new file mode 100644 index 0000000..4ca1e1f Binary files /dev/null and b/docs/html/classcore_1_1_i_p_address__inherit__graph.png differ diff --git a/docs/html/classcore_1_1_log-members.html b/docs/html/classcore_1_1_log-members.html new file mode 100644 index 0000000..a2a3aa6 --- /dev/null +++ b/docs/html/classcore_1_1_log-members.html @@ -0,0 +1,90 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
core::Log Member List
+
+
+ +

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

+ + + + + + + + + + + +
consoleServercore::Logstatic
Log(ConsoleServer *consoleServer)core::Log
Log(File *logFile)core::Log
Log(int level)core::Log
logFilecore::Logstatic
name (defined in core::Object)core::Object
output (defined in core::Log)core::Log
seqcore::Logstatic
tag (defined in core::Object)core::Object
~Log()core::Log
+ + + + diff --git a/docs/html/classcore_1_1_log.html b/docs/html/classcore_1_1_log.html new file mode 100644 index 0000000..cd95936 --- /dev/null +++ b/docs/html/classcore_1_1_log.html @@ -0,0 +1,309 @@ + + + + + + + +BMA Server Framework: core::Log Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+ +
+ +

#include <Log.h>

+
+Inheritance diagram for core::Log:
+
+
Inheritance graph
+ + + +
[legend]
+
+Collaboration diagram for core::Log:
+
+
Collaboration graph
+ + + + + + + + + + + + +
[legend]
+ + + + + + + + + + +

+Public Member Functions

 Log (ConsoleServer *consoleServer)
 
 Log (File *logFile)
 
 Log (int level)
 
 ~Log ()
 
+ + + + + + + + +

+Public Attributes

+bool output = false
 
- Public Attributes inherited from core::Object
+std::string name
 
+std::string tag
 
+ + + + + + + +

+Static Public Attributes

static ConsoleServerconsoleServer = NULL
 
static FilelogFile = NULL
 
static int seq = 0
 
+

Detailed Description

+

Log

+

Provides easy to access and use logging features to maintain a history of activity and provide information for activity debugging.

+

Constructor & Destructor Documentation

+ +

◆ Log() [1/3]

+ +
+
+ + + + + + + + +
core::Log::Log (ConsoleServerconsoleServer)
+
+

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.

+
Parameters
+ + +
consoleServera pointer to the console server that will be used to echo log entries.
+
+
+ +
+
+ +

◆ Log() [2/3]

+ +
+
+ + + + + + + + +
core::Log::Log (FilelogFile)
+
+

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() [3/3]

+ +
+
+ + + + + + + + +
core::Log::Log (int level)
+
+

Constructor method that is used to send a message to the log.

+
Parameters
+ + +
levelthe logging level to associate with this message.
+
+
+

To send log message: Log(LOG_INFO) << "This is a log message.";

+ +
+
+ +

◆ ~Log()

+ +
+
+ + + + + + + +
core::Log::~Log ()
+
+

The destructor for the log object.

+ +
+
+

Member Data Documentation

+ +

◆ consoleServer

+ +
+
+ + + + + +
+ + + + +
ConsoleServer * core::Log::consoleServer = NULL
+
+static
+
+

Set the consoleServer to point to the instantiated ConsoleServer object for the application.

+ +
+
+ +

◆ logFile

+ +
+
+ + + + + +
+ + + + +
File * core::Log::logFile = NULL
+
+static
+
+

Specify a File object where the log entries will be written as a permanent record to disk.

+ +
+
+ +

◆ seq

+ +
+
+ + + + + +
+ + + + +
int core::Log::seq = 0
+
+static
+
+

A meaningless sequenctial number that starts from - at the beginning of the logging process.

+ +
+
+
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
  • +
+
+ + + + diff --git a/docs/html/classcore_1_1_log__coll__graph.map b/docs/html/classcore_1_1_log__coll__graph.map new file mode 100644 index 0000000..c8e5ae3 --- /dev/null +++ b/docs/html/classcore_1_1_log__coll__graph.map @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/docs/html/classcore_1_1_log__coll__graph.md5 b/docs/html/classcore_1_1_log__coll__graph.md5 new file mode 100644 index 0000000..ffb110b --- /dev/null +++ b/docs/html/classcore_1_1_log__coll__graph.md5 @@ -0,0 +1 @@ +514a4041acd61a46070206f2d3003de4 \ 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 new file mode 100644 index 0000000..97c24d8 Binary files /dev/null and b/docs/html/classcore_1_1_log__coll__graph.png differ diff --git a/docs/html/classcore_1_1_log__inherit__graph.map b/docs/html/classcore_1_1_log__inherit__graph.map new file mode 100644 index 0000000..7de1184 --- /dev/null +++ b/docs/html/classcore_1_1_log__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/classcore_1_1_log__inherit__graph.md5 b/docs/html/classcore_1_1_log__inherit__graph.md5 new file mode 100644 index 0000000..ca8a1ad --- /dev/null +++ b/docs/html/classcore_1_1_log__inherit__graph.md5 @@ -0,0 +1 @@ +051ae8342573db29dc9da055be30f840 \ No newline at end of file diff --git a/docs/html/classcore_1_1_log__inherit__graph.png b/docs/html/classcore_1_1_log__inherit__graph.png new file mode 100644 index 0000000..6bf222b Binary files /dev/null and b/docs/html/classcore_1_1_log__inherit__graph.png differ diff --git a/docs/html/classcore_1_1_object-members.html b/docs/html/classcore_1_1_object-members.html new file mode 100644 index 0000000..13447d3 --- /dev/null +++ b/docs/html/classcore_1_1_object-members.html @@ -0,0 +1,82 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
core::Object Member List
+
+
+ +

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

+ + + +
name (defined in core::Object)core::Object
tag (defined in core::Object)core::Object
+ + + + diff --git a/docs/html/classcore_1_1_object.html b/docs/html/classcore_1_1_object.html new file mode 100644 index 0000000..7e0f9e8 --- /dev/null +++ b/docs/html/classcore_1_1_object.html @@ -0,0 +1,121 @@ + + + + + + + +BMA Server Framework: core::Object Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
core::Object Class Reference
+
+
+
+Inheritance diagram for core::Object:
+
+
Inheritance graph
+ + + + + + + + + + + + + + + + + + + + + + + +
[legend]
+ + + + + + +

+Public Attributes

+std::string name
 
+std::string tag
 
+
The documentation for this class was generated from the following file:
    +
  • /home/barant/Development/BMA/server_core/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 new file mode 100644 index 0000000..ca3e9fe --- /dev/null +++ b/docs/html/classcore_1_1_object__inherit__graph.map @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/html/classcore_1_1_object__inherit__graph.md5 b/docs/html/classcore_1_1_object__inherit__graph.md5 new file mode 100644 index 0000000..ad9abf7 --- /dev/null +++ b/docs/html/classcore_1_1_object__inherit__graph.md5 @@ -0,0 +1 @@ +64003a25ad416763f12622a050c08f1d \ 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 new file mode 100644 index 0000000..9150086 Binary files /dev/null and b/docs/html/classcore_1_1_object__inherit__graph.png differ diff --git a/docs/html/classcore_1_1_response-members.html b/docs/html/classcore_1_1_response-members.html new file mode 100644 index 0000000..765ddaf --- /dev/null +++ b/docs/html/classcore_1_1_response-members.html @@ -0,0 +1,94 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
core::Response Member List
+
+
+ +

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

+ + + + + + + + + + + + + + + +
addHeaderItem(std::string key, std::string value) (defined in core::Response)core::Response
getResponse(Mode mode)core::Response
getResponse(std::string content, Mode mode)core::Response
LENGTH enum value (defined in core::Response)core::Response
Mode enum name (defined in core::Response)core::Response
name (defined in core::Object)core::Object
Response()core::Response
setCode(std::string code)core::Response
setMimeType(std::string mimeType)core::Response
setProtocol(std::string protocol)core::Response
setText(std::string text)core::Response
STREAMING enum value (defined in core::Response)core::Response
tag (defined in core::Object)core::Object
~Response()core::Response
+ + + + diff --git a/docs/html/classcore_1_1_response.html b/docs/html/classcore_1_1_response.html new file mode 100644 index 0000000..4db76ff --- /dev/null +++ b/docs/html/classcore_1_1_response.html @@ -0,0 +1,341 @@ + + + + + + + +BMA Server Framework: core::Response Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
core::Response Class Reference
+
+
+ +

#include <Response.h>

+
+Inheritance diagram for core::Response:
+
+
Inheritance graph
+ + + +
[legend]
+
+Collaboration diagram for core::Response:
+
+
Collaboration graph
+ + + +
[legend]
+ + + + +

+Public Types

enum  Mode { LENGTH, +STREAMING + }
 
+ + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Response ()
 
 ~Response ()
 
std::string getResponse (Mode mode)
 
std::string getResponse (std::string content, Mode mode)
 
void setProtocol (std::string protocol)
 
void setCode (std::string code)
 
void setText (std::string text)
 
void setMimeType (std::string mimeType)
 
+void addHeaderItem (std::string key, std::string value)
 
+ + + + + + +

+Additional Inherited Members

- Public Attributes inherited from core::Object
+std::string name
 
+std::string tag
 
+

Detailed Description

+

Response

+

Use this object to build a response output for a protocol that uses headers and responses as the main communications protocol.

+

Constructor & Destructor Documentation

+ +

◆ Response()

+ +
+
+ + + + + + + +
core::Response::Response ()
+
+

The constructor for the object.

+ +
+
+ +

◆ ~Response()

+ +
+
+ + + + + + + +
core::Response::~Response ()
+
+

The destructor for the object.

+ +
+
+

Member Function Documentation

+ +

◆ getResponse() [1/2]

+ +
+
+ + + + + + + + +
std::string core::Response::getResponse (Mode mode)
+
+

Returns the response generated from the contained values that do not return a content length. Using this constructor ensures a zero length Content-Length value.

+
Returns
the complete response string to send to client.
+ +
+
+ +

◆ getResponse() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
std::string core::Response::getResponse (std::string content,
Mode mode 
)
+
+

Returns the response plus the content passed as a parameter.

+

This method will automatically generate the proper Content-Length value for the response.

+
Parameters
+ + +
contentthe content that will be provided on the response message to the client.
+
+
+
Returns
the complete response string to send to client.
+ +
+
+ +

◆ setCode()

+ +
+
+ + + + + + + + +
void core::Response::setCode (std::string code)
+
+

Sets the return code value for the response.

+
Parameters
+ + +
codethe response code value to return in the response.
+
+
+ +
+
+ +

◆ setMimeType()

+ +
+
+ + + + + + + + +
void core::Response::setMimeType (std::string mimeType)
+
+

Specifies the type of data that will be returned in this response.

+
Parameters
+ + +
mimeTypethe mime type for the data.
+
+
+ +
+
+ +

◆ setProtocol()

+ +
+
+ + + + + + + + +
void core::Response::setProtocol (std::string protocol)
+
+

Sets the protocol value for the response message. The protocol should match the header received.

+
Parameters
+ + +
protocolthe protocol value to return in response.
+
+
+ +
+
+ +

◆ setText()

+ +
+
+ + + + + + + + +
void core::Response::setText (std::string text)
+
+

Sets the return code string value for the response.

+
Parameters
+ + +
textthe text value for the response code to return on the response.
+
+
+ +
+
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Development/BMA/server_core/ServerCore/Response.h
  • +
  • /home/barant/Development/BMA/server_core/ServerCore/Response.cpp
  • +
+
+ + + + diff --git a/docs/html/classcore_1_1_response__coll__graph.map b/docs/html/classcore_1_1_response__coll__graph.map new file mode 100644 index 0000000..483445e --- /dev/null +++ b/docs/html/classcore_1_1_response__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/classcore_1_1_response__coll__graph.md5 b/docs/html/classcore_1_1_response__coll__graph.md5 new file mode 100644 index 0000000..baf7e32 --- /dev/null +++ b/docs/html/classcore_1_1_response__coll__graph.md5 @@ -0,0 +1 @@ +0a3766cb1a3224765d9c1a80154ca1e0 \ No newline at end of file diff --git a/docs/html/classcore_1_1_response__coll__graph.png b/docs/html/classcore_1_1_response__coll__graph.png new file mode 100644 index 0000000..0746f2a Binary files /dev/null and b/docs/html/classcore_1_1_response__coll__graph.png differ diff --git a/docs/html/classcore_1_1_response__inherit__graph.map b/docs/html/classcore_1_1_response__inherit__graph.map new file mode 100644 index 0000000..483445e --- /dev/null +++ b/docs/html/classcore_1_1_response__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/classcore_1_1_response__inherit__graph.md5 b/docs/html/classcore_1_1_response__inherit__graph.md5 new file mode 100644 index 0000000..2587cef --- /dev/null +++ b/docs/html/classcore_1_1_response__inherit__graph.md5 @@ -0,0 +1 @@ +ce680364a0855a88f101487d3b3d9d83 \ No newline at end of file diff --git a/docs/html/classcore_1_1_response__inherit__graph.png b/docs/html/classcore_1_1_response__inherit__graph.png new file mode 100644 index 0000000..0746f2a Binary files /dev/null and b/docs/html/classcore_1_1_response__inherit__graph.png differ diff --git a/docs/html/classcore_1_1_session-members.html b/docs/html/classcore_1_1_session-members.html new file mode 100644 index 0000000..9151204 --- /dev/null +++ b/docs/html/classcore_1_1_session-members.html @@ -0,0 +1,117 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
core::Session Member List
+
+
+ +

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

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bufferSize (defined in core::Socket)core::Socket
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
getServer() (defined in core::Session)core::Session
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
protocol(std::string data)=0 (defined in core::Session)core::Sessionprotectedpure virtual
receiveData(char *buffer, int bufferLength)core::Socketprotectedvirtual
send()core::Session
sendToAll()core::Session
sendToAll(SessionFilter *filter)core::Session
server (defined in core::Session)core::Session
Session(EPoll &ePoll, TCPServerSocket &server) (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::Socketprotected
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
write(std::string data)core::Socket
write(char *buffer, int length) (defined in core::Socket)core::Socket
~Session() (defined in core::Session)core::Session
~Socket() (defined in core::Socket)core::Socket
~TCPSocket() (defined in core::TCPSocket)core::TCPSocket
+ + + + diff --git a/docs/html/classcore_1_1_session.html b/docs/html/classcore_1_1_session.html new file mode 100644 index 0000000..8d2fbf2 --- /dev/null +++ b/docs/html/classcore_1_1_session.html @@ -0,0 +1,365 @@ + + + + + + + +BMA Server Framework: core::Session Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
core::Session Class Referenceabstract
+
+
+ +

#include <Session.h>

+
+Inheritance diagram for core::Session:
+
+
Inheritance graph
+ + + + + + + + +
[legend]
+
+Collaboration diagram for core::Session:
+
+
Collaboration graph
+ + + + + + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

Session (EPoll &ePoll, TCPServerSocket &server)
 
+virtual void init ()
 
+virtual void output (Session *session)
 
void send ()
 
void sendToAll ()
 
void sendToAll (SessionFilter *filter)
 
+TCPServerSocketgetServer ()
 
- Public Member Functions inherited from core::TCPSocket
TCPSocket (EPoll &ePoll)
 
+void connect (IPAddress &address)
 
virtual void output (std::stringstream &out)
 
- Public Member Functions inherited from core::Socket
Socket (EPoll &ePoll)
 
+void setDescriptor (int descriptor)
 Set the descriptor for the socket.
 
+int getDescriptor ()
 Get the descriptor for the socket.
 
void eventReceived (struct epoll_event event)
 Parse epoll event and call specified callbacks. More...
 
void write (std::string data)
 
+void write (char *buffer, int length)
 
+void output (std::stringstream &out)
 
virtual void onRegistered ()
 Called when the socket has finished registering with the epoll processing. More...
 
virtual void onUnregistered ()
 Called when the socket has finished unregistering for the epoll processing. More...
 
+void enable (bool mode)
 Enable the socket to read or write based upon buffer.
 
+ + + + + + + + + + + + + + + + + +

+Public Attributes

+std::stringstream out
 
+TCPServerSocketserver
 
- Public Attributes inherited from core::TCPSocket
+IPAddress ipAddress
 
- Public Attributes inherited from core::Socket
+class {
bufferSize
 
- Public Attributes inherited from core::Object
+std::string name
 
+std::string tag
 
+ + + + + + + + + + + + + + + + + + +

+Protected Member Functions

void onDataReceived (std::string data) override
 Called when data is received from the socket. More...
 
void onConnected () override
 Called when socket is open and ready to communicate. More...
 
+virtual void protocol (std::string data)=0
 
- Protected Member Functions inherited from core::Socket
+void setBufferSize (int length)
 
+virtual void onTLSInit ()
 
+void shutdown ()
 
virtual void receiveData (char *buffer, int bufferLength)
 
+ + + + + + +

+Additional Inherited Members

- Protected Attributes inherited from core::Socket
+EPollePoll
 
+bool shutDown = false
 
+

Detailed Description

+

Session

+

Session defines the nature of the interaction with the client and stores persistent data for a defined session. BMASession objects are not sockets but instead provide a communications control mechanism. Protocol conversations are provided through extensions from this object.

+

Member Function Documentation

+ +

◆ onConnected()

+ +
+
+ + + + + +
+ + + + + + + +
void core::Session::onConnected ()
+
+overrideprotectedvirtual
+
+ +

Called when socket is open and ready to communicate.

+

The onConnected method is called when the socket is ready to communicate. Writing to the socket can begin on this call to initiate a contact with the remote device.

+ +

Reimplemented from core::Socket.

+ +
+
+ +

◆ onDataReceived()

+ +
+
+ + + + + +
+ + + + + + + + +
void core::Session::onDataReceived (std::string data)
+
+overrideprotectedvirtual
+
+ +

Called when data is received from the socket.

+

The onDataReceived method is called when the socket has received an event from epoll and there is data ready to be read from the socket. The default handler will pull the data and put it into the streambuf for the socket. EPOLLIN

+
Parameters
+ + +
datathe data that has been received from the socket.
+
+
+ +

Implements core::Socket.

+ +
+
+ +

◆ send()

+ +
+
+ + + + + + + +
void core::Session::send ()
+
+

The send method is used to output the contents of the out stream to the session containing the stream.

+ +
+
+ +

◆ sendToAll() [1/2]

+ +
+
+ + + + + + + +
void core::Session::sendToAll ()
+
+

Use this sendToAll method to output the contents of the out stream to all the connections on the server excluding the sender session.

+ +
+
+ +

◆ sendToAll() [2/2]

+ +
+
+ + + + + + + + +
void core::Session::sendToAll (SessionFilterfilter)
+
+

Use this sendToAll method to output the contents of the out stream to all the connections on the server excluding the sender session and the entries identified by the passed in filter object.

+ +
+
+
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
  • +
+
+ + + + diff --git a/docs/html/classcore_1_1_session__coll__graph.map b/docs/html/classcore_1_1_session__coll__graph.map new file mode 100644 index 0000000..250da07 --- /dev/null +++ b/docs/html/classcore_1_1_session__coll__graph.map @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/docs/html/classcore_1_1_session__coll__graph.md5 b/docs/html/classcore_1_1_session__coll__graph.md5 new file mode 100644 index 0000000..2b5320b --- /dev/null +++ b/docs/html/classcore_1_1_session__coll__graph.md5 @@ -0,0 +1 @@ +e2a287adc291f8c1819bc8e53101e6dc \ 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 new file mode 100644 index 0000000..3caede8 Binary files /dev/null and b/docs/html/classcore_1_1_session__coll__graph.png differ diff --git a/docs/html/classcore_1_1_session__inherit__graph.map b/docs/html/classcore_1_1_session__inherit__graph.map new file mode 100644 index 0000000..883dfb6 --- /dev/null +++ b/docs/html/classcore_1_1_session__inherit__graph.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/html/classcore_1_1_session__inherit__graph.md5 b/docs/html/classcore_1_1_session__inherit__graph.md5 new file mode 100644 index 0000000..7157bf3 --- /dev/null +++ b/docs/html/classcore_1_1_session__inherit__graph.md5 @@ -0,0 +1 @@ +b1267ad6b886e017a418cb5293f33965 \ No newline at end of file diff --git a/docs/html/classcore_1_1_session__inherit__graph.png b/docs/html/classcore_1_1_session__inherit__graph.png new file mode 100644 index 0000000..442c697 Binary files /dev/null and b/docs/html/classcore_1_1_session__inherit__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 new file mode 100644 index 0000000..defbe0a --- /dev/null +++ b/docs/html/classcore_1_1_session_filter-members.html @@ -0,0 +1,83 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
core::SessionFilter Member List
+
+
+ +

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

+ + + + +
name (defined in core::Object)core::Object
tag (defined in core::Object)core::Object
test(Session &session) (defined in core::SessionFilter)core::SessionFilterinlinevirtual
+ + + + diff --git a/docs/html/classcore_1_1_session_filter.html b/docs/html/classcore_1_1_session_filter.html new file mode 100644 index 0000000..e0f2688 --- /dev/null +++ b/docs/html/classcore_1_1_session_filter.html @@ -0,0 +1,116 @@ + + + + + + + +BMA Server Framework: core::SessionFilter Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
core::SessionFilter Class Reference
+
+
+
+Inheritance diagram for core::SessionFilter:
+
+
Inheritance graph
+ + + +
[legend]
+
+Collaboration diagram for core::SessionFilter:
+
+
Collaboration graph
+ + + +
[legend]
+ + + + +

+Public Member Functions

+virtual bool test (Session &session)
 
+ + + + + + +

+Additional Inherited Members

- Public Attributes inherited from core::Object
+std::string name
 
+std::string tag
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/html/classcore_1_1_session_filter__coll__graph.map b/docs/html/classcore_1_1_session_filter__coll__graph.map new file mode 100644 index 0000000..c37e30c --- /dev/null +++ b/docs/html/classcore_1_1_session_filter__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/classcore_1_1_session_filter__coll__graph.md5 b/docs/html/classcore_1_1_session_filter__coll__graph.md5 new file mode 100644 index 0000000..03a8579 --- /dev/null +++ b/docs/html/classcore_1_1_session_filter__coll__graph.md5 @@ -0,0 +1 @@ +97891e0f4daebeb83feaf9d169c0a749 \ No newline at end of file diff --git a/docs/html/classcore_1_1_session_filter__coll__graph.png b/docs/html/classcore_1_1_session_filter__coll__graph.png new file mode 100644 index 0000000..8512724 Binary files /dev/null and b/docs/html/classcore_1_1_session_filter__coll__graph.png differ diff --git a/docs/html/classcore_1_1_session_filter__inherit__graph.map b/docs/html/classcore_1_1_session_filter__inherit__graph.map new file mode 100644 index 0000000..c37e30c --- /dev/null +++ b/docs/html/classcore_1_1_session_filter__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/classcore_1_1_session_filter__inherit__graph.md5 b/docs/html/classcore_1_1_session_filter__inherit__graph.md5 new file mode 100644 index 0000000..5057701 --- /dev/null +++ b/docs/html/classcore_1_1_session_filter__inherit__graph.md5 @@ -0,0 +1 @@ +202e7b44c4a5ef1bdc5cf673c0a8377c \ No newline at end of file diff --git a/docs/html/classcore_1_1_session_filter__inherit__graph.png b/docs/html/classcore_1_1_session_filter__inherit__graph.png new file mode 100644 index 0000000..8512724 Binary files /dev/null and b/docs/html/classcore_1_1_session_filter__inherit__graph.png differ diff --git a/docs/html/classcore_1_1_socket-members.html b/docs/html/classcore_1_1_socket-members.html new file mode 100644 index 0000000..1574b29 --- /dev/null +++ b/docs/html/classcore_1_1_socket-members.html @@ -0,0 +1,102 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
core::Socket Member List
+
+
+ +

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

+ + + + + + + + + + + + + + + + + + + + + + + +
bufferSize (defined in core::Socket)core::Socket
enable(bool mode)core::Socket
ePoll (defined in core::Socket)core::Socketprotected
eventReceived(struct epoll_event event)core::Socket
getDescriptor()core::Socket
name (defined in core::Object)core::Object
onConnected()core::Socketprotectedvirtual
onDataReceived(std::string data)=0core::Socketprotectedpure virtual
onRegistered()core::Socketvirtual
onTLSInit() (defined in core::Socket)core::Socketprotectedvirtual
onUnregistered()core::Socketvirtual
output(std::stringstream &out) (defined in core::Socket)core::Socket
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::Socketprotected
Socket(EPoll &ePoll) (defined in core::Socket)core::Socket
tag (defined in core::Object)core::Object
write(std::string data)core::Socket
write(char *buffer, int length) (defined in core::Socket)core::Socket
~Socket() (defined in core::Socket)core::Socket
+ + + + diff --git a/docs/html/classcore_1_1_socket.html b/docs/html/classcore_1_1_socket.html new file mode 100644 index 0000000..2d1fefc --- /dev/null +++ b/docs/html/classcore_1_1_socket.html @@ -0,0 +1,408 @@ + + + + + + + +BMA Server Framework: core::Socket Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+ +
+ +

#include <Socket.h>

+
+Inheritance diagram for core::Socket:
+
+
Inheritance graph
+ + + + + + + + + + + + + + +
[legend]
+
+Collaboration diagram for core::Socket:
+
+
Collaboration graph
+ + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

Socket (EPoll &ePoll)
 
+void setDescriptor (int descriptor)
 Set the descriptor for the socket.
 
+int getDescriptor ()
 Get the descriptor for the socket.
 
void eventReceived (struct epoll_event event)
 Parse epoll event and call specified callbacks. More...
 
void write (std::string data)
 
+void write (char *buffer, int length)
 
+void output (std::stringstream &out)
 
virtual void onRegistered ()
 Called when the socket has finished registering with the epoll processing. More...
 
virtual void onUnregistered ()
 Called when the socket has finished unregistering for the epoll processing. More...
 
+void enable (bool mode)
 Enable the socket to read or write based upon buffer.
 
+ + + + + + + + + +

+Public Attributes

+class {
bufferSize
 
- Public Attributes inherited from core::Object
+std::string name
 
+std::string tag
 
+ + + + + + + + + + + + + + + +

+Protected Member Functions

+void setBufferSize (int length)
 
virtual void onConnected ()
 Called when socket is open and ready to communicate. More...
 
+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)
 
+ + + + + +

+Protected Attributes

+EPollePoll
 
+bool shutDown = false
 
+

Detailed Description

+

Socket

+

The core component to managing a socket.

+

Hooks into the EPoll through the registration and unregistration process and provides a communication socket of the specified protocol type. This object provides for all receiving data threading through use of the EPoll object and also provides buffering for output data requests to the socket.

+

A program using a socket object can request to open a socket (file or network or whatever) and communicate through the streambuffer interface of the socket object.

+

The socket side of the Socket accepts EPOLLIN event and will maintain the data in a buffer for the stream readers to read. A onDataReceived event is then sent with the data received in the buffer that can be read through the stream.

+

When writing to the stream the data is written into a buffer and a EPOLLOUT is scheduled. Upon receiving the EPOLLOUT event then the buffer is written to the socket output.

+

Member Function Documentation

+ +

◆ eventReceived()

+ +
+
+ + + + + + + + +
void core::Socket::eventReceived (struct epoll_event event)
+
+ +

Parse epoll event and call specified callbacks.

+

The event received from epoll is sent through the eventReceived method which will parse the event and call the read and write callbacks on the socket.

+

This method is called by the BMAEPoll object and should not be called from any user extended classes unless an epoll event is being simulated.

+ +
+
+ +

◆ onConnected()

+ +
+
+ + + + + +
+ + + + + + + +
void core::Socket::onConnected ()
+
+protectedvirtual
+
+ +

Called when socket is open and ready to communicate.

+

The onConnected method is called when the socket is ready to communicate. Writing to the socket can begin on this call to initiate a contact with the remote device.

+ +

Reimplemented in core::Session.

+ +
+
+ +

◆ onDataReceived()

+ +
+
+ + + + + +
+ + + + + + + + +
virtual void core::Socket::onDataReceived (std::string data)
+
+protectedpure virtual
+
+ +

Called when data is received from the socket.

+

The onDataReceived method is called when the socket has received an event from epoll and there is data ready to be read from the socket. The default handler will pull the data and put it into the streambuf for the socket. EPOLLIN

+
Parameters
+ + +
datathe data that has been received from the socket.
+
+
+ +

Implemented in core::TCPServerSocket, core::Session, and core::UDPServerSocket.

+ +
+
+ +

◆ onRegistered()

+ +
+
+ + + + + +
+ + + + + + + +
void core::Socket::onRegistered ()
+
+virtual
+
+ +

Called when the socket has finished registering with the epoll processing.

+

The onRegistered method is called whenever the socket is registered with ePoll and socket communcation events can be started.

+ +
+
+ +

◆ onUnregistered()

+ +
+
+ + + + + +
+ + + + + + + +
void core::Socket::onUnregistered ()
+
+virtual
+
+ +

Called when the socket has finished unregistering for the epoll processing.

+

The onUnregistered method is called whenever the socket is unregistered with ePoll and socket communcation events will be stopped. The default method will close the socket and clean up the connection. If this is overridden by an extended object then the object should call this method to clean the socket up.

+ +
+
+ +

◆ receiveData()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void core::Socket::receiveData (char * buffer,
int bufferLength 
)
+
+protectedvirtual
+
+

receiveData will read the data from the socket and place it in the socket buffer. TLS layer overrides this to be able to read from SSL.

+ +

Reimplemented in core::TLSSession.

+ +
+
+ +

◆ write()

+ +
+
+ + + + + + + + +
void core::Socket::write (std::string data)
+
+

Write data to the socket.

+ +
+
+
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
  • +
+
+ + + + diff --git a/docs/html/classcore_1_1_socket__coll__graph.map b/docs/html/classcore_1_1_socket__coll__graph.map new file mode 100644 index 0000000..4cc8728 --- /dev/null +++ b/docs/html/classcore_1_1_socket__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/html/classcore_1_1_socket__coll__graph.md5 b/docs/html/classcore_1_1_socket__coll__graph.md5 new file mode 100644 index 0000000..4d431e5 --- /dev/null +++ b/docs/html/classcore_1_1_socket__coll__graph.md5 @@ -0,0 +1 @@ +cfdb6d9e4804ba41c584ec0de80f66e9 \ No newline at end of file diff --git a/docs/html/classcore_1_1_socket__coll__graph.png b/docs/html/classcore_1_1_socket__coll__graph.png new file mode 100644 index 0000000..9387bee Binary files /dev/null and b/docs/html/classcore_1_1_socket__coll__graph.png differ diff --git a/docs/html/classcore_1_1_socket__inherit__graph.map b/docs/html/classcore_1_1_socket__inherit__graph.map new file mode 100644 index 0000000..0177cdc --- /dev/null +++ b/docs/html/classcore_1_1_socket__inherit__graph.map @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/docs/html/classcore_1_1_socket__inherit__graph.md5 b/docs/html/classcore_1_1_socket__inherit__graph.md5 new file mode 100644 index 0000000..d5e1312 --- /dev/null +++ b/docs/html/classcore_1_1_socket__inherit__graph.md5 @@ -0,0 +1 @@ +66d4adeb9eb3bef8f9f82c808fd547f4 \ No newline at end of file diff --git a/docs/html/classcore_1_1_socket__inherit__graph.png b/docs/html/classcore_1_1_socket__inherit__graph.png new file mode 100644 index 0000000..0da9eda Binary files /dev/null and b/docs/html/classcore_1_1_socket__inherit__graph.png differ 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 new file mode 100644 index 0000000..ec94b3d --- /dev/null +++ b/docs/html/classcore_1_1_t_c_p_server_socket-members.html @@ -0,0 +1,119 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
core::TCPServerSocket Member List
+
+
+ +

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

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bufferSize (defined in core::Socket)core::Socket
check(std::string request)core::Commandvirtual
commands (defined in core::TCPServerSocket)core::TCPServerSocket
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()=0core::TCPServerSocketprotectedpure virtual
init() (defined in core::TCPServerSocket)core::TCPServerSocketprotectedvirtual
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
core::output(std::stringstream &out)core::TCPSocketvirtual
core::Command::output(Session *session)core::Commandvirtual
processCommand(std::string command, Session *session) overridecore::TCPServerSocketprotectedvirtual
receiveData(char *buffer, int bufferLength)core::Socketprotectedvirtual
removeFromSessionList(Session *session) (defined in core::TCPServerSocket)core::TCPServerSocket
sessionscore::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
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, std::string url, short int port)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
+ + + + diff --git a/docs/html/classcore_1_1_t_c_p_server_socket.html b/docs/html/classcore_1_1_t_c_p_server_socket.html new file mode 100644 index 0000000..b4d2559 --- /dev/null +++ b/docs/html/classcore_1_1_t_c_p_server_socket.html @@ -0,0 +1,434 @@ + + + + + + + +BMA Server Framework: core::TCPServerSocket Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
core::TCPServerSocket Class Referenceabstract
+
+
+ +

#include <TCPServerSocket.h>

+
+Inheritance diagram for core::TCPServerSocket:
+
+
Inheritance graph
+ + + + + + + + +
[legend]
+
+Collaboration diagram for core::TCPServerSocket:
+
+
Collaboration graph
+ + + + + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 TCPServerSocket (EPoll &ePoll, std::string url, short int port)
 
 ~TCPServerSocket ()
 
+void removeFromSessionList (Session *session)
 
- Public Member Functions inherited from core::TCPSocket
TCPSocket (EPoll &ePoll)
 
+void connect (IPAddress &address)
 
virtual void output (std::stringstream &out)
 
- Public Member Functions inherited from core::Socket
Socket (EPoll &ePoll)
 
+void setDescriptor (int descriptor)
 Set the descriptor for the socket.
 
+int getDescriptor ()
 Get the descriptor for the socket.
 
void eventReceived (struct epoll_event event)
 Parse epoll event and call specified callbacks. More...
 
void write (std::string data)
 
+void write (char *buffer, int length)
 
+void output (std::stringstream &out)
 
virtual void onRegistered ()
 Called when the socket has finished registering with the epoll processing. More...
 
virtual void onUnregistered ()
 Called when the socket has finished unregistering for the epoll processing. More...
 
+void enable (bool mode)
 Enable the socket to read or write based upon buffer.
 
- 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 ()
 
+ + + + + + + + + + + + + + + + + +

+Public Attributes

std::vector< Session * > sessions
 
+CommandList commands
 
- Public Attributes inherited from core::TCPSocket
+IPAddress ipAddress
 
- Public Attributes inherited from core::Socket
+class {
bufferSize
 
- Public Attributes inherited from core::Object
+std::string name
 
+std::string tag
 
+ + + + + + + + + + + + + + + + + + + + + +

+Protected Member Functions

+virtual void init ()
 
virtual SessiongetSocketAccept ()=0
 
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)
 
+ + + + + + +

+Additional Inherited Members

- Protected Attributes inherited from core::Socket
+EPollePoll
 
+bool shutDown = false
 
+

Detailed Description

+

TCPServerSocket

+

Manage a socket connection as a TCP server type. Connections to the socket are processed through the accept functionality.

+

A list of connections is maintained in a vector object.

+

This object extends the BMACommand object as well so it can be added to a Console object and process commands to display status information.

+

Constructor & Destructor Documentation

+ +

◆ TCPServerSocket()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
core::TCPServerSocket::TCPServerSocket (EPollePoll,
std::string url,
short int port 
)
+
+

The constructor for the BMATCPSocket object.

+
Parameters
+ + + + + +
ePollthe EPoll instance that manages the socket.
urlthe IP address for the socket to receive connection requests.
portthe port number that the socket will listen on.
commandNamethe name of the command used to invoke the status display for this object.
+
+
+
Returns
the instance of the BMATCPServerSocket.
+ +
+
+ +

◆ ~TCPServerSocket()

+ +
+
+ + + + + + + +
core::TCPServerSocket::~TCPServerSocket ()
+
+

The destructor for this object.

+ +
+
+

Member Function Documentation

+ +

◆ getSocketAccept()

+ +
+
+ + + + + +
+ + + + + + + +
virtual Session* core::TCPServerSocket::getSocketAccept ()
+
+protectedpure 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 BMASession provides the mechanism where the server can select the protocol dialog for the desired service.

+ +

Implemented in core::TLSServerSocket, and core::ConsoleServer.

+ +
+
+ +

◆ onDataReceived()

+ +
+
+ + + + + +
+ + + + + + + + +
void core::TCPServerSocket::onDataReceived (std::string data)
+
+overrideprotectedvirtual
+
+

Override the virtual dataReceived since for the server these are requests to accept the new connection socket. No data is to be read or written when this method is called. It is the response to the fact that a new connection is coming into the system

+
Parameters
+ + + +
datathe pointer to the buffer containing the received data.
lengththe length of the associated data buffer.
+
+
+ +

Implements core::Socket.

+ +
+
+ +

◆ processCommand()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
int core::TCPServerSocket::processCommand (std::string command,
Sessionsession 
)
+
+overrideprotectedvirtual
+
+

This method is called when the Command associated with this object is requested because a user has typed in the associated command name on a command entry line.

+
Parameters
+ + +
thesession object to write the output to.
+
+
+ +

Implements core::Command.

+ +
+
+

Member Data Documentation

+ +

◆ sessions

+ +
+
+ + + + +
std::vector<Session *> core::TCPServerSocket::sessions
+
+

The list of sessions that are currently open and being maintained by this object.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Development/BMA/server_core/ServerCore/TCPServerSocket.h
  • +
  • /home/barant/Development/BMA/server_core/ServerCore/TCPServerSocket.cpp
  • +
+
+ + + + diff --git a/docs/html/classcore_1_1_t_c_p_server_socket__coll__graph.map b/docs/html/classcore_1_1_t_c_p_server_socket__coll__graph.map new file mode 100644 index 0000000..a8550c8 --- /dev/null +++ b/docs/html/classcore_1_1_t_c_p_server_socket__coll__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/html/classcore_1_1_t_c_p_server_socket__coll__graph.md5 b/docs/html/classcore_1_1_t_c_p_server_socket__coll__graph.md5 new file mode 100644 index 0000000..6e4886e --- /dev/null +++ b/docs/html/classcore_1_1_t_c_p_server_socket__coll__graph.md5 @@ -0,0 +1 @@ +4ea7dbc2fdd0c8c7db2147d7d48c25d6 \ No newline at end of file diff --git a/docs/html/classcore_1_1_t_c_p_server_socket__coll__graph.png b/docs/html/classcore_1_1_t_c_p_server_socket__coll__graph.png new file mode 100644 index 0000000..f7c231f Binary files /dev/null and b/docs/html/classcore_1_1_t_c_p_server_socket__coll__graph.png differ diff --git a/docs/html/classcore_1_1_t_c_p_server_socket__inherit__graph.map b/docs/html/classcore_1_1_t_c_p_server_socket__inherit__graph.map new file mode 100644 index 0000000..3779d2a --- /dev/null +++ b/docs/html/classcore_1_1_t_c_p_server_socket__inherit__graph.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/html/classcore_1_1_t_c_p_server_socket__inherit__graph.md5 b/docs/html/classcore_1_1_t_c_p_server_socket__inherit__graph.md5 new file mode 100644 index 0000000..9d3c2fd --- /dev/null +++ b/docs/html/classcore_1_1_t_c_p_server_socket__inherit__graph.md5 @@ -0,0 +1 @@ +4d04881abd5618202daed405e74c16e1 \ No newline at end of file diff --git a/docs/html/classcore_1_1_t_c_p_server_socket__inherit__graph.png b/docs/html/classcore_1_1_t_c_p_server_socket__inherit__graph.png new file mode 100644 index 0000000..c5a20b2 Binary files /dev/null and b/docs/html/classcore_1_1_t_c_p_server_socket__inherit__graph.png differ diff --git a/docs/html/classcore_1_1_t_c_p_socket-members.html b/docs/html/classcore_1_1_t_c_p_socket-members.html new file mode 100644 index 0000000..f69920e --- /dev/null +++ b/docs/html/classcore_1_1_t_c_p_socket-members.html @@ -0,0 +1,106 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
core::TCPSocket Member List
+
+
+ +

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

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
bufferSize (defined in core::Socket)core::Socket
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
ipAddress (defined in core::TCPSocket)core::TCPSocket
name (defined in core::Object)core::Object
onConnected()core::Socketprotectedvirtual
onDataReceived(std::string data)=0core::Socketprotectedpure virtual
onRegistered()core::Socketvirtual
onTLSInit() (defined in core::Socket)core::Socketprotectedvirtual
onUnregistered()core::Socketvirtual
output(std::stringstream &out)core::TCPSocketvirtual
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::Socketprotected
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
write(std::string data)core::Socket
write(char *buffer, int length) (defined in core::Socket)core::Socket
~Socket() (defined in core::Socket)core::Socket
~TCPSocket() (defined in core::TCPSocket)core::TCPSocket
+ + + + diff --git a/docs/html/classcore_1_1_t_c_p_socket.html b/docs/html/classcore_1_1_t_c_p_socket.html new file mode 100644 index 0000000..709d53b --- /dev/null +++ b/docs/html/classcore_1_1_t_c_p_socket.html @@ -0,0 +1,240 @@ + + + + + + + +BMA Server Framework: core::TCPSocket Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
core::TCPSocket Class Reference
+
+
+ +

#include <TCPSocket.h>

+
+Inheritance diagram for core::TCPSocket:
+
+
Inheritance graph
+ + + + + + + + + + + +
[legend]
+
+Collaboration diagram for core::TCPSocket:
+
+
Collaboration graph
+ + + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

TCPSocket (EPoll &ePoll)
 
+void connect (IPAddress &address)
 
virtual void output (std::stringstream &out)
 
- Public Member Functions inherited from core::Socket
Socket (EPoll &ePoll)
 
+void setDescriptor (int descriptor)
 Set the descriptor for the socket.
 
+int getDescriptor ()
 Get the descriptor for the socket.
 
void eventReceived (struct epoll_event event)
 Parse epoll event and call specified callbacks. More...
 
void write (std::string data)
 
+void write (char *buffer, int length)
 
+void output (std::stringstream &out)
 
virtual void onRegistered ()
 Called when the socket has finished registering with the epoll processing. More...
 
virtual void onUnregistered ()
 Called when the socket has finished unregistering for the epoll processing. More...
 
+void enable (bool mode)
 Enable the socket to read or write based upon buffer.
 
+ + + + + + + + + + + + +

+Public Attributes

+IPAddress ipAddress
 
- Public Attributes inherited from core::Socket
+class {
bufferSize
 
- Public Attributes inherited from core::Object
+std::string name
 
+std::string tag
 
+ + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- 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 onDataReceived (std::string data)=0
 Called when data is received from the socket. More...
 
+void shutdown ()
 
virtual void receiveData (char *buffer, int bufferLength)
 
- Protected Attributes inherited from core::Socket
+EPollePoll
 
+bool shutDown = false
 
+

Detailed Description

+

TCPSocket

+

Provides a network TCP socket.

+

For accessing TCP network functions use this object. The connection oriented nature of TCP provides a single client persistent connection with data error correction and a durable synchronous data connection.

+

Member Function Documentation

+ +

◆ output()

+ +
+
+ + + + + +
+ + + + + + + + +
void core::TCPSocket::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 in core::TLSSession, and core::ConsoleSession.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Development/BMA/server_core/ServerCore/TCPSocket.h
  • +
  • /home/barant/Development/BMA/server_core/ServerCore/TCPSocket.cpp
  • +
+
+ + + + diff --git a/docs/html/classcore_1_1_t_c_p_socket__coll__graph.map b/docs/html/classcore_1_1_t_c_p_socket__coll__graph.map new file mode 100644 index 0000000..2218e44 --- /dev/null +++ b/docs/html/classcore_1_1_t_c_p_socket__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/html/classcore_1_1_t_c_p_socket__coll__graph.md5 b/docs/html/classcore_1_1_t_c_p_socket__coll__graph.md5 new file mode 100644 index 0000000..31c7dd4 --- /dev/null +++ b/docs/html/classcore_1_1_t_c_p_socket__coll__graph.md5 @@ -0,0 +1 @@ +e572fa0263f9b6d26b0c97a9da58e008 \ No newline at end of file diff --git a/docs/html/classcore_1_1_t_c_p_socket__coll__graph.png b/docs/html/classcore_1_1_t_c_p_socket__coll__graph.png new file mode 100644 index 0000000..6eddb9c Binary files /dev/null and b/docs/html/classcore_1_1_t_c_p_socket__coll__graph.png differ diff --git a/docs/html/classcore_1_1_t_c_p_socket__inherit__graph.map b/docs/html/classcore_1_1_t_c_p_socket__inherit__graph.map new file mode 100644 index 0000000..bdb3198 --- /dev/null +++ b/docs/html/classcore_1_1_t_c_p_socket__inherit__graph.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/html/classcore_1_1_t_c_p_socket__inherit__graph.md5 b/docs/html/classcore_1_1_t_c_p_socket__inherit__graph.md5 new file mode 100644 index 0000000..3503650 --- /dev/null +++ b/docs/html/classcore_1_1_t_c_p_socket__inherit__graph.md5 @@ -0,0 +1 @@ +5d973756479eeb04fbdcee2d968312d5 \ No newline at end of file diff --git a/docs/html/classcore_1_1_t_c_p_socket__inherit__graph.png b/docs/html/classcore_1_1_t_c_p_socket__inherit__graph.png new file mode 100644 index 0000000..cbd825a Binary files /dev/null and b/docs/html/classcore_1_1_t_c_p_socket__inherit__graph.png differ diff --git a/docs/html/classcore_1_1_t_l_s_server_socket-members.html b/docs/html/classcore_1_1_t_l_s_server_socket-members.html new file mode 100644 index 0000000..53b77ca --- /dev/null +++ b/docs/html/classcore_1_1_t_l_s_server_socket-members.html @@ -0,0 +1,122 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
core::TLSServerSocket Member List
+
+
+ +

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

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bufferSize (defined in core::Socket)core::Socket
check(std::string request)core::Commandvirtual
commands (defined in core::TCPServerSocket)core::TCPServerSocket
connect(IPAddress &address) (defined in core::TCPSocket)core::TCPSocket
ctx (defined in core::TLSServerSocket)core::TLSServerSocket
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::TLSServerSocketprotectedvirtual
init() (defined in core::TCPServerSocket)core::TCPServerSocketprotectedvirtual
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
core::output(std::stringstream &out)core::TCPSocketvirtual
core::Command::output(Session *session)core::Commandvirtual
processCommand(std::string command, Session *session) overridecore::TCPServerSocketprotectedvirtual
receiveData(char *buffer, int bufferLength)core::Socketprotectedvirtual
removeFromSessionList(Session *session) (defined in core::TCPServerSocket)core::TCPServerSocket
sessionscore::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
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, std::string url, short int port)core::TCPServerSocket
TCPSocket(EPoll &ePoll) (defined in core::TCPSocket)core::TCPSocket
TLSServerSocket(EPoll &ePoll, std::string url, short int port)core::TLSServerSocket
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
~TLSServerSocket()core::TLSServerSocket
+ + + + diff --git a/docs/html/classcore_1_1_t_l_s_server_socket.html b/docs/html/classcore_1_1_t_l_s_server_socket.html new file mode 100644 index 0000000..78c8789 --- /dev/null +++ b/docs/html/classcore_1_1_t_l_s_server_socket.html @@ -0,0 +1,345 @@ + + + + + + + +BMA Server Framework: core::TLSServerSocket Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
core::TLSServerSocket Class Reference
+
+
+ +

#include <TLSServerSocket.h>

+
+Inheritance diagram for core::TLSServerSocket:
+
+
Inheritance graph
+ + + + + + + +
[legend]
+
+Collaboration diagram for core::TLSServerSocket:
+
+
Collaboration graph
+ + + + + + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 TLSServerSocket (EPoll &ePoll, std::string url, short int port)
 
 ~TLSServerSocket ()
 
- Public Member Functions inherited from core::TCPServerSocket
 TCPServerSocket (EPoll &ePoll, std::string url, short int port)
 
 ~TCPServerSocket ()
 
+void removeFromSessionList (Session *session)
 
- Public Member Functions inherited from core::TCPSocket
TCPSocket (EPoll &ePoll)
 
+void connect (IPAddress &address)
 
virtual void output (std::stringstream &out)
 
- Public Member Functions inherited from core::Socket
Socket (EPoll &ePoll)
 
+void setDescriptor (int descriptor)
 Set the descriptor for the socket.
 
+int getDescriptor ()
 Get the descriptor for the socket.
 
void eventReceived (struct epoll_event event)
 Parse epoll event and call specified callbacks. More...
 
void write (std::string data)
 
+void write (char *buffer, int length)
 
+void output (std::stringstream &out)
 
virtual void onRegistered ()
 Called when the socket has finished registering with the epoll processing. More...
 
virtual void onUnregistered ()
 Called when the socket has finished unregistering for the epoll processing. More...
 
+void enable (bool mode)
 Enable the socket to read or write based upon buffer.
 
- 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 ()
 
+ + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+SSL_CTX * ctx
 
- Public Attributes inherited from core::TCPServerSocket
std::vector< Session * > sessions
 
+CommandList commands
 
- Public Attributes inherited from core::TCPSocket
+IPAddress ipAddress
 
- Public Attributes inherited from core::Socket
+class {
bufferSize
 
- Public Attributes inherited from core::Object
+std::string name
 
+std::string tag
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Protected Member Functions

SessiongetSocketAccept () override
 
- Protected Member Functions inherited from core::TCPServerSocket
+virtual void init ()
 
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)
 
+ + + + + + +

+Additional Inherited Members

- Protected Attributes inherited from core::Socket
+EPollePoll
 
+bool shutDown = false
 
+

Detailed Description

+

TLSServerSocket

+

Manage a socket connection as a TLS server type. Connections to the socket are processed through the accept functionality.

+

Constructor & Destructor Documentation

+ +

◆ TLSServerSocket()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
core::TLSServerSocket::TLSServerSocket (EPollePoll,
std::string url,
short int port 
)
+
+

The constructor for the BMATLSSocket object.

+
Parameters
+ + + + + +
ePollthe BMAEPoll instance that manages the socket.
urlthe IP address for the socket to receive connection requests.
portthe port number that the socket will listen on.
commandNamethe name of the command used to invoke the status display for this object.
+
+
+
Returns
the instance of the BMATLSServerSocket.
+ +
+
+ +

◆ ~TLSServerSocket()

+ +
+
+ + + + + + + +
core::TLSServerSocket::~TLSServerSocket ()
+
+

The destructor for this object.

+ +
+
+

Member Function Documentation

+ +

◆ getSocketAccept()

+ +
+
+ + + + + +
+ + + + + + + +
Session * core::TLSServerSocket::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.

+ +

Implements core::TCPServerSocket.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Development/BMA/server_core/ServerCore/TLSServerSocket.h
  • +
  • /home/barant/Development/BMA/server_core/ServerCore/TLSServerSocket.cpp
  • +
+
+ + + + diff --git a/docs/html/classcore_1_1_t_l_s_server_socket__coll__graph.map b/docs/html/classcore_1_1_t_l_s_server_socket__coll__graph.map new file mode 100644 index 0000000..b3fba05 --- /dev/null +++ b/docs/html/classcore_1_1_t_l_s_server_socket__coll__graph.map @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/docs/html/classcore_1_1_t_l_s_server_socket__coll__graph.md5 b/docs/html/classcore_1_1_t_l_s_server_socket__coll__graph.md5 new file mode 100644 index 0000000..0919ae1 --- /dev/null +++ b/docs/html/classcore_1_1_t_l_s_server_socket__coll__graph.md5 @@ -0,0 +1 @@ +4bb0603a9c2372e640f6e08b9297e8b8 \ No newline at end of file diff --git a/docs/html/classcore_1_1_t_l_s_server_socket__coll__graph.png b/docs/html/classcore_1_1_t_l_s_server_socket__coll__graph.png new file mode 100644 index 0000000..763d02a Binary files /dev/null and b/docs/html/classcore_1_1_t_l_s_server_socket__coll__graph.png differ diff --git a/docs/html/classcore_1_1_t_l_s_server_socket__inherit__graph.map b/docs/html/classcore_1_1_t_l_s_server_socket__inherit__graph.map new file mode 100644 index 0000000..fd19865 --- /dev/null +++ b/docs/html/classcore_1_1_t_l_s_server_socket__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/html/classcore_1_1_t_l_s_server_socket__inherit__graph.md5 b/docs/html/classcore_1_1_t_l_s_server_socket__inherit__graph.md5 new file mode 100644 index 0000000..fb0f944 --- /dev/null +++ b/docs/html/classcore_1_1_t_l_s_server_socket__inherit__graph.md5 @@ -0,0 +1 @@ +50286016a409997c54df87e72984413d \ No newline at end of file diff --git a/docs/html/classcore_1_1_t_l_s_server_socket__inherit__graph.png b/docs/html/classcore_1_1_t_l_s_server_socket__inherit__graph.png new file mode 100644 index 0000000..148820d Binary files /dev/null and b/docs/html/classcore_1_1_t_l_s_server_socket__inherit__graph.png differ diff --git a/docs/html/classcore_1_1_t_l_s_session-members.html b/docs/html/classcore_1_1_t_l_s_session-members.html new file mode 100644 index 0000000..140569f --- /dev/null +++ b/docs/html/classcore_1_1_t_l_s_session-members.html @@ -0,0 +1,118 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
core::TLSSession Member List
+
+
+ +

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

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bufferSize (defined in core::Socket)core::Socket
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
getServer() (defined in core::Session)core::Session
init() override (defined in core::TLSSession)core::TLSSessionprotectedvirtual
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 &out)core::TLSSessionvirtual
output(Session *session) (defined in core::Session)core::Sessionvirtual
protocol(std::string data) override (defined in core::TLSSession)core::TLSSessionvirtual
receiveData(char *buffer, int bufferLength) overridecore::TLSSessionprotectedvirtual
send()core::Session
sendToAll()core::Session
sendToAll(SessionFilter *filter)core::Session
Session(EPoll &ePoll, TCPServerSocket &server) (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::Socketprotected
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
TLSSession(EPoll &ePoll, TLSServerSocket &server) (defined in core::TLSSession)core::TLSSession
write(std::string data)core::Socket
write(char *buffer, int length) (defined in core::Socket)core::Socket
~Session() (defined in core::Session)core::Session
~Socket() (defined in core::Socket)core::Socket
~TCPSocket() (defined in core::TCPSocket)core::TCPSocket
~TLSSession() (defined in core::TLSSession)core::TLSSession
+ + + + diff --git a/docs/html/classcore_1_1_t_l_s_session.html b/docs/html/classcore_1_1_t_l_s_session.html new file mode 100644 index 0000000..364d643 --- /dev/null +++ b/docs/html/classcore_1_1_t_l_s_session.html @@ -0,0 +1,313 @@ + + + + + + + +BMA Server Framework: core::TLSSession Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
core::TLSSession Class Reference
+
+
+ +

#include <TLSSession.h>

+
+Inheritance diagram for core::TLSSession:
+
+
Inheritance graph
+ + + + + + +
[legend]
+
+Collaboration diagram for core::TLSSession:
+
+
Collaboration graph
+ + + + + + + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

TLSSession (EPoll &ePoll, TLSServerSocket &server)
 
virtual void output (std::stringstream &out)
 
+virtual void protocol (std::string data) override
 
- Public Member Functions inherited from core::Session
Session (EPoll &ePoll, TCPServerSocket &server)
 
+virtual void output (Session *session)
 
void send ()
 
void sendToAll ()
 
void sendToAll (SessionFilter *filter)
 
+TCPServerSocketgetServer ()
 
- Public Member Functions inherited from core::TCPSocket
TCPSocket (EPoll &ePoll)
 
+void connect (IPAddress &address)
 
- Public Member Functions inherited from core::Socket
Socket (EPoll &ePoll)
 
+void setDescriptor (int descriptor)
 Set the descriptor for the socket.
 
+int getDescriptor ()
 Get the descriptor for the socket.
 
void eventReceived (struct epoll_event event)
 Parse epoll event and call specified callbacks. More...
 
void write (std::string data)
 
+void write (char *buffer, int length)
 
+void output (std::stringstream &out)
 
virtual void onRegistered ()
 Called when the socket has finished registering with the epoll processing. More...
 
virtual void onUnregistered ()
 Called when the socket has finished unregistering for the epoll processing. More...
 
+void enable (bool mode)
 Enable the socket to read or write based upon buffer.
 
+ + + + + + + + + + + + + + + + + + + +

+Protected Member Functions

+void init () override
 
void receiveData (char *buffer, int bufferLength) override
 
- Protected Member Functions inherited from core::Session
void onDataReceived (std::string data) override
 Called when data is received from the socket. More...
 
void onConnected () override
 Called when socket is open and ready to communicate. More...
 
- Protected Member Functions inherited from core::Socket
+void setBufferSize (int length)
 
+virtual void onTLSInit ()
 
+void shutdown ()
 
+ + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Attributes inherited from core::Session
+std::stringstream out
 
+TCPServerSocketserver
 
- Public Attributes inherited from core::TCPSocket
+IPAddress ipAddress
 
- Public Attributes inherited from core::Socket
+class {
bufferSize
 
- Public Attributes inherited from core::Object
+std::string name
 
+std::string tag
 
- Protected Attributes inherited from core::Socket
+EPollePoll
 
+bool shutDown = false
 
+

Detailed Description

+

TLSSession

+

Provides a network TLS socket.

+

For accessing TLS network functions use this object. The connection oriented nature of TLS provides a single client persistent connection with data error correction and a durable synchronous data connection.

+

Member Function Documentation

+ +

◆ output()

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

The output method is called by a socket session (Session) and will output the detail information for the client socket. When extending TLSSocket or Session you can override the method to add attributes to the list.

+ +

Reimplemented from core::TCPSocket.

+ +
+
+ +

◆ receiveData()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void core::TLSSession::receiveData (char * buffer,
int bufferLength 
)
+
+overrideprotectedvirtual
+
+

receiveData will read the data from the socket and place it in the socket buffer. TLS layer overrides this to be able to read from SSL.

+ +

Reimplemented from core::Socket.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Development/BMA/server_core/ServerCore/TLSSession.h
  • +
  • /home/barant/Development/BMA/server_core/ServerCore/TLSSession.cpp
  • +
+
+ + + + diff --git a/docs/html/classcore_1_1_t_l_s_session__coll__graph.map b/docs/html/classcore_1_1_t_l_s_session__coll__graph.map new file mode 100644 index 0000000..58fd25f --- /dev/null +++ b/docs/html/classcore_1_1_t_l_s_session__coll__graph.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/html/classcore_1_1_t_l_s_session__coll__graph.md5 b/docs/html/classcore_1_1_t_l_s_session__coll__graph.md5 new file mode 100644 index 0000000..7de8cff --- /dev/null +++ b/docs/html/classcore_1_1_t_l_s_session__coll__graph.md5 @@ -0,0 +1 @@ +7e6af5d0a46680aeb053aa4faaba3eed \ No newline at end of file diff --git a/docs/html/classcore_1_1_t_l_s_session__coll__graph.png b/docs/html/classcore_1_1_t_l_s_session__coll__graph.png new file mode 100644 index 0000000..a74372b Binary files /dev/null and b/docs/html/classcore_1_1_t_l_s_session__coll__graph.png differ diff --git a/docs/html/classcore_1_1_t_l_s_session__inherit__graph.map b/docs/html/classcore_1_1_t_l_s_session__inherit__graph.map new file mode 100644 index 0000000..6109627 --- /dev/null +++ b/docs/html/classcore_1_1_t_l_s_session__inherit__graph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/html/classcore_1_1_t_l_s_session__inherit__graph.md5 b/docs/html/classcore_1_1_t_l_s_session__inherit__graph.md5 new file mode 100644 index 0000000..5f78777 --- /dev/null +++ b/docs/html/classcore_1_1_t_l_s_session__inherit__graph.md5 @@ -0,0 +1 @@ +a6669cd9329960089e90cf5aab71de6b \ No newline at end of file diff --git a/docs/html/classcore_1_1_t_l_s_session__inherit__graph.png b/docs/html/classcore_1_1_t_l_s_session__inherit__graph.png new file mode 100644 index 0000000..b95147b Binary files /dev/null and b/docs/html/classcore_1_1_t_l_s_session__inherit__graph.png differ diff --git a/docs/html/classcore_1_1_terminal-members.html b/docs/html/classcore_1_1_terminal-members.html new file mode 100644 index 0000000..c691f62 --- /dev/null +++ b/docs/html/classcore_1_1_terminal-members.html @@ -0,0 +1,130 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
core::Terminal Member List
+
+
+ +

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

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bufferSize (defined in core::Socket)core::Socket
clear() (defined in core::Terminal)core::Terminal
clearEOL() (defined in core::Terminal)core::Terminal
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
getLines() (defined in core::Terminal)core::Terminal
getServer() (defined in core::Session)core::Session
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::Terminal)core::Terminal
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
PreviousLine(int lines) (defined in core::Terminal)core::Terminal
protocol(std::string data)=0 (defined in core::Session)core::Sessionprotectedpure virtual
receiveData(char *buffer, int bufferLength)core::Socketprotectedvirtual
restoreCursor() (defined in core::Terminal)core::Terminal
saveCursor() (defined in core::Terminal)core::Terminal
scrollArea(int start, int end) (defined in core::Terminal)core::Terminal
send()core::Session
sendToAll()core::Session
sendToAll(SessionFilter *filter)core::Session
server (defined in core::Session)core::Session
Session(EPoll &ePoll, TCPServerSocket &server) (defined in core::Session)core::Session
setBackColor(int color) (defined in core::Terminal)core::Terminal
setBufferSize(int length) (defined in core::Socket)core::Socketprotected
setColor(int color) (defined in core::Terminal)core::Terminal
setCursorLocation(int x, int y) (defined in core::Terminal)core::Terminal
setDescriptor(int descriptor)core::Socket
shutDown (defined in core::Socket)core::Socketprotected
shutdown() (defined in core::Socket)core::Socketprotected
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
Terminal(EPoll &ePoll, TCPServerSocket &server) (defined in core::Terminal)core::Terminal
write(std::string data)core::Socket
write(char *buffer, int length) (defined in core::Socket)core::Socket
~Session() (defined in core::Session)core::Session
~Socket() (defined in core::Socket)core::Socket
~TCPSocket() (defined in core::TCPSocket)core::TCPSocket
~Terminal() (defined in core::Terminal)core::Terminal
+ + + + diff --git a/docs/html/classcore_1_1_terminal.html b/docs/html/classcore_1_1_terminal.html new file mode 100644 index 0000000..6e0ab4d --- /dev/null +++ b/docs/html/classcore_1_1_terminal.html @@ -0,0 +1,267 @@ + + + + + + + +BMA Server Framework: core::Terminal Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
core::Terminal Class Reference
+
+
+
+Inheritance diagram for core::Terminal:
+
+
Inheritance graph
+ + + + + + + +
[legend]
+
+Collaboration diagram for core::Terminal:
+
+
Collaboration graph
+ + + + + + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

Terminal (EPoll &ePoll, TCPServerSocket &server)
 
+int getLines ()
 
+void clear ()
 
+void clearEOL ()
 
+void setCursorLocation (int x, int y)
 
+void setColor (int color)
 
+void setBackColor (int color)
 
+void saveCursor ()
 
+void restoreCursor ()
 
+void NextLine (int lines)
 
+void PreviousLine (int lines)
 
+void scrollArea (int start, int end)
 
- Public Member Functions inherited from core::Session
Session (EPoll &ePoll, TCPServerSocket &server)
 
+virtual void init ()
 
+virtual void output (Session *session)
 
void send ()
 
void sendToAll ()
 
void sendToAll (SessionFilter *filter)
 
+TCPServerSocketgetServer ()
 
- Public Member Functions inherited from core::TCPSocket
TCPSocket (EPoll &ePoll)
 
+void connect (IPAddress &address)
 
virtual void output (std::stringstream &out)
 
- Public Member Functions inherited from core::Socket
Socket (EPoll &ePoll)
 
+void setDescriptor (int descriptor)
 Set the descriptor for the socket.
 
+int getDescriptor ()
 Get the descriptor for the socket.
 
void eventReceived (struct epoll_event event)
 Parse epoll event and call specified callbacks. More...
 
void write (std::string data)
 
+void write (char *buffer, int length)
 
+void output (std::stringstream &out)
 
virtual void onRegistered ()
 Called when the socket has finished registering with the epoll processing. More...
 
virtual void onUnregistered ()
 Called when the socket has finished unregistering for the epoll processing. More...
 
+void enable (bool mode)
 Enable the socket to read or write based upon buffer.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Attributes inherited from core::Session
+std::stringstream out
 
+TCPServerSocketserver
 
- Public Attributes inherited from core::TCPSocket
+IPAddress ipAddress
 
- Public Attributes inherited from core::Socket
+class {
bufferSize
 
- Public Attributes inherited from core::Object
+std::string name
 
+std::string tag
 
- Protected Member Functions inherited from core::Session
void onDataReceived (std::string data) override
 Called when data is received from the socket. More...
 
void onConnected () override
 Called when socket is open and ready to communicate. More...
 
+virtual void protocol (std::string data)=0
 
- Protected Member Functions inherited from core::Socket
+void setBufferSize (int length)
 
+virtual void onTLSInit ()
 
+void shutdown ()
 
virtual void receiveData (char *buffer, int bufferLength)
 
- Protected Attributes inherited from core::Socket
+EPollePoll
 
+bool shutDown = false
 
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Development/BMA/server_core/ServerCore/Terminal.h
  • +
  • /home/barant/Development/BMA/server_core/ServerCore/Terminal.cpp
  • +
+
+ + + + diff --git a/docs/html/classcore_1_1_terminal__coll__graph.map b/docs/html/classcore_1_1_terminal__coll__graph.map new file mode 100644 index 0000000..22aa5e3 --- /dev/null +++ b/docs/html/classcore_1_1_terminal__coll__graph.map @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/docs/html/classcore_1_1_terminal__coll__graph.md5 b/docs/html/classcore_1_1_terminal__coll__graph.md5 new file mode 100644 index 0000000..47afbf4 --- /dev/null +++ b/docs/html/classcore_1_1_terminal__coll__graph.md5 @@ -0,0 +1 @@ +27fd8cdf733333c6dea62a202d3bc123 \ No newline at end of file diff --git a/docs/html/classcore_1_1_terminal__coll__graph.png b/docs/html/classcore_1_1_terminal__coll__graph.png new file mode 100644 index 0000000..d7039c4 Binary files /dev/null and b/docs/html/classcore_1_1_terminal__coll__graph.png differ diff --git a/docs/html/classcore_1_1_terminal__inherit__graph.map b/docs/html/classcore_1_1_terminal__inherit__graph.map new file mode 100644 index 0000000..d481561 --- /dev/null +++ b/docs/html/classcore_1_1_terminal__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/html/classcore_1_1_terminal__inherit__graph.md5 b/docs/html/classcore_1_1_terminal__inherit__graph.md5 new file mode 100644 index 0000000..bec5aba --- /dev/null +++ b/docs/html/classcore_1_1_terminal__inherit__graph.md5 @@ -0,0 +1 @@ +2a6309bc8a3a06e04df98f9915b91804 \ No newline at end of file diff --git a/docs/html/classcore_1_1_terminal__inherit__graph.png b/docs/html/classcore_1_1_terminal__inherit__graph.png new file mode 100644 index 0000000..2bf4f32 Binary files /dev/null and b/docs/html/classcore_1_1_terminal__inherit__graph.png differ diff --git a/docs/html/classcore_1_1_terminal_session-members.html b/docs/html/classcore_1_1_terminal_session-members.html new file mode 100644 index 0000000..c30714c --- /dev/null +++ b/docs/html/classcore_1_1_terminal_session-members.html @@ -0,0 +1,130 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
core::TerminalSession Member List
+
+
+ +

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

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bufferSize (defined in core::Socket)core::Socket
clear() (defined in core::TerminalSession)core::TerminalSession
clearEOL() (defined in core::TerminalSession)core::TerminalSession
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
getLines() (defined in core::TerminalSession)core::TerminalSession
getServer() (defined in core::Session)core::Session
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(Session *session) (defined in core::Session)core::Sessionvirtual
core::TCPSocket::output(std::stringstream &out)core::TCPSocketvirtual
PreviousLine(int lines) (defined in core::TerminalSession)core::TerminalSession
protocol(std::string data)=0 (defined in core::Session)core::Sessionprotectedpure virtual
receiveData(char *buffer, int bufferLength)core::Socketprotectedvirtual
restoreCursor() (defined in core::TerminalSession)core::TerminalSession
saveCursor() (defined in core::TerminalSession)core::TerminalSession
scrollArea(int start, int end) (defined in core::TerminalSession)core::TerminalSession
send()core::Session
sendToAll()core::Session
sendToAll(SessionFilter *filter)core::Session
server (defined in core::Session)core::Session
Session(EPoll &ePoll, TCPServerSocket &server) (defined in core::Session)core::Session
setBackColor(int color) (defined in core::TerminalSession)core::TerminalSession
setBufferSize(int length) (defined in core::Socket)core::Socketprotected
setColor(int color) (defined in core::TerminalSession)core::TerminalSession
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
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
TerminalSession(EPoll &ePoll, TCPServerSocket &server) (defined in core::TerminalSession)core::TerminalSession
write(std::string data)core::Socket
write(char *buffer, int length) (defined in core::Socket)core::Socket
~Session() (defined in core::Session)core::Session
~Socket() (defined in core::Socket)core::Socket
~TCPSocket() (defined in core::TCPSocket)core::TCPSocket
~TerminalSession() (defined in core::TerminalSession)core::TerminalSession
+ + + + diff --git a/docs/html/classcore_1_1_terminal_session.html b/docs/html/classcore_1_1_terminal_session.html new file mode 100644 index 0000000..11f07ed --- /dev/null +++ b/docs/html/classcore_1_1_terminal_session.html @@ -0,0 +1,268 @@ + + + + + + + +BMA Server Framework: core::TerminalSession Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
core::TerminalSession Class Reference
+
+
+
+Inheritance diagram for core::TerminalSession:
+
+
Inheritance graph
+ + + + + + + +
[legend]
+
+Collaboration diagram for core::TerminalSession:
+
+
Collaboration graph
+ + + + + + + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

TerminalSession (EPoll &ePoll, TCPServerSocket &server)
 
+int getLines ()
 
+void clear ()
 
+void clearEOL ()
 
+void setCursorLocation (int x, int y)
 
+void setColor (int color)
 
+void setBackColor (int color)
 
+void saveCursor ()
 
+void restoreCursor ()
 
+void NextLine (int lines)
 
+void PreviousLine (int lines)
 
+void scrollArea (int start, int end)
 
- Public Member Functions inherited from core::Session
Session (EPoll &ePoll, TCPServerSocket &server)
 
+virtual void init ()
 
+virtual void output (Session *session)
 
void send ()
 
void sendToAll ()
 
void sendToAll (SessionFilter *filter)
 
+TCPServerSocketgetServer ()
 
- Public Member Functions inherited from core::TCPSocket
TCPSocket (EPoll &ePoll)
 
+void connect (IPAddress &address)
 
virtual void output (std::stringstream &out)
 
- Public Member Functions inherited from core::Socket
Socket (EPoll &ePoll)
 
+void setDescriptor (int descriptor)
 Set the descriptor for the socket.
 
+int getDescriptor ()
 Get the descriptor for the socket.
 
void eventReceived (struct epoll_event event)
 Parse epoll event and call specified callbacks. More...
 
void write (std::string data)
 
+void write (char *buffer, int length)
 
+void output (std::stringstream &out)
 
virtual void onRegistered ()
 Called when the socket has finished registering with the epoll processing. More...
 
virtual void onUnregistered ()
 Called when the socket has finished unregistering for the epoll processing. More...
 
+void enable (bool mode)
 Enable the socket to read or write based upon buffer.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Attributes inherited from core::Session
+std::stringstream out
 
+TCPServerSocketserver
 
- Public Attributes inherited from core::TCPSocket
+IPAddress ipAddress
 
- Public Attributes inherited from core::Socket
+class {
bufferSize
 
- Public Attributes inherited from core::Object
+std::string name
 
+std::string tag
 
- Protected Member Functions inherited from core::Session
void onDataReceived (std::string data) override
 Called when data is received from the socket. More...
 
void onConnected () override
 Called when socket is open and ready to communicate. More...
 
+virtual void protocol (std::string data)=0
 
- Protected Member Functions inherited from core::Socket
+void setBufferSize (int length)
 
+virtual void onTLSInit ()
 
+void shutdown ()
 
virtual void receiveData (char *buffer, int bufferLength)
 
- Protected Attributes inherited from core::Socket
+EPollePoll
 
+bool shutDown = false
 
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Development/BMA/server_core/ServerCore/TerminalSession.h
  • +
  • /home/barant/Development/BMA/server_core/ServerCore/TerminalSession.cpp
  • +
+
+ + + + diff --git a/docs/html/classcore_1_1_terminal_session__coll__graph.map b/docs/html/classcore_1_1_terminal_session__coll__graph.map new file mode 100644 index 0000000..f5fcadc --- /dev/null +++ b/docs/html/classcore_1_1_terminal_session__coll__graph.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/html/classcore_1_1_terminal_session__coll__graph.md5 b/docs/html/classcore_1_1_terminal_session__coll__graph.md5 new file mode 100644 index 0000000..66eb216 --- /dev/null +++ b/docs/html/classcore_1_1_terminal_session__coll__graph.md5 @@ -0,0 +1 @@ +c9558d7f63ba5887c70a3d097e17a019 \ No newline at end of file diff --git a/docs/html/classcore_1_1_terminal_session__coll__graph.png b/docs/html/classcore_1_1_terminal_session__coll__graph.png new file mode 100644 index 0000000..d19edbb Binary files /dev/null and b/docs/html/classcore_1_1_terminal_session__coll__graph.png differ diff --git a/docs/html/classcore_1_1_terminal_session__inherit__graph.map b/docs/html/classcore_1_1_terminal_session__inherit__graph.map new file mode 100644 index 0000000..d5ff027 --- /dev/null +++ b/docs/html/classcore_1_1_terminal_session__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/html/classcore_1_1_terminal_session__inherit__graph.md5 b/docs/html/classcore_1_1_terminal_session__inherit__graph.md5 new file mode 100644 index 0000000..3d5a037 --- /dev/null +++ b/docs/html/classcore_1_1_terminal_session__inherit__graph.md5 @@ -0,0 +1 @@ +f386d166eef99f5cb4e2f9b077d61044 \ No newline at end of file diff --git a/docs/html/classcore_1_1_terminal_session__inherit__graph.png b/docs/html/classcore_1_1_terminal_session__inherit__graph.png new file mode 100644 index 0000000..a914bbc Binary files /dev/null and b/docs/html/classcore_1_1_terminal_session__inherit__graph.png differ diff --git a/docs/html/classcore_1_1_thread-members.html b/docs/html/classcore_1_1_thread-members.html new file mode 100644 index 0000000..d0d33f7 --- /dev/null +++ b/docs/html/classcore_1_1_thread-members.html @@ -0,0 +1,90 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
core::Thread Member List
+
+
+ +

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

+ + + + + + + + + + + +
getCount() (defined in core::Thread)core::Thread
getStatus() (defined in core::Thread)core::Thread
getThreadId() (defined in core::Thread)core::Thread
join() (defined in core::Thread)core::Thread
name (defined in core::Object)core::Object
output(Session *session) (defined in core::Thread)core::Thread
start()core::Thread
tag (defined in core::Object)core::Object
Thread(EPoll &ePoll) (defined in core::Thread)core::Thread
~Thread() (defined in core::Thread)core::Thread
+ + + + diff --git a/docs/html/classcore_1_1_thread.html b/docs/html/classcore_1_1_thread.html new file mode 100644 index 0000000..61133c5 --- /dev/null +++ b/docs/html/classcore_1_1_thread.html @@ -0,0 +1,158 @@ + + + + + + + +BMA Server Framework: core::Thread Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
core::Thread Class Reference
+
+
+ +

#include <Thread.h>

+
+Inheritance diagram for core::Thread:
+
+
Inheritance graph
+ + + +
[legend]
+
+Collaboration diagram for core::Thread:
+
+
Collaboration graph
+ + + +
[legend]
+ + + + + + + + + + + + + + + + +

+Public Member Functions

Thread (EPoll &ePoll)
 
void start ()
 
+void join ()
 
+std::string getStatus ()
 
+pid_t getThreadId ()
 
+int getCount ()
 
+void output (Session *session)
 
+ + + + + + +

+Additional Inherited Members

- Public Attributes inherited from core::Object
+std::string name
 
+std::string tag
 
+

Detailed Description

+

Thread

+

This thread object is designed to be the thread processor for the EPoll object. It wraps the thread object to allow maintaining a status value for monitoring the thread activity. EPoll will instantiate a Thread object for each thread specified in the EPoll's start method.

+

Member Function Documentation

+ +

◆ start()

+ +
+
+ + + + + + + +
void core::Thread::start ()
+
+

Start the thread object. This will cause the epoll scheduler to commence reading the epoll queue.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Development/BMA/server_core/ServerCore/Thread.h
  • +
  • /home/barant/Development/BMA/server_core/ServerCore/Thread.cpp
  • +
+
+ + + + diff --git a/docs/html/classcore_1_1_thread__coll__graph.map b/docs/html/classcore_1_1_thread__coll__graph.map new file mode 100644 index 0000000..5347857 --- /dev/null +++ b/docs/html/classcore_1_1_thread__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/classcore_1_1_thread__coll__graph.md5 b/docs/html/classcore_1_1_thread__coll__graph.md5 new file mode 100644 index 0000000..9c70a86 --- /dev/null +++ b/docs/html/classcore_1_1_thread__coll__graph.md5 @@ -0,0 +1 @@ +7f313cc00294ba573a468abe1e0a23a6 \ No newline at end of file diff --git a/docs/html/classcore_1_1_thread__coll__graph.png b/docs/html/classcore_1_1_thread__coll__graph.png new file mode 100644 index 0000000..c39d419 Binary files /dev/null and b/docs/html/classcore_1_1_thread__coll__graph.png differ diff --git a/docs/html/classcore_1_1_thread__inherit__graph.map b/docs/html/classcore_1_1_thread__inherit__graph.map new file mode 100644 index 0000000..5347857 --- /dev/null +++ b/docs/html/classcore_1_1_thread__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/classcore_1_1_thread__inherit__graph.md5 b/docs/html/classcore_1_1_thread__inherit__graph.md5 new file mode 100644 index 0000000..4719022 --- /dev/null +++ b/docs/html/classcore_1_1_thread__inherit__graph.md5 @@ -0,0 +1 @@ +8ca33a2ec98fc4a19debba20b3f86be1 \ No newline at end of file diff --git a/docs/html/classcore_1_1_thread__inherit__graph.png b/docs/html/classcore_1_1_thread__inherit__graph.png new file mode 100644 index 0000000..c39d419 Binary files /dev/null and b/docs/html/classcore_1_1_thread__inherit__graph.png differ diff --git a/docs/html/classcore_1_1_timer-members.html b/docs/html/classcore_1_1_timer-members.html new file mode 100644 index 0000000..77e659d --- /dev/null +++ b/docs/html/classcore_1_1_timer-members.html @@ -0,0 +1,109 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
core::Timer Member List
+
+
+ +

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

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bufferSize (defined in core::Socket)core::Socketprivate
clearTimer()core::Timer
enable(bool mode)core::Socketprivate
ePoll (defined in core::Socket)core::Socketprivate
eventReceived(struct epoll_event event)core::Socketprivate
getDescriptor()core::Socketprivate
getElapsed()core::Timer
getEpoch() (defined in core::Timer)core::Timer
name (defined in core::Object)core::Objectprivate
onConnected()core::Socketprivatevirtual
onRegistered()core::Socketprivatevirtual
onTimeout()=0core::Timerprotectedpure virtual
onTLSInit() (defined in core::Socket)core::Socketprivatevirtual
onUnregistered()core::Socketprivatevirtual
output(std::stringstream &out) (defined in core::Socket)core::Socketprivate
receiveData(char *buffer, int bufferLength)core::Socketprivatevirtual
setBufferSize(int length) (defined in core::Socket)core::Socketprivate
setDescriptor(int descriptor)core::Socketprivate
setTimer(double delay)core::Timer
shutdown() (defined in core::Socket)core::Socketprivate
shutDown (defined in core::Socket)core::Socketprivate
Socket(EPoll &ePoll) (defined in core::Socket)core::Socketprivate
tag (defined in core::Object)core::Objectprivate
Timer(EPoll &ePoll) (defined in core::Timer)core::Timer
Timer(EPoll &ePoll, double delay) (defined in core::Timer)core::Timer
write(std::string data)core::Socketprivate
write(char *buffer, int length) (defined in core::Socket)core::Socketprivate
~Socket() (defined in core::Socket)core::Socketprivate
~Timer() (defined in core::Timer)core::Timer
+ + + + diff --git a/docs/html/classcore_1_1_timer.html b/docs/html/classcore_1_1_timer.html new file mode 100644 index 0000000..24ee80f --- /dev/null +++ b/docs/html/classcore_1_1_timer.html @@ -0,0 +1,223 @@ + + + + + + + +BMA Server Framework: core::Timer Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
core::Timer Class Referenceabstract
+
+
+ +

#include <Timer.h>

+
+Inheritance diagram for core::Timer:
+
+
Inheritance graph
+ + + + +
[legend]
+
+Collaboration diagram for core::Timer:
+
+
Collaboration graph
+ + + + + + +
[legend]
+ + + + + + + + + + + + + + +

+Public Member Functions

Timer (EPoll &ePoll)
 
Timer (EPoll &ePoll, double delay)
 
void setTimer (double delay)
 
void clearTimer ()
 
double getElapsed ()
 
+double getEpoch ()
 
+ + + +

+Protected Member Functions

virtual void onTimeout ()=0
 
+

Detailed Description

+

Timer

+

Set and trigger callback upon specified timeout.

+

The Timer is used to establish a timer using the timer socket interface. It cannot be instantiated directly but must be extended.

+

Member Function Documentation

+ +

◆ clearTimer()

+ +
+
+ + + + + + + +
void core::Timer::clearTimer ()
+
+

Use the clearTimer() to unset the timer and return the timer to an idle state.

+ +
+
+ +

◆ getElapsed()

+ +
+
+ + + + + + + +
double core::Timer::getElapsed ()
+
+

Use the getElapsed() method to obtain the amount of time that has elapsed since the timer was set.

+ +
+
+ +

◆ onTimeout()

+ +
+
+ + + + + +
+ + + + + + + +
virtual void core::Timer::onTimeout ()
+
+protectedpure virtual
+
+

This method is called when the time out occurs.

+ +
+
+ +

◆ setTimer()

+ +
+
+ + + + + + + + +
void core::Timer::setTimer (double delay)
+
+

Use the setTimer() method to set the time out value for timer. Setting the timer also starts the timer countdown. The clearTimer() method can be used to reset the timer without triggering the onTimeout() callback.

+
Parameters
+ + +
delaythe amount of time in seconds to wait before trigering the onTimeout function.
+
+
+ +
+
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Development/BMA/server_core/ServerCore/Timer.h
  • +
  • /home/barant/Development/BMA/server_core/ServerCore/Timer.cpp
  • +
+
+ + + + diff --git a/docs/html/classcore_1_1_timer__coll__graph.map b/docs/html/classcore_1_1_timer__coll__graph.map new file mode 100644 index 0000000..6c0f1fd --- /dev/null +++ b/docs/html/classcore_1_1_timer__coll__graph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/html/classcore_1_1_timer__coll__graph.md5 b/docs/html/classcore_1_1_timer__coll__graph.md5 new file mode 100644 index 0000000..4b53c42 --- /dev/null +++ b/docs/html/classcore_1_1_timer__coll__graph.md5 @@ -0,0 +1 @@ +84af671723de2e54d3ab0390dcb1a973 \ No newline at end of file diff --git a/docs/html/classcore_1_1_timer__coll__graph.png b/docs/html/classcore_1_1_timer__coll__graph.png new file mode 100644 index 0000000..4639e70 Binary files /dev/null and b/docs/html/classcore_1_1_timer__coll__graph.png differ diff --git a/docs/html/classcore_1_1_timer__inherit__graph.map b/docs/html/classcore_1_1_timer__inherit__graph.map new file mode 100644 index 0000000..26a28a4 --- /dev/null +++ b/docs/html/classcore_1_1_timer__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/html/classcore_1_1_timer__inherit__graph.md5 b/docs/html/classcore_1_1_timer__inherit__graph.md5 new file mode 100644 index 0000000..48195b7 --- /dev/null +++ b/docs/html/classcore_1_1_timer__inherit__graph.md5 @@ -0,0 +1 @@ +c3a133d113e20ecf0fe44943b6e9ae3c \ No newline at end of file diff --git a/docs/html/classcore_1_1_timer__inherit__graph.png b/docs/html/classcore_1_1_timer__inherit__graph.png new file mode 100644 index 0000000..82b9c98 Binary files /dev/null and b/docs/html/classcore_1_1_timer__inherit__graph.png differ diff --git a/docs/html/classcore_1_1_u_d_p_server_socket-members.html b/docs/html/classcore_1_1_u_d_p_server_socket-members.html new file mode 100644 index 0000000..0d6b313 --- /dev/null +++ b/docs/html/classcore_1_1_u_d_p_server_socket-members.html @@ -0,0 +1,114 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
core::UDPServerSocket Member List
+
+
+ +

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

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bufferSize (defined in core::Socket)core::Socket
check(std::string request)core::Commandvirtual
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
name (defined in core::Object)core::Object
onConnected()core::Socketprotectedvirtual
onDataReceived(std::string data) overridecore::UDPServerSocketprotectedvirtual
onRegistered()core::Socketvirtual
onTLSInit() (defined in core::Socket)core::Socketprotectedvirtual
onUnregistered()core::Socketvirtual
output(std::stringstream &out) (defined in core::Socket)core::Socket
core::Command::output(Session *session)core::Commandvirtual
processCommand(Session *session) (defined in core::UDPServerSocket)core::UDPServerSocketprotected
core::Command::processCommand(std::string request, Session *session)=0core::Commandpure virtual
receiveData(char *buffer, int bufferLength)core::Socketprotectedvirtual
sessions (defined in core::UDPServerSocket)core::UDPServerSocketprotected
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
Socket(EPoll &ePoll) (defined in core::Socket)core::Socket
tag (defined in core::Object)core::Object
tag (defined in core::Object)core::Object
UDPServerSocket(EPoll &ePoll, std::string url, short int port, std::string commandName) (defined in core::UDPServerSocket)core::UDPServerSocket
UDPSocket(EPoll &ePoll) (defined in core::UDPSocket)core::UDPSocket
write(std::string data)core::Socket
write(char *buffer, int length) (defined in core::Socket)core::Socket
~Socket() (defined in core::Socket)core::Socket
~UDPServerSocket() (defined in core::UDPServerSocket)core::UDPServerSocket
~UDPSocket() (defined in core::UDPSocket)core::UDPSocket
+ + + + diff --git a/docs/html/classcore_1_1_u_d_p_server_socket.html b/docs/html/classcore_1_1_u_d_p_server_socket.html new file mode 100644 index 0000000..5c8296e --- /dev/null +++ b/docs/html/classcore_1_1_u_d_p_server_socket.html @@ -0,0 +1,260 @@ + + + + + + + +BMA Server Framework: core::UDPServerSocket Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
core::UDPServerSocket Class Reference
+
+
+ +

#include <UDPServerSocket.h>

+
+Inheritance diagram for core::UDPServerSocket:
+
+
Inheritance graph
+ + + + + + +
[legend]
+
+Collaboration diagram for core::UDPServerSocket:
+
+
Collaboration graph
+ + + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

UDPServerSocket (EPoll &ePoll, std::string url, short int port, std::string commandName)
 
- Public Member Functions inherited from core::UDPSocket
UDPSocket (EPoll &ePoll)
 
- Public Member Functions inherited from core::Socket
Socket (EPoll &ePoll)
 
+void setDescriptor (int descriptor)
 Set the descriptor for the socket.
 
+int getDescriptor ()
 Get the descriptor for the socket.
 
void eventReceived (struct epoll_event event)
 Parse epoll event and call specified callbacks. More...
 
void write (std::string data)
 
+void write (char *buffer, int length)
 
+void output (std::stringstream &out)
 
virtual void onRegistered ()
 Called when the socket has finished registering with the epoll processing. More...
 
virtual void onUnregistered ()
 Called when the socket has finished unregistering for the epoll processing. More...
 
+void enable (bool mode)
 Enable the socket to read or write based upon buffer.
 
- Public Member Functions inherited from core::Command
virtual bool check (std::string request)
 
virtual int processCommand (std::string request, Session *session)=0
 
virtual void output (Session *session)
 
void setName (std::string name)
 
+std::string getName ()
 
+ + + + + + + + + + + + + + + + + + +

+Protected Member Functions

void onDataReceived (std::string data) override
 Called when data is received from the socket. More...
 
+int processCommand (Session *session)
 
- 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)
 
+ + + + + + + + +

+Protected Attributes

+std::vector< Session * > sessions
 
- Protected Attributes inherited from core::Socket
+EPollePoll
 
+bool shutDown = false
 
+ + + + + + + + + + +

+Additional Inherited Members

- Public Attributes inherited from core::Socket
+class {
bufferSize
 
- Public Attributes inherited from core::Object
+std::string name
 
+std::string tag
 
+

Detailed Description

+

UDPSocket

+

Manage a socket connection as a UDP server type. Connections to the socket are processed through the session list functionality. A list of sessions is maintained in a vector object.

+

Member Function Documentation

+ +

◆ onDataReceived()

+ +
+
+ + + + + +
+ + + + + + + + +
void core::UDPServerSocket::onDataReceived (std::string data)
+
+overrideprotectedvirtual
+
+ +

Called when data is received from the socket.

+

The onDataReceived method is called when the socket has received an event from epoll and there is data ready to be read from the socket. The default handler will pull the data and put it into the streambuf for the socket. EPOLLIN

+
Parameters
+ + +
datathe data that has been received from the socket.
+
+
+ +

Implements core::Socket.

+ +
+
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Development/BMA/server_core/ServerCore/UDPServerSocket.h
  • +
  • /home/barant/Development/BMA/server_core/ServerCore/UDPServerSocket.cpp
  • +
+
+ + + + diff --git a/docs/html/classcore_1_1_u_d_p_server_socket__coll__graph.map b/docs/html/classcore_1_1_u_d_p_server_socket__coll__graph.map new file mode 100644 index 0000000..4c019b1 --- /dev/null +++ b/docs/html/classcore_1_1_u_d_p_server_socket__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/html/classcore_1_1_u_d_p_server_socket__coll__graph.md5 b/docs/html/classcore_1_1_u_d_p_server_socket__coll__graph.md5 new file mode 100644 index 0000000..88ab481 --- /dev/null +++ b/docs/html/classcore_1_1_u_d_p_server_socket__coll__graph.md5 @@ -0,0 +1 @@ +df33ed281f718c9794f3e662f696454c \ No newline at end of file diff --git a/docs/html/classcore_1_1_u_d_p_server_socket__coll__graph.png b/docs/html/classcore_1_1_u_d_p_server_socket__coll__graph.png new file mode 100644 index 0000000..935219f Binary files /dev/null and b/docs/html/classcore_1_1_u_d_p_server_socket__coll__graph.png differ diff --git a/docs/html/classcore_1_1_u_d_p_server_socket__inherit__graph.map b/docs/html/classcore_1_1_u_d_p_server_socket__inherit__graph.map new file mode 100644 index 0000000..324d8ce --- /dev/null +++ b/docs/html/classcore_1_1_u_d_p_server_socket__inherit__graph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/html/classcore_1_1_u_d_p_server_socket__inherit__graph.md5 b/docs/html/classcore_1_1_u_d_p_server_socket__inherit__graph.md5 new file mode 100644 index 0000000..8c596c3 --- /dev/null +++ b/docs/html/classcore_1_1_u_d_p_server_socket__inherit__graph.md5 @@ -0,0 +1 @@ +cc1c5349569f38d7f74986f6f26326b0 \ No newline at end of file diff --git a/docs/html/classcore_1_1_u_d_p_server_socket__inherit__graph.png b/docs/html/classcore_1_1_u_d_p_server_socket__inherit__graph.png new file mode 100644 index 0000000..f4689bb Binary files /dev/null and b/docs/html/classcore_1_1_u_d_p_server_socket__inherit__graph.png differ diff --git a/docs/html/classcore_1_1_u_d_p_socket-members.html b/docs/html/classcore_1_1_u_d_p_socket-members.html new file mode 100644 index 0000000..2bb411f --- /dev/null +++ b/docs/html/classcore_1_1_u_d_p_socket-members.html @@ -0,0 +1,104 @@ + + + + + + + +BMA Server Framework: Member List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
core::UDPSocket Member List
+
+
+ +

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

+ + + + + + + + + + + + + + + + + + + + + + + + + +
bufferSize (defined in core::Socket)core::Socket
enable(bool mode)core::Socket
ePoll (defined in core::Socket)core::Socketprotected
eventReceived(struct epoll_event event)core::Socket
getDescriptor()core::Socket
name (defined in core::Object)core::Object
onConnected()core::Socketprotectedvirtual
onDataReceived(std::string data)=0core::Socketprotectedpure virtual
onRegistered()core::Socketvirtual
onTLSInit() (defined in core::Socket)core::Socketprotectedvirtual
onUnregistered()core::Socketvirtual
output(std::stringstream &out) (defined in core::Socket)core::Socket
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::Socketprotected
Socket(EPoll &ePoll) (defined in core::Socket)core::Socket
tag (defined in core::Object)core::Object
UDPSocket(EPoll &ePoll) (defined in core::UDPSocket)core::UDPSocket
write(std::string data)core::Socket
write(char *buffer, int length) (defined in core::Socket)core::Socket
~Socket() (defined in core::Socket)core::Socket
~UDPSocket() (defined in core::UDPSocket)core::UDPSocket
+ + + + diff --git a/docs/html/classcore_1_1_u_d_p_socket.html b/docs/html/classcore_1_1_u_d_p_socket.html new file mode 100644 index 0000000..c5a52af --- /dev/null +++ b/docs/html/classcore_1_1_u_d_p_socket.html @@ -0,0 +1,185 @@ + + + + + + + +BMA Server Framework: core::UDPSocket Class Reference + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
core::UDPSocket Class Reference
+
+
+
+Inheritance diagram for core::UDPSocket:
+
+
Inheritance graph
+ + + + + +
[legend]
+
+Collaboration diagram for core::UDPSocket:
+
+
Collaboration graph
+ + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

UDPSocket (EPoll &ePoll)
 
- Public Member Functions inherited from core::Socket
Socket (EPoll &ePoll)
 
+void setDescriptor (int descriptor)
 Set the descriptor for the socket.
 
+int getDescriptor ()
 Get the descriptor for the socket.
 
void eventReceived (struct epoll_event event)
 Parse epoll event and call specified callbacks. More...
 
void write (std::string data)
 
+void write (char *buffer, int length)
 
+void output (std::stringstream &out)
 
virtual void onRegistered ()
 Called when the socket has finished registering with the epoll processing. More...
 
virtual void onUnregistered ()
 Called when the socket has finished unregistering for the epoll processing. More...
 
+void enable (bool mode)
 Enable the socket to read or write based upon buffer.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Attributes inherited from core::Socket
+class {
bufferSize
 
- Public Attributes inherited from core::Object
+std::string name
 
+std::string tag
 
- 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 onDataReceived (std::string data)=0
 Called when data is received from the socket. More...
 
+void shutdown ()
 
virtual void receiveData (char *buffer, int bufferLength)
 
- Protected Attributes inherited from core::Socket
+EPollePoll
 
+bool shutDown = false
 
+
The documentation for this class was generated from the following files:
    +
  • /home/barant/Development/BMA/server_core/ServerCore/UDPSocket.h
  • +
  • /home/barant/Development/BMA/server_core/ServerCore/UDPSocket.cpp
  • +
+
+ + + + diff --git a/docs/html/classcore_1_1_u_d_p_socket__coll__graph.map b/docs/html/classcore_1_1_u_d_p_socket__coll__graph.map new file mode 100644 index 0000000..71d4187 --- /dev/null +++ b/docs/html/classcore_1_1_u_d_p_socket__coll__graph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/html/classcore_1_1_u_d_p_socket__coll__graph.md5 b/docs/html/classcore_1_1_u_d_p_socket__coll__graph.md5 new file mode 100644 index 0000000..54162fe --- /dev/null +++ b/docs/html/classcore_1_1_u_d_p_socket__coll__graph.md5 @@ -0,0 +1 @@ +fa5993f45debd135994c4e83a921308c \ No newline at end of file diff --git a/docs/html/classcore_1_1_u_d_p_socket__coll__graph.png b/docs/html/classcore_1_1_u_d_p_socket__coll__graph.png new file mode 100644 index 0000000..53d9a51 Binary files /dev/null and b/docs/html/classcore_1_1_u_d_p_socket__coll__graph.png differ diff --git a/docs/html/classcore_1_1_u_d_p_socket__inherit__graph.map b/docs/html/classcore_1_1_u_d_p_socket__inherit__graph.map new file mode 100644 index 0000000..c3401fe --- /dev/null +++ b/docs/html/classcore_1_1_u_d_p_socket__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/html/classcore_1_1_u_d_p_socket__inherit__graph.md5 b/docs/html/classcore_1_1_u_d_p_socket__inherit__graph.md5 new file mode 100644 index 0000000..9396081 --- /dev/null +++ b/docs/html/classcore_1_1_u_d_p_socket__inherit__graph.md5 @@ -0,0 +1 @@ +00f2a6a76bc28f9b4a521f3d0aaa44a1 \ No newline at end of file diff --git a/docs/html/classcore_1_1_u_d_p_socket__inherit__graph.png b/docs/html/classcore_1_1_u_d_p_socket__inherit__graph.png new file mode 100644 index 0000000..139255d Binary files /dev/null and b/docs/html/classcore_1_1_u_d_p_socket__inherit__graph.png differ diff --git a/docs/html/classes.html b/docs/html/classes.html new file mode 100644 index 0000000..3f22cdb --- /dev/null +++ b/docs/html/classes.html @@ -0,0 +1,101 @@ + + + + + + + +BMA Server Framework: Class Index + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
Class Index
+
+
+
c | e | f | h | i | l | o | r | s | t | u
+ + + + + + + + + + + + + + +
  c  
+
  f  
+
  o  
+
Socket (core)   
  u  
+
  t  
+
Command (core)   File (core)   Object (core)   UDPServerSocket (core)   
CommandList (core)   
  h  
+
  r  
+
TCPServerSocket (core)   UDPSocket (core)   
ConsoleServer (core)   TCPSocket (core)   
ConsoleSession (core)   Header (core)   Response (core)   TerminalSession (core)   
  e  
+
  i  
+
  s  
+
Thread (core)   
Timer (core)   
EPoll (core)   IPAddress (core)   Session (core)   TLSServerSocket (core)   
Exception (core)   
  l  
+
SessionFilter (core)   TLSSession (core)   
Log (core)   
+
c | e | f | h | i | l | o | r | s | t | u
+
+ + + + diff --git a/docs/html/closed.png b/docs/html/closed.png new file mode 100644 index 0000000..98cc2c9 Binary files /dev/null and b/docs/html/closed.png differ diff --git a/docs/html/doc.png b/docs/html/doc.png new file mode 100644 index 0000000..17edabf Binary files /dev/null and b/docs/html/doc.png differ diff --git a/docs/html/doxygen.css b/docs/html/doxygen.css new file mode 100644 index 0000000..4f1ab91 --- /dev/null +++ b/docs/html/doxygen.css @@ -0,0 +1,1596 @@ +/* The standard CSS for doxygen 1.8.13 */ + +body, table, div, p, dl { + font: 400 14px/22px Roboto,sans-serif; +} + +p.reference, p.definition { + font: 400 14px/22px Roboto,sans-serif; +} + +/* @group Heading Levels */ + +h1.groupheader { + font-size: 150%; +} + +.title { + font: 400 14px/28px Roboto,sans-serif; + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h2.groupheader { + border-bottom: 1px solid #879ECB; + color: #354C7B; + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} + +h3.groupheader { + font-size: 100%; +} + +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px cyan; +} + +dt { + font-weight: bold; +} + +div.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; +} + +p.startli, p.startdd { + margin-top: 2px; +} + +p.starttd { + margin-top: 0px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.qindex, div.navtab{ + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; +} + +div.qindex, div.navpath { + width: 100%; + line-height: 140%; +} + +div.navtab { + margin-right: 15px; +} + +/* @group Link Styling */ + +a { + color: #3D578C; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #4665A2; +} + +a:hover { + text-decoration: underline; +} + +a.qindex { + font-weight: bold; +} + +a.qindexHL { + font-weight: bold; + background-color: #9CAFD4; + color: #ffffff; + border: 1px double #869DCA; +} + +.contents a.qindexHL:visited { + color: #ffffff; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited, a.line, a.line:visited { + color: #4665A2; +} + +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { + color: #4665A2; +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +pre.fragment { + border: 1px solid #C4CFE5; + background-color: #FBFCFD; + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; + font-family: monospace, fixed; + font-size: 105%; +} + +div.fragment { + padding: 0px; + margin: 4px 8px 4px 2px; + background-color: #FBFCFD; + border: 1px solid #C4CFE5; +} + +div.line { + font-family: monospace, fixed; + font-size: 13px; + min-height: 13px; + line-height: 1.0; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +div.line:after { + content:"\000A"; + white-space: pre; +} + +div.line.glow { + background-color: cyan; + box-shadow: 0 0 10px cyan; +} + + +span.lineno { + padding-right: 4px; + text-align: right; + border-right: 2px solid #0F0; + background-color: #E8E8E8; + white-space: pre; +} +span.lineno a { + background-color: #D8D8D8; +} + +span.lineno a:hover { + background-color: #C8C8C8; +} + +.lineno { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +div.ah, span.ah { + background-color: black; + font-weight: bold; + color: #ffffff; + margin-bottom: 3px; + margin-top: 3px; + padding: 0.2em; + border: solid thin #333; + border-radius: 0.5em; + -webkit-border-radius: .5em; + -moz-border-radius: .5em; + box-shadow: 2px 2px 3px #999; + -webkit-box-shadow: 2px 2px 3px #999; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); + background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%); +} + +div.classindex ul { + list-style: none; + padding-left: 0; +} + +div.classindex span.ai { + display: inline-block; +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background-color: white; + color: black; + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 8px; +} + +td.indexkey { + background-color: #EBEFF6; + font-weight: bold; + border: 1px solid #C4CFE5; + margin: 2px 0px 2px 0; + padding: 2px 10px; + white-space: nowrap; + vertical-align: top; +} + +td.indexvalue { + background-color: #EBEFF6; + border: 1px solid #C4CFE5; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #EEF1F7; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +blockquote { + background-color: #F7F8FB; + border-left: 2px solid #9CAFD4; + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +/* @end */ + +/* +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +*/ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #A3B4D7; +} + +th.dirtab { + background: #EBEFF6; + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid #4A6AAA; +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: cyan; + box-shadow: 0 0 15px cyan; +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #F9FAFC; + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memSeparator { + border-bottom: 1px solid #DEE4F0; + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight { + width: 100%; +} + +.memTemplParams { + color: #4665A2; + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtitle { + padding: 8px; + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + border-top-right-radius: 4px; + border-top-left-radius: 4px; + margin-bottom: -1px; + background-image: url('nav_f.png'); + background-repeat: repeat-x; + background-color: #E2E8F2; + line-height: 1.25; + font-weight: 300; + float:left; +} + +.permalink +{ + font-size: 65%; + display: inline-block; + vertical-align: middle; +} + +.memtemplate { + font-size: 80%; + color: #4665A2; + font-weight: normal; + margin-left: 9px; +} + +.memnav { + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px cyan; +} + +.memname { + font-weight: 400; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 0px 6px 0px; + color: #253555; + font-weight: bold; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + background-color: #DFE5F1; + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 4px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 4px; + +} + +.overload { + font-family: "courier new",courier,monospace; + font-size: 65%; +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 10px 2px 10px; + background-color: #FBFCFD; + border-top-width: 0; + background-image:url('nav_g.png'); + background-repeat:repeat-x; + background-color: #FFFFFF; + /* opera specific markup */ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} +.paramname code { + line-height: 14px; +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: #728DC1; + border-top:1px solid #5373B4; + border-left:1px solid #5373B4; + border-right:1px solid #C4CFE5; + border-bottom:1px solid #C4CFE5; + text-shadow: none; + color: white; + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view inside a (index) page */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid #9CAFD4; + border-bottom: 1px solid #9CAFD4; + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; + padding-top: 3px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.even { + padding-left: 6px; + background-color: #F7F8FB; +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: #3D578C; +} + +.arrow { + color: #9CAFD4; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + font-size: 80%; + display: inline-block; + width: 16px; + height: 22px; +} + +.icon { + font-family: Arial, Helvetica; + font-weight: bold; + font-size: 12px; + height: 14px; + width: 16px; + display: inline-block; + background-color: #728DC1; + color: white; + text-align: center; + border-radius: 4px; + margin-left: 2px; + margin-right: 2px; +} + +.icona { + width: 24px; + height: 22px; + display: inline-block; +} + +.iconfopen { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderopen.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.iconfclosed { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderclosed.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.icondoc { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('doc.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +table.directory { + font: 400 14px Roboto,sans-serif; +} + +/* @end */ + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +address { + font-style: normal; + color: #2A3D61; +} + +table.doxtable caption { + caption-side: top; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + /*width: 100%;*/ + margin-bottom: 10px; + border: 1px solid #A8B8D9; + border-spacing: 0px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid #A8B8D9; + border-bottom: 1px solid #A8B8D9; + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 3px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #A8B8D9; + /*width: 100%;*/ +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 0px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + font-size: 90%; + color: #253555; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + font-weight: 400; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #A8B8D9; +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: url('tab_b.png'); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image:url('tab_b.png'); + background-repeat:repeat-x; + background-position: 0 -5px; + height:30px; + line-height:30px; + color:#8AA0CC; + border:solid 1px #C2CDE4; + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:url('bc_s.png'); + background-repeat:no-repeat; + background-position:right; + color:#364D7C; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; + color: #283A5D; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; +} + +.navpath li.navelem a:hover +{ + color:#6884BD; +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color:#364D7C; + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +table.classindex +{ + margin: 10px; + white-space: nowrap; + margin-left: 3%; + margin-right: 3%; + width: 94%; + border: 0; + border-spacing: 0; + padding: 0; +} + +div.ingroups +{ + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #F9FAFC; + margin: 0px; + border-bottom: 1px solid #C4CFE5; +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +dl +{ + padding: 0 0 0 10px; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ +dl.section +{ + margin-left: 0px; + padding-left: 0px; +} + +dl.note +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00D000; +} + +dl.deprecated +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #505050; +} + +dl.todo +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00C0E0; +} + +dl.test +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #3030E0; +} + +dl.bug +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #C08050; +} + +dl.section dd { + margin-bottom: 6px; +} + + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectalign +{ + vertical-align: middle; +} + +#projectname +{ + font: 300% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font: 120% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font: 50% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid #5373B4; +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.plantumlgraph +{ + text-align: center; +} + +.diagraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +div.zoom +{ + border: 1px solid #90A5CE; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:#334975; + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; +} + +dl.citelist dd { + margin:2px 0; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: #F4F6FA; + border: 1px solid #D8DFEE; + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 8px 10px 10px; + width: 200px; +} + +div.toc li { + background: url("bdwn.png") no-repeat scroll 0 5px transparent; + font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +div.toc h3 { + font: bold 12px/1.2 Arial,FreeSans,sans-serif; + color: #4665A2; + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + +.inherit_header { + font-weight: bold; + color: gray; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + white-space: nowrap; + background-color: white; + border: 1px solid gray; + border-radius: 4px 4px 4px 4px; + box-shadow: 1px 1px 7px gray; + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: grey; + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: #006318; +} + +#powerTip div { + margin: 0px; + padding: 0px; + font: 12px/16px Roboto,sans-serif; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before { + border-top-color: #808080; + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: #808080; + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; +} + +#powerTip.se:after, #powerTip.se:before { + left: 14px; +} + +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + +/* @group Markdown */ + +/* +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.markdownTableHead tr { +} + +table.markdownTableBodyLeft td, table.markdownTable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +th.markdownTableHeadLeft th.markdownTableHeadRight th.markdownTableHeadCenter th.markdownTableHeadNone { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft { + text-align: left +} + +th.markdownTableHeadRight { + text-align: right +} + +th.markdownTableHeadCenter { + text-align: center +} +*/ + +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.markdownTable tr { +} + +th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft, td.markdownTableBodyLeft { + text-align: left +} + +th.markdownTableHeadRight, td.markdownTableBodyRight { + text-align: right +} + +th.markdownTableHeadCenter, td.markdownTableBodyCenter { + text-align: center +} + + +/* @end */ diff --git a/docs/html/doxygen.png b/docs/html/doxygen.png new file mode 100644 index 0000000..3ff17d8 Binary files /dev/null and b/docs/html/doxygen.png differ diff --git a/docs/html/dynsections.js b/docs/html/dynsections.js new file mode 100644 index 0000000..85e1836 --- /dev/null +++ b/docs/html/dynsections.js @@ -0,0 +1,97 @@ +function toggleVisibility(linkObj) +{ + var base = $(linkObj).attr('id'); + var summary = $('#'+base+'-summary'); + var content = $('#'+base+'-content'); + var trigger = $('#'+base+'-trigger'); + var src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; +} + +function updateStripes() +{ + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); +} + +function toggleLevel(level) +{ + $('table.directory tr').each(function() { + var l = this.id.split('_').length-1; + var i = $('#img'+this.id.substring(3)); + var a = $('#arr'+this.id.substring(3)); + if (l + + + + + + +BMA Server Framework: File List + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
File List
+
+
+
Here is a list of all documented files with brief descriptions:
+ + + + + + + + + + + + + + + + + + + + + + + + + +
 Command.h
 CommandList.h
 ConsoleServer.h
 ConsoleSession.h
 EPoll.h
 Exception.h
 File.h
 Header.h
 IPAddress.h
 Log.h
 Object.h
 Response.h
 Session.h
 SessionFilter.h
 Socket.h
 TCPServerSocket.h
 TCPSocket.h
 TerminalSession.h
 Thread.h
 Timer.h
 TLSServerSocket.h
 TLSSession.h
 UDPServerSocket.h
 UDPSocket.h
+
+
+ + + + diff --git a/docs/html/folderclosed.png b/docs/html/folderclosed.png new file mode 100644 index 0000000..bb8ab35 Binary files /dev/null and b/docs/html/folderclosed.png differ diff --git a/docs/html/folderopen.png b/docs/html/folderopen.png new file mode 100644 index 0000000..d6c7f67 Binary files /dev/null and b/docs/html/folderopen.png differ diff --git a/docs/html/functions.html b/docs/html/functions.html new file mode 100644 index 0000000..4f6418c --- /dev/null +++ b/docs/html/functions.html @@ -0,0 +1,289 @@ + + + + + + + +BMA Server Framework: Class Members + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- c -

+ + +

- e -

+ + +

- g -

+ + +

- i -

+ + +

- l -

+ + +

- m -

+ + +

- o -

+ + +

- p -

+ + +

- r -

+ + +

- s -

+ + +

- t -

+ + +

- u -

+ + +

- w -

+ + +

- ~ -

+
+ + + + diff --git a/docs/html/functions_func.html b/docs/html/functions_func.html new file mode 100644 index 0000000..803aab4 --- /dev/null +++ b/docs/html/functions_func.html @@ -0,0 +1,270 @@ + + + + + + + +BMA Server Framework: Class Members - Functions + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- c -

+ + +

- e -

+ + +

- g -

+ + +

- i -

+ + +

- l -

+ + +

- o -

+ + +

- p -

+ + +

- r -

+ + +

- s -

+ + +

- t -

+ + +

- u -

+ + +

- w -

+ + +

- ~ -

+
+ + + + diff --git a/docs/html/functions_vars.html b/docs/html/functions_vars.html new file mode 100644 index 0000000..e4ce77d --- /dev/null +++ b/docs/html/functions_vars.html @@ -0,0 +1,86 @@ + + + + + + + +BMA Server Framework: Class Members - Variables + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+ + + + diff --git a/docs/html/globals.html b/docs/html/globals.html new file mode 100644 index 0000000..0dbe53a --- /dev/null +++ b/docs/html/globals.html @@ -0,0 +1,106 @@ + + + + + + +BMA Server Framework: File Members + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all file members with links to the files they belong to:
+
+ + + + diff --git a/docs/html/globals_defs.html b/docs/html/globals_defs.html new file mode 100644 index 0000000..9a620ba --- /dev/null +++ b/docs/html/globals_defs.html @@ -0,0 +1,103 @@ + + + + + + +BMA Server Framework: File Members + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+ +
+
+ + +
+ +
+ +
+
+ + + + diff --git a/docs/html/globals_func.html b/docs/html/globals_func.html new file mode 100644 index 0000000..9b823ae --- /dev/null +++ b/docs/html/globals_func.html @@ -0,0 +1,103 @@ + + + + + + +BMA Server Framework: File Members + + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + +
+ +
+
+ + +
+ +
+ +
+
+ + + + diff --git a/docs/html/graph_legend.html b/docs/html/graph_legend.html new file mode 100644 index 0000000..b12660e --- /dev/null +++ b/docs/html/graph_legend.html @@ -0,0 +1,102 @@ + + + + + + + +BMA Server Framework: Graph Legend + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
Graph Legend
+
+
+

This page explains how to interpret the graphs that are generated by doxygen.

+

Consider the following example:

/*! Invisible class because of truncation */
class Invisible { };
/*! Truncated class, inheritance relation is hidden */
class Truncated : public Invisible { };
/* Class not documented with doxygen comments */
class Undocumented { };
/*! Class that is inherited using public inheritance */
class PublicBase : public Truncated { };
/*! A template class */
template<class T> class Templ { };
/*! Class that is inherited using protected inheritance */
class ProtectedBase { };
/*! Class that is inherited using private inheritance */
class PrivateBase { };
/*! Class that is used by the Inherited class */
class Used { };
/*! Super class that inherits a number of other classes */
class Inherited : public PublicBase,
protected ProtectedBase,
private PrivateBase,
public Undocumented,
public Templ<int>
{
private:
Used *m_usedClass;
};

This will result in the following graph:

+
+ +
+

The boxes in the above graph have the following meaning:

+
    +
  • +A filled gray box represents the struct or class for which the graph is generated.
  • +
  • +A box with a black border denotes a documented struct or class.
  • +
  • +A box with a gray border denotes an undocumented struct or class.
  • +
  • +A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries.
  • +
+

The arrows have the following meaning:

+
    +
  • +A dark blue arrow is used to visualize a public inheritance relation between two classes.
  • +
  • +A dark green arrow is used for protected inheritance.
  • +
  • +A dark red arrow is used for private inheritance.
  • +
  • +A purple dashed arrow is used if a class is contained or used by another class. The arrow is labelled with the variable(s) through which the pointed class or struct is accessible.
  • +
  • +A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labelled with the template parameters of the instance.
  • +
+
+ + + + diff --git a/docs/html/graph_legend.md5 b/docs/html/graph_legend.md5 new file mode 100644 index 0000000..a06ed05 --- /dev/null +++ b/docs/html/graph_legend.md5 @@ -0,0 +1 @@ +387ff8eb65306fa251338d3c9bd7bfff \ No newline at end of file diff --git a/docs/html/graph_legend.png b/docs/html/graph_legend.png new file mode 100644 index 0000000..37f264e Binary files /dev/null and b/docs/html/graph_legend.png differ diff --git a/docs/html/hierarchy.html b/docs/html/hierarchy.html new file mode 100644 index 0000000..d6f0b98 --- /dev/null +++ b/docs/html/hierarchy.html @@ -0,0 +1,109 @@ + + + + + + + +BMA Server Framework: Class Hierarchy + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
Class Hierarchy
+
+
+
+

Go to the graphical class hierarchy

+This inheritance list is sorted roughly, but not completely, alphabetically:
+
+ + + + diff --git a/docs/html/index.html b/docs/html/index.html new file mode 100644 index 0000000..22efb8c --- /dev/null +++ b/docs/html/index.html @@ -0,0 +1,73 @@ + + + + + + + +BMA Server Framework: Main Page + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
BMA Server Framework Documentation
+
+
+
+ + + + diff --git a/docs/html/inherit_graph_0.map b/docs/html/inherit_graph_0.map new file mode 100644 index 0000000..7268c78 --- /dev/null +++ b/docs/html/inherit_graph_0.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/inherit_graph_0.md5 b/docs/html/inherit_graph_0.md5 new file mode 100644 index 0000000..eb6bad7 --- /dev/null +++ b/docs/html/inherit_graph_0.md5 @@ -0,0 +1 @@ +aeece8c3b635dafb287e3e0c025844ca \ No newline at end of file diff --git a/docs/html/inherit_graph_0.png b/docs/html/inherit_graph_0.png new file mode 100644 index 0000000..e2cffc5 Binary files /dev/null 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 new file mode 100644 index 0000000..a255938 --- /dev/null +++ b/docs/html/inherit_graph_1.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/inherit_graph_1.md5 b/docs/html/inherit_graph_1.md5 new file mode 100644 index 0000000..40d0c9a --- /dev/null +++ b/docs/html/inherit_graph_1.md5 @@ -0,0 +1 @@ +1281580a7505cbbe28d4a310096a3b8e \ No newline at end of file diff --git a/docs/html/inherit_graph_1.png b/docs/html/inherit_graph_1.png new file mode 100644 index 0000000..713c200 Binary files /dev/null and b/docs/html/inherit_graph_1.png differ diff --git a/docs/html/inherit_graph_10.map b/docs/html/inherit_graph_10.map new file mode 100644 index 0000000..6e85443 --- /dev/null +++ b/docs/html/inherit_graph_10.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/inherit_graph_10.md5 b/docs/html/inherit_graph_10.md5 new file mode 100644 index 0000000..f54545b --- /dev/null +++ b/docs/html/inherit_graph_10.md5 @@ -0,0 +1 @@ +c498add5f1324caa9c6cb9bd77540558 \ No newline at end of file diff --git a/docs/html/inherit_graph_10.png b/docs/html/inherit_graph_10.png new file mode 100644 index 0000000..75039a7 Binary files /dev/null and b/docs/html/inherit_graph_10.png differ diff --git a/docs/html/inherit_graph_11.map b/docs/html/inherit_graph_11.map new file mode 100644 index 0000000..7fa1864 --- /dev/null +++ b/docs/html/inherit_graph_11.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/html/inherit_graph_11.md5 b/docs/html/inherit_graph_11.md5 new file mode 100644 index 0000000..92f8269 --- /dev/null +++ b/docs/html/inherit_graph_11.md5 @@ -0,0 +1 @@ +7ad4255d700f993c7e03216640589133 \ No newline at end of file diff --git a/docs/html/inherit_graph_11.png b/docs/html/inherit_graph_11.png new file mode 100644 index 0000000..61f9bcb Binary files /dev/null and b/docs/html/inherit_graph_11.png differ diff --git a/docs/html/inherit_graph_12.map b/docs/html/inherit_graph_12.map new file mode 100644 index 0000000..6e85443 --- /dev/null +++ b/docs/html/inherit_graph_12.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/inherit_graph_12.md5 b/docs/html/inherit_graph_12.md5 new file mode 100644 index 0000000..f54545b --- /dev/null +++ b/docs/html/inherit_graph_12.md5 @@ -0,0 +1 @@ +c498add5f1324caa9c6cb9bd77540558 \ No newline at end of file diff --git a/docs/html/inherit_graph_12.png b/docs/html/inherit_graph_12.png new file mode 100644 index 0000000..75039a7 Binary files /dev/null and b/docs/html/inherit_graph_12.png differ diff --git a/docs/html/inherit_graph_2.map b/docs/html/inherit_graph_2.map new file mode 100644 index 0000000..cf7c383 --- /dev/null +++ b/docs/html/inherit_graph_2.map @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/html/inherit_graph_2.md5 b/docs/html/inherit_graph_2.md5 new file mode 100644 index 0000000..2427307 --- /dev/null +++ b/docs/html/inherit_graph_2.md5 @@ -0,0 +1 @@ +e6973ec0efc5454fd23166b1e3b2b021 \ No newline at end of file diff --git a/docs/html/inherit_graph_2.png b/docs/html/inherit_graph_2.png new file mode 100644 index 0000000..701a2df Binary files /dev/null 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 new file mode 100644 index 0000000..01883fc --- /dev/null +++ b/docs/html/inherit_graph_3.map @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/html/inherit_graph_3.md5 b/docs/html/inherit_graph_3.md5 new file mode 100644 index 0000000..a48de49 --- /dev/null +++ b/docs/html/inherit_graph_3.md5 @@ -0,0 +1 @@ +135d125592d418e41923a958c61d2120 \ No newline at end of file diff --git a/docs/html/inherit_graph_3.png b/docs/html/inherit_graph_3.png new file mode 100644 index 0000000..2f1026c Binary files /dev/null and b/docs/html/inherit_graph_3.png differ diff --git a/docs/html/inherit_graph_4.map b/docs/html/inherit_graph_4.map new file mode 100644 index 0000000..7fa1864 --- /dev/null +++ b/docs/html/inherit_graph_4.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/html/inherit_graph_4.md5 b/docs/html/inherit_graph_4.md5 new file mode 100644 index 0000000..cfc4d77 --- /dev/null +++ b/docs/html/inherit_graph_4.md5 @@ -0,0 +1 @@ +c557e48745b7d7a5e813e2a4c4862e8d \ No newline at end of file diff --git a/docs/html/inherit_graph_4.png b/docs/html/inherit_graph_4.png new file mode 100644 index 0000000..f57aa36 Binary files /dev/null and b/docs/html/inherit_graph_4.png differ diff --git a/docs/html/inherit_graph_5.map b/docs/html/inherit_graph_5.map new file mode 100644 index 0000000..7fa1864 --- /dev/null +++ b/docs/html/inherit_graph_5.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/html/inherit_graph_5.md5 b/docs/html/inherit_graph_5.md5 new file mode 100644 index 0000000..cfc4d77 --- /dev/null +++ b/docs/html/inherit_graph_5.md5 @@ -0,0 +1 @@ +c557e48745b7d7a5e813e2a4c4862e8d \ No newline at end of file diff --git a/docs/html/inherit_graph_5.png b/docs/html/inherit_graph_5.png new file mode 100644 index 0000000..f57aa36 Binary files /dev/null and b/docs/html/inherit_graph_5.png differ diff --git a/docs/html/inherit_graph_6.map b/docs/html/inherit_graph_6.map new file mode 100644 index 0000000..7fa1864 --- /dev/null +++ b/docs/html/inherit_graph_6.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/html/inherit_graph_6.md5 b/docs/html/inherit_graph_6.md5 new file mode 100644 index 0000000..cfc4d77 --- /dev/null +++ b/docs/html/inherit_graph_6.md5 @@ -0,0 +1 @@ +c557e48745b7d7a5e813e2a4c4862e8d \ No newline at end of file diff --git a/docs/html/inherit_graph_6.png b/docs/html/inherit_graph_6.png new file mode 100644 index 0000000..f57aa36 Binary files /dev/null and b/docs/html/inherit_graph_6.png differ diff --git a/docs/html/inherit_graph_7.map b/docs/html/inherit_graph_7.map new file mode 100644 index 0000000..6e85443 --- /dev/null +++ b/docs/html/inherit_graph_7.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/inherit_graph_7.md5 b/docs/html/inherit_graph_7.md5 new file mode 100644 index 0000000..16bd225 --- /dev/null +++ b/docs/html/inherit_graph_7.md5 @@ -0,0 +1 @@ +7a8d27b13a1e24f5c1ed3481be7a7e3d \ No newline at end of file diff --git a/docs/html/inherit_graph_7.png b/docs/html/inherit_graph_7.png new file mode 100644 index 0000000..1a01bd8 Binary files /dev/null and b/docs/html/inherit_graph_7.png differ diff --git a/docs/html/inherit_graph_8.map b/docs/html/inherit_graph_8.map new file mode 100644 index 0000000..6e85443 --- /dev/null +++ b/docs/html/inherit_graph_8.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/inherit_graph_8.md5 b/docs/html/inherit_graph_8.md5 new file mode 100644 index 0000000..16bd225 --- /dev/null +++ b/docs/html/inherit_graph_8.md5 @@ -0,0 +1 @@ +7a8d27b13a1e24f5c1ed3481be7a7e3d \ No newline at end of file diff --git a/docs/html/inherit_graph_8.png b/docs/html/inherit_graph_8.png new file mode 100644 index 0000000..1a01bd8 Binary files /dev/null and b/docs/html/inherit_graph_8.png differ diff --git a/docs/html/inherit_graph_9.map b/docs/html/inherit_graph_9.map new file mode 100644 index 0000000..6e85443 --- /dev/null +++ b/docs/html/inherit_graph_9.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/html/inherit_graph_9.md5 b/docs/html/inherit_graph_9.md5 new file mode 100644 index 0000000..f54545b --- /dev/null +++ b/docs/html/inherit_graph_9.md5 @@ -0,0 +1 @@ +c498add5f1324caa9c6cb9bd77540558 \ No newline at end of file diff --git a/docs/html/inherit_graph_9.png b/docs/html/inherit_graph_9.png new file mode 100644 index 0000000..75039a7 Binary files /dev/null and b/docs/html/inherit_graph_9.png differ diff --git a/docs/html/inherits.html b/docs/html/inherits.html new file mode 100644 index 0000000..92f5721 --- /dev/null +++ b/docs/html/inherits.html @@ -0,0 +1,113 @@ + + + + + + + +BMA Server Framework: Class Hierarchy + + + + + + + + + +
+
+ + + + + + +
+
BMA Server Framework +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
Class Hierarchy
+
+
+ + + + +
+ + + +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + diff --git a/docs/html/jquery.js b/docs/html/jquery.js new file mode 100644 index 0000000..f5343ed --- /dev/null +++ b/docs/html/jquery.js @@ -0,0 +1,87 @@ +/*! + * jQuery JavaScript Library v1.7.1 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Mon Nov 21 21:11:03 2011 -0500 + */ +(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b40){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b40&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b21?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv
a";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="
";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="
t
";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="
";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType;if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bCbA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}}); +/*! + * Sizzle CSS Selector Engine + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1},lt:function(bS,bR,e){return bRe[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="

";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="
";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT0){for(bB=bA;bB=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},ac=a(av);ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div
","
"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1>");try{for(var bw=0,bv=this.length;bw1&&bw0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]===""&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length;if(bA>0){if(bv!=="border"){for(;bx)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("
").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"":"")+"");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b})}})(window);/*! + * jQuery UI 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI + */ +(function(a,d){a.ui=a.ui||{};if(a.ui.version){return}a.extend(a.ui,{version:"1.8.18",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(e,f){return typeof e==="number"?this.each(function(){var g=this;setTimeout(function(){a(g).focus();if(f){f.call(g)}},e)}):this._focus.apply(this,arguments)},scrollParent:function(){var e;if((a.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){e=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(a.curCSS(this,"position",1))&&(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}else{e=this.parents().filter(function(){return(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!e.length?a(document):e},zIndex:function(h){if(h!==d){return this.css("zIndex",h)}if(this.length){var f=a(this[0]),e,g;while(f.length&&f[0]!==document){e=f.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){g=parseInt(f.css("zIndex"),10);if(!isNaN(g)&&g!==0){return g}}f=f.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});a.each(["Width","Height"],function(g,e){var f=e==="Width"?["Left","Right"]:["Top","Bottom"],h=e.toLowerCase(),k={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};function j(m,l,i,n){a.each(f,function(){l-=parseFloat(a.curCSS(m,"padding"+this,true))||0;if(i){l-=parseFloat(a.curCSS(m,"border"+this+"Width",true))||0}if(n){l-=parseFloat(a.curCSS(m,"margin"+this,true))||0}});return l}a.fn["inner"+e]=function(i){if(i===d){return k["inner"+e].call(this)}return this.each(function(){a(this).css(h,j(this,i)+"px")})};a.fn["outer"+e]=function(i,l){if(typeof i!=="number"){return k["outer"+e].call(this,i)}return this.each(function(){a(this).css(h,j(this,i,true,l)+"px")})}});function c(g,e){var j=g.nodeName.toLowerCase();if("area"===j){var i=g.parentNode,h=i.name,f;if(!g.href||!h||i.nodeName.toLowerCase()!=="map"){return false}f=a("img[usemap=#"+h+"]")[0];return !!f&&b(f)}return(/input|select|textarea|button|object/.test(j)?!g.disabled:"a"==j?g.href||e:e)&&b(g)}function b(e){return !a(e).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.extend(a.expr[":"],{data:function(g,f,e){return !!a.data(g,e[3])},focusable:function(e){return c(e,!isNaN(a.attr(e,"tabindex")))},tabbable:function(g){var e=a.attr(g,"tabindex"),f=isNaN(e);return(f||e>=0)&&c(g,!f)}});a(function(){var e=document.body,f=e.appendChild(f=document.createElement("div"));f.offsetHeight;a.extend(f.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});a.support.minHeight=f.offsetHeight===100;a.support.selectstart="onselectstart" in f;e.removeChild(f).style.display="none"});a.extend(a.ui,{plugin:{add:function(f,g,j){var h=a.ui[f].prototype;for(var e in j){h.plugins[e]=h.plugins[e]||[];h.plugins[e].push([g,j[e]])}},call:function(e,g,f){var j=e.plugins[g];if(!j||!e.element[0].parentNode){return}for(var h=0;h0){return true}h[e]=1;g=(h[e]>0);h[e]=0;return g},isOverAxis:function(f,e,g){return(f>e)&&(f<(e+g))},isOver:function(j,f,i,h,e,g){return a.ui.isOverAxis(j,i,e)&&a.ui.isOverAxis(f,h,g)}})})(jQuery);/*! + * jQuery UI Widget 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Widget + */ +(function(b,d){if(b.cleanData){var c=b.cleanData;b.cleanData=function(f){for(var g=0,h;(h=f[g])!=null;g++){try{b(h).triggerHandler("remove")}catch(j){}}c(f)}}else{var a=b.fn.remove;b.fn.remove=function(e,f){return this.each(function(){if(!f){if(!e||b.filter(e,[this]).length){b("*",this).add([this]).each(function(){try{b(this).triggerHandler("remove")}catch(g){}})}}return a.call(b(this),e,f)})}}b.widget=function(f,h,e){var g=f.split(".")[0],j;f=f.split(".")[1];j=g+"-"+f;if(!e){e=h;h=b.Widget}b.expr[":"][j]=function(k){return !!b.data(k,f)};b[g]=b[g]||{};b[g][f]=function(k,l){if(arguments.length){this._createWidget(k,l)}};var i=new h();i.options=b.extend(true,{},i.options);b[g][f].prototype=b.extend(true,i,{namespace:g,widgetName:f,widgetEventPrefix:b[g][f].prototype.widgetEventPrefix||f,widgetBaseClass:j},e);b.widget.bridge(f,b[g][f])};b.widget.bridge=function(f,e){b.fn[f]=function(i){var g=typeof i==="string",h=Array.prototype.slice.call(arguments,1),j=this;i=!g&&h.length?b.extend.apply(null,[true,i].concat(h)):i;if(g&&i.charAt(0)==="_"){return j}if(g){this.each(function(){var k=b.data(this,f),l=k&&b.isFunction(k[i])?k[i].apply(k,h):k;if(l!==k&&l!==d){j=l;return false}})}else{this.each(function(){var k=b.data(this,f);if(k){k.option(i||{})._init()}else{b.data(this,f,new e(i,this))}})}return j}};b.Widget=function(e,f){if(arguments.length){this._createWidget(e,f)}};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(f,g){b.data(g,this.widgetName,this);this.element=b(g);this.options=b.extend(true,{},this.options,this._getCreateOptions(),f);var e=this;this.element.bind("remove."+this.widgetName,function(){e.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(f,g){var e=f;if(arguments.length===0){return b.extend({},this.options)}if(typeof f==="string"){if(g===d){return this.options[f]}e={};e[f]=g}this._setOptions(e);return this},_setOptions:function(f){var e=this;b.each(f,function(g,h){e._setOption(g,h)});return this},_setOption:function(e,f){this.options[e]=f;if(e==="disabled"){this.widget()[f?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",f)}return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(e,f,g){var j,i,h=this.options[e];g=g||{};f=b.Event(f);f.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase();f.target=this.element[0];i=f.originalEvent;if(i){for(j in i){if(!(j in f)){f[j]=i[j]}}}this.element.trigger(f,g);return !(b.isFunction(h)&&h.call(this.element[0],f,g)===false||f.isDefaultPrevented())}}})(jQuery);/*! + * jQuery UI Mouse 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Mouse + * + * Depends: + * jquery.ui.widget.js + */ +(function(b,c){var a=false;b(document).mouseup(function(d){a=false});b.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var d=this;this.element.bind("mousedown."+this.widgetName,function(e){return d._mouseDown(e)}).bind("click."+this.widgetName,function(e){if(true===b.data(e.target,d.widgetName+".preventClickEvent")){b.removeData(e.target,d.widgetName+".preventClickEvent");e.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(f){if(a){return}(this._mouseStarted&&this._mouseUp(f));this._mouseDownEvent=f;var e=this,g=(f.which==1),d=(typeof this.options.cancel=="string"&&f.target.nodeName?b(f.target).closest(this.options.cancel).length:false);if(!g||d||!this._mouseCapture(f)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){e.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(f)&&this._mouseDelayMet(f)){this._mouseStarted=(this._mouseStart(f)!==false);if(!this._mouseStarted){f.preventDefault();return true}}if(true===b.data(f.target,this.widgetName+".preventClickEvent")){b.removeData(f.target,this.widgetName+".preventClickEvent")}this._mouseMoveDelegate=function(h){return e._mouseMove(h)};this._mouseUpDelegate=function(h){return e._mouseUp(h)};b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);f.preventDefault();a=true;return true},_mouseMove:function(d){if(b.browser.msie&&!(document.documentMode>=9)&&!d.button){return this._mouseUp(d)}if(this._mouseStarted){this._mouseDrag(d);return d.preventDefault()}if(this._mouseDistanceMet(d)&&this._mouseDelayMet(d)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,d)!==false);(this._mouseStarted?this._mouseDrag(d):this._mouseUp(d))}return !this._mouseStarted},_mouseUp:function(d){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;if(d.target==this._mouseDownEvent.target){b.data(d.target,this.widgetName+".preventClickEvent",true)}this._mouseStop(d)}return false},_mouseDistanceMet:function(d){return(Math.max(Math.abs(this._mouseDownEvent.pageX-d.pageX),Math.abs(this._mouseDownEvent.pageY-d.pageY))>=this.options.distance)},_mouseDelayMet:function(d){return this.mouseDelayMet},_mouseStart:function(d){},_mouseDrag:function(d){},_mouseStop:function(d){},_mouseCapture:function(d){return true}})})(jQuery);(function(c,d){c.widget("ui.resizable",c.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1000},_create:function(){var f=this,k=this.options;this.element.addClass("ui-resizable");c.extend(this,{_aspectRatio:!!(k.aspectRatio),aspectRatio:k.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:k.helper||k.ghost||k.animate?k.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){this.element.wrap(c('
').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=k.handles||(!c(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all"){this.handles="n,e,s,w,se,sw,ne,nw"}var l=this.handles.split(",");this.handles={};for(var g=0;g
');if(/sw|se|ne|nw/.test(j)){h.css({zIndex:++k.zIndex})}if("se"==j){h.addClass("ui-icon ui-icon-gripsmall-diagonal-se")}this.handles[j]=".ui-resizable-"+j;this.element.append(h)}}this._renderAxis=function(q){q=q||this.element;for(var n in this.handles){if(this.handles[n].constructor==String){this.handles[n]=c(this.handles[n],this.element).show()}if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var o=c(this.handles[n],this.element),p=0;p=/sw|ne|nw|se|n|s/.test(n)?o.outerHeight():o.outerWidth();var m=["padding",/ne|nw|n/.test(n)?"Top":/se|sw|s/.test(n)?"Bottom":/^e$/.test(n)?"Right":"Left"].join("");q.css(m,p);this._proportionallyResize()}if(!c(this.handles[n]).length){continue}}};this._renderAxis(this.element);this._handles=c(".ui-resizable-handle",this.element).disableSelection();this._handles.mouseover(function(){if(!f.resizing){if(this.className){var i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)}f.axis=i&&i[1]?i[1]:"se"}});if(k.autoHide){this._handles.hide();c(this.element).addClass("ui-resizable-autohide").hover(function(){if(k.disabled){return}c(this).removeClass("ui-resizable-autohide");f._handles.show()},function(){if(k.disabled){return}if(!f.resizing){c(this).addClass("ui-resizable-autohide");f._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var e=function(g){c(g).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){e(this.element);var f=this.element;f.after(this.originalElement.css({position:f.css("position"),width:f.outerWidth(),height:f.outerHeight(),top:f.css("top"),left:f.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);e(this.originalElement);return this},_mouseCapture:function(f){var g=false;for(var e in this.handles){if(c(this.handles[e])[0]==f.target){g=true}}return !this.options.disabled&&g},_mouseStart:function(g){var j=this.options,f=this.element.position(),e=this.element;this.resizing=true;this.documentScroll={top:c(document).scrollTop(),left:c(document).scrollLeft()};if(e.is(".ui-draggable")||(/absolute/).test(e.css("position"))){e.css({position:"absolute",top:f.top,left:f.left})}this._renderProxy();var k=b(this.helper.css("left")),h=b(this.helper.css("top"));if(j.containment){k+=c(j.containment).scrollLeft()||0;h+=c(j.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:k,top:h};this.size=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalSize=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalPosition={left:k,top:h};this.sizeDiff={width:e.outerWidth()-e.width(),height:e.outerHeight()-e.height()};this.originalMousePosition={left:g.pageX,top:g.pageY};this.aspectRatio=(typeof j.aspectRatio=="number")?j.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);var i=c(".ui-resizable-"+this.axis).css("cursor");c("body").css("cursor",i=="auto"?this.axis+"-resize":i);e.addClass("ui-resizable-resizing");this._propagate("start",g);return true},_mouseDrag:function(e){var h=this.helper,g=this.options,m={},q=this,j=this.originalMousePosition,n=this.axis;var r=(e.pageX-j.left)||0,p=(e.pageY-j.top)||0;var i=this._change[n];if(!i){return false}var l=i.apply(this,[e,r,p]),k=c.browser.msie&&c.browser.version<7,f=this.sizeDiff;this._updateVirtualBoundaries(e.shiftKey);if(this._aspectRatio||e.shiftKey){l=this._updateRatio(l,e)}l=this._respectSize(l,e);this._propagate("resize",e);h.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});if(!this._helper&&this._proportionallyResizeElements.length){this._proportionallyResize()}this._updateCache(l);this._trigger("resize",e,this.ui());return false},_mouseStop:function(h){this.resizing=false;var i=this.options,m=this;if(this._helper){var g=this._proportionallyResizeElements,e=g.length&&(/textarea/i).test(g[0].nodeName),f=e&&c.ui.hasScroll(g[0],"left")?0:m.sizeDiff.height,k=e?0:m.sizeDiff.width;var n={width:(m.helper.width()-k),height:(m.helper.height()-f)},j=(parseInt(m.element.css("left"),10)+(m.position.left-m.originalPosition.left))||null,l=(parseInt(m.element.css("top"),10)+(m.position.top-m.originalPosition.top))||null;if(!i.animate){this.element.css(c.extend(n,{top:l,left:j}))}m.helper.height(m.size.height);m.helper.width(m.size.width);if(this._helper&&!i.animate){this._proportionallyResize()}}c("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",h);if(this._helper){this.helper.remove()}return false},_updateVirtualBoundaries:function(g){var j=this.options,i,h,f,k,e;e={minWidth:a(j.minWidth)?j.minWidth:0,maxWidth:a(j.maxWidth)?j.maxWidth:Infinity,minHeight:a(j.minHeight)?j.minHeight:0,maxHeight:a(j.maxHeight)?j.maxHeight:Infinity};if(this._aspectRatio||g){i=e.minHeight*this.aspectRatio;f=e.minWidth/this.aspectRatio;h=e.maxHeight*this.aspectRatio;k=e.maxWidth/this.aspectRatio;if(i>e.minWidth){e.minWidth=i}if(f>e.minHeight){e.minHeight=f}if(hl.width),s=a(l.height)&&i.minHeight&&(i.minHeight>l.height);if(h){l.width=i.minWidth}if(s){l.height=i.minHeight}if(t){l.width=i.maxWidth}if(m){l.height=i.maxHeight}var f=this.originalPosition.left+this.originalSize.width,p=this.position.top+this.size.height;var k=/sw|nw|w/.test(q),e=/nw|ne|n/.test(q);if(h&&k){l.left=f-i.minWidth}if(t&&k){l.left=f-i.maxWidth}if(s&&e){l.top=p-i.minHeight}if(m&&e){l.top=p-i.maxHeight}var n=!l.width&&!l.height;if(n&&!l.left&&l.top){l.top=null}else{if(n&&!l.top&&l.left){l.left=null}}return l},_proportionallyResize:function(){var k=this.options;if(!this._proportionallyResizeElements.length){return}var g=this.helper||this.element;for(var f=0;f');var e=c.browser.msie&&c.browser.version<7,g=(e?1:0),h=(e?2:-1);this.helper.addClass(this._helper).css({width:this.element.outerWidth()+h,height:this.element.outerHeight()+h,position:"absolute",left:this.elementOffset.left-g+"px",top:this.elementOffset.top-g+"px",zIndex:++i.zIndex});this.helper.appendTo("body").disableSelection()}else{this.helper=this.element}},_change:{e:function(g,f,e){return{width:this.originalSize.width+f}},w:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{left:i.left+f,width:g.width-f}},n:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{top:i.top+e,height:g.height-e}},s:function(g,f,e){return{height:this.originalSize.height+e}},se:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},sw:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[g,f,e]))},ne:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},nw:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[g,f,e]))}},_propagate:function(f,e){c.ui.plugin.call(this,f,[e,this.ui()]);(f!="resize"&&this._trigger(f,e,this.ui()))},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});c.extend(c.ui.resizable,{version:"1.8.18"});c.ui.plugin.add("resizable","alsoResize",{start:function(f,g){var e=c(this).data("resizable"),i=e.options;var h=function(j){c(j).each(function(){var k=c(this);k.data("resizable-alsoresize",{width:parseInt(k.width(),10),height:parseInt(k.height(),10),left:parseInt(k.css("left"),10),top:parseInt(k.css("top"),10)})})};if(typeof(i.alsoResize)=="object"&&!i.alsoResize.parentNode){if(i.alsoResize.length){i.alsoResize=i.alsoResize[0];h(i.alsoResize)}else{c.each(i.alsoResize,function(j){h(j)})}}else{h(i.alsoResize)}},resize:function(g,i){var f=c(this).data("resizable"),j=f.options,h=f.originalSize,l=f.originalPosition;var k={height:(f.size.height-h.height)||0,width:(f.size.width-h.width)||0,top:(f.position.top-l.top)||0,left:(f.position.left-l.left)||0},e=function(m,n){c(m).each(function(){var q=c(this),r=c(this).data("resizable-alsoresize"),p={},o=n&&n.length?n:q.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];c.each(o,function(s,u){var t=(r[u]||0)+(k[u]||0);if(t&&t>=0){p[u]=t||null}});q.css(p)})};if(typeof(j.alsoResize)=="object"&&!j.alsoResize.nodeType){c.each(j.alsoResize,function(m,n){e(m,n)})}else{e(j.alsoResize)}},stop:function(e,f){c(this).removeData("resizable-alsoresize")}});c.ui.plugin.add("resizable","animate",{stop:function(i,n){var p=c(this).data("resizable"),j=p.options;var h=p._proportionallyResizeElements,e=h.length&&(/textarea/i).test(h[0].nodeName),f=e&&c.ui.hasScroll(h[0],"left")?0:p.sizeDiff.height,l=e?0:p.sizeDiff.width;var g={width:(p.size.width-l),height:(p.size.height-f)},k=(parseInt(p.element.css("left"),10)+(p.position.left-p.originalPosition.left))||null,m=(parseInt(p.element.css("top"),10)+(p.position.top-p.originalPosition.top))||null;p.element.animate(c.extend(g,m&&k?{top:m,left:k}:{}),{duration:j.animateDuration,easing:j.animateEasing,step:function(){var o={width:parseInt(p.element.css("width"),10),height:parseInt(p.element.css("height"),10),top:parseInt(p.element.css("top"),10),left:parseInt(p.element.css("left"),10)};if(h&&h.length){c(h[0]).css({width:o.width,height:o.height})}p._updateCache(o);p._propagate("resize",i)}})}});c.ui.plugin.add("resizable","containment",{start:function(f,r){var t=c(this).data("resizable"),j=t.options,l=t.element;var g=j.containment,k=(g instanceof c)?g.get(0):(/parent/.test(g))?l.parent().get(0):g;if(!k){return}t.containerElement=c(k);if(/document/.test(g)||g==document){t.containerOffset={left:0,top:0};t.containerPosition={left:0,top:0};t.parentData={element:c(document),left:0,top:0,width:c(document).width(),height:c(document).height()||document.body.parentNode.scrollHeight}}else{var n=c(k),i=[];c(["Top","Right","Left","Bottom"]).each(function(p,o){i[p]=b(n.css("padding"+o))});t.containerOffset=n.offset();t.containerPosition=n.position();t.containerSize={height:(n.innerHeight()-i[3]),width:(n.innerWidth()-i[1])};var q=t.containerOffset,e=t.containerSize.height,m=t.containerSize.width,h=(c.ui.hasScroll(k,"left")?k.scrollWidth:m),s=(c.ui.hasScroll(k)?k.scrollHeight:e);t.parentData={element:k,left:q.left,top:q.top,width:h,height:s}}},resize:function(g,q){var t=c(this).data("resizable"),i=t.options,f=t.containerSize,p=t.containerOffset,m=t.size,n=t.position,r=t._aspectRatio||g.shiftKey,e={top:0,left:0},h=t.containerElement;if(h[0]!=document&&(/static/).test(h.css("position"))){e=p}if(n.left<(t._helper?p.left:0)){t.size.width=t.size.width+(t._helper?(t.position.left-p.left):(t.position.left-e.left));if(r){t.size.height=t.size.width/i.aspectRatio}t.position.left=i.helper?p.left:0}if(n.top<(t._helper?p.top:0)){t.size.height=t.size.height+(t._helper?(t.position.top-p.top):t.position.top);if(r){t.size.width=t.size.height*i.aspectRatio}t.position.top=t._helper?p.top:0}t.offset.left=t.parentData.left+t.position.left;t.offset.top=t.parentData.top+t.position.top;var l=Math.abs((t._helper?t.offset.left-e.left:(t.offset.left-e.left))+t.sizeDiff.width),s=Math.abs((t._helper?t.offset.top-e.top:(t.offset.top-p.top))+t.sizeDiff.height);var k=t.containerElement.get(0)==t.element.parent().get(0),j=/relative|absolute/.test(t.containerElement.css("position"));if(k&&j){l-=t.parentData.left}if(l+t.size.width>=t.parentData.width){t.size.width=t.parentData.width-l;if(r){t.size.height=t.size.width/t.aspectRatio}}if(s+t.size.height>=t.parentData.height){t.size.height=t.parentData.height-s;if(r){t.size.width=t.size.height*t.aspectRatio}}},stop:function(f,n){var q=c(this).data("resizable"),g=q.options,l=q.position,m=q.containerOffset,e=q.containerPosition,i=q.containerElement;var j=c(q.helper),r=j.offset(),p=j.outerWidth()-q.sizeDiff.width,k=j.outerHeight()-q.sizeDiff.height;if(q._helper&&!g.animate&&(/relative/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}if(q._helper&&!g.animate&&(/static/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}}});c.ui.plugin.add("resizable","ghost",{start:function(g,h){var e=c(this).data("resizable"),i=e.options,f=e.size;e.ghost=e.originalElement.clone();e.ghost.css({opacity:0.25,display:"block",position:"relative",height:f.height,width:f.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof i.ghost=="string"?i.ghost:"");e.ghost.appendTo(e.helper)},resize:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost){e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})}},stop:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost&&e.helper){e.helper.get(0).removeChild(e.ghost.get(0))}}});c.ui.plugin.add("resizable","grid",{resize:function(e,m){var p=c(this).data("resizable"),h=p.options,k=p.size,i=p.originalSize,j=p.originalPosition,n=p.axis,l=h._aspectRatio||e.shiftKey;h.grid=typeof h.grid=="number"?[h.grid,h.grid]:h.grid;var g=Math.round((k.width-i.width)/(h.grid[0]||1))*(h.grid[0]||1),f=Math.round((k.height-i.height)/(h.grid[1]||1))*(h.grid[1]||1);if(/^(se|s|e)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f}else{if(/^(ne)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f}else{if(/^(sw)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.left=j.left-g}else{p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f;p.position.left=j.left-g}}}}});var b=function(e){return parseInt(e,10)||0};var a=function(e){return !isNaN(parseInt(e,10))}})(jQuery);/*! + * jQuery hashchange event - v1.3 - 7/21/2010 + * http://benalman.com/projects/jquery-hashchange-plugin/ + * + * Copyright (c) 2010 "Cowboy" Ben Alman + * Dual licensed under the MIT and GPL licenses. + * http://benalman.com/about/license/ + */ +(function($,e,b){var c="hashchange",h=document,f,g=$.event.special,i=h.documentMode,d="on"+c in e&&(i===b||i>7);function a(j){j=j||location.href;return"#"+j.replace(/^[^#]*#?(.*)$/,"$1")}$.fn[c]=function(j){return j?this.bind(c,j):this.trigger(c)};$.fn[c].delay=50;g[c]=$.extend(g[c],{setup:function(){if(d){return false}$(f.start)},teardown:function(){if(d){return false}$(f.stop)}});f=(function(){var j={},p,m=a(),k=function(q){return q},l=k,o=k;j.start=function(){p||n()};j.stop=function(){p&&clearTimeout(p);p=b};function n(){var r=a(),q=o(m);if(r!==m){l(m=r,q);$(e).trigger(c)}else{if(q!==m){location.href=location.href.replace(/#.*/,"")+q}}p=setTimeout(n,$.fn[c].delay)}$.browser.msie&&!d&&(function(){var q,r;j.start=function(){if(!q){r=$.fn[c].src;r=r&&r+a();q=$(' + + + +
+ +
+
/home/barant/Documents/Development/BMASockets/main.cpp File Reference
+
+
+
#include "includes"
+#include "BMAEPoll.h"
+#include "BMAMP3File.h"
+#include "BMAConsole.h"
+#include "BMATCPServerSocket.h"
+#include "BMAStreamServer.h"
+#include "BMAHTTPServer.h"
+#include "BMAHTTPRequestHandler.h"
+#include "BMAMP3StreamContentProvider.h"
+#include "BMATimer.h"
+
+Include dependency graph for main.cpp:
+
+
+ + + + + + + + + + + + + + + + + + + + + + +
+
+ + + +

+Functions

int main (int argc, char **argv)
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
int main (int argc,
char ** argv 
)
+
+ +
+
+ + + + + diff --git a/docs/html/main_8cpp__incl.map b/docs/html/main_8cpp__incl.map new file mode 100644 index 0000000..70f3103 --- /dev/null +++ b/docs/html/main_8cpp__incl.map @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/html/main_8cpp__incl.md5 b/docs/html/main_8cpp__incl.md5 new file mode 100644 index 0000000..83139b9 --- /dev/null +++ b/docs/html/main_8cpp__incl.md5 @@ -0,0 +1 @@ +62ac348be54010371a04a75995d22ebb \ No newline at end of file diff --git a/docs/html/main_8cpp__incl.png b/docs/html/main_8cpp__incl.png new file mode 100644 index 0000000..f073cc7 Binary files /dev/null and b/docs/html/main_8cpp__incl.png differ diff --git a/docs/html/menu.js b/docs/html/menu.js new file mode 100644 index 0000000..97db4c2 --- /dev/null +++ b/docs/html/menu.js @@ -0,0 +1,26 @@ +function initMenu(relPath,searchEnabled,serverSide,searchPage,search) { + function makeTree(data,relPath) { + var result=''; + if ('children' in data) { + result+=''; + } + return result; + } + + $('#main-nav').append(makeTree(menudata,relPath)); + $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu'); + if (searchEnabled) { + if (serverSide) { + $('#main-menu').append('
  • '); + } else { + $('#main-menu').append('
  • '); + } + } + $('#main-menu').smartmenus(); +} diff --git a/docs/html/menudata.js b/docs/html/menudata.js new file mode 100644 index 0000000..36d0e8e --- /dev/null +++ b/docs/html/menudata.js @@ -0,0 +1,41 @@ +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"}, +{text:"Class Hierarchy",url:"inherits.html"}, +{text:"Class Members",url:"functions.html",children:[ +{text:"All",url:"functions.html",children:[ +{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"}, +{text:"r",url:"functions.html#index_r"}, +{text:"s",url:"functions.html#index_s"}, +{text:"t",url:"functions.html#index_t"}, +{text:"u",url:"functions.html#index_u"}, +{text:"w",url:"functions.html#index_w"}, +{text:"~",url:"functions.html#index_0x7e"}]}, +{text:"Functions",url:"functions_func.html",children:[ +{text:"c",url:"functions_func.html#index_c"}, +{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"}, +{text:"s",url:"functions_func.html#index_s"}, +{text:"t",url:"functions_func.html#index_t"}, +{text:"u",url:"functions_func.html#index_u"}, +{text:"w",url:"functions_func.html#index_w"}, +{text:"~",url:"functions_func.html#index_0x7e"}]}, +{text:"Variables",url:"functions_vars.html"}]}]}, +{text:"Files",url:"files.html",children:[ +{text:"File List",url:"files.html"}]}]} diff --git a/docs/html/namespacecore.html b/docs/html/namespacecore.html new file mode 100644 index 0000000..2434401 --- /dev/null +++ b/docs/html/namespacecore.html @@ -0,0 +1,137 @@ + + + + + + + +BMA Server Framework: core Namespace Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    BMA Server Framework +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    core Namespace Reference
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Classes

    class  Command
     
    class  CommandList
     
    class  ConsoleServer
     
    class  ConsoleSession
     
    class  EPoll
     
    class  Exception
     
    class  File
     
    class  Header
     
    class  IPAddress
     
    class  Log
     
    class  Object
     
    class  Response
     
    class  Session
     
    class  SessionFilter
     
    class  Socket
     
    class  TCPServerSocket
     
    class  TCPSocket
     
    class  TerminalSession
     
    class  Thread
     
    class  Timer
     
    class  TLSServerSocket
     
    class  TLSSession
     
    class  UDPServerSocket
     
    class  UDPSocket
     
    + + + +

    +Functions

    +void handshake_complete (const SSL *ssl, int where, int ret)
     
    +

    Detailed Description

    +

    File

    +

    File abstraction class for accessing local file system files.

    +
    + + + + diff --git a/docs/html/namespaces.html b/docs/html/namespaces.html new file mode 100644 index 0000000..c36502f --- /dev/null +++ b/docs/html/namespaces.html @@ -0,0 +1,78 @@ + + + + + + + +BMA Server Framework: Namespace List + + + + + + + + + +
    +
    + + + + + + +
    +
    BMA Server Framework +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    Namespace List
    +
    +
    +
    Here is a list of all documented namespaces with brief descriptions:
    + + +
     Ncore
    +
    +
    + + + + diff --git a/docs/html/nav_f.png b/docs/html/nav_f.png new file mode 100644 index 0000000..72a58a5 Binary files /dev/null and b/docs/html/nav_f.png differ diff --git a/docs/html/nav_g.png b/docs/html/nav_g.png new file mode 100644 index 0000000..2093a23 Binary files /dev/null and b/docs/html/nav_g.png differ diff --git a/docs/html/nav_h.png b/docs/html/nav_h.png new file mode 100644 index 0000000..33389b1 Binary files /dev/null and b/docs/html/nav_h.png differ diff --git a/docs/html/open.png b/docs/html/open.png new file mode 100644 index 0000000..30f75c7 Binary files /dev/null and b/docs/html/open.png differ diff --git a/docs/html/search/all_0.html b/docs/html/search/all_0.html new file mode 100644 index 0000000..f25360b --- /dev/null +++ b/docs/html/search/all_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/all_0.js b/docs/html/search/all_0.js new file mode 100644 index 0000000..e4b755e --- /dev/null +++ b/docs/html/search/all_0.js @@ -0,0 +1,10 @@ +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']]], + ['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,'']]] +]; diff --git a/docs/html/search/all_1.html b/docs/html/search/all_1.html new file mode 100644 index 0000000..b13f0f7 --- /dev/null +++ b/docs/html/search/all_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/all_1.js b/docs/html/search/all_1.js new file mode 100644 index 0000000..cb4fbae --- /dev/null +++ b/docs/html/search/all_1.js @@ -0,0 +1,7 @@ +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']]] +]; diff --git a/docs/html/search/all_10.html b/docs/html/search/all_10.html new file mode 100644 index 0000000..c25484f --- /dev/null +++ b/docs/html/search/all_10.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/all_10.js b/docs/html/search/all_10.js new file mode 100644 index 0000000..ea42564 --- /dev/null +++ b/docs/html/search/all_10.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['value',['value',['../class_b_m_a_property.html#abf0982ca4a88c38d3b61b52661dc50f0',1,'BMAProperty']]] +]; diff --git a/docs/html/search/all_11.html b/docs/html/search/all_11.html new file mode 100644 index 0000000..3615c28 --- /dev/null +++ b/docs/html/search/all_11.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/all_11.js b/docs/html/search/all_11.js new file mode 100644 index 0000000..05d7b58 --- /dev/null +++ b/docs/html/search/all_11.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['write',['write',['../class_b_m_a_log.html#a21e4c882eb7753b61e426a5cd18f6e95',1,'BMALog::write()'],['../class_b_m_a_socket.html#a525cbedfa4b3f62e81f34734a69110ab',1,'BMASocket::write()'],['../class_b_m_a_u_d_p_socket.html#a2634de05846e51536d030ef50400568d',1,'BMAUDPSocket::write()']]], + ['writeframe',['writeFrame',['../class_b_m_a_stream_socket.html#a28e55e4dc91be72e8ca4c2f583d7b235',1,'BMAStreamSocket']]] +]; diff --git a/docs/html/search/all_12.html b/docs/html/search/all_12.html new file mode 100644 index 0000000..abd082a --- /dev/null +++ b/docs/html/search/all_12.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/all_12.js b/docs/html/search/all_12.js new file mode 100644 index 0000000..38ef9dd --- /dev/null +++ b/docs/html/search/all_12.js @@ -0,0 +1,27 @@ +var searchData= +[ + ['_7ebmaauthenticate',['~BMAAuthenticate',['../class_b_m_a_authenticate.html#a5034dfa273aa058445673d828f08b41c',1,'BMAAuthenticate']]], + ['_7ebmaconsole',['~BMAConsole',['../class_b_m_a_console.html#a5302bd1afa337e173dc2926175d45fb8',1,'BMAConsole']]], + ['_7ebmaconsolecommand',['~BMAConsoleCommand',['../class_b_m_a_console_command.html#a909dee1bc6659e50d95fa3d43526557a',1,'BMAConsoleCommand']]], + ['_7ebmaconsolesession',['~BMAConsoleSession',['../class_b_m_a_console_session.html#aa926aba8d8143b2800b87d386b1b9ab2',1,'BMAConsoleSession']]], + ['_7ebmaepoll',['~BMAEPoll',['../class_b_m_a_e_poll.html#aa24f7f723450c7b4912ec29bed623b61',1,'BMAEPoll']]], + ['_7ebmafile',['~BMAFile',['../class_b_m_a_file.html#ad6d8a40827a8748dcb99e62f3eaa9768',1,'BMAFile']]], + ['_7ebmaheader',['~BMAHeader',['../class_b_m_a_header.html#a19b19a4acf782100dc3bf9fea227b89d',1,'BMAHeader']]], + ['_7ebmahttprequesthandler',['~BMAHTTPRequestHandler',['../class_b_m_a_h_t_t_p_request_handler.html#aadc657def2fb66354d0d2469b7535c7c',1,'BMAHTTPRequestHandler']]], + ['_7ebmahttpserver',['~BMAHTTPServer',['../class_b_m_a_h_t_t_p_server.html#aa3c21b29668f52162092fad945a03d79',1,'BMAHTTPServer']]], + ['_7ebmahttpsession',['~BMAHTTPSession',['../class_b_m_a_h_t_t_p_session.html#a35d8f771b01e50c493ea17548d5d7ab5',1,'BMAHTTPSession']]], + ['_7ebmalog',['~BMALog',['../class_b_m_a_log.html#a443ae6142ef92a8ed4c9af5db57d55a0',1,'BMALog']]], + ['_7ebmamp3file',['~BMAMP3File',['../class_b_m_a_m_p3_file.html#a213f768bf8ae43d759685ab10b4a06d0',1,'BMAMP3File']]], + ['_7ebmamp3streamcontentprovider',['~BMAMP3StreamContentProvider',['../class_b_m_a_m_p3_stream_content_provider.html#a166eff132c7c9c58d1e723cf375158a8',1,'BMAMP3StreamContentProvider']]], + ['_7ebmamp3streamframe',['~BMAMP3StreamFrame',['../class_b_m_a_m_p3_stream_frame.html#a1f1bcabbe510e1ba6a9d1509609dfd8e',1,'BMAMP3StreamFrame']]], + ['_7ebmaprotocolmanager',['~BMAProtocolManager',['../class_b_m_a_protocol_manager.html#a19969ca2f744bb09a7716a83a93ece43',1,'BMAProtocolManager']]], + ['_7ebmasocket',['~BMASocket',['../class_b_m_a_socket.html#ae07ca3bf2bdf294e256f4fd1a3cff896',1,'BMASocket']]], + ['_7ebmastreamcontentprovider',['~BMAStreamContentProvider',['../class_b_m_a_stream_content_provider.html#a3cf6360bc703b2290502ab2efa78a70c',1,'BMAStreamContentProvider']]], + ['_7ebmastreamserver',['~BMAStreamServer',['../class_b_m_a_stream_server.html#a2481fcd342c3b166762065c4afe685cf',1,'BMAStreamServer']]], + ['_7ebmastreamsocket',['~BMAStreamSocket',['../class_b_m_a_stream_socket.html#a434653aed6d823566c74402462159547',1,'BMAStreamSocket']]], + ['_7ebmatcpserversocket',['~BMATCPServerSocket',['../class_b_m_a_t_c_p_server_socket.html#a32383b879e9464c955adab2c7bb33fc2',1,'BMATCPServerSocket']]], + ['_7ebmatcpsocket',['~BMATCPSocket',['../class_b_m_a_t_c_p_socket.html#aef5cce17bbfddf39b412d89cfba91bdb',1,'BMATCPSocket']]], + ['_7ebmathread',['~BMAThread',['../class_b_m_a_thread.html#a0df76628563c488d8c948ce087f22e26',1,'BMAThread']]], + ['_7ebmatimer',['~BMATimer',['../class_b_m_a_timer.html#a3e90d72aac1126f98b5900e686755598',1,'BMATimer']]], + ['_7ebmaudpsocket',['~BMAUDPSocket',['../class_b_m_a_u_d_p_socket.html#a2eafebda702155a6c82513897189e0cc',1,'BMAUDPSocket::~BMAUDPSocket()'],['../class_b_m_a_u_d_p_socket.html#a2eafebda702155a6c82513897189e0cc',1,'BMAUDPSocket::~BMAUDPSocket()']]] +]; diff --git a/docs/html/search/all_2.html b/docs/html/search/all_2.html new file mode 100644 index 0000000..9543c57 --- /dev/null +++ b/docs/html/search/all_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/all_2.js b/docs/html/search/all_2.js new file mode 100644 index 0000000..db3771e --- /dev/null +++ b/docs/html/search/all_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['file',['File',['../classcore_1_1_file.html',1,'core']]] +]; diff --git a/docs/html/search/all_3.html b/docs/html/search/all_3.html new file mode 100644 index 0000000..03405c0 --- /dev/null +++ b/docs/html/search/all_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/all_3.js b/docs/html/search/all_3.js new file mode 100644 index 0000000..dd3abe4 --- /dev/null +++ b/docs/html/search/all_3.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['getclientaddress',['getClientAddress',['../classcore_1_1_i_p_address.html#ae5e7e28589d026bbbc6c3423d418b008',1,'core::IPAddress']]], + ['getclientaddressandport',['getClientAddressAndPort',['../classcore_1_1_i_p_address.html#abea870f1a048cb7bba1d2bad98558232',1,'core::IPAddress']]], + ['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#a69bf4fbade329653bfab5f81948cd68b',1,'core::Response::getResponse(Mode mode)'],['../classcore_1_1_response.html#a3faec262c1f101176b52a90e39cd08ad',1,'core::Response::getResponse(std::string content, Mode mode)']]], + ['getsocketaccept',['getSocketAccept',['../classcore_1_1_console_server.html#ac1d498a7094fe69acc7b234efa296b1c',1,'core::ConsoleServer::getSocketAccept()'],['../classcore_1_1_t_c_p_server_socket.html#ab1b3da899ef32f14c3162ada91d11742',1,'core::TCPServerSocket::getSocketAccept()'],['../classcore_1_1_t_l_s_server_socket.html#a954541082a39b7b417b3cd741ed4eea6',1,'core::TLSServerSocket::getSocketAccept()']]] +]; diff --git a/docs/html/search/all_4.html b/docs/html/search/all_4.html new file mode 100644 index 0000000..8e1f4b9 --- /dev/null +++ b/docs/html/search/all_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/all_4.js b/docs/html/search/all_4.js new file mode 100644 index 0000000..813508d --- /dev/null +++ b/docs/html/search/all_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['header',['Header',['../classcore_1_1_header.html',1,'core']]] +]; diff --git a/docs/html/search/all_5.html b/docs/html/search/all_5.html new file mode 100644 index 0000000..89a879e --- /dev/null +++ b/docs/html/search/all_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/all_5.js b/docs/html/search/all_5.js new file mode 100644 index 0000000..7644a3f --- /dev/null +++ b/docs/html/search/all_5.js @@ -0,0 +1,5 @@ +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']]] +]; diff --git a/docs/html/search/all_6.html b/docs/html/search/all_6.html new file mode 100644 index 0000000..6afac06 --- /dev/null +++ b/docs/html/search/all_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/all_6.js b/docs/html/search/all_6.js new file mode 100644 index 0000000..faf2083 --- /dev/null +++ b/docs/html/search/all_6.js @@ -0,0 +1,5 @@ +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']]] +]; diff --git a/docs/html/search/all_7.html b/docs/html/search/all_7.html new file mode 100644 index 0000000..de19107 --- /dev/null +++ b/docs/html/search/all_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/all_7.js b/docs/html/search/all_7.js new file mode 100644 index 0000000..c93cdec --- /dev/null +++ b/docs/html/search/all_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['maxsockets',['maxSockets',['../classcore_1_1_e_poll.html#acfcef2513d94f7b9a191fed3dc744d90',1,'core::EPoll']]] +]; diff --git a/docs/html/search/all_8.html b/docs/html/search/all_8.html new file mode 100644 index 0000000..11e27cd --- /dev/null +++ b/docs/html/search/all_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/all_8.js b/docs/html/search/all_8.js new file mode 100644 index 0000000..7138b84 --- /dev/null +++ b/docs/html/search/all_8.js @@ -0,0 +1,10 @@ +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()']]] +]; diff --git a/docs/html/search/all_9.html b/docs/html/search/all_9.html new file mode 100644 index 0000000..f8abbbe --- /dev/null +++ b/docs/html/search/all_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/all_9.js b/docs/html/search/all_9.js new file mode 100644 index 0000000..3a7cf9f --- /dev/null +++ b/docs/html/search/all_9.js @@ -0,0 +1,4 @@ +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()']]] +]; diff --git a/docs/html/search/all_a.html b/docs/html/search/all_a.html new file mode 100644 index 0000000..9601fce --- /dev/null +++ b/docs/html/search/all_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/all_a.js b/docs/html/search/all_a.js new file mode 100644 index 0000000..4fe3e7c --- /dev/null +++ b/docs/html/search/all_a.js @@ -0,0 +1,6 @@ +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()']]] +]; diff --git a/docs/html/search/all_b.html b/docs/html/search/all_b.html new file mode 100644 index 0000000..0814e4e --- /dev/null +++ b/docs/html/search/all_b.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/all_b.js b/docs/html/search/all_b.js new file mode 100644 index 0000000..3d13042 --- /dev/null +++ b/docs/html/search/all_b.js @@ -0,0 +1,19 @@ +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#ab2cb1aea2832eabe4a039387030c3b0b',1,'core::Session::sendToAll(SessionFilter *filter)']]], + ['seq',['seq',['../classcore_1_1_log.html#aa040c12560c120f7b4200237b628d77e',1,'core::Log']]], + ['session',['Session',['../classcore_1_1_session.html',1,'core']]], + ['sessionfilter',['SessionFilter',['../classcore_1_1_session_filter.html',1,'core']]], + ['sessions',['sessions',['../classcore_1_1_t_c_p_server_socket.html#ab97dc18253d52ecb5668e44360479fe2',1,'core::TCPServerSocket']]], + ['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']]] +]; diff --git a/docs/html/search/all_c.html b/docs/html/search/all_c.html new file mode 100644 index 0000000..da08c38 --- /dev/null +++ b/docs/html/search/all_c.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/all_c.js b/docs/html/search/all_c.js new file mode 100644 index 0000000..b616692 --- /dev/null +++ b/docs/html/search/all_c.js @@ -0,0 +1,10 @@ +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#a17a5f151f6c4ac520932f33cab5c5991',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#a2008ff5fcf5c1d8f181bb5ceb6895eba',1,'core::TLSServerSocket::TLSServerSocket()']]], + ['tlssession',['TLSSession',['../classcore_1_1_t_l_s_session.html',1,'core']]] +]; diff --git a/docs/html/search/all_d.html b/docs/html/search/all_d.html new file mode 100644 index 0000000..9986c9c --- /dev/null +++ b/docs/html/search/all_d.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/all_d.js b/docs/html/search/all_d.js new file mode 100644 index 0000000..3e235ef --- /dev/null +++ b/docs/html/search/all_d.js @@ -0,0 +1,6 @@ +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']]] +]; diff --git a/docs/html/search/all_e.html b/docs/html/search/all_e.html new file mode 100644 index 0000000..9fa42bb --- /dev/null +++ b/docs/html/search/all_e.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/all_e.js b/docs/html/search/all_e.js new file mode 100644 index 0000000..768f233 --- /dev/null +++ b/docs/html/search/all_e.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['write',['write',['../classcore_1_1_socket.html#a36ad0e990494d451c493e752dc2a2722',1,'core::Socket']]] +]; diff --git a/docs/html/search/all_f.html b/docs/html/search/all_f.html new file mode 100644 index 0000000..6ecfc0e --- /dev/null +++ b/docs/html/search/all_f.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/all_f.js b/docs/html/search/all_f.js new file mode 100644 index 0000000..0489fa5 --- /dev/null +++ b/docs/html/search/all_f.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['_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/classes_0.html b/docs/html/search/classes_0.html new file mode 100644 index 0000000..1c3e406 --- /dev/null +++ b/docs/html/search/classes_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/classes_0.js b/docs/html/search/classes_0.js new file mode 100644 index 0000000..70c00eb --- /dev/null +++ b/docs/html/search/classes_0.js @@ -0,0 +1,7 @@ +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']]], + ['consolesession',['ConsoleSession',['../classcore_1_1_console_session.html',1,'core']]] +]; diff --git a/docs/html/search/classes_1.html b/docs/html/search/classes_1.html new file mode 100644 index 0000000..a8e7069 --- /dev/null +++ b/docs/html/search/classes_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/classes_1.js b/docs/html/search/classes_1.js new file mode 100644 index 0000000..9ea6613 --- /dev/null +++ b/docs/html/search/classes_1.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['epoll',['EPoll',['../classcore_1_1_e_poll.html',1,'core']]], + ['exception',['Exception',['../classcore_1_1_exception.html',1,'core']]] +]; diff --git a/docs/html/search/classes_2.html b/docs/html/search/classes_2.html new file mode 100644 index 0000000..5c09c96 --- /dev/null +++ b/docs/html/search/classes_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/classes_2.js b/docs/html/search/classes_2.js new file mode 100644 index 0000000..db3771e --- /dev/null +++ b/docs/html/search/classes_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['file',['File',['../classcore_1_1_file.html',1,'core']]] +]; diff --git a/docs/html/search/classes_3.html b/docs/html/search/classes_3.html new file mode 100644 index 0000000..5faaeba --- /dev/null +++ b/docs/html/search/classes_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/classes_3.js b/docs/html/search/classes_3.js new file mode 100644 index 0000000..813508d --- /dev/null +++ b/docs/html/search/classes_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['header',['Header',['../classcore_1_1_header.html',1,'core']]] +]; diff --git a/docs/html/search/classes_4.html b/docs/html/search/classes_4.html new file mode 100644 index 0000000..b3f11bc --- /dev/null +++ b/docs/html/search/classes_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/classes_4.js b/docs/html/search/classes_4.js new file mode 100644 index 0000000..4d66ae2 --- /dev/null +++ b/docs/html/search/classes_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['ipaddress',['IPAddress',['../classcore_1_1_i_p_address.html',1,'core']]] +]; diff --git a/docs/html/search/classes_5.html b/docs/html/search/classes_5.html new file mode 100644 index 0000000..952ace6 --- /dev/null +++ b/docs/html/search/classes_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/classes_5.js b/docs/html/search/classes_5.js new file mode 100644 index 0000000..ee2da69 --- /dev/null +++ b/docs/html/search/classes_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['log',['Log',['../classcore_1_1_log.html',1,'core']]] +]; diff --git a/docs/html/search/classes_6.html b/docs/html/search/classes_6.html new file mode 100644 index 0000000..75eef9f --- /dev/null +++ b/docs/html/search/classes_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/classes_6.js b/docs/html/search/classes_6.js new file mode 100644 index 0000000..1f1657c --- /dev/null +++ b/docs/html/search/classes_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['object',['Object',['../classcore_1_1_object.html',1,'core']]] +]; diff --git a/docs/html/search/classes_7.html b/docs/html/search/classes_7.html new file mode 100644 index 0000000..745f5f2 --- /dev/null +++ b/docs/html/search/classes_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/classes_7.js b/docs/html/search/classes_7.js new file mode 100644 index 0000000..5895f19 --- /dev/null +++ b/docs/html/search/classes_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['response',['Response',['../classcore_1_1_response.html',1,'core']]] +]; diff --git a/docs/html/search/classes_8.html b/docs/html/search/classes_8.html new file mode 100644 index 0000000..5a443d9 --- /dev/null +++ b/docs/html/search/classes_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/classes_8.js b/docs/html/search/classes_8.js new file mode 100644 index 0000000..9768391 --- /dev/null +++ b/docs/html/search/classes_8.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['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_9.html b/docs/html/search/classes_9.html new file mode 100644 index 0000000..9cb55be --- /dev/null +++ b/docs/html/search/classes_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/classes_9.js b/docs/html/search/classes_9.js new file mode 100644 index 0000000..138e791 --- /dev/null +++ b/docs/html/search/classes_9.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['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']]], + ['tlssession',['TLSSession',['../classcore_1_1_t_l_s_session.html',1,'core']]] +]; diff --git a/docs/html/search/classes_a.html b/docs/html/search/classes_a.html new file mode 100644 index 0000000..54940d7 --- /dev/null +++ b/docs/html/search/classes_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/classes_a.js b/docs/html/search/classes_a.js new file mode 100644 index 0000000..9005b5b --- /dev/null +++ b/docs/html/search/classes_a.js @@ -0,0 +1,5 @@ +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']]] +]; diff --git a/docs/html/search/close.png b/docs/html/search/close.png new file mode 100644 index 0000000..9342d3d Binary files /dev/null and b/docs/html/search/close.png differ diff --git a/docs/html/search/defines_0.html b/docs/html/search/defines_0.html new file mode 100644 index 0000000..17cfaa2 --- /dev/null +++ b/docs/html/search/defines_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/defines_0.js b/docs/html/search/defines_0.js new file mode 100644 index 0000000..c37dceb --- /dev/null +++ b/docs/html/search/defines_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['bmaudpsocket_5fh_5f_5f',['BMAUDPSocket_h__',['../_b_m_a_u_d_p_socket_8cpp.html#a2821696a341348d2081bb87a6f182eba',1,'BMAUDPSocket.cpp']]] +]; diff --git a/docs/html/search/files_0.html b/docs/html/search/files_0.html new file mode 100644 index 0000000..0b637cf --- /dev/null +++ b/docs/html/search/files_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/files_0.js b/docs/html/search/files_0.js new file mode 100644 index 0000000..77755f4 --- /dev/null +++ b/docs/html/search/files_0.js @@ -0,0 +1,55 @@ +var searchData= +[ + ['bmaauthenticate_2ecpp',['BMAAuthenticate.cpp',['../_b_m_a_authenticate_8cpp.html',1,'']]], + ['bmaauthenticate_2eh',['BMAAuthenticate.h',['../_b_m_a_authenticate_8h.html',1,'']]], + ['bmaconsole_2ecpp',['BMAConsole.cpp',['../_b_m_a_console_8cpp.html',1,'']]], + ['bmaconsole_2eh',['BMAConsole.h',['../_b_m_a_console_8h.html',1,'']]], + ['bmaconsolecommand_2ecpp',['BMAConsoleCommand.cpp',['../_b_m_a_console_command_8cpp.html',1,'']]], + ['bmaconsolecommand_2eh',['BMAConsoleCommand.h',['../_b_m_a_console_command_8h.html',1,'']]], + ['bmaconsolesession_2ecpp',['BMAConsoleSession.cpp',['../_b_m_a_console_session_8cpp.html',1,'']]], + ['bmaconsolesession_2eh',['BMAConsoleSession.h',['../_b_m_a_console_session_8h.html',1,'']]], + ['bmaepoll_2ecpp',['BMAEPoll.cpp',['../_b_m_a_e_poll_8cpp.html',1,'']]], + ['bmaepoll_2eh',['BMAEPoll.h',['../_b_m_a_e_poll_8h.html',1,'']]], + ['bmaevent_2ecpp',['BMAEvent.cpp',['../_b_m_a_event_8cpp.html',1,'']]], + ['bmaevent_2eh',['BMAEvent.h',['../_b_m_a_event_8h.html',1,'']]], + ['bmafile_2ecpp',['BMAFile.cpp',['../_b_m_a_file_8cpp.html',1,'']]], + ['bmafile_2eh',['BMAFile.h',['../_b_m_a_file_8h.html',1,'']]], + ['bmaheader_2ecpp',['BMAHeader.cpp',['../_b_m_a_header_8cpp.html',1,'']]], + ['bmaheader_2eh',['BMAHeader.h',['../_b_m_a_header_8h.html',1,'']]], + ['bmahttprequesthandler_2ecpp',['BMAHTTPRequestHandler.cpp',['../_b_m_a_h_t_t_p_request_handler_8cpp.html',1,'']]], + ['bmahttprequesthandler_2eh',['BMAHTTPRequestHandler.h',['../_b_m_a_h_t_t_p_request_handler_8h.html',1,'']]], + ['bmahttpserver_2ecpp',['BMAHTTPServer.cpp',['../_b_m_a_h_t_t_p_server_8cpp.html',1,'']]], + ['bmahttpserver_2eh',['BMAHTTPServer.h',['../_b_m_a_h_t_t_p_server_8h.html',1,'']]], + ['bmahttpsession_2ecpp',['BMAHTTPSession.cpp',['../_b_m_a_h_t_t_p_session_8cpp.html',1,'']]], + ['bmahttpsession_2eh',['BMAHTTPSession.h',['../_b_m_a_h_t_t_p_session_8h.html',1,'']]], + ['bmalog_2ecpp',['BMALog.cpp',['../_b_m_a_log_8cpp.html',1,'']]], + ['bmalog_2eh',['BMALog.h',['../_b_m_a_log_8h.html',1,'']]], + ['bmamp3file_2ecpp',['BMAMP3File.cpp',['../_b_m_a_m_p3_file_8cpp.html',1,'']]], + ['bmamp3file_2eh',['BMAMP3File.h',['../_b_m_a_m_p3_file_8h.html',1,'']]], + ['bmamp3streamcontentprovider_2eh',['BMAMP3StreamContentProvider.h',['../_b_m_a_m_p3_stream_content_provider_8h.html',1,'']]], + ['bmamp3streamframe_2ecpp',['BMAMP3StreamFrame.cpp',['../_b_m_a_m_p3_stream_frame_8cpp.html',1,'']]], + ['bmamp3streamframe_2eh',['BMAMP3StreamFrame.h',['../_b_m_a_m_p3_stream_frame_8h.html',1,'']]], + ['bmaparseheader_2eh',['BMAParseHeader.h',['../_b_m_a_parse_header_8h.html',1,'']]], + ['bmaproperty_2eh',['BMAProperty.h',['../_b_m_a_property_8h.html',1,'']]], + ['bmaprotocolmanager_2eh',['BMAProtocolManager.h',['../_b_m_a_protocol_manager_8h.html',1,'']]], + ['bmasocket_2ecpp',['BMASocket.cpp',['../_b_m_a_socket_8cpp.html',1,'']]], + ['bmasocket_2eh',['BMASocket.h',['../_b_m_a_socket_8h.html',1,'']]], + ['bmastreamcontentprovider_2ecpp',['BMAStreamContentProvider.cpp',['../_b_m_a_stream_content_provider_8cpp.html',1,'']]], + ['bmastreamcontentprovider_2eh',['BMAStreamContentProvider.h',['../_b_m_a_stream_content_provider_8h.html',1,'']]], + ['bmastreamframe_2ecpp',['BMAStreamFrame.cpp',['../_b_m_a_stream_frame_8cpp.html',1,'']]], + ['bmastreamframe_2eh',['BMAStreamFrame.h',['../_b_m_a_stream_frame_8h.html',1,'']]], + ['bmastreamserver_2ecpp',['BMAStreamServer.cpp',['../_b_m_a_stream_server_8cpp.html',1,'']]], + ['bmastreamserver_2eh',['BMAStreamServer.h',['../_b_m_a_stream_server_8h.html',1,'']]], + ['bmastreamsocket_2ecpp',['BMAStreamSocket.cpp',['../_b_m_a_stream_socket_8cpp.html',1,'']]], + ['bmastreamsocket_2eh',['BMAStreamSocket.h',['../_b_m_a_stream_socket_8h.html',1,'']]], + ['bmatcpserversocket_2ecpp',['BMATCPServerSocket.cpp',['../_b_m_a_t_c_p_server_socket_8cpp.html',1,'']]], + ['bmatcpserversocket_2eh',['BMATCPServerSocket.h',['../_b_m_a_t_c_p_server_socket_8h.html',1,'']]], + ['bmatcpsocket_2ecpp',['BMATCPSocket.cpp',['../_b_m_a_t_c_p_socket_8cpp.html',1,'']]], + ['bmatcpsocket_2eh',['BMATCPSocket.h',['../_b_m_a_t_c_p_socket_8h.html',1,'']]], + ['bmathread_2ecpp',['BMAThread.cpp',['../_b_m_a_thread_8cpp.html',1,'']]], + ['bmathread_2eh',['BMAThread.h',['../_b_m_a_thread_8h.html',1,'']]], + ['bmatimer_2ecpp',['BMATimer.cpp',['../_b_m_a_timer_8cpp.html',1,'']]], + ['bmatimer_2eh',['BMATimer.h',['../_b_m_a_timer_8h.html',1,'']]], + ['bmaudpsocket_2ecpp',['BMAUDPSocket.cpp',['../_b_m_a_u_d_p_socket_8cpp.html',1,'']]], + ['bmaudpsocket_2eh',['BMAUDPSocket.h',['../_b_m_a_u_d_p_socket_8h.html',1,'']]] +]; diff --git a/docs/html/search/files_1.html b/docs/html/search/files_1.html new file mode 100644 index 0000000..1094e74 --- /dev/null +++ b/docs/html/search/files_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/files_1.js b/docs/html/search/files_1.js new file mode 100644 index 0000000..c93faff --- /dev/null +++ b/docs/html/search/files_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['main_2ecpp',['main.cpp',['../main_8cpp.html',1,'']]] +]; diff --git a/docs/html/search/functions_0.html b/docs/html/search/functions_0.html new file mode 100644 index 0000000..4e6d87d --- /dev/null +++ b/docs/html/search/functions_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/functions_0.js b/docs/html/search/functions_0.js new file mode 100644 index 0000000..40fdbbb --- /dev/null +++ b/docs/html/search/functions_0.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['check',['check',['../classcore_1_1_command.html#abdc0d7a4693a7f7940bbae20c4a667c0',1,'core::Command']]], + ['cleartimer',['clearTimer',['../classcore_1_1_timer.html#a8e063f46e89dac04364871e909ab940a',1,'core::Timer']]] +]; diff --git a/docs/html/search/functions_1.html b/docs/html/search/functions_1.html new file mode 100644 index 0000000..b343e2d --- /dev/null +++ b/docs/html/search/functions_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/functions_1.js b/docs/html/search/functions_1.js new file mode 100644 index 0000000..9a1f420 --- /dev/null +++ b/docs/html/search/functions_1.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['enable',['enable',['../classcore_1_1_socket.html#a80b113c4105bb0c74f2e104b0feb90e4',1,'core::Socket']]], + ['epoll',['EPoll',['../classcore_1_1_e_poll.html#a2fd5cc4336b5f72990ecc0e7ea3d7641',1,'core::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/functions_2.html b/docs/html/search/functions_2.html new file mode 100644 index 0000000..ecce2f3 --- /dev/null +++ b/docs/html/search/functions_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/functions_2.js b/docs/html/search/functions_2.js new file mode 100644 index 0000000..dd3abe4 --- /dev/null +++ b/docs/html/search/functions_2.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['getclientaddress',['getClientAddress',['../classcore_1_1_i_p_address.html#ae5e7e28589d026bbbc6c3423d418b008',1,'core::IPAddress']]], + ['getclientaddressandport',['getClientAddressAndPort',['../classcore_1_1_i_p_address.html#abea870f1a048cb7bba1d2bad98558232',1,'core::IPAddress']]], + ['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#a69bf4fbade329653bfab5f81948cd68b',1,'core::Response::getResponse(Mode mode)'],['../classcore_1_1_response.html#a3faec262c1f101176b52a90e39cd08ad',1,'core::Response::getResponse(std::string content, Mode mode)']]], + ['getsocketaccept',['getSocketAccept',['../classcore_1_1_console_server.html#ac1d498a7094fe69acc7b234efa296b1c',1,'core::ConsoleServer::getSocketAccept()'],['../classcore_1_1_t_c_p_server_socket.html#ab1b3da899ef32f14c3162ada91d11742',1,'core::TCPServerSocket::getSocketAccept()'],['../classcore_1_1_t_l_s_server_socket.html#a954541082a39b7b417b3cd741ed4eea6',1,'core::TLSServerSocket::getSocketAccept()']]] +]; diff --git a/docs/html/search/functions_3.html b/docs/html/search/functions_3.html new file mode 100644 index 0000000..15f06ab --- /dev/null +++ b/docs/html/search/functions_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/functions_3.js b/docs/html/search/functions_3.js new file mode 100644 index 0000000..6eb3da7 --- /dev/null +++ b/docs/html/search/functions_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['isstopping',['isStopping',['../classcore_1_1_e_poll.html#a301b46b71ac7ac61a687ff723fe269b3',1,'core::EPoll']]] +]; diff --git a/docs/html/search/functions_4.html b/docs/html/search/functions_4.html new file mode 100644 index 0000000..8985ff2 --- /dev/null +++ b/docs/html/search/functions_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/functions_4.js b/docs/html/search/functions_4.js new file mode 100644 index 0000000..c01683d --- /dev/null +++ b/docs/html/search/functions_4.js @@ -0,0 +1,4 @@ +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)']]] +]; diff --git a/docs/html/search/functions_5.html b/docs/html/search/functions_5.html new file mode 100644 index 0000000..0314918 --- /dev/null +++ b/docs/html/search/functions_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/functions_5.js b/docs/html/search/functions_5.js new file mode 100644 index 0000000..24d6eb1 --- /dev/null +++ b/docs/html/search/functions_5.js @@ -0,0 +1,9 @@ +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()']]] +]; diff --git a/docs/html/search/functions_6.html b/docs/html/search/functions_6.html new file mode 100644 index 0000000..c506123 --- /dev/null +++ b/docs/html/search/functions_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/functions_6.js b/docs/html/search/functions_6.js new file mode 100644 index 0000000..3a7cf9f --- /dev/null +++ b/docs/html/search/functions_6.js @@ -0,0 +1,4 @@ +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()']]] +]; diff --git a/docs/html/search/functions_7.html b/docs/html/search/functions_7.html new file mode 100644 index 0000000..83a7b84 --- /dev/null +++ b/docs/html/search/functions_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/functions_7.js b/docs/html/search/functions_7.js new file mode 100644 index 0000000..540cf19 --- /dev/null +++ b/docs/html/search/functions_7.js @@ -0,0 +1,6 @@ +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']]] +]; diff --git a/docs/html/search/functions_8.html b/docs/html/search/functions_8.html new file mode 100644 index 0000000..b55f0e6 --- /dev/null +++ b/docs/html/search/functions_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/functions_8.js b/docs/html/search/functions_8.js new file mode 100644 index 0000000..e4b498f --- /dev/null +++ b/docs/html/search/functions_8.js @@ -0,0 +1,14 @@ +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#ab2cb1aea2832eabe4a039387030c3b0b',1,'core::Session::sendToAll(SessionFilter *filter)']]], + ['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']]] +]; diff --git a/docs/html/search/functions_9.html b/docs/html/search/functions_9.html new file mode 100644 index 0000000..c73f07b --- /dev/null +++ b/docs/html/search/functions_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/functions_9.js b/docs/html/search/functions_9.js new file mode 100644 index 0000000..4ad452b --- /dev/null +++ b/docs/html/search/functions_9.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['tcpserversocket',['TCPServerSocket',['../classcore_1_1_t_c_p_server_socket.html#a17a5f151f6c4ac520932f33cab5c5991',1,'core::TCPServerSocket']]], + ['tlsserversocket',['TLSServerSocket',['../classcore_1_1_t_l_s_server_socket.html#a2008ff5fcf5c1d8f181bb5ceb6895eba',1,'core::TLSServerSocket']]] +]; diff --git a/docs/html/search/functions_a.html b/docs/html/search/functions_a.html new file mode 100644 index 0000000..f10ad63 --- /dev/null +++ b/docs/html/search/functions_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/functions_a.js b/docs/html/search/functions_a.js new file mode 100644 index 0000000..136b7b8 --- /dev/null +++ b/docs/html/search/functions_a.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['unregistersocket',['unregisterSocket',['../classcore_1_1_e_poll.html#a5ab5e82ab51e0952fc8fbcc128f52900',1,'core::EPoll']]] +]; diff --git a/docs/html/search/functions_b.html b/docs/html/search/functions_b.html new file mode 100644 index 0000000..172ea1b --- /dev/null +++ b/docs/html/search/functions_b.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/functions_b.js b/docs/html/search/functions_b.js new file mode 100644 index 0000000..768f233 --- /dev/null +++ b/docs/html/search/functions_b.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['write',['write',['../classcore_1_1_socket.html#a36ad0e990494d451c493e752dc2a2722',1,'core::Socket']]] +]; diff --git a/docs/html/search/functions_c.html b/docs/html/search/functions_c.html new file mode 100644 index 0000000..99492ba --- /dev/null +++ b/docs/html/search/functions_c.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/functions_c.js b/docs/html/search/functions_c.js new file mode 100644 index 0000000..0489fa5 --- /dev/null +++ b/docs/html/search/functions_c.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['_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/functions_d.html b/docs/html/search/functions_d.html new file mode 100644 index 0000000..82b2b0c --- /dev/null +++ b/docs/html/search/functions_d.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/functions_d.js b/docs/html/search/functions_d.js new file mode 100644 index 0000000..05d7b58 --- /dev/null +++ b/docs/html/search/functions_d.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['write',['write',['../class_b_m_a_log.html#a21e4c882eb7753b61e426a5cd18f6e95',1,'BMALog::write()'],['../class_b_m_a_socket.html#a525cbedfa4b3f62e81f34734a69110ab',1,'BMASocket::write()'],['../class_b_m_a_u_d_p_socket.html#a2634de05846e51536d030ef50400568d',1,'BMAUDPSocket::write()']]], + ['writeframe',['writeFrame',['../class_b_m_a_stream_socket.html#a28e55e4dc91be72e8ca4c2f583d7b235',1,'BMAStreamSocket']]] +]; diff --git a/docs/html/search/functions_e.html b/docs/html/search/functions_e.html new file mode 100644 index 0000000..557ae9a --- /dev/null +++ b/docs/html/search/functions_e.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/functions_e.js b/docs/html/search/functions_e.js new file mode 100644 index 0000000..38ef9dd --- /dev/null +++ b/docs/html/search/functions_e.js @@ -0,0 +1,27 @@ +var searchData= +[ + ['_7ebmaauthenticate',['~BMAAuthenticate',['../class_b_m_a_authenticate.html#a5034dfa273aa058445673d828f08b41c',1,'BMAAuthenticate']]], + ['_7ebmaconsole',['~BMAConsole',['../class_b_m_a_console.html#a5302bd1afa337e173dc2926175d45fb8',1,'BMAConsole']]], + ['_7ebmaconsolecommand',['~BMAConsoleCommand',['../class_b_m_a_console_command.html#a909dee1bc6659e50d95fa3d43526557a',1,'BMAConsoleCommand']]], + ['_7ebmaconsolesession',['~BMAConsoleSession',['../class_b_m_a_console_session.html#aa926aba8d8143b2800b87d386b1b9ab2',1,'BMAConsoleSession']]], + ['_7ebmaepoll',['~BMAEPoll',['../class_b_m_a_e_poll.html#aa24f7f723450c7b4912ec29bed623b61',1,'BMAEPoll']]], + ['_7ebmafile',['~BMAFile',['../class_b_m_a_file.html#ad6d8a40827a8748dcb99e62f3eaa9768',1,'BMAFile']]], + ['_7ebmaheader',['~BMAHeader',['../class_b_m_a_header.html#a19b19a4acf782100dc3bf9fea227b89d',1,'BMAHeader']]], + ['_7ebmahttprequesthandler',['~BMAHTTPRequestHandler',['../class_b_m_a_h_t_t_p_request_handler.html#aadc657def2fb66354d0d2469b7535c7c',1,'BMAHTTPRequestHandler']]], + ['_7ebmahttpserver',['~BMAHTTPServer',['../class_b_m_a_h_t_t_p_server.html#aa3c21b29668f52162092fad945a03d79',1,'BMAHTTPServer']]], + ['_7ebmahttpsession',['~BMAHTTPSession',['../class_b_m_a_h_t_t_p_session.html#a35d8f771b01e50c493ea17548d5d7ab5',1,'BMAHTTPSession']]], + ['_7ebmalog',['~BMALog',['../class_b_m_a_log.html#a443ae6142ef92a8ed4c9af5db57d55a0',1,'BMALog']]], + ['_7ebmamp3file',['~BMAMP3File',['../class_b_m_a_m_p3_file.html#a213f768bf8ae43d759685ab10b4a06d0',1,'BMAMP3File']]], + ['_7ebmamp3streamcontentprovider',['~BMAMP3StreamContentProvider',['../class_b_m_a_m_p3_stream_content_provider.html#a166eff132c7c9c58d1e723cf375158a8',1,'BMAMP3StreamContentProvider']]], + ['_7ebmamp3streamframe',['~BMAMP3StreamFrame',['../class_b_m_a_m_p3_stream_frame.html#a1f1bcabbe510e1ba6a9d1509609dfd8e',1,'BMAMP3StreamFrame']]], + ['_7ebmaprotocolmanager',['~BMAProtocolManager',['../class_b_m_a_protocol_manager.html#a19969ca2f744bb09a7716a83a93ece43',1,'BMAProtocolManager']]], + ['_7ebmasocket',['~BMASocket',['../class_b_m_a_socket.html#ae07ca3bf2bdf294e256f4fd1a3cff896',1,'BMASocket']]], + ['_7ebmastreamcontentprovider',['~BMAStreamContentProvider',['../class_b_m_a_stream_content_provider.html#a3cf6360bc703b2290502ab2efa78a70c',1,'BMAStreamContentProvider']]], + ['_7ebmastreamserver',['~BMAStreamServer',['../class_b_m_a_stream_server.html#a2481fcd342c3b166762065c4afe685cf',1,'BMAStreamServer']]], + ['_7ebmastreamsocket',['~BMAStreamSocket',['../class_b_m_a_stream_socket.html#a434653aed6d823566c74402462159547',1,'BMAStreamSocket']]], + ['_7ebmatcpserversocket',['~BMATCPServerSocket',['../class_b_m_a_t_c_p_server_socket.html#a32383b879e9464c955adab2c7bb33fc2',1,'BMATCPServerSocket']]], + ['_7ebmatcpsocket',['~BMATCPSocket',['../class_b_m_a_t_c_p_socket.html#aef5cce17bbfddf39b412d89cfba91bdb',1,'BMATCPSocket']]], + ['_7ebmathread',['~BMAThread',['../class_b_m_a_thread.html#a0df76628563c488d8c948ce087f22e26',1,'BMAThread']]], + ['_7ebmatimer',['~BMATimer',['../class_b_m_a_timer.html#a3e90d72aac1126f98b5900e686755598',1,'BMATimer']]], + ['_7ebmaudpsocket',['~BMAUDPSocket',['../class_b_m_a_u_d_p_socket.html#a2eafebda702155a6c82513897189e0cc',1,'BMAUDPSocket::~BMAUDPSocket()'],['../class_b_m_a_u_d_p_socket.html#a2eafebda702155a6c82513897189e0cc',1,'BMAUDPSocket::~BMAUDPSocket()']]] +]; diff --git a/docs/html/search/mag_sel.png b/docs/html/search/mag_sel.png new file mode 100644 index 0000000..81f6040 Binary files /dev/null and b/docs/html/search/mag_sel.png differ diff --git a/docs/html/search/namespaces_0.html b/docs/html/search/namespaces_0.html new file mode 100644 index 0000000..605ac45 --- /dev/null +++ b/docs/html/search/namespaces_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/namespaces_0.js b/docs/html/search/namespaces_0.js new file mode 100644 index 0000000..d728a34 --- /dev/null +++ b/docs/html/search/namespaces_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['core',['core',['../namespacecore.html',1,'']]] +]; diff --git a/docs/html/search/nomatches.html b/docs/html/search/nomatches.html new file mode 100644 index 0000000..b1ded27 --- /dev/null +++ b/docs/html/search/nomatches.html @@ -0,0 +1,12 @@ + + + + + + + +
    +
    No Matches
    +
    + + diff --git a/docs/html/search/search.css b/docs/html/search/search.css new file mode 100644 index 0000000..3cf9df9 --- /dev/null +++ b/docs/html/search/search.css @@ -0,0 +1,271 @@ +/*---------------- Search Box */ + +#FSearchBox { + float: left; +} + +#MSearchBox { + white-space : nowrap; + float: none; + margin-top: 8px; + right: 0px; + width: 170px; + height: 24px; + z-index: 102; +} + +#MSearchBox .left +{ + display:block; + position:absolute; + left:10px; + width:20px; + height:19px; + background:url('search_l.png') no-repeat; + background-position:right; +} + +#MSearchSelect { + display:block; + position:absolute; + width:20px; + height:19px; +} + +.left #MSearchSelect { + left:4px; +} + +.right #MSearchSelect { + right:5px; +} + +#MSearchField { + display:block; + position:absolute; + height:19px; + background:url('search_m.png') repeat-x; + border:none; + width:115px; + margin-left:20px; + padding-left:4px; + color: #909090; + outline: none; + font: 9pt Arial, Verdana, sans-serif; + -webkit-border-radius: 0px; +} + +#FSearchBox #MSearchField { + margin-left:15px; +} + +#MSearchBox .right { + display:block; + position:absolute; + right:10px; + top:8px; + width:20px; + height:19px; + background:url('search_r.png') no-repeat; + background-position:left; +} + +#MSearchClose { + display: none; + position: absolute; + top: 4px; + background : none; + border: none; + margin: 0px 4px 0px 0px; + padding: 0px 0px; + outline: none; +} + +.left #MSearchClose { + left: 6px; +} + +.right #MSearchClose { + right: 2px; +} + +.MSearchBoxActive #MSearchField { + color: #000000; +} + +/*---------------- Search filter selection */ + +#MSearchSelectWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #90A5CE; + background-color: #F9FAFC; + z-index: 10001; + padding-top: 4px; + padding-bottom: 4px; + -moz-border-radius: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +.SelectItem { + font: 8pt Arial, Verdana, sans-serif; + padding-left: 2px; + padding-right: 12px; + border: 0px; +} + +span.SelectionMark { + margin-right: 4px; + font-family: monospace; + outline-style: none; + text-decoration: none; +} + +a.SelectItem { + display: block; + outline-style: none; + color: #000000; + text-decoration: none; + padding-left: 6px; + padding-right: 12px; +} + +a.SelectItem:focus, +a.SelectItem:active { + color: #000000; + outline-style: none; + text-decoration: none; +} + +a.SelectItem:hover { + color: #FFFFFF; + background-color: #3D578C; + outline-style: none; + text-decoration: none; + cursor: pointer; + display: block; +} + +/*---------------- Search results window */ + +iframe#MSearchResults { + width: 60ex; + height: 15em; +} + +#MSearchResultsWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #000; + background-color: #EEF1F7; + z-index:10000; +} + +/* ----------------------------------- */ + + +#SRIndex { + clear:both; + padding-bottom: 15px; +} + +.SREntry { + font-size: 10pt; + padding-left: 1ex; +} + +.SRPage .SREntry { + font-size: 8pt; + padding: 1px 5px; +} + +body.SRPage { + margin: 5px 2px; +} + +.SRChildren { + padding-left: 3ex; padding-bottom: .5em +} + +.SRPage .SRChildren { + display: none; +} + +.SRSymbol { + font-weight: bold; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRScope { + display: block; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRSymbol:focus, a.SRSymbol:active, +a.SRScope:focus, a.SRScope:active { + text-decoration: underline; +} + +span.SRScope { + padding-left: 4px; +} + +.SRPage .SRStatus { + padding: 2px 5px; + font-size: 8pt; + font-style: italic; +} + +.SRResult { + display: none; +} + +DIV.searchresults { + margin-left: 10px; + margin-right: 10px; +} + +/*---------------- External search page results */ + +.searchresult { + background-color: #F0F3F8; +} + +.pages b { + color: white; + padding: 5px 5px 3px 5px; + background-image: url("../tab_a.png"); + background-repeat: repeat-x; + text-shadow: 0 1px 1px #000000; +} + +.pages { + line-height: 17px; + margin-left: 4px; + text-decoration: none; +} + +.hl { + font-weight: bold; +} + +#searchresults { + margin-bottom: 20px; +} + +.searchpages { + margin-top: 10px; +} + diff --git a/docs/html/search/search.js b/docs/html/search/search.js new file mode 100644 index 0000000..dedce3b --- /dev/null +++ b/docs/html/search/search.js @@ -0,0 +1,791 @@ +function convertToId(search) +{ + var result = ''; + for (i=0;i do a search + { + this.Search(); + } + } + + this.OnSearchSelectKey = function(evt) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==40 && this.searchIndex0) // Up + { + this.searchIndex--; + this.OnSelectItem(this.searchIndex); + } + else if (e.keyCode==13 || e.keyCode==27) + { + this.OnSelectItem(this.searchIndex); + this.CloseSelectionWindow(); + this.DOMSearchField().focus(); + } + return false; + } + + // --------- Actions + + // Closes the results window. + this.CloseResultsWindow = function() + { + this.DOMPopupSearchResultsWindow().style.display = 'none'; + this.DOMSearchClose().style.display = 'none'; + this.Activate(false); + } + + this.CloseSelectionWindow = function() + { + this.DOMSearchSelectWindow().style.display = 'none'; + } + + // Performs a search. + this.Search = function() + { + this.keyTimeout = 0; + + // strip leading whitespace + var searchValue = this.DOMSearchField().value.replace(/^ +/, ""); + + var code = searchValue.toLowerCase().charCodeAt(0); + var idxChar = searchValue.substr(0, 1).toLowerCase(); + if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair + { + idxChar = searchValue.substr(0, 2); + } + + var resultsPage; + var resultsPageWithSearch; + var hasResultsPage; + + var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); + if (idx!=-1) + { + var hexCode=idx.toString(16); + resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html'; + resultsPageWithSearch = resultsPage+'?'+escape(searchValue); + hasResultsPage = true; + } + else // nothing available for this search term + { + resultsPage = this.resultsPath + '/nomatches.html'; + resultsPageWithSearch = resultsPage; + hasResultsPage = false; + } + + window.frames.MSearchResults.location = resultsPageWithSearch; + var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); + + if (domPopupSearchResultsWindow.style.display!='block') + { + var domSearchBox = this.DOMSearchBox(); + this.DOMSearchClose().style.display = 'inline'; + if (this.insideFrame) + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + domPopupSearchResultsWindow.style.position = 'relative'; + domPopupSearchResultsWindow.style.display = 'block'; + var width = document.body.clientWidth - 8; // the -8 is for IE :-( + domPopupSearchResultsWindow.style.width = width + 'px'; + domPopupSearchResults.style.width = width + 'px'; + } + else + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth; + var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1; + domPopupSearchResultsWindow.style.display = 'block'; + left -= domPopupSearchResults.offsetWidth; + domPopupSearchResultsWindow.style.top = top + 'px'; + domPopupSearchResultsWindow.style.left = left + 'px'; + } + } + + this.lastSearchValue = searchValue; + this.lastResultsPage = resultsPage; + } + + // -------- Activation Functions + + // Activates or deactivates the search panel, resetting things to + // their default values if necessary. + this.Activate = function(isActive) + { + if (isActive || // open it + this.DOMPopupSearchResultsWindow().style.display == 'block' + ) + { + this.DOMSearchBox().className = 'MSearchBoxActive'; + + var searchField = this.DOMSearchField(); + + if (searchField.value == this.searchLabel) // clear "Search" term upon entry + { + searchField.value = ''; + this.searchActive = true; + } + } + else if (!isActive) // directly remove the panel + { + this.DOMSearchBox().className = 'MSearchBoxInactive'; + this.DOMSearchField().value = this.searchLabel; + this.searchActive = false; + this.lastSearchValue = '' + this.lastResultsPage = ''; + } + } +} + +// ----------------------------------------------------------------------- + +// The class that handles everything on the search results page. +function SearchResults(name) +{ + // The number of matches from the last run of . + this.lastMatchCount = 0; + this.lastKey = 0; + this.repeatOn = false; + + // Toggles the visibility of the passed element ID. + this.FindChildElement = function(id) + { + var parentElement = document.getElementById(id); + var element = parentElement.firstChild; + + while (element && element!=parentElement) + { + if (element.nodeName == 'DIV' && element.className == 'SRChildren') + { + return element; + } + + if (element.nodeName == 'DIV' && element.hasChildNodes()) + { + element = element.firstChild; + } + else if (element.nextSibling) + { + element = element.nextSibling; + } + else + { + do + { + element = element.parentNode; + } + while (element && element!=parentElement && !element.nextSibling); + + if (element && element!=parentElement) + { + element = element.nextSibling; + } + } + } + } + + this.Toggle = function(id) + { + var element = this.FindChildElement(id); + if (element) + { + if (element.style.display == 'block') + { + element.style.display = 'none'; + } + else + { + element.style.display = 'block'; + } + } + } + + // Searches for the passed string. If there is no parameter, + // it takes it from the URL query. + // + // Always returns true, since other documents may try to call it + // and that may or may not be possible. + this.Search = function(search) + { + if (!search) // get search word from URL + { + search = window.location.search; + search = search.substring(1); // Remove the leading '?' + search = unescape(search); + } + + search = search.replace(/^ +/, ""); // strip leading spaces + search = search.replace(/ +$/, ""); // strip trailing spaces + search = search.toLowerCase(); + search = convertToId(search); + + var resultRows = document.getElementsByTagName("div"); + var matches = 0; + + var i = 0; + while (i < resultRows.length) + { + var row = resultRows.item(i); + if (row.className == "SRResult") + { + var rowMatchName = row.id.toLowerCase(); + rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' + + if (search.length<=rowMatchName.length && + rowMatchName.substr(0, search.length)==search) + { + row.style.display = 'block'; + matches++; + } + else + { + row.style.display = 'none'; + } + } + i++; + } + document.getElementById("Searching").style.display='none'; + if (matches == 0) // no results + { + document.getElementById("NoMatches").style.display='block'; + } + else // at least one result + { + document.getElementById("NoMatches").style.display='none'; + } + this.lastMatchCount = matches; + return true; + } + + // return the first item with index index or higher that is visible + this.NavNext = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index++; + } + return focusItem; + } + + this.NavPrev = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index--; + } + return focusItem; + } + + this.ProcessKeys = function(e) + { + if (e.type == "keydown") + { + this.repeatOn = false; + this.lastKey = e.keyCode; + } + else if (e.type == "keypress") + { + if (!this.repeatOn) + { + if (this.lastKey) this.repeatOn = true; + return false; // ignore first keypress after keydown + } + } + else if (e.type == "keyup") + { + this.lastKey = 0; + this.repeatOn = false; + } + return this.lastKey!=0; + } + + this.Nav = function(evt,itemIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + var newIndex = itemIndex-1; + var focusItem = this.NavPrev(newIndex); + if (focusItem) + { + var child = this.FindChildElement(focusItem.parentNode.parentNode.id); + if (child && child.style.display == 'block') // children visible + { + var n=0; + var tmpElem; + while (1) // search for last child + { + tmpElem = document.getElementById('Item'+newIndex+'_c'+n); + if (tmpElem) + { + focusItem = tmpElem; + } + else // found it! + { + break; + } + n++; + } + } + } + if (focusItem) + { + focusItem.focus(); + } + else // return focus to search field + { + parent.document.getElementById("MSearchField").focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = itemIndex+1; + var focusItem; + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem && elem.style.display == 'block') // children visible + { + focusItem = document.getElementById('Item'+itemIndex+'_c0'); + } + if (!focusItem) focusItem = this.NavNext(newIndex); + if (focusItem) focusItem.focus(); + } + else if (this.lastKey==39) // Right + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'block'; + } + else if (this.lastKey==37) // Left + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'none'; + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } + + this.NavChild = function(evt,itemIndex,childIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + if (childIndex>0) + { + var newIndex = childIndex-1; + document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); + } + else // already at first child, jump to parent + { + document.getElementById('Item'+itemIndex).focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = childIndex+1; + var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); + if (!elem) // last child, jump to parent next parent + { + elem = this.NavNext(itemIndex+1); + } + if (elem) + { + elem.focus(); + } + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } +} + +function setKeyActions(elem,action) +{ + elem.setAttribute('onkeydown',action); + elem.setAttribute('onkeypress',action); + elem.setAttribute('onkeyup',action); +} + +function setClassAttr(elem,attr) +{ + elem.setAttribute('class',attr); + elem.setAttribute('className',attr); +} + +function createResults() +{ + var results = document.getElementById("SRResults"); + for (var e=0; e + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/variables_0.js b/docs/html/search/variables_0.js new file mode 100644 index 0000000..a4ebccb --- /dev/null +++ b/docs/html/search/variables_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['consoleserver',['consoleServer',['../classcore_1_1_log.html#af827af1601d71bca20249484962142f4',1,'core::Log']]] +]; diff --git a/docs/html/search/variables_1.html b/docs/html/search/variables_1.html new file mode 100644 index 0000000..84237b6 --- /dev/null +++ b/docs/html/search/variables_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/variables_1.js b/docs/html/search/variables_1.js new file mode 100644 index 0000000..dd23cb1 --- /dev/null +++ b/docs/html/search/variables_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['logfile',['logFile',['../classcore_1_1_log.html#a7f9c71cb4fea14efccdc838562757f13',1,'core::Log']]] +]; diff --git a/docs/html/search/variables_2.html b/docs/html/search/variables_2.html new file mode 100644 index 0000000..5c9de1a --- /dev/null +++ b/docs/html/search/variables_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/variables_2.js b/docs/html/search/variables_2.js new file mode 100644 index 0000000..c93cdec --- /dev/null +++ b/docs/html/search/variables_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['maxsockets',['maxSockets',['../classcore_1_1_e_poll.html#acfcef2513d94f7b9a191fed3dc744d90',1,'core::EPoll']]] +]; diff --git a/docs/html/search/variables_3.html b/docs/html/search/variables_3.html new file mode 100644 index 0000000..f95e34c --- /dev/null +++ b/docs/html/search/variables_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/variables_3.js b/docs/html/search/variables_3.js new file mode 100644 index 0000000..e7b7905 --- /dev/null +++ b/docs/html/search/variables_3.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['seq',['seq',['../classcore_1_1_log.html#aa040c12560c120f7b4200237b628d77e',1,'core::Log']]], + ['sessions',['sessions',['../classcore_1_1_t_c_p_server_socket.html#ab97dc18253d52ecb5668e44360479fe2',1,'core::TCPServerSocket']]] +]; diff --git a/docs/html/search/variables_4.html b/docs/html/search/variables_4.html new file mode 100644 index 0000000..1ed95cb --- /dev/null +++ b/docs/html/search/variables_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/variables_4.js b/docs/html/search/variables_4.js new file mode 100644 index 0000000..383f5c6 --- /dev/null +++ b/docs/html/search/variables_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['frames',['frames',['../class_b_m_a_stream_content_provider.html#ae0bb7e24346fcd7df284c3c3e06acfc5',1,'BMAStreamContentProvider']]] +]; diff --git a/docs/html/search/variables_5.html b/docs/html/search/variables_5.html new file mode 100644 index 0000000..ecc883b --- /dev/null +++ b/docs/html/search/variables_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/variables_5.js b/docs/html/search/variables_5.js new file mode 100644 index 0000000..59aa2b2 --- /dev/null +++ b/docs/html/search/variables_5.js @@ -0,0 +1,5 @@ +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']]] +]; diff --git a/docs/html/search/variables_6.html b/docs/html/search/variables_6.html new file mode 100644 index 0000000..0c1a66b --- /dev/null +++ b/docs/html/search/variables_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/variables_6.js b/docs/html/search/variables_6.js new file mode 100644 index 0000000..85c1584 --- /dev/null +++ b/docs/html/search/variables_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['maxsockets',['maxSockets',['../class_b_m_a_e_poll.html#ad95e44649fb029c8bbdccfa952109fe8',1,'BMAEPoll']]] +]; diff --git a/docs/html/search/variables_7.html b/docs/html/search/variables_7.html new file mode 100644 index 0000000..e0da2ef --- /dev/null +++ b/docs/html/search/variables_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/variables_7.js b/docs/html/search/variables_7.js new file mode 100644 index 0000000..36bfc27 --- /dev/null +++ b/docs/html/search/variables_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['os',['os',['../class_b_m_a_log.html#adf90bc53ce41d79db93cd385eb7a8b4e',1,'BMALog']]] +]; diff --git a/docs/html/search/variables_8.html b/docs/html/search/variables_8.html new file mode 100644 index 0000000..0c3d1df --- /dev/null +++ b/docs/html/search/variables_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/variables_8.js b/docs/html/search/variables_8.js new file mode 100644 index 0000000..06f14e7 --- /dev/null +++ b/docs/html/search/variables_8.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['ready',['ready',['../class_b_m_a_stream_content_provider.html#a1ade88dfec2372bdd3733dd99669a3a6',1,'BMAStreamContentProvider']]] +]; diff --git a/docs/html/search/variables_9.html b/docs/html/search/variables_9.html new file mode 100644 index 0000000..e14a107 --- /dev/null +++ b/docs/html/search/variables_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/variables_9.js b/docs/html/search/variables_9.js new file mode 100644 index 0000000..c88fb0b --- /dev/null +++ b/docs/html/search/variables_9.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['sample_5frates',['sample_rates',['../class_b_m_a_m_p3_stream_frame.html#a4c570bcdc77665c207d84d1ed046abbf',1,'BMAMP3StreamFrame']]], + ['size',['size',['../class_b_m_a_file.html#ae57b53f5e14e9bd0a5082946e53c292e',1,'BMAFile']]], + ['sockets',['sockets',['../class_b_m_a_e_poll.html#a07e83e4b9fdad9550c7b383b0ee2d437',1,'BMAEPoll']]], + ['streamdata',['streamData',['../class_b_m_a_stream_frame.html#a42767d408575fb59a37f398d867f51a7',1,'BMAStreamFrame']]] +]; diff --git a/docs/html/search/variables_a.html b/docs/html/search/variables_a.html new file mode 100644 index 0000000..4e38be7 --- /dev/null +++ b/docs/html/search/variables_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/docs/html/search/variables_a.js b/docs/html/search/variables_a.js new file mode 100644 index 0000000..ea42564 --- /dev/null +++ b/docs/html/search/variables_a.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['value',['value',['../class_b_m_a_property.html#abf0982ca4a88c38d3b61b52661dc50f0',1,'BMAProperty']]] +]; diff --git a/docs/html/splitbar.png b/docs/html/splitbar.png new file mode 100644 index 0000000..fe895f2 Binary files /dev/null and b/docs/html/splitbar.png differ diff --git a/docs/html/sync_off.png b/docs/html/sync_off.png new file mode 100644 index 0000000..3b443fc Binary files /dev/null and b/docs/html/sync_off.png differ diff --git a/docs/html/sync_on.png b/docs/html/sync_on.png new file mode 100644 index 0000000..e08320f Binary files /dev/null and b/docs/html/sync_on.png differ diff --git a/docs/html/tab_a.png b/docs/html/tab_a.png new file mode 100644 index 0000000..3b725c4 Binary files /dev/null and b/docs/html/tab_a.png differ diff --git a/docs/html/tab_b.png b/docs/html/tab_b.png new file mode 100644 index 0000000..e2b4a86 Binary files /dev/null and b/docs/html/tab_b.png differ diff --git a/docs/html/tab_h.png b/docs/html/tab_h.png new file mode 100644 index 0000000..fd5cb70 Binary files /dev/null and b/docs/html/tab_h.png differ diff --git a/docs/html/tab_s.png b/docs/html/tab_s.png new file mode 100644 index 0000000..ab478c9 Binary files /dev/null and b/docs/html/tab_s.png differ diff --git a/docs/html/tabs.css b/docs/html/tabs.css new file mode 100644 index 0000000..bbde11e --- /dev/null +++ b/docs/html/tabs.css @@ -0,0 +1 @@ +.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:transparent}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0px/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0px 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0px 1px 1px rgba(255,255,255,0.9);color:#283A5D;outline:none}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox a.current{color:#D23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);border-radius:5px}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media (min-width: 768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283A5D transparent transparent transparent;background:transparent;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0px 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;border-radius:0 !important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox a:hover span.sub-arrow{border-color:#fff transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;border-radius:5px !important;box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0 !important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent #fff}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #D23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#D23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}} diff --git a/docs/latex/Makefile b/docs/latex/Makefile new file mode 100644 index 0000000..8cc3866 --- /dev/null +++ b/docs/latex/Makefile @@ -0,0 +1,21 @@ +all: refman.pdf + +pdf: refman.pdf + +refman.pdf: clean refman.tex + pdflatex refman + makeindex refman.idx + pdflatex refman + latex_count=8 ; \ + while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;\ + do \ + echo "Rerunning latex...." ;\ + pdflatex refman ;\ + latex_count=`expr $$latex_count - 1` ;\ + done + makeindex refman.idx + pdflatex refman + + +clean: + rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl refman.pdf diff --git a/docs/latex/_b_m_a_authenticate_8cpp.tex b/docs/latex/_b_m_a_authenticate_8cpp.tex new file mode 100644 index 0000000..e1c97a5 --- /dev/null +++ b/docs/latex/_b_m_a_authenticate_8cpp.tex @@ -0,0 +1,10 @@ +\hypertarget{_b_m_a_authenticate_8cpp}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Authenticate.cpp File Reference} +\label{_b_m_a_authenticate_8cpp}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Authenticate.\+cpp@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Authenticate.\+cpp}} +{\ttfamily \#include \char`\"{}B\+M\+A\+Authenticate.\+h\char`\"{}}\\* +Include dependency graph for B\+M\+A\+Authenticate.\+cpp\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_authenticate_8cpp__incl} +\end{center} +\end{figure} diff --git a/docs/latex/_b_m_a_authenticate_8cpp__incl.md5 b/docs/latex/_b_m_a_authenticate_8cpp__incl.md5 new file mode 100644 index 0000000..9bcfab7 --- /dev/null +++ b/docs/latex/_b_m_a_authenticate_8cpp__incl.md5 @@ -0,0 +1 @@ +93739bf4356e9628709034d645333188 \ No newline at end of file diff --git a/docs/latex/_b_m_a_authenticate_8cpp__incl.pdf b/docs/latex/_b_m_a_authenticate_8cpp__incl.pdf new file mode 100644 index 0000000..31f0626 Binary files /dev/null and b/docs/latex/_b_m_a_authenticate_8cpp__incl.pdf differ diff --git a/docs/latex/_b_m_a_authenticate_8h.tex b/docs/latex/_b_m_a_authenticate_8h.tex new file mode 100644 index 0000000..ca29c4e --- /dev/null +++ b/docs/latex/_b_m_a_authenticate_8h.tex @@ -0,0 +1,22 @@ +\hypertarget{_b_m_a_authenticate_8h}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Authenticate.h File Reference} +\label{_b_m_a_authenticate_8h}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Authenticate.\+h@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Authenticate.\+h}} +{\ttfamily \#include \char`\"{}B\+M\+A\+T\+C\+P\+Server\+Socket.\+h\char`\"{}}\\* +Include dependency graph for B\+M\+A\+Authenticate.\+h\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_authenticate_8h__incl} +\end{center} +\end{figure} +This graph shows which files directly or indirectly include this file\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=218pt]{_b_m_a_authenticate_8h__dep__incl} +\end{center} +\end{figure} +\subsection*{Classes} +\begin{DoxyCompactItemize} +\item +class \hyperlink{class_b_m_a_authenticate}{B\+M\+A\+Authenticate} +\end{DoxyCompactItemize} diff --git a/docs/latex/_b_m_a_authenticate_8h__dep__incl.md5 b/docs/latex/_b_m_a_authenticate_8h__dep__incl.md5 new file mode 100644 index 0000000..8287d6e --- /dev/null +++ b/docs/latex/_b_m_a_authenticate_8h__dep__incl.md5 @@ -0,0 +1 @@ +1cac52484c2c44b658d7ed2813ecf3d4 \ No newline at end of file diff --git a/docs/latex/_b_m_a_authenticate_8h__dep__incl.pdf b/docs/latex/_b_m_a_authenticate_8h__dep__incl.pdf new file mode 100644 index 0000000..0a08c8c Binary files /dev/null and b/docs/latex/_b_m_a_authenticate_8h__dep__incl.pdf differ diff --git a/docs/latex/_b_m_a_authenticate_8h__incl.md5 b/docs/latex/_b_m_a_authenticate_8h__incl.md5 new file mode 100644 index 0000000..1ec2537 --- /dev/null +++ b/docs/latex/_b_m_a_authenticate_8h__incl.md5 @@ -0,0 +1 @@ +104582b406687de3d827da74334b7fba \ No newline at end of file diff --git a/docs/latex/_b_m_a_authenticate_8h__incl.pdf b/docs/latex/_b_m_a_authenticate_8h__incl.pdf new file mode 100644 index 0000000..f791335 Binary files /dev/null and b/docs/latex/_b_m_a_authenticate_8h__incl.pdf differ diff --git a/docs/latex/_b_m_a_console_8cpp.tex b/docs/latex/_b_m_a_console_8cpp.tex new file mode 100644 index 0000000..f2e2949 --- /dev/null +++ b/docs/latex/_b_m_a_console_8cpp.tex @@ -0,0 +1,12 @@ +\hypertarget{_b_m_a_console_8cpp}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Console.cpp File Reference} +\label{_b_m_a_console_8cpp}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Console.\+cpp@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Console.\+cpp}} +{\ttfamily \#include \char`\"{}B\+M\+A\+E\+Poll.\+h\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+Console.\+h\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+Console\+Session.\+h\char`\"{}}\\* +Include dependency graph for B\+M\+A\+Console.\+cpp\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_console_8cpp__incl} +\end{center} +\end{figure} diff --git a/docs/latex/_b_m_a_console_8cpp__incl.md5 b/docs/latex/_b_m_a_console_8cpp__incl.md5 new file mode 100644 index 0000000..07dfa15 --- /dev/null +++ b/docs/latex/_b_m_a_console_8cpp__incl.md5 @@ -0,0 +1 @@ +d96fd8d7baf006a75bed2e113f38aed3 \ No newline at end of file diff --git a/docs/latex/_b_m_a_console_8cpp__incl.pdf b/docs/latex/_b_m_a_console_8cpp__incl.pdf new file mode 100644 index 0000000..70d8df8 Binary files /dev/null and b/docs/latex/_b_m_a_console_8cpp__incl.pdf differ diff --git a/docs/latex/_b_m_a_console_8h.tex b/docs/latex/_b_m_a_console_8h.tex new file mode 100644 index 0000000..1d34a60 --- /dev/null +++ b/docs/latex/_b_m_a_console_8h.tex @@ -0,0 +1,24 @@ +\hypertarget{_b_m_a_console_8h}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Console.h File Reference} +\label{_b_m_a_console_8h}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Console.\+h@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Console.\+h}} +{\ttfamily \#include \char`\"{}B\+M\+A\+T\+C\+P\+Server\+Socket.\+h\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+Console\+Command.\+h\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+Log.\+h\char`\"{}}\\* +Include dependency graph for B\+M\+A\+Console.\+h\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_console_8h__incl} +\end{center} +\end{figure} +This graph shows which files directly or indirectly include this file\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_console_8h__dep__incl} +\end{center} +\end{figure} +\subsection*{Classes} +\begin{DoxyCompactItemize} +\item +class \hyperlink{class_b_m_a_console}{B\+M\+A\+Console} +\end{DoxyCompactItemize} diff --git a/docs/latex/_b_m_a_console_8h__dep__incl.md5 b/docs/latex/_b_m_a_console_8h__dep__incl.md5 new file mode 100644 index 0000000..22c0c54 --- /dev/null +++ b/docs/latex/_b_m_a_console_8h__dep__incl.md5 @@ -0,0 +1 @@ +2db615a5e44615fd876ae05ff033a960 \ No newline at end of file diff --git a/docs/latex/_b_m_a_console_8h__dep__incl.pdf b/docs/latex/_b_m_a_console_8h__dep__incl.pdf new file mode 100644 index 0000000..df1e795 Binary files /dev/null and b/docs/latex/_b_m_a_console_8h__dep__incl.pdf differ diff --git a/docs/latex/_b_m_a_console_8h__incl.md5 b/docs/latex/_b_m_a_console_8h__incl.md5 new file mode 100644 index 0000000..4d53d53 --- /dev/null +++ b/docs/latex/_b_m_a_console_8h__incl.md5 @@ -0,0 +1 @@ +8d06c7d80de3f056ca9c9da27f26baad \ No newline at end of file diff --git a/docs/latex/_b_m_a_console_8h__incl.pdf b/docs/latex/_b_m_a_console_8h__incl.pdf new file mode 100644 index 0000000..fc218ef Binary files /dev/null and b/docs/latex/_b_m_a_console_8h__incl.pdf differ diff --git a/docs/latex/_b_m_a_console_command_8cpp.tex b/docs/latex/_b_m_a_console_command_8cpp.tex new file mode 100644 index 0000000..0efd324 --- /dev/null +++ b/docs/latex/_b_m_a_console_command_8cpp.tex @@ -0,0 +1,11 @@ +\hypertarget{_b_m_a_console_command_8cpp}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Console\+Command.cpp File Reference} +\label{_b_m_a_console_command_8cpp}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Console\+Command.\+cpp@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Console\+Command.\+cpp}} +{\ttfamily \#include \char`\"{}B\+M\+A\+Console\+Command.\+h\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+Console\+Session.\+h\char`\"{}}\\* +Include dependency graph for B\+M\+A\+Console\+Command.\+cpp\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_console_command_8cpp__incl} +\end{center} +\end{figure} diff --git a/docs/latex/_b_m_a_console_command_8cpp__incl.md5 b/docs/latex/_b_m_a_console_command_8cpp__incl.md5 new file mode 100644 index 0000000..39f8f9f --- /dev/null +++ b/docs/latex/_b_m_a_console_command_8cpp__incl.md5 @@ -0,0 +1 @@ +abc9ba421f83cde250c72c32cc0c9fce \ No newline at end of file diff --git a/docs/latex/_b_m_a_console_command_8cpp__incl.pdf b/docs/latex/_b_m_a_console_command_8cpp__incl.pdf new file mode 100644 index 0000000..9786dba Binary files /dev/null and b/docs/latex/_b_m_a_console_command_8cpp__incl.pdf differ diff --git a/docs/latex/_b_m_a_console_command_8h.tex b/docs/latex/_b_m_a_console_command_8h.tex new file mode 100644 index 0000000..49b90b4 --- /dev/null +++ b/docs/latex/_b_m_a_console_command_8h.tex @@ -0,0 +1,22 @@ +\hypertarget{_b_m_a_console_command_8h}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Console\+Command.h File Reference} +\label{_b_m_a_console_command_8h}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Console\+Command.\+h@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Console\+Command.\+h}} +{\ttfamily \#include \char`\"{}includes\char`\"{}}\\* +Include dependency graph for B\+M\+A\+Console\+Command.\+h\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=218pt]{_b_m_a_console_command_8h__incl} +\end{center} +\end{figure} +This graph shows which files directly or indirectly include this file\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_console_command_8h__dep__incl} +\end{center} +\end{figure} +\subsection*{Classes} +\begin{DoxyCompactItemize} +\item +class \hyperlink{class_b_m_a_console_command}{B\+M\+A\+Console\+Command} +\end{DoxyCompactItemize} diff --git a/docs/latex/_b_m_a_console_command_8h__dep__incl.md5 b/docs/latex/_b_m_a_console_command_8h__dep__incl.md5 new file mode 100644 index 0000000..ae3d088 --- /dev/null +++ b/docs/latex/_b_m_a_console_command_8h__dep__incl.md5 @@ -0,0 +1 @@ +ef2096fcba0a8ae0ff14b011ed198420 \ No newline at end of file diff --git a/docs/latex/_b_m_a_console_command_8h__dep__incl.pdf b/docs/latex/_b_m_a_console_command_8h__dep__incl.pdf new file mode 100644 index 0000000..7bd34e1 Binary files /dev/null and b/docs/latex/_b_m_a_console_command_8h__dep__incl.pdf differ diff --git a/docs/latex/_b_m_a_console_command_8h__incl.md5 b/docs/latex/_b_m_a_console_command_8h__incl.md5 new file mode 100644 index 0000000..595b76a --- /dev/null +++ b/docs/latex/_b_m_a_console_command_8h__incl.md5 @@ -0,0 +1 @@ +c7e8cedc37c08438c456eb77de0517d7 \ No newline at end of file diff --git a/docs/latex/_b_m_a_console_command_8h__incl.pdf b/docs/latex/_b_m_a_console_command_8h__incl.pdf new file mode 100644 index 0000000..0eef794 Binary files /dev/null and b/docs/latex/_b_m_a_console_command_8h__incl.pdf differ diff --git a/docs/latex/_b_m_a_console_session_8cpp.tex b/docs/latex/_b_m_a_console_session_8cpp.tex new file mode 100644 index 0000000..e9153f6 --- /dev/null +++ b/docs/latex/_b_m_a_console_session_8cpp.tex @@ -0,0 +1,10 @@ +\hypertarget{_b_m_a_console_session_8cpp}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Console\+Session.cpp File Reference} +\label{_b_m_a_console_session_8cpp}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Console\+Session.\+cpp@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Console\+Session.\+cpp}} +{\ttfamily \#include \char`\"{}B\+M\+A\+Console\+Session.\+h\char`\"{}}\\* +Include dependency graph for B\+M\+A\+Console\+Session.\+cpp\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_console_session_8cpp__incl} +\end{center} +\end{figure} diff --git a/docs/latex/_b_m_a_console_session_8cpp__incl.md5 b/docs/latex/_b_m_a_console_session_8cpp__incl.md5 new file mode 100644 index 0000000..8149b01 --- /dev/null +++ b/docs/latex/_b_m_a_console_session_8cpp__incl.md5 @@ -0,0 +1 @@ +8d376abd39854144ce5c063ae65360ac \ No newline at end of file diff --git a/docs/latex/_b_m_a_console_session_8cpp__incl.pdf b/docs/latex/_b_m_a_console_session_8cpp__incl.pdf new file mode 100644 index 0000000..790fc7f Binary files /dev/null and b/docs/latex/_b_m_a_console_session_8cpp__incl.pdf differ diff --git a/docs/latex/_b_m_a_console_session_8h.tex b/docs/latex/_b_m_a_console_session_8h.tex new file mode 100644 index 0000000..97d81f2 --- /dev/null +++ b/docs/latex/_b_m_a_console_session_8h.tex @@ -0,0 +1,23 @@ +\hypertarget{_b_m_a_console_session_8h}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Console\+Session.h File Reference} +\label{_b_m_a_console_session_8h}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Console\+Session.\+h@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Console\+Session.\+h}} +{\ttfamily \#include \char`\"{}B\+M\+A\+T\+C\+P\+Socket.\+h\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+E\+Poll.\+h\char`\"{}}\\* +Include dependency graph for B\+M\+A\+Console\+Session.\+h\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_console_session_8h__incl} +\end{center} +\end{figure} +This graph shows which files directly or indirectly include this file\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_console_session_8h__dep__incl} +\end{center} +\end{figure} +\subsection*{Classes} +\begin{DoxyCompactItemize} +\item +class \hyperlink{class_b_m_a_console_session}{B\+M\+A\+Console\+Session} +\end{DoxyCompactItemize} diff --git a/docs/latex/_b_m_a_console_session_8h__dep__incl.md5 b/docs/latex/_b_m_a_console_session_8h__dep__incl.md5 new file mode 100644 index 0000000..b9f6a6a --- /dev/null +++ b/docs/latex/_b_m_a_console_session_8h__dep__incl.md5 @@ -0,0 +1 @@ +9c9e5cf191a03b3bac5ffd75afa5fee6 \ No newline at end of file diff --git a/docs/latex/_b_m_a_console_session_8h__dep__incl.pdf b/docs/latex/_b_m_a_console_session_8h__dep__incl.pdf new file mode 100644 index 0000000..8235a03 Binary files /dev/null and b/docs/latex/_b_m_a_console_session_8h__dep__incl.pdf differ diff --git a/docs/latex/_b_m_a_console_session_8h__incl.md5 b/docs/latex/_b_m_a_console_session_8h__incl.md5 new file mode 100644 index 0000000..ed9233f --- /dev/null +++ b/docs/latex/_b_m_a_console_session_8h__incl.md5 @@ -0,0 +1 @@ +1e6bb21e12e313205d2f9f26e18b850b \ No newline at end of file diff --git a/docs/latex/_b_m_a_console_session_8h__incl.pdf b/docs/latex/_b_m_a_console_session_8h__incl.pdf new file mode 100644 index 0000000..c1b6042 Binary files /dev/null and b/docs/latex/_b_m_a_console_session_8h__incl.pdf differ diff --git a/docs/latex/_b_m_a_e_poll_8cpp.tex b/docs/latex/_b_m_a_e_poll_8cpp.tex new file mode 100644 index 0000000..66a11ab --- /dev/null +++ b/docs/latex/_b_m_a_e_poll_8cpp.tex @@ -0,0 +1,13 @@ +\hypertarget{_b_m_a_e_poll_8cpp}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+E\+Poll.cpp File Reference} +\label{_b_m_a_e_poll_8cpp}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+E\+Poll.\+cpp@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+E\+Poll.\+cpp}} +{\ttfamily \#include \char`\"{}includes\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+Thread.\+h\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+E\+Poll.\+h\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+Console\+Session.\+h\char`\"{}}\\* +Include dependency graph for B\+M\+A\+E\+Poll.\+cpp\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_e_poll_8cpp__incl} +\end{center} +\end{figure} diff --git a/docs/latex/_b_m_a_e_poll_8cpp__incl.md5 b/docs/latex/_b_m_a_e_poll_8cpp__incl.md5 new file mode 100644 index 0000000..554ea4d --- /dev/null +++ b/docs/latex/_b_m_a_e_poll_8cpp__incl.md5 @@ -0,0 +1 @@ +575981f3021772a79744c02592823b1b \ No newline at end of file diff --git a/docs/latex/_b_m_a_e_poll_8cpp__incl.pdf b/docs/latex/_b_m_a_e_poll_8cpp__incl.pdf new file mode 100644 index 0000000..2ff8650 Binary files /dev/null and b/docs/latex/_b_m_a_e_poll_8cpp__incl.pdf differ diff --git a/docs/latex/_b_m_a_e_poll_8h.tex b/docs/latex/_b_m_a_e_poll_8h.tex new file mode 100644 index 0000000..e5a4c8b --- /dev/null +++ b/docs/latex/_b_m_a_e_poll_8h.tex @@ -0,0 +1,24 @@ +\hypertarget{_b_m_a_e_poll_8h}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+E\+Poll.h File Reference} +\label{_b_m_a_e_poll_8h}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+E\+Poll.\+h@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+E\+Poll.\+h}} +{\ttfamily \#include \char`\"{}B\+M\+A\+Socket.\+h\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+Thread.\+h\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+Console.\+h\char`\"{}}\\* +Include dependency graph for B\+M\+A\+E\+Poll.\+h\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_e_poll_8h__incl} +\end{center} +\end{figure} +This graph shows which files directly or indirectly include this file\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_e_poll_8h__dep__incl} +\end{center} +\end{figure} +\subsection*{Classes} +\begin{DoxyCompactItemize} +\item +class \hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} +\begin{DoxyCompactList}\small\item\em Use this object to establish a socket server using the epoll network structure of Linux. \end{DoxyCompactList}\end{DoxyCompactItemize} diff --git a/docs/latex/_b_m_a_e_poll_8h__dep__incl.md5 b/docs/latex/_b_m_a_e_poll_8h__dep__incl.md5 new file mode 100644 index 0000000..a96fb67 --- /dev/null +++ b/docs/latex/_b_m_a_e_poll_8h__dep__incl.md5 @@ -0,0 +1 @@ +d7e4b8e79e4e69b91b30c795ccc8c9a5 \ No newline at end of file diff --git a/docs/latex/_b_m_a_e_poll_8h__dep__incl.pdf b/docs/latex/_b_m_a_e_poll_8h__dep__incl.pdf new file mode 100644 index 0000000..fb6fed0 Binary files /dev/null and b/docs/latex/_b_m_a_e_poll_8h__dep__incl.pdf differ diff --git a/docs/latex/_b_m_a_e_poll_8h__incl.md5 b/docs/latex/_b_m_a_e_poll_8h__incl.md5 new file mode 100644 index 0000000..eda5499 --- /dev/null +++ b/docs/latex/_b_m_a_e_poll_8h__incl.md5 @@ -0,0 +1 @@ +54e035bb4eab7018c62acac8ae689e61 \ No newline at end of file diff --git a/docs/latex/_b_m_a_e_poll_8h__incl.pdf b/docs/latex/_b_m_a_e_poll_8h__incl.pdf new file mode 100644 index 0000000..29722bd Binary files /dev/null and b/docs/latex/_b_m_a_e_poll_8h__incl.pdf differ diff --git a/docs/latex/_b_m_a_event_8cpp.tex b/docs/latex/_b_m_a_event_8cpp.tex new file mode 100644 index 0000000..e6b55af --- /dev/null +++ b/docs/latex/_b_m_a_event_8cpp.tex @@ -0,0 +1,2 @@ +\hypertarget{_b_m_a_event_8cpp}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Event.cpp File Reference} +\label{_b_m_a_event_8cpp}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Event.\+cpp@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Event.\+cpp}} diff --git a/docs/latex/_b_m_a_event_8h.tex b/docs/latex/_b_m_a_event_8h.tex new file mode 100644 index 0000000..16a5a8e --- /dev/null +++ b/docs/latex/_b_m_a_event_8h.tex @@ -0,0 +1,22 @@ +\hypertarget{_b_m_a_event_8h}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Event.h File Reference} +\label{_b_m_a_event_8h}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Event.\+h@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Event.\+h}} +{\ttfamily \#include \char`\"{}includes\char`\"{}}\\* +Include dependency graph for B\+M\+A\+Event.\+h\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=218pt]{_b_m_a_event_8h__incl} +\end{center} +\end{figure} +This graph shows which files directly or indirectly include this file\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_event_8h__dep__incl} +\end{center} +\end{figure} +\subsection*{Classes} +\begin{DoxyCompactItemize} +\item +class \hyperlink{class_b_m_a_event}{B\+M\+A\+Event$<$ Args $>$} +\end{DoxyCompactItemize} diff --git a/docs/latex/_b_m_a_event_8h__dep__incl.md5 b/docs/latex/_b_m_a_event_8h__dep__incl.md5 new file mode 100644 index 0000000..3dc3e5c --- /dev/null +++ b/docs/latex/_b_m_a_event_8h__dep__incl.md5 @@ -0,0 +1 @@ +79f6e9afa8d05e0703630723955664c6 \ No newline at end of file diff --git a/docs/latex/_b_m_a_event_8h__dep__incl.pdf b/docs/latex/_b_m_a_event_8h__dep__incl.pdf new file mode 100644 index 0000000..4e6d0ca Binary files /dev/null and b/docs/latex/_b_m_a_event_8h__dep__incl.pdf differ diff --git a/docs/latex/_b_m_a_event_8h__incl.md5 b/docs/latex/_b_m_a_event_8h__incl.md5 new file mode 100644 index 0000000..61708bc --- /dev/null +++ b/docs/latex/_b_m_a_event_8h__incl.md5 @@ -0,0 +1 @@ +18aa57e7dd6bccb2aa3d2ff27a12a5ae \ No newline at end of file diff --git a/docs/latex/_b_m_a_event_8h__incl.pdf b/docs/latex/_b_m_a_event_8h__incl.pdf new file mode 100644 index 0000000..57f672a Binary files /dev/null and b/docs/latex/_b_m_a_event_8h__incl.pdf differ diff --git a/docs/latex/_b_m_a_file_8cpp.tex b/docs/latex/_b_m_a_file_8cpp.tex new file mode 100644 index 0000000..ebc9c5c --- /dev/null +++ b/docs/latex/_b_m_a_file_8cpp.tex @@ -0,0 +1,10 @@ +\hypertarget{_b_m_a_file_8cpp}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+File.cpp File Reference} +\label{_b_m_a_file_8cpp}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+File.\+cpp@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+File.\+cpp}} +{\ttfamily \#include \char`\"{}B\+M\+A\+File.\+h\char`\"{}}\\* +Include dependency graph for B\+M\+A\+File.\+cpp\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=218pt]{_b_m_a_file_8cpp__incl} +\end{center} +\end{figure} diff --git a/docs/latex/_b_m_a_file_8cpp__incl.md5 b/docs/latex/_b_m_a_file_8cpp__incl.md5 new file mode 100644 index 0000000..161953b --- /dev/null +++ b/docs/latex/_b_m_a_file_8cpp__incl.md5 @@ -0,0 +1 @@ +fbe01f2a54896480ee4da9b8c3b0b25e \ No newline at end of file diff --git a/docs/latex/_b_m_a_file_8cpp__incl.pdf b/docs/latex/_b_m_a_file_8cpp__incl.pdf new file mode 100644 index 0000000..2e7810c Binary files /dev/null and b/docs/latex/_b_m_a_file_8cpp__incl.pdf differ diff --git a/docs/latex/_b_m_a_file_8h.tex b/docs/latex/_b_m_a_file_8h.tex new file mode 100644 index 0000000..278378e --- /dev/null +++ b/docs/latex/_b_m_a_file_8h.tex @@ -0,0 +1,22 @@ +\hypertarget{_b_m_a_file_8h}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+File.h File Reference} +\label{_b_m_a_file_8h}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+File.\+h@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+File.\+h}} +{\ttfamily \#include \char`\"{}includes\char`\"{}}\\* +Include dependency graph for B\+M\+A\+File.\+h\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=218pt]{_b_m_a_file_8h__incl} +\end{center} +\end{figure} +This graph shows which files directly or indirectly include this file\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_file_8h__dep__incl} +\end{center} +\end{figure} +\subsection*{Classes} +\begin{DoxyCompactItemize} +\item +class \hyperlink{class_b_m_a_file}{B\+M\+A\+File} +\end{DoxyCompactItemize} diff --git a/docs/latex/_b_m_a_file_8h__dep__incl.md5 b/docs/latex/_b_m_a_file_8h__dep__incl.md5 new file mode 100644 index 0000000..459a6e0 --- /dev/null +++ b/docs/latex/_b_m_a_file_8h__dep__incl.md5 @@ -0,0 +1 @@ +ac5d8da73d27ea9207bdace16191f41e \ No newline at end of file diff --git a/docs/latex/_b_m_a_file_8h__dep__incl.pdf b/docs/latex/_b_m_a_file_8h__dep__incl.pdf new file mode 100644 index 0000000..bbe26f2 Binary files /dev/null and b/docs/latex/_b_m_a_file_8h__dep__incl.pdf differ diff --git a/docs/latex/_b_m_a_file_8h__incl.md5 b/docs/latex/_b_m_a_file_8h__incl.md5 new file mode 100644 index 0000000..3df7935 --- /dev/null +++ b/docs/latex/_b_m_a_file_8h__incl.md5 @@ -0,0 +1 @@ +69064b4f1805b2dc8f2c0d199cb745a9 \ No newline at end of file diff --git a/docs/latex/_b_m_a_file_8h__incl.pdf b/docs/latex/_b_m_a_file_8h__incl.pdf new file mode 100644 index 0000000..840cb65 Binary files /dev/null and b/docs/latex/_b_m_a_file_8h__incl.pdf differ diff --git a/docs/latex/_b_m_a_h_t_t_p_request_handler_8cpp.tex b/docs/latex/_b_m_a_h_t_t_p_request_handler_8cpp.tex new file mode 100644 index 0000000..3b21ef1 --- /dev/null +++ b/docs/latex/_b_m_a_h_t_t_p_request_handler_8cpp.tex @@ -0,0 +1,10 @@ +\hypertarget{_b_m_a_h_t_t_p_request_handler_8cpp}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+H\+T\+T\+P\+Request\+Handler.cpp File Reference} +\label{_b_m_a_h_t_t_p_request_handler_8cpp}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+H\+T\+T\+P\+Request\+Handler.\+cpp@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+H\+T\+T\+P\+Request\+Handler.\+cpp}} +{\ttfamily \#include \char`\"{}B\+M\+A\+H\+T\+T\+P\+Request\+Handler.\+h\char`\"{}}\\* +Include dependency graph for B\+M\+A\+H\+T\+T\+P\+Request\+Handler.\+cpp\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_h_t_t_p_request_handler_8cpp__incl} +\end{center} +\end{figure} diff --git a/docs/latex/_b_m_a_h_t_t_p_request_handler_8cpp__incl.md5 b/docs/latex/_b_m_a_h_t_t_p_request_handler_8cpp__incl.md5 new file mode 100644 index 0000000..db4ec85 --- /dev/null +++ b/docs/latex/_b_m_a_h_t_t_p_request_handler_8cpp__incl.md5 @@ -0,0 +1 @@ +3d6d1493eb68f4e6915d5ddfae1c0eff \ No newline at end of file diff --git a/docs/latex/_b_m_a_h_t_t_p_request_handler_8cpp__incl.pdf b/docs/latex/_b_m_a_h_t_t_p_request_handler_8cpp__incl.pdf new file mode 100644 index 0000000..3c1ef8d Binary files /dev/null and b/docs/latex/_b_m_a_h_t_t_p_request_handler_8cpp__incl.pdf differ diff --git a/docs/latex/_b_m_a_h_t_t_p_request_handler_8h.tex b/docs/latex/_b_m_a_h_t_t_p_request_handler_8h.tex new file mode 100644 index 0000000..5bb8844 --- /dev/null +++ b/docs/latex/_b_m_a_h_t_t_p_request_handler_8h.tex @@ -0,0 +1,22 @@ +\hypertarget{_b_m_a_h_t_t_p_request_handler_8h}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+H\+T\+T\+P\+Request\+Handler.h File Reference} +\label{_b_m_a_h_t_t_p_request_handler_8h}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+H\+T\+T\+P\+Request\+Handler.\+h@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+H\+T\+T\+P\+Request\+Handler.\+h}} +{\ttfamily \#include \char`\"{}B\+M\+A\+H\+T\+T\+P\+Server.\+h\char`\"{}}\\* +Include dependency graph for B\+M\+A\+H\+T\+T\+P\+Request\+Handler.\+h\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_h_t_t_p_request_handler_8h__incl} +\end{center} +\end{figure} +This graph shows which files directly or indirectly include this file\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_h_t_t_p_request_handler_8h__dep__incl} +\end{center} +\end{figure} +\subsection*{Classes} +\begin{DoxyCompactItemize} +\item +class \hyperlink{class_b_m_a_h_t_t_p_request_handler}{B\+M\+A\+H\+T\+T\+P\+Request\+Handler} +\end{DoxyCompactItemize} diff --git a/docs/latex/_b_m_a_h_t_t_p_request_handler_8h__dep__incl.md5 b/docs/latex/_b_m_a_h_t_t_p_request_handler_8h__dep__incl.md5 new file mode 100644 index 0000000..a2418e9 --- /dev/null +++ b/docs/latex/_b_m_a_h_t_t_p_request_handler_8h__dep__incl.md5 @@ -0,0 +1 @@ +e997f346ad1033b2dff0ed768e9fabff \ No newline at end of file diff --git a/docs/latex/_b_m_a_h_t_t_p_request_handler_8h__dep__incl.pdf b/docs/latex/_b_m_a_h_t_t_p_request_handler_8h__dep__incl.pdf new file mode 100644 index 0000000..d2c8a7a Binary files /dev/null and b/docs/latex/_b_m_a_h_t_t_p_request_handler_8h__dep__incl.pdf differ diff --git a/docs/latex/_b_m_a_h_t_t_p_request_handler_8h__incl.md5 b/docs/latex/_b_m_a_h_t_t_p_request_handler_8h__incl.md5 new file mode 100644 index 0000000..7694055 --- /dev/null +++ b/docs/latex/_b_m_a_h_t_t_p_request_handler_8h__incl.md5 @@ -0,0 +1 @@ +e65d13db8380801771bed93f931eb659 \ No newline at end of file diff --git a/docs/latex/_b_m_a_h_t_t_p_request_handler_8h__incl.pdf b/docs/latex/_b_m_a_h_t_t_p_request_handler_8h__incl.pdf new file mode 100644 index 0000000..7baba8f Binary files /dev/null and b/docs/latex/_b_m_a_h_t_t_p_request_handler_8h__incl.pdf differ diff --git a/docs/latex/_b_m_a_h_t_t_p_server_8cpp.tex b/docs/latex/_b_m_a_h_t_t_p_server_8cpp.tex new file mode 100644 index 0000000..5fc370b --- /dev/null +++ b/docs/latex/_b_m_a_h_t_t_p_server_8cpp.tex @@ -0,0 +1,13 @@ +\hypertarget{_b_m_a_h_t_t_p_server_8cpp}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+H\+T\+T\+P\+Server.cpp File Reference} +\label{_b_m_a_h_t_t_p_server_8cpp}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+H\+T\+T\+P\+Server.\+cpp@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+H\+T\+T\+P\+Server.\+cpp}} +{\ttfamily \#include \char`\"{}B\+M\+A\+H\+T\+T\+P\+Server.\+h\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+E\+Poll.\+h\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+H\+T\+T\+P\+Request\+Handler.\+h\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+H\+T\+T\+P\+Session.\+h\char`\"{}}\\* +Include dependency graph for B\+M\+A\+H\+T\+T\+P\+Server.\+cpp\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_h_t_t_p_server_8cpp__incl} +\end{center} +\end{figure} diff --git a/docs/latex/_b_m_a_h_t_t_p_server_8cpp__incl.md5 b/docs/latex/_b_m_a_h_t_t_p_server_8cpp__incl.md5 new file mode 100644 index 0000000..cd250ae --- /dev/null +++ b/docs/latex/_b_m_a_h_t_t_p_server_8cpp__incl.md5 @@ -0,0 +1 @@ +9e619014f9ab1679abd1b7dca84b2d26 \ No newline at end of file diff --git a/docs/latex/_b_m_a_h_t_t_p_server_8cpp__incl.pdf b/docs/latex/_b_m_a_h_t_t_p_server_8cpp__incl.pdf new file mode 100644 index 0000000..925a0ef Binary files /dev/null and b/docs/latex/_b_m_a_h_t_t_p_server_8cpp__incl.pdf differ diff --git a/docs/latex/_b_m_a_h_t_t_p_server_8h.tex b/docs/latex/_b_m_a_h_t_t_p_server_8h.tex new file mode 100644 index 0000000..c312147 --- /dev/null +++ b/docs/latex/_b_m_a_h_t_t_p_server_8h.tex @@ -0,0 +1,23 @@ +\hypertarget{_b_m_a_h_t_t_p_server_8h}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+H\+T\+T\+P\+Server.h File Reference} +\label{_b_m_a_h_t_t_p_server_8h}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+H\+T\+T\+P\+Server.\+h@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+H\+T\+T\+P\+Server.\+h}} +{\ttfamily \#include \char`\"{}includes\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+T\+C\+P\+Server\+Socket.\+h\char`\"{}}\\* +Include dependency graph for B\+M\+A\+H\+T\+T\+P\+Server.\+h\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_h_t_t_p_server_8h__incl} +\end{center} +\end{figure} +This graph shows which files directly or indirectly include this file\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_h_t_t_p_server_8h__dep__incl} +\end{center} +\end{figure} +\subsection*{Classes} +\begin{DoxyCompactItemize} +\item +class \hyperlink{class_b_m_a_h_t_t_p_server}{B\+M\+A\+H\+T\+T\+P\+Server} +\end{DoxyCompactItemize} diff --git a/docs/latex/_b_m_a_h_t_t_p_server_8h__dep__incl.md5 b/docs/latex/_b_m_a_h_t_t_p_server_8h__dep__incl.md5 new file mode 100644 index 0000000..ab06ed2 --- /dev/null +++ b/docs/latex/_b_m_a_h_t_t_p_server_8h__dep__incl.md5 @@ -0,0 +1 @@ +92e6fae62f20958cd14dd813e4b233e9 \ No newline at end of file diff --git a/docs/latex/_b_m_a_h_t_t_p_server_8h__dep__incl.pdf b/docs/latex/_b_m_a_h_t_t_p_server_8h__dep__incl.pdf new file mode 100644 index 0000000..673d0af Binary files /dev/null and b/docs/latex/_b_m_a_h_t_t_p_server_8h__dep__incl.pdf differ diff --git a/docs/latex/_b_m_a_h_t_t_p_server_8h__incl.md5 b/docs/latex/_b_m_a_h_t_t_p_server_8h__incl.md5 new file mode 100644 index 0000000..b59653d --- /dev/null +++ b/docs/latex/_b_m_a_h_t_t_p_server_8h__incl.md5 @@ -0,0 +1 @@ +16179817e8b212bebf0ba6948336f099 \ No newline at end of file diff --git a/docs/latex/_b_m_a_h_t_t_p_server_8h__incl.pdf b/docs/latex/_b_m_a_h_t_t_p_server_8h__incl.pdf new file mode 100644 index 0000000..1738d6d Binary files /dev/null and b/docs/latex/_b_m_a_h_t_t_p_server_8h__incl.pdf differ diff --git a/docs/latex/_b_m_a_h_t_t_p_session_8cpp.tex b/docs/latex/_b_m_a_h_t_t_p_session_8cpp.tex new file mode 100644 index 0000000..9118db9 --- /dev/null +++ b/docs/latex/_b_m_a_h_t_t_p_session_8cpp.tex @@ -0,0 +1,10 @@ +\hypertarget{_b_m_a_h_t_t_p_session_8cpp}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+H\+T\+T\+P\+Session.cpp File Reference} +\label{_b_m_a_h_t_t_p_session_8cpp}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+H\+T\+T\+P\+Session.\+cpp@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+H\+T\+T\+P\+Session.\+cpp}} +{\ttfamily \#include \char`\"{}B\+M\+A\+H\+T\+T\+P\+Session.\+h\char`\"{}}\\* +Include dependency graph for B\+M\+A\+H\+T\+T\+P\+Session.\+cpp\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_h_t_t_p_session_8cpp__incl} +\end{center} +\end{figure} diff --git a/docs/latex/_b_m_a_h_t_t_p_session_8cpp__incl.md5 b/docs/latex/_b_m_a_h_t_t_p_session_8cpp__incl.md5 new file mode 100644 index 0000000..9edc2c7 --- /dev/null +++ b/docs/latex/_b_m_a_h_t_t_p_session_8cpp__incl.md5 @@ -0,0 +1 @@ +2ce4a57dc5ed5b2ebe92135e71149739 \ No newline at end of file diff --git a/docs/latex/_b_m_a_h_t_t_p_session_8cpp__incl.pdf b/docs/latex/_b_m_a_h_t_t_p_session_8cpp__incl.pdf new file mode 100644 index 0000000..efc218d Binary files /dev/null and b/docs/latex/_b_m_a_h_t_t_p_session_8cpp__incl.pdf differ diff --git a/docs/latex/_b_m_a_h_t_t_p_session_8h.tex b/docs/latex/_b_m_a_h_t_t_p_session_8h.tex new file mode 100644 index 0000000..57c99af --- /dev/null +++ b/docs/latex/_b_m_a_h_t_t_p_session_8h.tex @@ -0,0 +1,23 @@ +\hypertarget{_b_m_a_h_t_t_p_session_8h}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+H\+T\+T\+P\+Session.h File Reference} +\label{_b_m_a_h_t_t_p_session_8h}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+H\+T\+T\+P\+Session.\+h@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+H\+T\+T\+P\+Session.\+h}} +{\ttfamily \#include \char`\"{}B\+M\+A\+T\+C\+P\+Socket.\+h\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+E\+Poll.\+h\char`\"{}}\\* +Include dependency graph for B\+M\+A\+H\+T\+T\+P\+Session.\+h\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_h_t_t_p_session_8h__incl} +\end{center} +\end{figure} +This graph shows which files directly or indirectly include this file\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_h_t_t_p_session_8h__dep__incl} +\end{center} +\end{figure} +\subsection*{Classes} +\begin{DoxyCompactItemize} +\item +class \hyperlink{class_b_m_a_h_t_t_p_session}{B\+M\+A\+H\+T\+T\+P\+Session} +\end{DoxyCompactItemize} diff --git a/docs/latex/_b_m_a_h_t_t_p_session_8h__dep__incl.md5 b/docs/latex/_b_m_a_h_t_t_p_session_8h__dep__incl.md5 new file mode 100644 index 0000000..fb92ff9 --- /dev/null +++ b/docs/latex/_b_m_a_h_t_t_p_session_8h__dep__incl.md5 @@ -0,0 +1 @@ +72b2ca2cfda79cc0e090772efb0a4979 \ No newline at end of file diff --git a/docs/latex/_b_m_a_h_t_t_p_session_8h__dep__incl.pdf b/docs/latex/_b_m_a_h_t_t_p_session_8h__dep__incl.pdf new file mode 100644 index 0000000..aa7e48d Binary files /dev/null and b/docs/latex/_b_m_a_h_t_t_p_session_8h__dep__incl.pdf differ diff --git a/docs/latex/_b_m_a_h_t_t_p_session_8h__incl.md5 b/docs/latex/_b_m_a_h_t_t_p_session_8h__incl.md5 new file mode 100644 index 0000000..acae300 --- /dev/null +++ b/docs/latex/_b_m_a_h_t_t_p_session_8h__incl.md5 @@ -0,0 +1 @@ +9ecf64c791da64a20c1615f8770a42a5 \ No newline at end of file diff --git a/docs/latex/_b_m_a_h_t_t_p_session_8h__incl.pdf b/docs/latex/_b_m_a_h_t_t_p_session_8h__incl.pdf new file mode 100644 index 0000000..3a8dfec Binary files /dev/null and b/docs/latex/_b_m_a_h_t_t_p_session_8h__incl.pdf differ diff --git a/docs/latex/_b_m_a_header_8cpp.tex b/docs/latex/_b_m_a_header_8cpp.tex new file mode 100644 index 0000000..75203ec --- /dev/null +++ b/docs/latex/_b_m_a_header_8cpp.tex @@ -0,0 +1,10 @@ +\hypertarget{_b_m_a_header_8cpp}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Header.cpp File Reference} +\label{_b_m_a_header_8cpp}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Header.\+cpp@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Header.\+cpp}} +{\ttfamily \#include \char`\"{}B\+M\+A\+Header.\+h\char`\"{}}\\* +Include dependency graph for B\+M\+A\+Header.\+cpp\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=218pt]{_b_m_a_header_8cpp__incl} +\end{center} +\end{figure} diff --git a/docs/latex/_b_m_a_header_8cpp__incl.md5 b/docs/latex/_b_m_a_header_8cpp__incl.md5 new file mode 100644 index 0000000..d3093e9 --- /dev/null +++ b/docs/latex/_b_m_a_header_8cpp__incl.md5 @@ -0,0 +1 @@ +c28096b0ba011b00ab5133b67c61b36e \ No newline at end of file diff --git a/docs/latex/_b_m_a_header_8cpp__incl.pdf b/docs/latex/_b_m_a_header_8cpp__incl.pdf new file mode 100644 index 0000000..afb009f Binary files /dev/null and b/docs/latex/_b_m_a_header_8cpp__incl.pdf differ diff --git a/docs/latex/_b_m_a_header_8h.tex b/docs/latex/_b_m_a_header_8h.tex new file mode 100644 index 0000000..bef83db --- /dev/null +++ b/docs/latex/_b_m_a_header_8h.tex @@ -0,0 +1,22 @@ +\hypertarget{_b_m_a_header_8h}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Header.h File Reference} +\label{_b_m_a_header_8h}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Header.\+h@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Header.\+h}} +{\ttfamily \#include \char`\"{}includes\char`\"{}}\\* +Include dependency graph for B\+M\+A\+Header.\+h\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=218pt]{_b_m_a_header_8h__incl} +\end{center} +\end{figure} +This graph shows which files directly or indirectly include this file\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_header_8h__dep__incl} +\end{center} +\end{figure} +\subsection*{Classes} +\begin{DoxyCompactItemize} +\item +class \hyperlink{class_b_m_a_header}{B\+M\+A\+Header} +\end{DoxyCompactItemize} diff --git a/docs/latex/_b_m_a_header_8h__dep__incl.md5 b/docs/latex/_b_m_a_header_8h__dep__incl.md5 new file mode 100644 index 0000000..1aeaa01 --- /dev/null +++ b/docs/latex/_b_m_a_header_8h__dep__incl.md5 @@ -0,0 +1 @@ +695372281485ea5297d57018e089b8a3 \ No newline at end of file diff --git a/docs/latex/_b_m_a_header_8h__dep__incl.pdf b/docs/latex/_b_m_a_header_8h__dep__incl.pdf new file mode 100644 index 0000000..9498789 Binary files /dev/null and b/docs/latex/_b_m_a_header_8h__dep__incl.pdf differ diff --git a/docs/latex/_b_m_a_header_8h__incl.md5 b/docs/latex/_b_m_a_header_8h__incl.md5 new file mode 100644 index 0000000..cadb02b --- /dev/null +++ b/docs/latex/_b_m_a_header_8h__incl.md5 @@ -0,0 +1 @@ +abc5103d742787968a762c1139c0c71a \ No newline at end of file diff --git a/docs/latex/_b_m_a_header_8h__incl.pdf b/docs/latex/_b_m_a_header_8h__incl.pdf new file mode 100644 index 0000000..5f60758 Binary files /dev/null and b/docs/latex/_b_m_a_header_8h__incl.pdf differ diff --git a/docs/latex/_b_m_a_log_8cpp.tex b/docs/latex/_b_m_a_log_8cpp.tex new file mode 100644 index 0000000..278c87f --- /dev/null +++ b/docs/latex/_b_m_a_log_8cpp.tex @@ -0,0 +1,10 @@ +\hypertarget{_b_m_a_log_8cpp}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Log.cpp File Reference} +\label{_b_m_a_log_8cpp}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Log.\+cpp@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Log.\+cpp}} +{\ttfamily \#include \char`\"{}B\+M\+A\+Log.\+h\char`\"{}}\\* +Include dependency graph for B\+M\+A\+Log.\+cpp\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_log_8cpp__incl} +\end{center} +\end{figure} diff --git a/docs/latex/_b_m_a_log_8cpp__incl.md5 b/docs/latex/_b_m_a_log_8cpp__incl.md5 new file mode 100644 index 0000000..f1abbe6 --- /dev/null +++ b/docs/latex/_b_m_a_log_8cpp__incl.md5 @@ -0,0 +1 @@ +d44a298b32f7caf3f2ba761aa2dc0f0f \ No newline at end of file diff --git a/docs/latex/_b_m_a_log_8cpp__incl.pdf b/docs/latex/_b_m_a_log_8cpp__incl.pdf new file mode 100644 index 0000000..15ec54f Binary files /dev/null and b/docs/latex/_b_m_a_log_8cpp__incl.pdf differ diff --git a/docs/latex/_b_m_a_log_8h.tex b/docs/latex/_b_m_a_log_8h.tex new file mode 100644 index 0000000..929b6ff --- /dev/null +++ b/docs/latex/_b_m_a_log_8h.tex @@ -0,0 +1,23 @@ +\hypertarget{_b_m_a_log_8h}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Log.h File Reference} +\label{_b_m_a_log_8h}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Log.\+h@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Log.\+h}} +{\ttfamily \#include \char`\"{}includes\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+Console.\+h\char`\"{}}\\* +Include dependency graph for B\+M\+A\+Log.\+h\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_log_8h__incl} +\end{center} +\end{figure} +This graph shows which files directly or indirectly include this file\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_log_8h__dep__incl} +\end{center} +\end{figure} +\subsection*{Classes} +\begin{DoxyCompactItemize} +\item +class \hyperlink{class_b_m_a_log}{B\+M\+A\+Log} +\end{DoxyCompactItemize} diff --git a/docs/latex/_b_m_a_log_8h__dep__incl.md5 b/docs/latex/_b_m_a_log_8h__dep__incl.md5 new file mode 100644 index 0000000..534b0b4 --- /dev/null +++ b/docs/latex/_b_m_a_log_8h__dep__incl.md5 @@ -0,0 +1 @@ +b00bb536c24e28504ef643e9a66c0845 \ No newline at end of file diff --git a/docs/latex/_b_m_a_log_8h__dep__incl.pdf b/docs/latex/_b_m_a_log_8h__dep__incl.pdf new file mode 100644 index 0000000..088bb8e Binary files /dev/null and b/docs/latex/_b_m_a_log_8h__dep__incl.pdf differ diff --git a/docs/latex/_b_m_a_log_8h__incl.md5 b/docs/latex/_b_m_a_log_8h__incl.md5 new file mode 100644 index 0000000..d422fde --- /dev/null +++ b/docs/latex/_b_m_a_log_8h__incl.md5 @@ -0,0 +1 @@ +497516713e7a59804cc4fe31b6c7fa61 \ No newline at end of file diff --git a/docs/latex/_b_m_a_log_8h__incl.pdf b/docs/latex/_b_m_a_log_8h__incl.pdf new file mode 100644 index 0000000..ca77865 Binary files /dev/null and b/docs/latex/_b_m_a_log_8h__incl.pdf differ diff --git a/docs/latex/_b_m_a_m_p3_file_8cpp.tex b/docs/latex/_b_m_a_m_p3_file_8cpp.tex new file mode 100644 index 0000000..3767a78 --- /dev/null +++ b/docs/latex/_b_m_a_m_p3_file_8cpp.tex @@ -0,0 +1,10 @@ +\hypertarget{_b_m_a_m_p3_file_8cpp}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+M\+P3\+File.cpp File Reference} +\label{_b_m_a_m_p3_file_8cpp}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+M\+P3\+File.\+cpp@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+M\+P3\+File.\+cpp}} +{\ttfamily \#include \char`\"{}B\+M\+A\+M\+P3\+File.\+h\char`\"{}}\\* +Include dependency graph for B\+M\+A\+M\+P3\+File.\+cpp\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_m_p3_file_8cpp__incl} +\end{center} +\end{figure} diff --git a/docs/latex/_b_m_a_m_p3_file_8cpp__incl.md5 b/docs/latex/_b_m_a_m_p3_file_8cpp__incl.md5 new file mode 100644 index 0000000..2bd3615 --- /dev/null +++ b/docs/latex/_b_m_a_m_p3_file_8cpp__incl.md5 @@ -0,0 +1 @@ +c2f1174cdf48826a0a50a831f32eb81f \ No newline at end of file diff --git a/docs/latex/_b_m_a_m_p3_file_8cpp__incl.pdf b/docs/latex/_b_m_a_m_p3_file_8cpp__incl.pdf new file mode 100644 index 0000000..ed58d7e Binary files /dev/null and b/docs/latex/_b_m_a_m_p3_file_8cpp__incl.pdf differ diff --git a/docs/latex/_b_m_a_m_p3_file_8h.tex b/docs/latex/_b_m_a_m_p3_file_8h.tex new file mode 100644 index 0000000..5fd1439 --- /dev/null +++ b/docs/latex/_b_m_a_m_p3_file_8h.tex @@ -0,0 +1,25 @@ +\hypertarget{_b_m_a_m_p3_file_8h}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+M\+P3\+File.h File Reference} +\label{_b_m_a_m_p3_file_8h}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+M\+P3\+File.\+h@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+M\+P3\+File.\+h}} +{\ttfamily \#include \char`\"{}B\+M\+A\+File.\+h\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+M\+P3\+Stream\+Content\+Provider.\+h\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+M\+P3\+Stream\+Frame.\+h\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+Stream\+Server.\+h\char`\"{}}\\* +Include dependency graph for B\+M\+A\+M\+P3\+File.\+h\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_m_p3_file_8h__incl} +\end{center} +\end{figure} +This graph shows which files directly or indirectly include this file\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_m_p3_file_8h__dep__incl} +\end{center} +\end{figure} +\subsection*{Classes} +\begin{DoxyCompactItemize} +\item +class \hyperlink{class_b_m_a_m_p3_file}{B\+M\+A\+M\+P3\+File} +\end{DoxyCompactItemize} diff --git a/docs/latex/_b_m_a_m_p3_file_8h__dep__incl.md5 b/docs/latex/_b_m_a_m_p3_file_8h__dep__incl.md5 new file mode 100644 index 0000000..dc24fcf --- /dev/null +++ b/docs/latex/_b_m_a_m_p3_file_8h__dep__incl.md5 @@ -0,0 +1 @@ +c489d5bba1a602c16469adb4a2e0b735 \ No newline at end of file diff --git a/docs/latex/_b_m_a_m_p3_file_8h__dep__incl.pdf b/docs/latex/_b_m_a_m_p3_file_8h__dep__incl.pdf new file mode 100644 index 0000000..dfa40b0 Binary files /dev/null and b/docs/latex/_b_m_a_m_p3_file_8h__dep__incl.pdf differ diff --git a/docs/latex/_b_m_a_m_p3_file_8h__incl.md5 b/docs/latex/_b_m_a_m_p3_file_8h__incl.md5 new file mode 100644 index 0000000..89270e6 --- /dev/null +++ b/docs/latex/_b_m_a_m_p3_file_8h__incl.md5 @@ -0,0 +1 @@ +7f82ecf27ec1d6ff4f1bf7b285f5c988 \ No newline at end of file diff --git a/docs/latex/_b_m_a_m_p3_file_8h__incl.pdf b/docs/latex/_b_m_a_m_p3_file_8h__incl.pdf new file mode 100644 index 0000000..26967fb Binary files /dev/null and b/docs/latex/_b_m_a_m_p3_file_8h__incl.pdf differ diff --git a/docs/latex/_b_m_a_m_p3_stream_content_provider_8h.tex b/docs/latex/_b_m_a_m_p3_stream_content_provider_8h.tex new file mode 100644 index 0000000..8fb7c3d --- /dev/null +++ b/docs/latex/_b_m_a_m_p3_stream_content_provider_8h.tex @@ -0,0 +1,23 @@ +\hypertarget{_b_m_a_m_p3_stream_content_provider_8h}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+M\+P3\+Stream\+Content\+Provider.h File Reference} +\label{_b_m_a_m_p3_stream_content_provider_8h}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+M\+P3\+Stream\+Content\+Provider.\+h@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+M\+P3\+Stream\+Content\+Provider.\+h}} +{\ttfamily \#include \char`\"{}B\+M\+A\+Stream\+Server.\+h\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+Stream\+Content\+Provider.\+h\char`\"{}}\\* +Include dependency graph for B\+M\+A\+M\+P3\+Stream\+Content\+Provider.\+h\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_m_p3_stream_content_provider_8h__incl} +\end{center} +\end{figure} +This graph shows which files directly or indirectly include this file\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_m_p3_stream_content_provider_8h__dep__incl} +\end{center} +\end{figure} +\subsection*{Classes} +\begin{DoxyCompactItemize} +\item +class \hyperlink{class_b_m_a_m_p3_stream_content_provider}{B\+M\+A\+M\+P3\+Stream\+Content\+Provider} +\end{DoxyCompactItemize} diff --git a/docs/latex/_b_m_a_m_p3_stream_content_provider_8h__dep__incl.md5 b/docs/latex/_b_m_a_m_p3_stream_content_provider_8h__dep__incl.md5 new file mode 100644 index 0000000..1985da5 --- /dev/null +++ b/docs/latex/_b_m_a_m_p3_stream_content_provider_8h__dep__incl.md5 @@ -0,0 +1 @@ +d20fcfd2e939b219386edd1669e4cc1e \ No newline at end of file diff --git a/docs/latex/_b_m_a_m_p3_stream_content_provider_8h__dep__incl.pdf b/docs/latex/_b_m_a_m_p3_stream_content_provider_8h__dep__incl.pdf new file mode 100644 index 0000000..dcc0f1a Binary files /dev/null and b/docs/latex/_b_m_a_m_p3_stream_content_provider_8h__dep__incl.pdf differ diff --git a/docs/latex/_b_m_a_m_p3_stream_content_provider_8h__incl.md5 b/docs/latex/_b_m_a_m_p3_stream_content_provider_8h__incl.md5 new file mode 100644 index 0000000..e690330 --- /dev/null +++ b/docs/latex/_b_m_a_m_p3_stream_content_provider_8h__incl.md5 @@ -0,0 +1 @@ +61250966f58be092db20c2ee96749222 \ No newline at end of file diff --git a/docs/latex/_b_m_a_m_p3_stream_content_provider_8h__incl.pdf b/docs/latex/_b_m_a_m_p3_stream_content_provider_8h__incl.pdf new file mode 100644 index 0000000..51ef62d Binary files /dev/null and b/docs/latex/_b_m_a_m_p3_stream_content_provider_8h__incl.pdf differ diff --git a/docs/latex/_b_m_a_m_p3_stream_frame_8cpp.tex b/docs/latex/_b_m_a_m_p3_stream_frame_8cpp.tex new file mode 100644 index 0000000..e8da2b5 --- /dev/null +++ b/docs/latex/_b_m_a_m_p3_stream_frame_8cpp.tex @@ -0,0 +1,10 @@ +\hypertarget{_b_m_a_m_p3_stream_frame_8cpp}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+M\+P3\+Stream\+Frame.cpp File Reference} +\label{_b_m_a_m_p3_stream_frame_8cpp}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+M\+P3\+Stream\+Frame.\+cpp@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+M\+P3\+Stream\+Frame.\+cpp}} +{\ttfamily \#include \char`\"{}B\+M\+A\+M\+P3\+Stream\+Frame.\+h\char`\"{}}\\* +Include dependency graph for B\+M\+A\+M\+P3\+Stream\+Frame.\+cpp\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=220pt]{_b_m_a_m_p3_stream_frame_8cpp__incl} +\end{center} +\end{figure} diff --git a/docs/latex/_b_m_a_m_p3_stream_frame_8cpp__incl.md5 b/docs/latex/_b_m_a_m_p3_stream_frame_8cpp__incl.md5 new file mode 100644 index 0000000..7b59a1d --- /dev/null +++ b/docs/latex/_b_m_a_m_p3_stream_frame_8cpp__incl.md5 @@ -0,0 +1 @@ +409cea014145e22d061b89bf93ff6002 \ No newline at end of file diff --git a/docs/latex/_b_m_a_m_p3_stream_frame_8cpp__incl.pdf b/docs/latex/_b_m_a_m_p3_stream_frame_8cpp__incl.pdf new file mode 100644 index 0000000..be4160e Binary files /dev/null and b/docs/latex/_b_m_a_m_p3_stream_frame_8cpp__incl.pdf differ diff --git a/docs/latex/_b_m_a_m_p3_stream_frame_8h.tex b/docs/latex/_b_m_a_m_p3_stream_frame_8h.tex new file mode 100644 index 0000000..31620a1 --- /dev/null +++ b/docs/latex/_b_m_a_m_p3_stream_frame_8h.tex @@ -0,0 +1,22 @@ +\hypertarget{_b_m_a_m_p3_stream_frame_8h}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+M\+P3\+Stream\+Frame.h File Reference} +\label{_b_m_a_m_p3_stream_frame_8h}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+M\+P3\+Stream\+Frame.\+h@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+M\+P3\+Stream\+Frame.\+h}} +{\ttfamily \#include \char`\"{}B\+M\+A\+Stream\+Frame.\+h\char`\"{}}\\* +Include dependency graph for B\+M\+A\+M\+P3\+Stream\+Frame.\+h\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=218pt]{_b_m_a_m_p3_stream_frame_8h__incl} +\end{center} +\end{figure} +This graph shows which files directly or indirectly include this file\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_m_p3_stream_frame_8h__dep__incl} +\end{center} +\end{figure} +\subsection*{Classes} +\begin{DoxyCompactItemize} +\item +class \hyperlink{class_b_m_a_m_p3_stream_frame}{B\+M\+A\+M\+P3\+Stream\+Frame} +\end{DoxyCompactItemize} diff --git a/docs/latex/_b_m_a_m_p3_stream_frame_8h__dep__incl.md5 b/docs/latex/_b_m_a_m_p3_stream_frame_8h__dep__incl.md5 new file mode 100644 index 0000000..be5736a --- /dev/null +++ b/docs/latex/_b_m_a_m_p3_stream_frame_8h__dep__incl.md5 @@ -0,0 +1 @@ +3e371c2a117715c8e07bab0356d29fe3 \ No newline at end of file diff --git a/docs/latex/_b_m_a_m_p3_stream_frame_8h__dep__incl.pdf b/docs/latex/_b_m_a_m_p3_stream_frame_8h__dep__incl.pdf new file mode 100644 index 0000000..740b456 Binary files /dev/null and b/docs/latex/_b_m_a_m_p3_stream_frame_8h__dep__incl.pdf differ diff --git a/docs/latex/_b_m_a_m_p3_stream_frame_8h__incl.md5 b/docs/latex/_b_m_a_m_p3_stream_frame_8h__incl.md5 new file mode 100644 index 0000000..f8cab64 --- /dev/null +++ b/docs/latex/_b_m_a_m_p3_stream_frame_8h__incl.md5 @@ -0,0 +1 @@ +7120b68c6bd117dc7daec74c7e53cdc3 \ No newline at end of file diff --git a/docs/latex/_b_m_a_m_p3_stream_frame_8h__incl.pdf b/docs/latex/_b_m_a_m_p3_stream_frame_8h__incl.pdf new file mode 100644 index 0000000..7aca7ff Binary files /dev/null and b/docs/latex/_b_m_a_m_p3_stream_frame_8h__incl.pdf differ diff --git a/docs/latex/_b_m_a_parse_header_8h.tex b/docs/latex/_b_m_a_parse_header_8h.tex new file mode 100644 index 0000000..a54f65b --- /dev/null +++ b/docs/latex/_b_m_a_parse_header_8h.tex @@ -0,0 +1,7 @@ +\hypertarget{_b_m_a_parse_header_8h}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Parse\+Header.h File Reference} +\label{_b_m_a_parse_header_8h}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Parse\+Header.\+h@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Parse\+Header.\+h}} +\subsection*{Classes} +\begin{DoxyCompactItemize} +\item +class \hyperlink{class_b_m_a_parse_header}{B\+M\+A\+Parse\+Header} +\end{DoxyCompactItemize} diff --git a/docs/latex/_b_m_a_property_8h.tex b/docs/latex/_b_m_a_property_8h.tex new file mode 100644 index 0000000..e6b3d3a --- /dev/null +++ b/docs/latex/_b_m_a_property_8h.tex @@ -0,0 +1,14 @@ +\hypertarget{_b_m_a_property_8h}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Property.h File Reference} +\label{_b_m_a_property_8h}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Property.\+h@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Property.\+h}} +This graph shows which files directly or indirectly include this file\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_property_8h__dep__incl} +\end{center} +\end{figure} +\subsection*{Classes} +\begin{DoxyCompactItemize} +\item +class \hyperlink{class_b_m_a_property}{B\+M\+A\+Property$<$ T $>$} +\end{DoxyCompactItemize} diff --git a/docs/latex/_b_m_a_property_8h__dep__incl.md5 b/docs/latex/_b_m_a_property_8h__dep__incl.md5 new file mode 100644 index 0000000..51835fb --- /dev/null +++ b/docs/latex/_b_m_a_property_8h__dep__incl.md5 @@ -0,0 +1 @@ +a8a729f99d98cbf2ad40e3ff8fe45cca \ No newline at end of file diff --git a/docs/latex/_b_m_a_property_8h__dep__incl.pdf b/docs/latex/_b_m_a_property_8h__dep__incl.pdf new file mode 100644 index 0000000..20e32b7 Binary files /dev/null and b/docs/latex/_b_m_a_property_8h__dep__incl.pdf differ diff --git a/docs/latex/_b_m_a_protocol_manager_8h.tex b/docs/latex/_b_m_a_protocol_manager_8h.tex new file mode 100644 index 0000000..11b705c --- /dev/null +++ b/docs/latex/_b_m_a_protocol_manager_8h.tex @@ -0,0 +1,7 @@ +\hypertarget{_b_m_a_protocol_manager_8h}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Protocol\+Manager.h File Reference} +\label{_b_m_a_protocol_manager_8h}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Protocol\+Manager.\+h@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Protocol\+Manager.\+h}} +\subsection*{Classes} +\begin{DoxyCompactItemize} +\item +class \hyperlink{class_b_m_a_protocol_manager}{B\+M\+A\+Protocol\+Manager} +\end{DoxyCompactItemize} diff --git a/docs/latex/_b_m_a_socket_8cpp.tex b/docs/latex/_b_m_a_socket_8cpp.tex new file mode 100644 index 0000000..acb40d4 --- /dev/null +++ b/docs/latex/_b_m_a_socket_8cpp.tex @@ -0,0 +1,11 @@ +\hypertarget{_b_m_a_socket_8cpp}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Socket.cpp File Reference} +\label{_b_m_a_socket_8cpp}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Socket.\+cpp@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Socket.\+cpp}} +{\ttfamily \#include \char`\"{}B\+M\+A\+E\+Poll.\+h\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+Socket.\+h\char`\"{}}\\* +Include dependency graph for B\+M\+A\+Socket.\+cpp\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_socket_8cpp__incl} +\end{center} +\end{figure} diff --git a/docs/latex/_b_m_a_socket_8cpp__incl.md5 b/docs/latex/_b_m_a_socket_8cpp__incl.md5 new file mode 100644 index 0000000..c23fbc8 --- /dev/null +++ b/docs/latex/_b_m_a_socket_8cpp__incl.md5 @@ -0,0 +1 @@ +b99cc4dab70db9e28af2c74004625a0a \ No newline at end of file diff --git a/docs/latex/_b_m_a_socket_8cpp__incl.pdf b/docs/latex/_b_m_a_socket_8cpp__incl.pdf new file mode 100644 index 0000000..8ffdd7e Binary files /dev/null and b/docs/latex/_b_m_a_socket_8cpp__incl.pdf differ diff --git a/docs/latex/_b_m_a_socket_8h.tex b/docs/latex/_b_m_a_socket_8h.tex new file mode 100644 index 0000000..c12027a --- /dev/null +++ b/docs/latex/_b_m_a_socket_8h.tex @@ -0,0 +1,24 @@ +\hypertarget{_b_m_a_socket_8h}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Socket.h File Reference} +\label{_b_m_a_socket_8h}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Socket.\+h@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Socket.\+h}} +{\ttfamily \#include \char`\"{}includes\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+Event.\+h\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+Property.\+h\char`\"{}}\\* +Include dependency graph for B\+M\+A\+Socket.\+h\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=287pt]{_b_m_a_socket_8h__incl} +\end{center} +\end{figure} +This graph shows which files directly or indirectly include this file\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_socket_8h__dep__incl} +\end{center} +\end{figure} +\subsection*{Classes} +\begin{DoxyCompactItemize} +\item +class \hyperlink{class_b_m_a_socket}{B\+M\+A\+Socket} +\end{DoxyCompactItemize} diff --git a/docs/latex/_b_m_a_socket_8h__dep__incl.md5 b/docs/latex/_b_m_a_socket_8h__dep__incl.md5 new file mode 100644 index 0000000..d08bd83 --- /dev/null +++ b/docs/latex/_b_m_a_socket_8h__dep__incl.md5 @@ -0,0 +1 @@ +181ed6e6989f757565e0377bfbca1af9 \ No newline at end of file diff --git a/docs/latex/_b_m_a_socket_8h__dep__incl.pdf b/docs/latex/_b_m_a_socket_8h__dep__incl.pdf new file mode 100644 index 0000000..4679ada Binary files /dev/null and b/docs/latex/_b_m_a_socket_8h__dep__incl.pdf differ diff --git a/docs/latex/_b_m_a_socket_8h__incl.md5 b/docs/latex/_b_m_a_socket_8h__incl.md5 new file mode 100644 index 0000000..5ba402f --- /dev/null +++ b/docs/latex/_b_m_a_socket_8h__incl.md5 @@ -0,0 +1 @@ +696878d7841d6235b734689dc223c0da \ No newline at end of file diff --git a/docs/latex/_b_m_a_socket_8h__incl.pdf b/docs/latex/_b_m_a_socket_8h__incl.pdf new file mode 100644 index 0000000..f6cecd9 Binary files /dev/null and b/docs/latex/_b_m_a_socket_8h__incl.pdf differ diff --git a/docs/latex/_b_m_a_stream_content_provider_8cpp.tex b/docs/latex/_b_m_a_stream_content_provider_8cpp.tex new file mode 100644 index 0000000..3028848 --- /dev/null +++ b/docs/latex/_b_m_a_stream_content_provider_8cpp.tex @@ -0,0 +1,11 @@ +\hypertarget{_b_m_a_stream_content_provider_8cpp}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Stream\+Content\+Provider.cpp File Reference} +\label{_b_m_a_stream_content_provider_8cpp}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Stream\+Content\+Provider.\+cpp@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Stream\+Content\+Provider.\+cpp}} +{\ttfamily \#include \char`\"{}B\+M\+A\+Stream\+Content\+Provider.\+h\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+Stream\+Server.\+h\char`\"{}}\\* +Include dependency graph for B\+M\+A\+Stream\+Content\+Provider.\+cpp\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_stream_content_provider_8cpp__incl} +\end{center} +\end{figure} diff --git a/docs/latex/_b_m_a_stream_content_provider_8cpp__incl.md5 b/docs/latex/_b_m_a_stream_content_provider_8cpp__incl.md5 new file mode 100644 index 0000000..f68a087 --- /dev/null +++ b/docs/latex/_b_m_a_stream_content_provider_8cpp__incl.md5 @@ -0,0 +1 @@ +7b6c0a3ed55065abe4a441ecf2df143e \ No newline at end of file diff --git a/docs/latex/_b_m_a_stream_content_provider_8cpp__incl.pdf b/docs/latex/_b_m_a_stream_content_provider_8cpp__incl.pdf new file mode 100644 index 0000000..da1f8da Binary files /dev/null and b/docs/latex/_b_m_a_stream_content_provider_8cpp__incl.pdf differ diff --git a/docs/latex/_b_m_a_stream_content_provider_8h.tex b/docs/latex/_b_m_a_stream_content_provider_8h.tex new file mode 100644 index 0000000..9a7518d --- /dev/null +++ b/docs/latex/_b_m_a_stream_content_provider_8h.tex @@ -0,0 +1,23 @@ +\hypertarget{_b_m_a_stream_content_provider_8h}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Stream\+Content\+Provider.h File Reference} +\label{_b_m_a_stream_content_provider_8h}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Stream\+Content\+Provider.\+h@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Stream\+Content\+Provider.\+h}} +{\ttfamily \#include \char`\"{}includes\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+Stream\+Frame.\+h\char`\"{}}\\* +Include dependency graph for B\+M\+A\+Stream\+Content\+Provider.\+h\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=258pt]{_b_m_a_stream_content_provider_8h__incl} +\end{center} +\end{figure} +This graph shows which files directly or indirectly include this file\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_stream_content_provider_8h__dep__incl} +\end{center} +\end{figure} +\subsection*{Classes} +\begin{DoxyCompactItemize} +\item +class \hyperlink{class_b_m_a_stream_content_provider}{B\+M\+A\+Stream\+Content\+Provider} +\end{DoxyCompactItemize} diff --git a/docs/latex/_b_m_a_stream_content_provider_8h__dep__incl.md5 b/docs/latex/_b_m_a_stream_content_provider_8h__dep__incl.md5 new file mode 100644 index 0000000..49ecca3 --- /dev/null +++ b/docs/latex/_b_m_a_stream_content_provider_8h__dep__incl.md5 @@ -0,0 +1 @@ +cbbaf55ffe86c834c5929f36b0542542 \ No newline at end of file diff --git a/docs/latex/_b_m_a_stream_content_provider_8h__dep__incl.pdf b/docs/latex/_b_m_a_stream_content_provider_8h__dep__incl.pdf new file mode 100644 index 0000000..3e8a62c Binary files /dev/null and b/docs/latex/_b_m_a_stream_content_provider_8h__dep__incl.pdf differ diff --git a/docs/latex/_b_m_a_stream_content_provider_8h__incl.md5 b/docs/latex/_b_m_a_stream_content_provider_8h__incl.md5 new file mode 100644 index 0000000..adae5fe --- /dev/null +++ b/docs/latex/_b_m_a_stream_content_provider_8h__incl.md5 @@ -0,0 +1 @@ +7953ad6298f6b5f78ac921477a7c1cff \ No newline at end of file diff --git a/docs/latex/_b_m_a_stream_content_provider_8h__incl.pdf b/docs/latex/_b_m_a_stream_content_provider_8h__incl.pdf new file mode 100644 index 0000000..b6ba308 Binary files /dev/null and b/docs/latex/_b_m_a_stream_content_provider_8h__incl.pdf differ diff --git a/docs/latex/_b_m_a_stream_frame_8cpp.tex b/docs/latex/_b_m_a_stream_frame_8cpp.tex new file mode 100644 index 0000000..e4eca1a --- /dev/null +++ b/docs/latex/_b_m_a_stream_frame_8cpp.tex @@ -0,0 +1,10 @@ +\hypertarget{_b_m_a_stream_frame_8cpp}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Stream\+Frame.cpp File Reference} +\label{_b_m_a_stream_frame_8cpp}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Stream\+Frame.\+cpp@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Stream\+Frame.\+cpp}} +{\ttfamily \#include \char`\"{}B\+M\+A\+Stream\+Frame.\+h\char`\"{}}\\* +Include dependency graph for B\+M\+A\+Stream\+Frame.\+cpp\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=218pt]{_b_m_a_stream_frame_8cpp__incl} +\end{center} +\end{figure} diff --git a/docs/latex/_b_m_a_stream_frame_8cpp__incl.md5 b/docs/latex/_b_m_a_stream_frame_8cpp__incl.md5 new file mode 100644 index 0000000..f60aba9 --- /dev/null +++ b/docs/latex/_b_m_a_stream_frame_8cpp__incl.md5 @@ -0,0 +1 @@ +8e3d96daa72e506efd684d66285a79ca \ No newline at end of file diff --git a/docs/latex/_b_m_a_stream_frame_8cpp__incl.pdf b/docs/latex/_b_m_a_stream_frame_8cpp__incl.pdf new file mode 100644 index 0000000..c7bcac4 Binary files /dev/null and b/docs/latex/_b_m_a_stream_frame_8cpp__incl.pdf differ diff --git a/docs/latex/_b_m_a_stream_frame_8h.tex b/docs/latex/_b_m_a_stream_frame_8h.tex new file mode 100644 index 0000000..682908b --- /dev/null +++ b/docs/latex/_b_m_a_stream_frame_8h.tex @@ -0,0 +1,14 @@ +\hypertarget{_b_m_a_stream_frame_8h}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Stream\+Frame.h File Reference} +\label{_b_m_a_stream_frame_8h}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Stream\+Frame.\+h@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Stream\+Frame.\+h}} +This graph shows which files directly or indirectly include this file\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_stream_frame_8h__dep__incl} +\end{center} +\end{figure} +\subsection*{Classes} +\begin{DoxyCompactItemize} +\item +class \hyperlink{class_b_m_a_stream_frame}{B\+M\+A\+Stream\+Frame} +\end{DoxyCompactItemize} diff --git a/docs/latex/_b_m_a_stream_frame_8h__dep__incl.md5 b/docs/latex/_b_m_a_stream_frame_8h__dep__incl.md5 new file mode 100644 index 0000000..2acd2ea --- /dev/null +++ b/docs/latex/_b_m_a_stream_frame_8h__dep__incl.md5 @@ -0,0 +1 @@ +fd264297cdac428f97109496b6f95bef \ No newline at end of file diff --git a/docs/latex/_b_m_a_stream_frame_8h__dep__incl.pdf b/docs/latex/_b_m_a_stream_frame_8h__dep__incl.pdf new file mode 100644 index 0000000..171f976 Binary files /dev/null and b/docs/latex/_b_m_a_stream_frame_8h__dep__incl.pdf differ diff --git a/docs/latex/_b_m_a_stream_server_8cpp.tex b/docs/latex/_b_m_a_stream_server_8cpp.tex new file mode 100644 index 0000000..ba6c7c8 --- /dev/null +++ b/docs/latex/_b_m_a_stream_server_8cpp.tex @@ -0,0 +1,14 @@ +\hypertarget{_b_m_a_stream_server_8cpp}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Stream\+Server.cpp File Reference} +\label{_b_m_a_stream_server_8cpp}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Stream\+Server.\+cpp@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Stream\+Server.\+cpp}} +{\ttfamily \#include \char`\"{}B\+M\+A\+Stream\+Server.\+h\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+E\+Poll.\+h\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+Stream\+Content\+Provider.\+h\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+T\+C\+P\+Socket.\+h\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+Stream\+Socket.\+h\char`\"{}}\\* +Include dependency graph for B\+M\+A\+Stream\+Server.\+cpp\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_stream_server_8cpp__incl} +\end{center} +\end{figure} diff --git a/docs/latex/_b_m_a_stream_server_8cpp__incl.md5 b/docs/latex/_b_m_a_stream_server_8cpp__incl.md5 new file mode 100644 index 0000000..9b8b688 --- /dev/null +++ b/docs/latex/_b_m_a_stream_server_8cpp__incl.md5 @@ -0,0 +1 @@ +e9b38b42e506c39863770fdbdece41b6 \ No newline at end of file diff --git a/docs/latex/_b_m_a_stream_server_8cpp__incl.pdf b/docs/latex/_b_m_a_stream_server_8cpp__incl.pdf new file mode 100644 index 0000000..89697e4 Binary files /dev/null and b/docs/latex/_b_m_a_stream_server_8cpp__incl.pdf differ diff --git a/docs/latex/_b_m_a_stream_server_8h.tex b/docs/latex/_b_m_a_stream_server_8h.tex new file mode 100644 index 0000000..d372cf3 --- /dev/null +++ b/docs/latex/_b_m_a_stream_server_8h.tex @@ -0,0 +1,26 @@ +\hypertarget{_b_m_a_stream_server_8h}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Stream\+Server.h File Reference} +\label{_b_m_a_stream_server_8h}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Stream\+Server.\+h@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Stream\+Server.\+h}} +{\ttfamily \#include \char`\"{}includes\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+T\+C\+P\+Server\+Socket.\+h\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+Stream\+Frame.\+h\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+Stream\+Content\+Provider.\+h\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+Timer.\+h\char`\"{}}\\* +Include dependency graph for B\+M\+A\+Stream\+Server.\+h\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_stream_server_8h__incl} +\end{center} +\end{figure} +This graph shows which files directly or indirectly include this file\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_stream_server_8h__dep__incl} +\end{center} +\end{figure} +\subsection*{Classes} +\begin{DoxyCompactItemize} +\item +class \hyperlink{class_b_m_a_stream_server}{B\+M\+A\+Stream\+Server} +\end{DoxyCompactItemize} diff --git a/docs/latex/_b_m_a_stream_server_8h__dep__incl.md5 b/docs/latex/_b_m_a_stream_server_8h__dep__incl.md5 new file mode 100644 index 0000000..30e2d3b --- /dev/null +++ b/docs/latex/_b_m_a_stream_server_8h__dep__incl.md5 @@ -0,0 +1 @@ +47baddfa3fed4bcdba5c0303993bab3f \ No newline at end of file diff --git a/docs/latex/_b_m_a_stream_server_8h__dep__incl.pdf b/docs/latex/_b_m_a_stream_server_8h__dep__incl.pdf new file mode 100644 index 0000000..9732dcd Binary files /dev/null and b/docs/latex/_b_m_a_stream_server_8h__dep__incl.pdf differ diff --git a/docs/latex/_b_m_a_stream_server_8h__incl.md5 b/docs/latex/_b_m_a_stream_server_8h__incl.md5 new file mode 100644 index 0000000..d3a78b6 --- /dev/null +++ b/docs/latex/_b_m_a_stream_server_8h__incl.md5 @@ -0,0 +1 @@ +8fa0acec3cba85d0cd67ae4a234408e4 \ No newline at end of file diff --git a/docs/latex/_b_m_a_stream_server_8h__incl.pdf b/docs/latex/_b_m_a_stream_server_8h__incl.pdf new file mode 100644 index 0000000..4a44575 Binary files /dev/null and b/docs/latex/_b_m_a_stream_server_8h__incl.pdf differ diff --git a/docs/latex/_b_m_a_stream_socket_8cpp.tex b/docs/latex/_b_m_a_stream_socket_8cpp.tex new file mode 100644 index 0000000..d457333 --- /dev/null +++ b/docs/latex/_b_m_a_stream_socket_8cpp.tex @@ -0,0 +1,11 @@ +\hypertarget{_b_m_a_stream_socket_8cpp}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Stream\+Socket.cpp File Reference} +\label{_b_m_a_stream_socket_8cpp}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Stream\+Socket.\+cpp@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Stream\+Socket.\+cpp}} +{\ttfamily \#include \char`\"{}B\+M\+A\+Stream\+Socket.\+h\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+Header.\+h\char`\"{}}\\* +Include dependency graph for B\+M\+A\+Stream\+Socket.\+cpp\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_stream_socket_8cpp__incl} +\end{center} +\end{figure} diff --git a/docs/latex/_b_m_a_stream_socket_8cpp__incl.md5 b/docs/latex/_b_m_a_stream_socket_8cpp__incl.md5 new file mode 100644 index 0000000..2eba18f --- /dev/null +++ b/docs/latex/_b_m_a_stream_socket_8cpp__incl.md5 @@ -0,0 +1 @@ +2b6a30ebf0e4958cb81fe6b797d84cfe \ No newline at end of file diff --git a/docs/latex/_b_m_a_stream_socket_8cpp__incl.pdf b/docs/latex/_b_m_a_stream_socket_8cpp__incl.pdf new file mode 100644 index 0000000..518d667 Binary files /dev/null and b/docs/latex/_b_m_a_stream_socket_8cpp__incl.pdf differ diff --git a/docs/latex/_b_m_a_stream_socket_8h.tex b/docs/latex/_b_m_a_stream_socket_8h.tex new file mode 100644 index 0000000..301cdff --- /dev/null +++ b/docs/latex/_b_m_a_stream_socket_8h.tex @@ -0,0 +1,24 @@ +\hypertarget{_b_m_a_stream_socket_8h}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Stream\+Socket.h File Reference} +\label{_b_m_a_stream_socket_8h}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Stream\+Socket.\+h@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Stream\+Socket.\+h}} +{\ttfamily \#include \char`\"{}B\+M\+A\+T\+C\+P\+Socket.\+h\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+E\+Poll.\+h\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+Stream\+Frame.\+h\char`\"{}}\\* +Include dependency graph for B\+M\+A\+Stream\+Socket.\+h\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_stream_socket_8h__incl} +\end{center} +\end{figure} +This graph shows which files directly or indirectly include this file\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_stream_socket_8h__dep__incl} +\end{center} +\end{figure} +\subsection*{Classes} +\begin{DoxyCompactItemize} +\item +class \hyperlink{class_b_m_a_stream_socket}{B\+M\+A\+Stream\+Socket} +\end{DoxyCompactItemize} diff --git a/docs/latex/_b_m_a_stream_socket_8h__dep__incl.md5 b/docs/latex/_b_m_a_stream_socket_8h__dep__incl.md5 new file mode 100644 index 0000000..0320235 --- /dev/null +++ b/docs/latex/_b_m_a_stream_socket_8h__dep__incl.md5 @@ -0,0 +1 @@ +bc2f360bbffd50055a3facac35dd9529 \ No newline at end of file diff --git a/docs/latex/_b_m_a_stream_socket_8h__dep__incl.pdf b/docs/latex/_b_m_a_stream_socket_8h__dep__incl.pdf new file mode 100644 index 0000000..8291023 Binary files /dev/null and b/docs/latex/_b_m_a_stream_socket_8h__dep__incl.pdf differ diff --git a/docs/latex/_b_m_a_stream_socket_8h__incl.md5 b/docs/latex/_b_m_a_stream_socket_8h__incl.md5 new file mode 100644 index 0000000..8f6767d --- /dev/null +++ b/docs/latex/_b_m_a_stream_socket_8h__incl.md5 @@ -0,0 +1 @@ +316c3ac7dff19ac8a5ea7ab8a456fd0d \ No newline at end of file diff --git a/docs/latex/_b_m_a_stream_socket_8h__incl.pdf b/docs/latex/_b_m_a_stream_socket_8h__incl.pdf new file mode 100644 index 0000000..342a0cd Binary files /dev/null and b/docs/latex/_b_m_a_stream_socket_8h__incl.pdf differ diff --git a/docs/latex/_b_m_a_t_c_p_server_socket_8cpp.tex b/docs/latex/_b_m_a_t_c_p_server_socket_8cpp.tex new file mode 100644 index 0000000..d249219 --- /dev/null +++ b/docs/latex/_b_m_a_t_c_p_server_socket_8cpp.tex @@ -0,0 +1,12 @@ +\hypertarget{_b_m_a_t_c_p_server_socket_8cpp}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+T\+C\+P\+Server\+Socket.cpp File Reference} +\label{_b_m_a_t_c_p_server_socket_8cpp}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+T\+C\+P\+Server\+Socket.\+cpp@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+T\+C\+P\+Server\+Socket.\+cpp}} +{\ttfamily \#include \char`\"{}B\+M\+A\+T\+C\+P\+Server\+Socket.\+h\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+E\+Poll.\+h\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+Console\+Session.\+h\char`\"{}}\\* +Include dependency graph for B\+M\+A\+T\+C\+P\+Server\+Socket.\+cpp\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_t_c_p_server_socket_8cpp__incl} +\end{center} +\end{figure} diff --git a/docs/latex/_b_m_a_t_c_p_server_socket_8cpp__incl.md5 b/docs/latex/_b_m_a_t_c_p_server_socket_8cpp__incl.md5 new file mode 100644 index 0000000..0d4fa74 --- /dev/null +++ b/docs/latex/_b_m_a_t_c_p_server_socket_8cpp__incl.md5 @@ -0,0 +1 @@ +dee4f9aeaa9aa5eb91d6efe2a2db8619 \ No newline at end of file diff --git a/docs/latex/_b_m_a_t_c_p_server_socket_8cpp__incl.pdf b/docs/latex/_b_m_a_t_c_p_server_socket_8cpp__incl.pdf new file mode 100644 index 0000000..11b38d7 Binary files /dev/null and b/docs/latex/_b_m_a_t_c_p_server_socket_8cpp__incl.pdf differ diff --git a/docs/latex/_b_m_a_t_c_p_server_socket_8h.tex b/docs/latex/_b_m_a_t_c_p_server_socket_8h.tex new file mode 100644 index 0000000..f59fdf7 --- /dev/null +++ b/docs/latex/_b_m_a_t_c_p_server_socket_8h.tex @@ -0,0 +1,24 @@ +\hypertarget{_b_m_a_t_c_p_server_socket_8h}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+T\+C\+P\+Server\+Socket.h File Reference} +\label{_b_m_a_t_c_p_server_socket_8h}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+T\+C\+P\+Server\+Socket.\+h@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+T\+C\+P\+Server\+Socket.\+h}} +{\ttfamily \#include \char`\"{}B\+M\+A\+Socket.\+h\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+T\+C\+P\+Socket.\+h\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+Console\+Command.\+h\char`\"{}}\\* +Include dependency graph for B\+M\+A\+T\+C\+P\+Server\+Socket.\+h\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_t_c_p_server_socket_8h__incl} +\end{center} +\end{figure} +This graph shows which files directly or indirectly include this file\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_t_c_p_server_socket_8h__dep__incl} +\end{center} +\end{figure} +\subsection*{Classes} +\begin{DoxyCompactItemize} +\item +class \hyperlink{class_b_m_a_t_c_p_server_socket}{B\+M\+A\+T\+C\+P\+Server\+Socket} +\end{DoxyCompactItemize} diff --git a/docs/latex/_b_m_a_t_c_p_server_socket_8h__dep__incl.md5 b/docs/latex/_b_m_a_t_c_p_server_socket_8h__dep__incl.md5 new file mode 100644 index 0000000..04f7e4e --- /dev/null +++ b/docs/latex/_b_m_a_t_c_p_server_socket_8h__dep__incl.md5 @@ -0,0 +1 @@ +d828df4b624485f4f0a1215af7daef5e \ No newline at end of file diff --git a/docs/latex/_b_m_a_t_c_p_server_socket_8h__dep__incl.pdf b/docs/latex/_b_m_a_t_c_p_server_socket_8h__dep__incl.pdf new file mode 100644 index 0000000..8991eb1 Binary files /dev/null and b/docs/latex/_b_m_a_t_c_p_server_socket_8h__dep__incl.pdf differ diff --git a/docs/latex/_b_m_a_t_c_p_server_socket_8h__incl.md5 b/docs/latex/_b_m_a_t_c_p_server_socket_8h__incl.md5 new file mode 100644 index 0000000..4ec6ef4 --- /dev/null +++ b/docs/latex/_b_m_a_t_c_p_server_socket_8h__incl.md5 @@ -0,0 +1 @@ +6e87b7aa31aaefd06a6cc2ffc01b96dc \ No newline at end of file diff --git a/docs/latex/_b_m_a_t_c_p_server_socket_8h__incl.pdf b/docs/latex/_b_m_a_t_c_p_server_socket_8h__incl.pdf new file mode 100644 index 0000000..bb5c055 Binary files /dev/null and b/docs/latex/_b_m_a_t_c_p_server_socket_8h__incl.pdf differ diff --git a/docs/latex/_b_m_a_t_c_p_socket_8cpp.tex b/docs/latex/_b_m_a_t_c_p_socket_8cpp.tex new file mode 100644 index 0000000..3b4afd6 --- /dev/null +++ b/docs/latex/_b_m_a_t_c_p_socket_8cpp.tex @@ -0,0 +1,11 @@ +\hypertarget{_b_m_a_t_c_p_socket_8cpp}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+T\+C\+P\+Socket.cpp File Reference} +\label{_b_m_a_t_c_p_socket_8cpp}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+T\+C\+P\+Socket.\+cpp@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+T\+C\+P\+Socket.\+cpp}} +{\ttfamily \#include \char`\"{}B\+M\+A\+T\+C\+P\+Socket.\+h\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+E\+Poll.\+h\char`\"{}}\\* +Include dependency graph for B\+M\+A\+T\+C\+P\+Socket.\+cpp\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_t_c_p_socket_8cpp__incl} +\end{center} +\end{figure} diff --git a/docs/latex/_b_m_a_t_c_p_socket_8cpp__incl.md5 b/docs/latex/_b_m_a_t_c_p_socket_8cpp__incl.md5 new file mode 100644 index 0000000..5abfe15 --- /dev/null +++ b/docs/latex/_b_m_a_t_c_p_socket_8cpp__incl.md5 @@ -0,0 +1 @@ +f2ae61fa76c07f566326175aa1f4ad67 \ No newline at end of file diff --git a/docs/latex/_b_m_a_t_c_p_socket_8cpp__incl.pdf b/docs/latex/_b_m_a_t_c_p_socket_8cpp__incl.pdf new file mode 100644 index 0000000..755bba7 Binary files /dev/null and b/docs/latex/_b_m_a_t_c_p_socket_8cpp__incl.pdf differ diff --git a/docs/latex/_b_m_a_t_c_p_socket_8h.tex b/docs/latex/_b_m_a_t_c_p_socket_8h.tex new file mode 100644 index 0000000..9a6d7e3 --- /dev/null +++ b/docs/latex/_b_m_a_t_c_p_socket_8h.tex @@ -0,0 +1,23 @@ +\hypertarget{_b_m_a_t_c_p_socket_8h}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+T\+C\+P\+Socket.h File Reference} +\label{_b_m_a_t_c_p_socket_8h}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+T\+C\+P\+Socket.\+h@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+T\+C\+P\+Socket.\+h}} +{\ttfamily \#include \char`\"{}includes\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+Socket.\+h\char`\"{}}\\* +Include dependency graph for B\+M\+A\+T\+C\+P\+Socket.\+h\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=347pt]{_b_m_a_t_c_p_socket_8h__incl} +\end{center} +\end{figure} +This graph shows which files directly or indirectly include this file\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_t_c_p_socket_8h__dep__incl} +\end{center} +\end{figure} +\subsection*{Classes} +\begin{DoxyCompactItemize} +\item +class \hyperlink{class_b_m_a_t_c_p_socket}{B\+M\+A\+T\+C\+P\+Socket} +\end{DoxyCompactItemize} diff --git a/docs/latex/_b_m_a_t_c_p_socket_8h__dep__incl.md5 b/docs/latex/_b_m_a_t_c_p_socket_8h__dep__incl.md5 new file mode 100644 index 0000000..d313173 --- /dev/null +++ b/docs/latex/_b_m_a_t_c_p_socket_8h__dep__incl.md5 @@ -0,0 +1 @@ +d3940bb898fda624a06a9c50bac7f811 \ No newline at end of file diff --git a/docs/latex/_b_m_a_t_c_p_socket_8h__dep__incl.pdf b/docs/latex/_b_m_a_t_c_p_socket_8h__dep__incl.pdf new file mode 100644 index 0000000..37e79f9 Binary files /dev/null and b/docs/latex/_b_m_a_t_c_p_socket_8h__dep__incl.pdf differ diff --git a/docs/latex/_b_m_a_t_c_p_socket_8h__incl.md5 b/docs/latex/_b_m_a_t_c_p_socket_8h__incl.md5 new file mode 100644 index 0000000..df12431 --- /dev/null +++ b/docs/latex/_b_m_a_t_c_p_socket_8h__incl.md5 @@ -0,0 +1 @@ +1bc510a9b256cde662880365ba44d614 \ No newline at end of file diff --git a/docs/latex/_b_m_a_t_c_p_socket_8h__incl.pdf b/docs/latex/_b_m_a_t_c_p_socket_8h__incl.pdf new file mode 100644 index 0000000..94c6b98 Binary files /dev/null and b/docs/latex/_b_m_a_t_c_p_socket_8h__incl.pdf differ diff --git a/docs/latex/_b_m_a_thread_8cpp.tex b/docs/latex/_b_m_a_thread_8cpp.tex new file mode 100644 index 0000000..35a2a65 --- /dev/null +++ b/docs/latex/_b_m_a_thread_8cpp.tex @@ -0,0 +1,11 @@ +\hypertarget{_b_m_a_thread_8cpp}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Thread.cpp File Reference} +\label{_b_m_a_thread_8cpp}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Thread.\+cpp@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Thread.\+cpp}} +{\ttfamily \#include \char`\"{}B\+M\+A\+Thread.\+h\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+E\+Poll.\+h\char`\"{}}\\* +Include dependency graph for B\+M\+A\+Thread.\+cpp\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_thread_8cpp__incl} +\end{center} +\end{figure} diff --git a/docs/latex/_b_m_a_thread_8cpp__incl.md5 b/docs/latex/_b_m_a_thread_8cpp__incl.md5 new file mode 100644 index 0000000..455bff7 --- /dev/null +++ b/docs/latex/_b_m_a_thread_8cpp__incl.md5 @@ -0,0 +1 @@ +5941db6945840318e362f0807ae4fee6 \ No newline at end of file diff --git a/docs/latex/_b_m_a_thread_8cpp__incl.pdf b/docs/latex/_b_m_a_thread_8cpp__incl.pdf new file mode 100644 index 0000000..bfb45c2 Binary files /dev/null and b/docs/latex/_b_m_a_thread_8cpp__incl.pdf differ diff --git a/docs/latex/_b_m_a_thread_8h.tex b/docs/latex/_b_m_a_thread_8h.tex new file mode 100644 index 0000000..55a022e --- /dev/null +++ b/docs/latex/_b_m_a_thread_8h.tex @@ -0,0 +1,23 @@ +\hypertarget{_b_m_a_thread_8h}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Thread.h File Reference} +\label{_b_m_a_thread_8h}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Thread.\+h@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Thread.\+h}} +{\ttfamily \#include \char`\"{}includes\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+Log.\+h\char`\"{}}\\* +Include dependency graph for B\+M\+A\+Thread.\+h\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_thread_8h__incl} +\end{center} +\end{figure} +This graph shows which files directly or indirectly include this file\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_thread_8h__dep__incl} +\end{center} +\end{figure} +\subsection*{Classes} +\begin{DoxyCompactItemize} +\item +class \hyperlink{class_b_m_a_thread}{B\+M\+A\+Thread} +\end{DoxyCompactItemize} diff --git a/docs/latex/_b_m_a_thread_8h__dep__incl.md5 b/docs/latex/_b_m_a_thread_8h__dep__incl.md5 new file mode 100644 index 0000000..b8ca57b --- /dev/null +++ b/docs/latex/_b_m_a_thread_8h__dep__incl.md5 @@ -0,0 +1 @@ +bee904a5b78b59f052cdec6c54c68019 \ No newline at end of file diff --git a/docs/latex/_b_m_a_thread_8h__dep__incl.pdf b/docs/latex/_b_m_a_thread_8h__dep__incl.pdf new file mode 100644 index 0000000..6ae0251 Binary files /dev/null and b/docs/latex/_b_m_a_thread_8h__dep__incl.pdf differ diff --git a/docs/latex/_b_m_a_thread_8h__incl.md5 b/docs/latex/_b_m_a_thread_8h__incl.md5 new file mode 100644 index 0000000..f77c09c --- /dev/null +++ b/docs/latex/_b_m_a_thread_8h__incl.md5 @@ -0,0 +1 @@ +01de0e390a4ff634176a11e0bfff5801 \ No newline at end of file diff --git a/docs/latex/_b_m_a_thread_8h__incl.pdf b/docs/latex/_b_m_a_thread_8h__incl.pdf new file mode 100644 index 0000000..62f5772 Binary files /dev/null and b/docs/latex/_b_m_a_thread_8h__incl.pdf differ diff --git a/docs/latex/_b_m_a_timer_8cpp.tex b/docs/latex/_b_m_a_timer_8cpp.tex new file mode 100644 index 0000000..9ae6911 --- /dev/null +++ b/docs/latex/_b_m_a_timer_8cpp.tex @@ -0,0 +1,11 @@ +\hypertarget{_b_m_a_timer_8cpp}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Timer.cpp File Reference} +\label{_b_m_a_timer_8cpp}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Timer.\+cpp@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Timer.\+cpp}} +{\ttfamily \#include \char`\"{}B\+M\+A\+Timer.\+h\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+E\+Poll.\+h\char`\"{}}\\* +Include dependency graph for B\+M\+A\+Timer.\+cpp\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_timer_8cpp__incl} +\end{center} +\end{figure} diff --git a/docs/latex/_b_m_a_timer_8cpp__incl.md5 b/docs/latex/_b_m_a_timer_8cpp__incl.md5 new file mode 100644 index 0000000..52732c8 --- /dev/null +++ b/docs/latex/_b_m_a_timer_8cpp__incl.md5 @@ -0,0 +1 @@ +5735730a4ea72968666ed2228c8286db \ No newline at end of file diff --git a/docs/latex/_b_m_a_timer_8cpp__incl.pdf b/docs/latex/_b_m_a_timer_8cpp__incl.pdf new file mode 100644 index 0000000..d8590f3 Binary files /dev/null and b/docs/latex/_b_m_a_timer_8cpp__incl.pdf differ diff --git a/docs/latex/_b_m_a_timer_8h.tex b/docs/latex/_b_m_a_timer_8h.tex new file mode 100644 index 0000000..914a447 --- /dev/null +++ b/docs/latex/_b_m_a_timer_8h.tex @@ -0,0 +1,22 @@ +\hypertarget{_b_m_a_timer_8h}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Timer.h File Reference} +\label{_b_m_a_timer_8h}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Timer.\+h@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+Timer.\+h}} +{\ttfamily \#include \char`\"{}B\+M\+A\+Socket.\+h\char`\"{}}\\* +Include dependency graph for B\+M\+A\+Timer.\+h\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=287pt]{_b_m_a_timer_8h__incl} +\end{center} +\end{figure} +This graph shows which files directly or indirectly include this file\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{_b_m_a_timer_8h__dep__incl} +\end{center} +\end{figure} +\subsection*{Classes} +\begin{DoxyCompactItemize} +\item +class \hyperlink{class_b_m_a_timer}{B\+M\+A\+Timer} +\end{DoxyCompactItemize} diff --git a/docs/latex/_b_m_a_timer_8h__dep__incl.md5 b/docs/latex/_b_m_a_timer_8h__dep__incl.md5 new file mode 100644 index 0000000..6ec1351 --- /dev/null +++ b/docs/latex/_b_m_a_timer_8h__dep__incl.md5 @@ -0,0 +1 @@ +93a924e7ca28bd5d66dd5a06de9ad93d \ No newline at end of file diff --git a/docs/latex/_b_m_a_timer_8h__dep__incl.pdf b/docs/latex/_b_m_a_timer_8h__dep__incl.pdf new file mode 100644 index 0000000..baa4779 Binary files /dev/null and b/docs/latex/_b_m_a_timer_8h__dep__incl.pdf differ diff --git a/docs/latex/_b_m_a_timer_8h__incl.md5 b/docs/latex/_b_m_a_timer_8h__incl.md5 new file mode 100644 index 0000000..7b5519c --- /dev/null +++ b/docs/latex/_b_m_a_timer_8h__incl.md5 @@ -0,0 +1 @@ +d06e18d32c5d4e744b7bb771d5c3d18c \ No newline at end of file diff --git a/docs/latex/_b_m_a_timer_8h__incl.pdf b/docs/latex/_b_m_a_timer_8h__incl.pdf new file mode 100644 index 0000000..718ae08 Binary files /dev/null and b/docs/latex/_b_m_a_timer_8h__incl.pdf differ diff --git a/docs/latex/_b_m_a_u_d_p_socket_8cpp.tex b/docs/latex/_b_m_a_u_d_p_socket_8cpp.tex new file mode 100644 index 0000000..a4795c4 --- /dev/null +++ b/docs/latex/_b_m_a_u_d_p_socket_8cpp.tex @@ -0,0 +1,26 @@ +\hypertarget{_b_m_a_u_d_p_socket_8cpp}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+U\+D\+P\+Socket.cpp File Reference} +\label{_b_m_a_u_d_p_socket_8cpp}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+U\+D\+P\+Socket.\+cpp@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+U\+D\+P\+Socket.\+cpp}} +{\ttfamily \#include \char`\"{}B\+M\+A\+Socket.\+h\char`\"{}}\\* +Include dependency graph for B\+M\+A\+U\+D\+P\+Socket.\+cpp\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=287pt]{_b_m_a_u_d_p_socket_8cpp__incl} +\end{center} +\end{figure} +\subsection*{Classes} +\begin{DoxyCompactItemize} +\item +class \hyperlink{class_b_m_a_u_d_p_socket}{B\+M\+A\+U\+D\+P\+Socket} +\end{DoxyCompactItemize} +\subsection*{Macros} +\begin{DoxyCompactItemize} +\item +\#define \hyperlink{_b_m_a_u_d_p_socket_8cpp_a2821696a341348d2081bb87a6f182eba}{B\+M\+A\+U\+D\+P\+Socket\+\_\+h\+\_\+\+\_\+} +\end{DoxyCompactItemize} + + +\subsection{Macro Definition Documentation} +\index{B\+M\+A\+U\+D\+P\+Socket.\+cpp@{B\+M\+A\+U\+D\+P\+Socket.\+cpp}!B\+M\+A\+U\+D\+P\+Socket\+\_\+h\+\_\+\+\_\+@{B\+M\+A\+U\+D\+P\+Socket\+\_\+h\+\_\+\+\_\+}} +\index{B\+M\+A\+U\+D\+P\+Socket\+\_\+h\+\_\+\+\_\+@{B\+M\+A\+U\+D\+P\+Socket\+\_\+h\+\_\+\+\_\+}!B\+M\+A\+U\+D\+P\+Socket.\+cpp@{B\+M\+A\+U\+D\+P\+Socket.\+cpp}} +\subsubsection[{\texorpdfstring{B\+M\+A\+U\+D\+P\+Socket\+\_\+h\+\_\+\+\_\+}{BMAUDPSocket_h__}}]{\setlength{\rightskip}{0pt plus 5cm}\#define B\+M\+A\+U\+D\+P\+Socket\+\_\+h\+\_\+\+\_\+}\hypertarget{_b_m_a_u_d_p_socket_8cpp_a2821696a341348d2081bb87a6f182eba}{}\label{_b_m_a_u_d_p_socket_8cpp_a2821696a341348d2081bb87a6f182eba} diff --git a/docs/latex/_b_m_a_u_d_p_socket_8cpp__incl.md5 b/docs/latex/_b_m_a_u_d_p_socket_8cpp__incl.md5 new file mode 100644 index 0000000..3e72833 --- /dev/null +++ b/docs/latex/_b_m_a_u_d_p_socket_8cpp__incl.md5 @@ -0,0 +1 @@ +dc0f95b4133c73b2ac745ccc669c2cd9 \ No newline at end of file diff --git a/docs/latex/_b_m_a_u_d_p_socket_8cpp__incl.pdf b/docs/latex/_b_m_a_u_d_p_socket_8cpp__incl.pdf new file mode 100644 index 0000000..f9a3097 Binary files /dev/null and b/docs/latex/_b_m_a_u_d_p_socket_8cpp__incl.pdf differ diff --git a/docs/latex/_b_m_a_u_d_p_socket_8h.tex b/docs/latex/_b_m_a_u_d_p_socket_8h.tex new file mode 100644 index 0000000..541eb17 --- /dev/null +++ b/docs/latex/_b_m_a_u_d_p_socket_8h.tex @@ -0,0 +1,15 @@ +\hypertarget{_b_m_a_u_d_p_socket_8h}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+U\+D\+P\+Socket.h File Reference} +\label{_b_m_a_u_d_p_socket_8h}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+U\+D\+P\+Socket.\+h@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\+B\+M\+A\+U\+D\+P\+Socket.\+h}} +{\ttfamily \#include \char`\"{}B\+M\+A\+Socket.\+h\char`\"{}}\\* +Include dependency graph for B\+M\+A\+U\+D\+P\+Socket.\+h\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=287pt]{_b_m_a_u_d_p_socket_8h__incl} +\end{center} +\end{figure} +\subsection*{Classes} +\begin{DoxyCompactItemize} +\item +class \hyperlink{class_b_m_a_u_d_p_socket}{B\+M\+A\+U\+D\+P\+Socket} +\end{DoxyCompactItemize} diff --git a/docs/latex/_b_m_a_u_d_p_socket_8h__incl.md5 b/docs/latex/_b_m_a_u_d_p_socket_8h__incl.md5 new file mode 100644 index 0000000..743bfae --- /dev/null +++ b/docs/latex/_b_m_a_u_d_p_socket_8h__incl.md5 @@ -0,0 +1 @@ +0cd5152dc3f108725c874f9dd6245b68 \ No newline at end of file diff --git a/docs/latex/_b_m_a_u_d_p_socket_8h__incl.pdf b/docs/latex/_b_m_a_u_d_p_socket_8h__incl.pdf new file mode 100644 index 0000000..3909c01 Binary files /dev/null and b/docs/latex/_b_m_a_u_d_p_socket_8h__incl.pdf differ diff --git a/docs/latex/annotated.tex b/docs/latex/annotated.tex new file mode 100644 index 0000000..39f9fc6 --- /dev/null +++ b/docs/latex/annotated.tex @@ -0,0 +1,27 @@ +\section{Class List} +Here are the classes, structs, unions and interfaces with brief descriptions\+:\begin{DoxyCompactList} +\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_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_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_session}{core\+::\+Session} }{\pageref{classcore_1_1_session}}{} +\item\contentsline{section}{\hyperlink{classcore_1_1_session_filter}{core\+::\+Session\+Filter} }{\pageref{classcore_1_1_session_filter}}{} +\item\contentsline{section}{\hyperlink{classcore_1_1_socket}{core\+::\+Socket} }{\pageref{classcore_1_1_socket}}{} +\item\contentsline{section}{\hyperlink{classcore_1_1_t_c_p_server_socket}{core\+::\+T\+C\+P\+Server\+Socket} }{\pageref{classcore_1_1_t_c_p_server_socket}}{} +\item\contentsline{section}{\hyperlink{classcore_1_1_t_c_p_socket}{core\+::\+T\+C\+P\+Socket} }{\pageref{classcore_1_1_t_c_p_socket}}{} +\item\contentsline{section}{\hyperlink{classcore_1_1_terminal_session}{core\+::\+Terminal\+Session} }{\pageref{classcore_1_1_terminal_session}}{} +\item\contentsline{section}{\hyperlink{classcore_1_1_thread}{core\+::\+Thread} }{\pageref{classcore_1_1_thread}}{} +\item\contentsline{section}{\hyperlink{classcore_1_1_timer}{core\+::\+Timer} }{\pageref{classcore_1_1_timer}}{} +\item\contentsline{section}{\hyperlink{classcore_1_1_t_l_s_server_socket}{core\+::\+T\+L\+S\+Server\+Socket} }{\pageref{classcore_1_1_t_l_s_server_socket}}{} +\item\contentsline{section}{\hyperlink{classcore_1_1_t_l_s_session}{core\+::\+T\+L\+S\+Session} }{\pageref{classcore_1_1_t_l_s_session}}{} +\item\contentsline{section}{\hyperlink{classcore_1_1_u_d_p_server_socket}{core\+::\+U\+D\+P\+Server\+Socket} }{\pageref{classcore_1_1_u_d_p_server_socket}}{} +\item\contentsline{section}{\hyperlink{classcore_1_1_u_d_p_socket}{core\+::\+U\+D\+P\+Socket} }{\pageref{classcore_1_1_u_d_p_socket}}{} +\end{DoxyCompactList} diff --git a/docs/latex/class_b_m_a_account.tex b/docs/latex/class_b_m_a_account.tex new file mode 100644 index 0000000..f17b886 --- /dev/null +++ b/docs/latex/class_b_m_a_account.tex @@ -0,0 +1,46 @@ +\hypertarget{class_b_m_a_account}{}\section{B\+M\+A\+Account Class Reference} +\label{class_b_m_a_account}\index{B\+M\+A\+Account@{B\+M\+A\+Account}} + + +Inheritance diagram for B\+M\+A\+Account\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=154pt]{class_b_m_a_account__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for B\+M\+A\+Account\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=154pt]{class_b_m_a_account__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_account_acdcaaf6a9fedf15d6ee90c2d1f9d2a97}\label{class_b_m_a_account_acdcaaf6a9fedf15d6ee90c2d1f9d2a97}} +string {\bfseries get\+Name} () +\item +\mbox{\Hypertarget{class_b_m_a_account_a7062aa89e22f1b11ae30a79091166381}\label{class_b_m_a_account_a7062aa89e22f1b11ae30a79091166381}} +void {\bfseries set\+Name} (string name) +\item +\mbox{\Hypertarget{class_b_m_a_account_af83294d09c8b84373e98962f7bd4ab7e}\label{class_b_m_a_account_af83294d09c8b84373e98962f7bd4ab7e}} +string {\bfseries get\+Alias} () +\item +\mbox{\Hypertarget{class_b_m_a_account_a31ee9351a201acb7925d8c38553756d2}\label{class_b_m_a_account_a31ee9351a201acb7925d8c38553756d2}} +void {\bfseries set\+Alias} (string name) +\end{DoxyCompactItemize} +\subsection*{Public Attributes} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_account_ab7b9ba2663dcf94219ea2ceb1a8828a2}\label{class_b_m_a_account_ab7b9ba2663dcf94219ea2ceb1a8828a2}} +vector$<$ string $>$ {\bfseries contacts} +\end{DoxyCompactItemize} + + +The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+Account.\+h\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_account__coll__graph.md5 b/docs/latex/class_b_m_a_account__coll__graph.md5 new file mode 100644 index 0000000..d703f73 --- /dev/null +++ b/docs/latex/class_b_m_a_account__coll__graph.md5 @@ -0,0 +1 @@ +948cfee5db271c03fe94e4640791b33a \ No newline at end of file diff --git a/docs/latex/class_b_m_a_account__coll__graph.pdf b/docs/latex/class_b_m_a_account__coll__graph.pdf new file mode 100644 index 0000000..be6586c Binary files /dev/null and b/docs/latex/class_b_m_a_account__coll__graph.pdf differ diff --git a/docs/latex/class_b_m_a_account__inherit__graph.md5 b/docs/latex/class_b_m_a_account__inherit__graph.md5 new file mode 100644 index 0000000..b360947 --- /dev/null +++ b/docs/latex/class_b_m_a_account__inherit__graph.md5 @@ -0,0 +1 @@ +dc42833cf3e281a15e3aeb1f566e998f \ No newline at end of file diff --git a/docs/latex/class_b_m_a_account__inherit__graph.pdf b/docs/latex/class_b_m_a_account__inherit__graph.pdf new file mode 100644 index 0000000..be6586c Binary files /dev/null and b/docs/latex/class_b_m_a_account__inherit__graph.pdf differ diff --git a/docs/latex/class_b_m_a_authenticate.tex b/docs/latex/class_b_m_a_authenticate.tex new file mode 100644 index 0000000..375e028 --- /dev/null +++ b/docs/latex/class_b_m_a_authenticate.tex @@ -0,0 +1,42 @@ +\hypertarget{class_b_m_a_authenticate}{}\section{B\+M\+A\+Authenticate Class Reference} +\label{class_b_m_a_authenticate}\index{B\+M\+A\+Authenticate@{B\+M\+A\+Authenticate}} + + +Inheritance diagram for B\+M\+A\+Authenticate\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=173pt]{class_b_m_a_authenticate__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for B\+M\+A\+Authenticate\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=173pt]{class_b_m_a_authenticate__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_authenticate_a2acd6bf9aea96a672168dae0c5bd50f1}\label{class_b_m_a_authenticate_a2acd6bf9aea96a672168dae0c5bd50f1}} +{\bfseries B\+M\+A\+Authenticate} (\hyperlink{class_b_m_a_session}{B\+M\+A\+Session} $\ast$session) +\item +\mbox{\Hypertarget{class_b_m_a_authenticate_a755008a6a07bd70bafc47d6407a8605a}\label{class_b_m_a_authenticate_a755008a6a07bd70bafc47d6407a8605a}} +void {\bfseries on\+Start} () +\item +\mbox{\Hypertarget{class_b_m_a_authenticate_ae7ebe776ce594736a04798027c99c7c4}\label{class_b_m_a_authenticate_ae7ebe776ce594736a04798027c99c7c4}} +void {\bfseries on\+Data\+Received} (char $\ast$data, int length) +\item +\mbox{\Hypertarget{class_b_m_a_authenticate_aa69fdaed4e769f5b1d9aff3da54eaa79}\label{class_b_m_a_authenticate_aa69fdaed4e769f5b1d9aff3da54eaa79}} +void {\bfseries on\+End} () +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/B\+M\+A\+Authenticate.\+h\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/B\+M\+A\+Authenticate.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_authenticate__coll__graph.md5 b/docs/latex/class_b_m_a_authenticate__coll__graph.md5 new file mode 100644 index 0000000..8f1fccf --- /dev/null +++ b/docs/latex/class_b_m_a_authenticate__coll__graph.md5 @@ -0,0 +1 @@ +5fed66fd94056f8b64f7b11ce71243ce \ No newline at end of file diff --git a/docs/latex/class_b_m_a_authenticate__coll__graph.pdf b/docs/latex/class_b_m_a_authenticate__coll__graph.pdf new file mode 100644 index 0000000..449f1ee Binary files /dev/null and b/docs/latex/class_b_m_a_authenticate__coll__graph.pdf differ diff --git a/docs/latex/class_b_m_a_authenticate__inherit__graph.md5 b/docs/latex/class_b_m_a_authenticate__inherit__graph.md5 new file mode 100644 index 0000000..b8957b3 --- /dev/null +++ b/docs/latex/class_b_m_a_authenticate__inherit__graph.md5 @@ -0,0 +1 @@ +7a53780febea8e0fefa4065cb323bbfa \ No newline at end of file diff --git a/docs/latex/class_b_m_a_authenticate__inherit__graph.pdf b/docs/latex/class_b_m_a_authenticate__inherit__graph.pdf new file mode 100644 index 0000000..449f1ee Binary files /dev/null and b/docs/latex/class_b_m_a_authenticate__inherit__graph.pdf differ diff --git a/docs/latex/class_b_m_a_command.tex b/docs/latex/class_b_m_a_command.tex new file mode 100644 index 0000000..ce9e5f0 --- /dev/null +++ b/docs/latex/class_b_m_a_command.tex @@ -0,0 +1,44 @@ +\hypertarget{class_b_m_a_command}{}\section{B\+M\+A\+Command Class Reference} +\label{class_b_m_a_command}\index{B\+M\+A\+Command@{B\+M\+A\+Command}} + + +Inheritance diagram for B\+M\+A\+Command\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{class_b_m_a_command__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for B\+M\+A\+Command\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=163pt]{class_b_m_a_command__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_command_a99873e43fd8b067ed358fdea9269518a}\label{class_b_m_a_command_a99873e43fd8b067ed358fdea9269518a}} +{\bfseries B\+M\+A\+Command} (std\+::string command\+Name) +\item +\mbox{\Hypertarget{class_b_m_a_command_add46dd392afa26f98cabad3a11abf50f}\label{class_b_m_a_command_add46dd392afa26f98cabad3a11abf50f}} +virtual void {\bfseries process\+Command} (std\+::string command, \hyperlink{class_b_m_a_session}{B\+M\+A\+Session} $\ast$session)=0 +\item +\mbox{\Hypertarget{class_b_m_a_command_a4e889ecd131a4f244f97eea36cd0abe2}\label{class_b_m_a_command_a4e889ecd131a4f244f97eea36cd0abe2}} +virtual void {\bfseries output} (\hyperlink{class_b_m_a_session}{B\+M\+A\+Session} $\ast$session) +\end{DoxyCompactItemize} +\subsection*{Public Attributes} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_command_a919e1d8451d9b145aa2ae81b51070736}\label{class_b_m_a_command_a919e1d8451d9b145aa2ae81b51070736}} +std\+::string {\bfseries command\+Name} +\end{DoxyCompactItemize} + + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/B\+M\+A\+Command.\+h\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/B\+M\+A\+Command.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_command__coll__graph.md5 b/docs/latex/class_b_m_a_command__coll__graph.md5 new file mode 100644 index 0000000..251fac6 --- /dev/null +++ b/docs/latex/class_b_m_a_command__coll__graph.md5 @@ -0,0 +1 @@ +839186b3196e6b86020205bed6f5fb39 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_command__coll__graph.pdf b/docs/latex/class_b_m_a_command__coll__graph.pdf new file mode 100644 index 0000000..8754e24 Binary files /dev/null and b/docs/latex/class_b_m_a_command__coll__graph.pdf differ diff --git a/docs/latex/class_b_m_a_command__inherit__graph.md5 b/docs/latex/class_b_m_a_command__inherit__graph.md5 new file mode 100644 index 0000000..11233e2 --- /dev/null +++ b/docs/latex/class_b_m_a_command__inherit__graph.md5 @@ -0,0 +1 @@ +2a7822ce631aa0b42949b4813c13e165 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_command__inherit__graph.pdf b/docs/latex/class_b_m_a_command__inherit__graph.pdf new file mode 100644 index 0000000..d7f2057 Binary files /dev/null and b/docs/latex/class_b_m_a_command__inherit__graph.pdf differ diff --git a/docs/latex/class_b_m_a_command_session.tex b/docs/latex/class_b_m_a_command_session.tex new file mode 100644 index 0000000..c569ead --- /dev/null +++ b/docs/latex/class_b_m_a_command_session.tex @@ -0,0 +1,63 @@ +\hypertarget{class_b_m_a_command_session}{}\section{B\+M\+A\+Command\+Session Class Reference} +\label{class_b_m_a_command_session}\index{B\+M\+A\+Command\+Session@{B\+M\+A\+Command\+Session}} + + +{\ttfamily \#include $<$B\+M\+A\+Command\+Session.\+h$>$} + + + +Inheritance diagram for B\+M\+A\+Command\+Session\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=226pt]{class_b_m_a_command_session__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for B\+M\+A\+Command\+Session\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{class_b_m_a_command_session__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_command_session_acf7db9dac100e4a578587fb4b54740cc}\label{class_b_m_a_command_session_acf7db9dac100e4a578587fb4b54740cc}} +{\bfseries B\+M\+A\+Command\+Session} (\hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} \&e\+Poll) +\item +virtual void \hyperlink{class_b_m_a_command_session_a72e11ea685f9bbc32f66d42ab5a1627d}{output} (stringstream \&out) +\end{DoxyCompactItemize} +\subsection*{Protected Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_command_session_a9c71d8f269b2d03cf72d2a0fe3160736}\label{class_b_m_a_command_session_a9c71d8f269b2d03cf72d2a0fe3160736}} +void {\bfseries protocol} (char $\ast$data, int length) override +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +\subsection{Detailed Description} +\hyperlink{class_b_m_a_command_session}{B\+M\+A\+Command\+Session} + +Extends the session parameters for this \hyperlink{class_b_m_a_t_c_p_socket}{B\+M\+A\+T\+C\+P\+Socket} derived object. Extend the protocol() method in order to define the behavior and protocol interaction for this socket. + +\subsection{Member Function Documentation} +\mbox{\Hypertarget{class_b_m_a_command_session_a72e11ea685f9bbc32f66d42ab5a1627d}\label{class_b_m_a_command_session_a72e11ea685f9bbc32f66d42ab5a1627d}} +\index{B\+M\+A\+Command\+Session@{B\+M\+A\+Command\+Session}!output@{output}} +\index{output@{output}!B\+M\+A\+Command\+Session@{B\+M\+A\+Command\+Session}} +\subsubsection{\texorpdfstring{output()}{output()}} +{\footnotesize\ttfamily void B\+M\+A\+Command\+Session\+::output (\begin{DoxyParamCaption}\item[{stringstream \&}]{out }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}} + +The output method is called by a socket session (\hyperlink{class_b_m_a_session}{B\+M\+A\+Session}) and will output the detail information for the client socket. When extending \hyperlink{class_b_m_a_t_c_p_socket}{B\+M\+A\+T\+C\+P\+Socket} or \hyperlink{class_b_m_a_session}{B\+M\+A\+Session} you can override the method to add attributes to the list. + +Reimplemented from \hyperlink{class_b_m_a_session_a048825292ce59739e52204672f726de2}{B\+M\+A\+Session}. + + + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+Command\+Session.\+h\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+Command\+Session.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_command_session__coll__graph.md5 b/docs/latex/class_b_m_a_command_session__coll__graph.md5 new file mode 100644 index 0000000..df08294 --- /dev/null +++ b/docs/latex/class_b_m_a_command_session__coll__graph.md5 @@ -0,0 +1 @@ +1f4ca7cd4cd0310931634b4f7e4d528c \ No newline at end of file diff --git a/docs/latex/class_b_m_a_command_session__coll__graph.pdf b/docs/latex/class_b_m_a_command_session__coll__graph.pdf new file mode 100644 index 0000000..a124e51 Binary files /dev/null and b/docs/latex/class_b_m_a_command_session__coll__graph.pdf differ diff --git a/docs/latex/class_b_m_a_command_session__inherit__graph.md5 b/docs/latex/class_b_m_a_command_session__inherit__graph.md5 new file mode 100644 index 0000000..37001d2 --- /dev/null +++ b/docs/latex/class_b_m_a_command_session__inherit__graph.md5 @@ -0,0 +1 @@ +b7f2746339aa1a3efc84ad5d74ff4808 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_command_session__inherit__graph.pdf b/docs/latex/class_b_m_a_command_session__inherit__graph.pdf new file mode 100644 index 0000000..68c4ef3 Binary files /dev/null and b/docs/latex/class_b_m_a_command_session__inherit__graph.pdf differ diff --git a/docs/latex/class_b_m_a_console.tex b/docs/latex/class_b_m_a_console.tex new file mode 100644 index 0000000..7c018b4 --- /dev/null +++ b/docs/latex/class_b_m_a_console.tex @@ -0,0 +1,36 @@ +\hypertarget{class_b_m_a_console}{}\section{B\+M\+A\+Console Class Reference} +\label{class_b_m_a_console}\index{B\+M\+A\+Console@{B\+M\+A\+Console}} + + +Inheritance diagram for B\+M\+A\+Console\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=270pt]{class_b_m_a_console__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for B\+M\+A\+Console\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{class_b_m_a_console__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_console_a44dd9a411282d243ecded437afb7dd5c}\label{class_b_m_a_console_a44dd9a411282d243ecded437afb7dd5c}} +{\bfseries B\+M\+A\+Console} (\hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} \&e\+Poll, string url, short int port) +\item +\mbox{\Hypertarget{class_b_m_a_console_a545ac60f016ec77b9c16581badf1e535}\label{class_b_m_a_console_a545ac60f016ec77b9c16581badf1e535}} +\hyperlink{class_b_m_a_session}{B\+M\+A\+Session} $\ast$ {\bfseries get\+Socket\+Accept} () +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+Console.\+h\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+Console.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_console__coll__graph.md5 b/docs/latex/class_b_m_a_console__coll__graph.md5 new file mode 100644 index 0000000..9ec023e --- /dev/null +++ b/docs/latex/class_b_m_a_console__coll__graph.md5 @@ -0,0 +1 @@ +b54c10b2f3b20d93969aa18ac07e4585 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_console__coll__graph.pdf b/docs/latex/class_b_m_a_console__coll__graph.pdf new file mode 100644 index 0000000..cfbb54c Binary files /dev/null and b/docs/latex/class_b_m_a_console__coll__graph.pdf differ diff --git a/docs/latex/class_b_m_a_console__inherit__graph.md5 b/docs/latex/class_b_m_a_console__inherit__graph.md5 new file mode 100644 index 0000000..f44f480 --- /dev/null +++ b/docs/latex/class_b_m_a_console__inherit__graph.md5 @@ -0,0 +1 @@ +faafe0eb4164755210216313b3a1c0eb \ No newline at end of file diff --git a/docs/latex/class_b_m_a_console__inherit__graph.pdf b/docs/latex/class_b_m_a_console__inherit__graph.pdf new file mode 100644 index 0000000..f33b5ed Binary files /dev/null and b/docs/latex/class_b_m_a_console__inherit__graph.pdf differ diff --git a/docs/latex/class_b_m_a_console_command.tex b/docs/latex/class_b_m_a_console_command.tex new file mode 100644 index 0000000..94668e3 --- /dev/null +++ b/docs/latex/class_b_m_a_console_command.tex @@ -0,0 +1,72 @@ +\hypertarget{class_b_m_a_console_command}{}\section{B\+M\+A\+Console\+Command Class Reference} +\label{class_b_m_a_console_command}\index{B\+M\+A\+Console\+Command@{B\+M\+A\+Console\+Command}} + + +{\ttfamily \#include $<$B\+M\+A\+Console\+Command.\+h$>$} + + + +Inheritance diagram for B\+M\+A\+Console\+Command\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{class_b_m_a_console_command__inherit__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\hyperlink{class_b_m_a_console_command_a318938fc38946e3f2e5d606e84784754}{B\+M\+A\+Console\+Command} (string \hyperlink{class_b_m_a_console_command_a5c003e975e6d63f83e5131e5b8df758f}{command\+Name}) +\item +\hyperlink{class_b_m_a_console_command_a909dee1bc6659e50d95fa3d43526557a}{$\sim$\+B\+M\+A\+Console\+Command} () +\item +virtual int \hyperlink{class_b_m_a_console_command_a0822dab9f44e4a046ff7bb4ab997170e}{process\+Command} (\hyperlink{class_b_m_a_console_session}{B\+M\+A\+Console\+Session} $\ast$session) +\end{DoxyCompactItemize} +\subsection*{Public Attributes} +\begin{DoxyCompactItemize} +\item +string \hyperlink{class_b_m_a_console_command_a5c003e975e6d63f83e5131e5b8df758f}{command\+Name} +\end{DoxyCompactItemize} + + +\subsection{Constructor \& Destructor Documentation} +\index{B\+M\+A\+Console\+Command@{B\+M\+A\+Console\+Command}!B\+M\+A\+Console\+Command@{B\+M\+A\+Console\+Command}} +\index{B\+M\+A\+Console\+Command@{B\+M\+A\+Console\+Command}!B\+M\+A\+Console\+Command@{B\+M\+A\+Console\+Command}} +\subsubsection[{\texorpdfstring{B\+M\+A\+Console\+Command(string command\+Name)}{BMAConsoleCommand(string commandName)}}]{\setlength{\rightskip}{0pt plus 5cm}B\+M\+A\+Console\+Command\+::\+B\+M\+A\+Console\+Command ( +\begin{DoxyParamCaption} +\item[{string}]{command\+Name} +\end{DoxyParamCaption} +)}\hypertarget{class_b_m_a_console_command_a318938fc38946e3f2e5d606e84784754}{}\label{class_b_m_a_console_command_a318938fc38946e3f2e5d606e84784754} +\index{B\+M\+A\+Console\+Command@{B\+M\+A\+Console\+Command}!````~B\+M\+A\+Console\+Command@{$\sim$\+B\+M\+A\+Console\+Command}} +\index{````~B\+M\+A\+Console\+Command@{$\sim$\+B\+M\+A\+Console\+Command}!B\+M\+A\+Console\+Command@{B\+M\+A\+Console\+Command}} +\subsubsection[{\texorpdfstring{$\sim$\+B\+M\+A\+Console\+Command()}{~BMAConsoleCommand()}}]{\setlength{\rightskip}{0pt plus 5cm}B\+M\+A\+Console\+Command\+::$\sim$\+B\+M\+A\+Console\+Command ( +\begin{DoxyParamCaption} +{} +\end{DoxyParamCaption} +)}\hypertarget{class_b_m_a_console_command_a909dee1bc6659e50d95fa3d43526557a}{}\label{class_b_m_a_console_command_a909dee1bc6659e50d95fa3d43526557a} + + +\subsection{Member Function Documentation} +\index{B\+M\+A\+Console\+Command@{B\+M\+A\+Console\+Command}!process\+Command@{process\+Command}} +\index{process\+Command@{process\+Command}!B\+M\+A\+Console\+Command@{B\+M\+A\+Console\+Command}} +\subsubsection[{\texorpdfstring{process\+Command(\+B\+M\+A\+Console\+Session $\ast$session)}{processCommand(BMAConsoleSession *session)}}]{\setlength{\rightskip}{0pt plus 5cm}int B\+M\+A\+Console\+Command\+::process\+Command ( +\begin{DoxyParamCaption} +\item[{{\bf B\+M\+A\+Console\+Session} $\ast$}]{session} +\end{DoxyParamCaption} +)\hspace{0.3cm}{\ttfamily [virtual]}}\hypertarget{class_b_m_a_console_command_a0822dab9f44e4a046ff7bb4ab997170e}{}\label{class_b_m_a_console_command_a0822dab9f44e4a046ff7bb4ab997170e} + + +Reimplemented in \hyperlink{class_b_m_a_t_c_p_server_socket_a6e4f230757dbc5d1923caf4b10f541ef}{B\+M\+A\+T\+C\+P\+Server\+Socket}, and \hyperlink{class_b_m_a_e_poll_a1e2e072c328725c7329409b3843494d1}{B\+M\+A\+E\+Poll}. + + + +\subsection{Member Data Documentation} +\index{B\+M\+A\+Console\+Command@{B\+M\+A\+Console\+Command}!command\+Name@{command\+Name}} +\index{command\+Name@{command\+Name}!B\+M\+A\+Console\+Command@{B\+M\+A\+Console\+Command}} +\subsubsection[{\texorpdfstring{command\+Name}{commandName}}]{\setlength{\rightskip}{0pt plus 5cm}string B\+M\+A\+Console\+Command\+::command\+Name}\hypertarget{class_b_m_a_console_command_a5c003e975e6d63f83e5131e5b8df758f}{}\label{class_b_m_a_console_command_a5c003e975e6d63f83e5131e5b8df758f} + + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_console_command_8h}{B\+M\+A\+Console\+Command.\+h}\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_console_command_8cpp}{B\+M\+A\+Console\+Command.\+cpp}\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_console_command__inherit__graph.md5 b/docs/latex/class_b_m_a_console_command__inherit__graph.md5 new file mode 100644 index 0000000..1280f2f --- /dev/null +++ b/docs/latex/class_b_m_a_console_command__inherit__graph.md5 @@ -0,0 +1 @@ +80da01983dc0f3ab1d4740a3deaa2033 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_console_command__inherit__graph.pdf b/docs/latex/class_b_m_a_console_command__inherit__graph.pdf new file mode 100644 index 0000000..8bc7958 Binary files /dev/null and b/docs/latex/class_b_m_a_console_command__inherit__graph.pdf differ diff --git a/docs/latex/class_b_m_a_console_server.tex b/docs/latex/class_b_m_a_console_server.tex new file mode 100644 index 0000000..3947a56 --- /dev/null +++ b/docs/latex/class_b_m_a_console_server.tex @@ -0,0 +1,63 @@ +\hypertarget{class_b_m_a_console_server}{}\section{B\+M\+A\+Console\+Server Class Reference} +\label{class_b_m_a_console_server}\index{B\+M\+A\+Console\+Server@{B\+M\+A\+Console\+Server}} + + +Inheritance diagram for B\+M\+A\+Console\+Server\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=270pt]{class_b_m_a_console_server__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for B\+M\+A\+Console\+Server\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{class_b_m_a_console_server__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_console_server_ac9fc1d451b766c81f1c4f1bd805f320c}\label{class_b_m_a_console_server_ac9fc1d451b766c81f1c4f1bd805f320c}} +{\bfseries B\+M\+A\+Console\+Server} (\hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} \&e\+Poll, std\+::string url, short int port) +\item +\mbox{\Hypertarget{class_b_m_a_console_server_a36e9edf3a1695909d289191f8037e124}\label{class_b_m_a_console_server_a36e9edf3a1695909d289191f8037e124}} +void {\bfseries send\+To\+Connected\+Consoles} (std\+::string out) +\item +\hyperlink{class_b_m_a_session}{B\+M\+A\+Session} $\ast$ \hyperlink{class_b_m_a_console_server_a94847bdd07f651825e5fce5237e98335}{get\+Socket\+Accept} () override +\item +\mbox{\Hypertarget{class_b_m_a_console_server_a587d9606f601e2bf1f1ab835b706284d}\label{class_b_m_a_console_server_a587d9606f601e2bf1f1ab835b706284d}} +void {\bfseries register\+Command} (\hyperlink{class_b_m_a_command}{B\+M\+A\+Command} \&command) +\item +\mbox{\Hypertarget{class_b_m_a_console_server_aa148f8b49c4460f06ca92bf05c786239}\label{class_b_m_a_console_server_aa148f8b49c4460f06ca92bf05c786239}} +void \hyperlink{class_b_m_a_console_server_aa148f8b49c4460f06ca92bf05c786239}{output} (\hyperlink{class_b_m_a_session}{B\+M\+A\+Session} $\ast$session) override +\begin{DoxyCompactList}\small\item\em Output the consoles array to the console. \end{DoxyCompactList}\end{DoxyCompactItemize} +\subsection*{Public Attributes} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_console_server_a7a4f30ac15fbe7ffa91cf010dfa4f123}\label{class_b_m_a_console_server_a7a4f30ac15fbe7ffa91cf010dfa4f123}} +std\+::vector$<$ \hyperlink{class_b_m_a_command}{B\+M\+A\+Command} $\ast$ $>$ {\bfseries commands} +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +\subsection{Member Function Documentation} +\mbox{\Hypertarget{class_b_m_a_console_server_a94847bdd07f651825e5fce5237e98335}\label{class_b_m_a_console_server_a94847bdd07f651825e5fce5237e98335}} +\index{B\+M\+A\+Console\+Server@{B\+M\+A\+Console\+Server}!get\+Socket\+Accept@{get\+Socket\+Accept}} +\index{get\+Socket\+Accept@{get\+Socket\+Accept}!B\+M\+A\+Console\+Server@{B\+M\+A\+Console\+Server}} +\subsubsection{\texorpdfstring{get\+Socket\+Accept()}{getSocketAccept()}} +{\footnotesize\ttfamily \hyperlink{class_b_m_a_session}{B\+M\+A\+Session} $\ast$ B\+M\+A\+Console\+Server\+::get\+Socket\+Accept (\begin{DoxyParamCaption}{ }\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{class_b_m_a_session}{B\+M\+A\+Session} provides the mechanism where the server can select the protocol dialog for the desired service. + +Implements \hyperlink{class_b_m_a_t_c_p_server_socket_a5eb805883d7a496be0a1cbc81c09c145}{B\+M\+A\+T\+C\+P\+Server\+Socket}. + + + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/B\+M\+A\+Console\+Server.\+h\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/B\+M\+A\+Console\+Server.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_console_server__coll__graph.md5 b/docs/latex/class_b_m_a_console_server__coll__graph.md5 new file mode 100644 index 0000000..ee9c7d1 --- /dev/null +++ b/docs/latex/class_b_m_a_console_server__coll__graph.md5 @@ -0,0 +1 @@ +eca9f9ccb1a259b186eb399fe37e8581 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_console_server__coll__graph.pdf b/docs/latex/class_b_m_a_console_server__coll__graph.pdf new file mode 100644 index 0000000..3d0b41a Binary files /dev/null and b/docs/latex/class_b_m_a_console_server__coll__graph.pdf differ diff --git a/docs/latex/class_b_m_a_console_server__inherit__graph.md5 b/docs/latex/class_b_m_a_console_server__inherit__graph.md5 new file mode 100644 index 0000000..27dc7ab --- /dev/null +++ b/docs/latex/class_b_m_a_console_server__inherit__graph.md5 @@ -0,0 +1 @@ +b03dc869c8b38c6b56f6d52250e9cd51 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_console_server__inherit__graph.pdf b/docs/latex/class_b_m_a_console_server__inherit__graph.pdf new file mode 100644 index 0000000..9f0ce94 Binary files /dev/null and b/docs/latex/class_b_m_a_console_server__inherit__graph.pdf differ diff --git a/docs/latex/class_b_m_a_console_session.tex b/docs/latex/class_b_m_a_console_session.tex new file mode 100644 index 0000000..a6ee429 --- /dev/null +++ b/docs/latex/class_b_m_a_console_session.tex @@ -0,0 +1,67 @@ +\hypertarget{class_b_m_a_console_session}{}\section{B\+M\+A\+Console\+Session Class Reference} +\label{class_b_m_a_console_session}\index{B\+M\+A\+Console\+Session@{B\+M\+A\+Console\+Session}} + + +{\ttfamily \#include $<$B\+M\+A\+Console\+Session.\+h$>$} + + + +Inheritance diagram for B\+M\+A\+Console\+Session\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=246pt]{class_b_m_a_console_session__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for B\+M\+A\+Console\+Session\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[height=550pt]{class_b_m_a_console_session__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_console_session_a8733cc143a3b2eefc2cf8e057d024d1f}\label{class_b_m_a_console_session_a8733cc143a3b2eefc2cf8e057d024d1f}} +{\bfseries B\+M\+A\+Console\+Session} (\hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} \&e\+Poll, \hyperlink{class_b_m_a_console_server}{B\+M\+A\+Console\+Server} \&server) +\item +virtual void \hyperlink{class_b_m_a_console_session_a38fee4b41375c4c14b4be42fd0a23669}{output} (std\+::stringstream \&out) +\item +\mbox{\Hypertarget{class_b_m_a_console_session_a1c4a01578a2822810163cfacc4022635}\label{class_b_m_a_console_session_a1c4a01578a2822810163cfacc4022635}} +void {\bfseries write\+Log} (std\+::string data) +\end{DoxyCompactItemize} +\subsection*{Protected Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_console_session_ae419bd4f1bb21920e9c4976d1335a526}\label{class_b_m_a_console_session_ae419bd4f1bb21920e9c4976d1335a526}} +void {\bfseries protocol} (std\+::string data) override +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +\subsection{Detailed Description} +\hyperlink{class_b_m_a_console_session}{B\+M\+A\+Console\+Session} + +Extends the session parameters for this \hyperlink{class_b_m_a_t_c_p_socket}{B\+M\+A\+T\+C\+P\+Socket} derived object. Extend the protocol() method in order to define the behavior and protocol interaction for this socket which is a console session. + +\subsection{Member Function Documentation} +\mbox{\Hypertarget{class_b_m_a_console_session_a38fee4b41375c4c14b4be42fd0a23669}\label{class_b_m_a_console_session_a38fee4b41375c4c14b4be42fd0a23669}} +\index{B\+M\+A\+Console\+Session@{B\+M\+A\+Console\+Session}!output@{output}} +\index{output@{output}!B\+M\+A\+Console\+Session@{B\+M\+A\+Console\+Session}} +\subsubsection{\texorpdfstring{output()}{output()}} +{\footnotesize\ttfamily void B\+M\+A\+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 (\hyperlink{class_b_m_a_session}{B\+M\+A\+Session}) and will output the detail information for the client socket. When extending \hyperlink{class_b_m_a_t_c_p_socket}{B\+M\+A\+T\+C\+P\+Socket} or \hyperlink{class_b_m_a_session}{B\+M\+A\+Session} you can override the method to add attributes to the list. + +Reimplemented from \hyperlink{class_b_m_a_t_c_p_socket_a017112b916d42b9e86b39da747c364c1}{B\+M\+A\+T\+C\+P\+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/B\+M\+A\+Console\+Session.\+h\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/B\+M\+A\+Console\+Session.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_console_session__coll__graph.md5 b/docs/latex/class_b_m_a_console_session__coll__graph.md5 new file mode 100644 index 0000000..ebb4b5f --- /dev/null +++ b/docs/latex/class_b_m_a_console_session__coll__graph.md5 @@ -0,0 +1 @@ +4d5798ddd2dc1fbe59c00eb0917cb91e \ No newline at end of file diff --git a/docs/latex/class_b_m_a_console_session__coll__graph.pdf b/docs/latex/class_b_m_a_console_session__coll__graph.pdf new file mode 100644 index 0000000..ff6a0c4 Binary files /dev/null and b/docs/latex/class_b_m_a_console_session__coll__graph.pdf differ diff --git a/docs/latex/class_b_m_a_console_session__inherit__graph.md5 b/docs/latex/class_b_m_a_console_session__inherit__graph.md5 new file mode 100644 index 0000000..21b6eb5 --- /dev/null +++ b/docs/latex/class_b_m_a_console_session__inherit__graph.md5 @@ -0,0 +1 @@ +053c5f8a43200ce849043ddac7577a03 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_console_session__inherit__graph.pdf b/docs/latex/class_b_m_a_console_session__inherit__graph.pdf new file mode 100644 index 0000000..2e76b95 Binary files /dev/null and b/docs/latex/class_b_m_a_console_session__inherit__graph.pdf differ diff --git a/docs/latex/class_b_m_a_e_poll.tex b/docs/latex/class_b_m_a_e_poll.tex new file mode 100644 index 0000000..4cf9745 --- /dev/null +++ b/docs/latex/class_b_m_a_e_poll.tex @@ -0,0 +1,224 @@ +\hypertarget{class_b_m_a_e_poll}{}\section{B\+M\+A\+E\+Poll Class Reference} +\label{class_b_m_a_e_poll}\index{B\+M\+A\+E\+Poll@{B\+M\+A\+E\+Poll}} + + +{\ttfamily \#include $<$B\+M\+A\+E\+Poll.\+h$>$} + + + +Inheritance diagram for B\+M\+A\+E\+Poll\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=163pt]{class_b_m_a_e_poll__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for B\+M\+A\+E\+Poll\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=163pt]{class_b_m_a_e_poll__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\hyperlink{class_b_m_a_e_poll_a08b51ef366ca08d2153678b01da5d71a}{B\+M\+A\+E\+Poll} () +\item +\hyperlink{class_b_m_a_e_poll_aa24f7f723450c7b4912ec29bed623b61}{$\sim$\+B\+M\+A\+E\+Poll} () +\item +bool \hyperlink{class_b_m_a_e_poll_af47f8a2e6b6945ac0cd9b507d085759b}{start} (int number\+Of\+Threads, int \hyperlink{class_b_m_a_e_poll_ad95e44649fb029c8bbdccfa952109fe8}{max\+Sockets}) +\begin{DoxyCompactList}\small\item\em Start the \hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} processing. \end{DoxyCompactList}\item +bool \hyperlink{class_b_m_a_e_poll_a86db128e32aceb4203258900dce9cb9f}{stop} () +\begin{DoxyCompactList}\small\item\em Stop and shut down the \hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} processing. \end{DoxyCompactList}\item +bool \hyperlink{class_b_m_a_e_poll_a0cb441876d88e2d483eca02958836649}{is\+Stopping} () +\begin{DoxyCompactList}\small\item\em Returns a true if the stop command has been requested. \end{DoxyCompactList}\item +bool \hyperlink{class_b_m_a_e_poll_a3eaabc21ed4f292346b708ebe5e70601}{register\+Socket} (\hyperlink{class_b_m_a_socket}{B\+M\+A\+Socket} $\ast$socket) +\begin{DoxyCompactList}\small\item\em Register a \hyperlink{class_b_m_a_socket}{B\+M\+A\+Socket} for monitoring by \hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll}. \end{DoxyCompactList}\item +bool \hyperlink{class_b_m_a_e_poll_a791e51a702810e36f2f4220528ee998d}{unregister\+Socket} (\hyperlink{class_b_m_a_socket}{B\+M\+A\+Socket} $\ast$socket) +\begin{DoxyCompactList}\small\item\em Unregister a \hyperlink{class_b_m_a_socket}{B\+M\+A\+Socket} from monitoring by \hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll}. \end{DoxyCompactList}\item +int \hyperlink{class_b_m_a_e_poll_ad2feb77e1283f3245c516b585bd7ce42}{get\+Descriptor} () +\begin{DoxyCompactList}\small\item\em Return the descriptor for the e\+Poll socket. \end{DoxyCompactList}\item +void \hyperlink{class_b_m_a_e_poll_ac9d1120bcd2ef941711e02e9337c839c}{event\+Received} (struct epoll\+\_\+event event) +\begin{DoxyCompactList}\small\item\em Dispatch event to appropriate socket. \end{DoxyCompactList}\item +void \hyperlink{class_b_m_a_e_poll_a5879546f43f04c888a40542eb9ad931b}{process\+Command} (std\+::string command, \hyperlink{class_b_m_a_session}{B\+M\+A\+Session} $\ast$session) override +\begin{DoxyCompactList}\small\item\em Output the threads array to the console. \end{DoxyCompactList}\end{DoxyCompactItemize} +\subsection*{Public Attributes} +\begin{DoxyCompactItemize} +\item +int \hyperlink{class_b_m_a_e_poll_ad95e44649fb029c8bbdccfa952109fe8}{max\+Sockets} +\begin{DoxyCompactList}\small\item\em The maximum number of socket allowed. \end{DoxyCompactList}\end{DoxyCompactItemize} + + +\subsection{Detailed Description} +\hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} + +Manage socket events from the epoll system call. + +Use this object to establish a socket server using the epoll network structure of Linux. + +Use this object to establish the basis of working with multiple sockets of all sorts using the epoll capabilities of the Linux platform. Socket objects can register with \hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} which will establish a communication mechanism with that socket. + +The maximum number of sockets to communicate with is specified on the start method. + +Threads are used to establish a read queue for epoll. The desired number of threads (or queues) is established by a parameter on the start method. + +\subsection{Constructor \& Destructor Documentation} +\mbox{\Hypertarget{class_b_m_a_e_poll_a08b51ef366ca08d2153678b01da5d71a}\label{class_b_m_a_e_poll_a08b51ef366ca08d2153678b01da5d71a}} +\index{B\+M\+A\+E\+Poll@{B\+M\+A\+E\+Poll}!B\+M\+A\+E\+Poll@{B\+M\+A\+E\+Poll}} +\index{B\+M\+A\+E\+Poll@{B\+M\+A\+E\+Poll}!B\+M\+A\+E\+Poll@{B\+M\+A\+E\+Poll}} +\subsubsection{\texorpdfstring{B\+M\+A\+E\+Poll()}{BMAEPoll()}} +{\footnotesize\ttfamily B\+M\+A\+E\+Poll\+::\+B\+M\+A\+E\+Poll (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +The constructor for the \hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} object. \mbox{\Hypertarget{class_b_m_a_e_poll_aa24f7f723450c7b4912ec29bed623b61}\label{class_b_m_a_e_poll_aa24f7f723450c7b4912ec29bed623b61}} +\index{B\+M\+A\+E\+Poll@{B\+M\+A\+E\+Poll}!````~B\+M\+A\+E\+Poll@{$\sim$\+B\+M\+A\+E\+Poll}} +\index{````~B\+M\+A\+E\+Poll@{$\sim$\+B\+M\+A\+E\+Poll}!B\+M\+A\+E\+Poll@{B\+M\+A\+E\+Poll}} +\subsubsection{\texorpdfstring{$\sim$\+B\+M\+A\+E\+Poll()}{~BMAEPoll()}} +{\footnotesize\ttfamily B\+M\+A\+E\+Poll\+::$\sim$\+B\+M\+A\+E\+Poll (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +The destructor for the \hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} object. + +\subsection{Member Function Documentation} +\mbox{\Hypertarget{class_b_m_a_e_poll_ac9d1120bcd2ef941711e02e9337c839c}\label{class_b_m_a_e_poll_ac9d1120bcd2ef941711e02e9337c839c}} +\index{B\+M\+A\+E\+Poll@{B\+M\+A\+E\+Poll}!event\+Received@{event\+Received}} +\index{event\+Received@{event\+Received}!B\+M\+A\+E\+Poll@{B\+M\+A\+E\+Poll}} +\subsubsection{\texorpdfstring{event\+Received()}{eventReceived()}} +{\footnotesize\ttfamily void B\+M\+A\+E\+Poll\+::event\+Received (\begin{DoxyParamCaption}\item[{struct epoll\+\_\+event}]{event }\end{DoxyParamCaption})} + + + +Dispatch event to appropriate socket. + +Receive the epoll events and dispatch the event to the socket making the request. \mbox{\Hypertarget{class_b_m_a_e_poll_ad2feb77e1283f3245c516b585bd7ce42}\label{class_b_m_a_e_poll_ad2feb77e1283f3245c516b585bd7ce42}} +\index{B\+M\+A\+E\+Poll@{B\+M\+A\+E\+Poll}!get\+Descriptor@{get\+Descriptor}} +\index{get\+Descriptor@{get\+Descriptor}!B\+M\+A\+E\+Poll@{B\+M\+A\+E\+Poll}} +\subsubsection{\texorpdfstring{get\+Descriptor()}{getDescriptor()}} +{\footnotesize\ttfamily int B\+M\+A\+E\+Poll\+::get\+Descriptor (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + + + +Return the descriptor for the e\+Poll socket. + +Use this method to obtain the current descriptor socket number for the epoll function call. \mbox{\Hypertarget{class_b_m_a_e_poll_a0cb441876d88e2d483eca02958836649}\label{class_b_m_a_e_poll_a0cb441876d88e2d483eca02958836649}} +\index{B\+M\+A\+E\+Poll@{B\+M\+A\+E\+Poll}!is\+Stopping@{is\+Stopping}} +\index{is\+Stopping@{is\+Stopping}!B\+M\+A\+E\+Poll@{B\+M\+A\+E\+Poll}} +\subsubsection{\texorpdfstring{is\+Stopping()}{isStopping()}} +{\footnotesize\ttfamily bool B\+M\+A\+E\+Poll\+::is\+Stopping (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + + + +Returns a true if the stop command has been requested. + +This method returns a true if the \hyperlink{class_b_m_a_e_poll_a86db128e32aceb4203258900dce9cb9f}{stop()} method has been called and the epoll system is shutting. \mbox{\Hypertarget{class_b_m_a_e_poll_a5879546f43f04c888a40542eb9ad931b}\label{class_b_m_a_e_poll_a5879546f43f04c888a40542eb9ad931b}} +\index{B\+M\+A\+E\+Poll@{B\+M\+A\+E\+Poll}!process\+Command@{process\+Command}} +\index{process\+Command@{process\+Command}!B\+M\+A\+E\+Poll@{B\+M\+A\+E\+Poll}} +\subsubsection{\texorpdfstring{process\+Command()}{processCommand()}} +{\footnotesize\ttfamily void B\+M\+A\+E\+Poll\+::process\+Command (\begin{DoxyParamCaption}\item[{std\+::string}]{command, }\item[{\hyperlink{class_b_m_a_session}{B\+M\+A\+Session} $\ast$}]{session }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}} + + + +Output the threads array to the console. + +The \hyperlink{class_b_m_a_e_poll_a5879546f43f04c888a40542eb9ad931b}{process\+Command()} method displays the thread array to the requesting console via the session passed as parameter. + + +\begin{DoxyParams}{Parameters} +{\em session} & the session to write the requested data to. \\ +\hline +\end{DoxyParams} + + +Implements \hyperlink{class_b_m_a_command}{B\+M\+A\+Command}. + +\mbox{\Hypertarget{class_b_m_a_e_poll_a3eaabc21ed4f292346b708ebe5e70601}\label{class_b_m_a_e_poll_a3eaabc21ed4f292346b708ebe5e70601}} +\index{B\+M\+A\+E\+Poll@{B\+M\+A\+E\+Poll}!register\+Socket@{register\+Socket}} +\index{register\+Socket@{register\+Socket}!B\+M\+A\+E\+Poll@{B\+M\+A\+E\+Poll}} +\subsubsection{\texorpdfstring{register\+Socket()}{registerSocket()}} +{\footnotesize\ttfamily bool B\+M\+A\+E\+Poll\+::register\+Socket (\begin{DoxyParamCaption}\item[{\hyperlink{class_b_m_a_socket}{B\+M\+A\+Socket} $\ast$}]{socket }\end{DoxyParamCaption})} + + + +Register a \hyperlink{class_b_m_a_socket}{B\+M\+A\+Socket} for monitoring by \hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll}. + +Use register\+Socket to add a new socket to the e\+Poll event watch list. This enables a new \hyperlink{class_b_m_a_socket}{B\+M\+A\+Socket} object to receive events when data is received as well as to write data output to the socket. + + +\begin{DoxyParams}{Parameters} +{\em socket} & a pointer to a \hyperlink{class_b_m_a_socket}{B\+M\+A\+Socket} object. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +a booelean that indicates the socket was registered or not. +\end{DoxyReturn} + +\begin{DoxyParams}{Parameters} +{\em socket} & The \hyperlink{class_b_m_a_socket}{B\+M\+A\+Socket} to register. \\ +\hline +\end{DoxyParams} +\mbox{\Hypertarget{class_b_m_a_e_poll_af47f8a2e6b6945ac0cd9b507d085759b}\label{class_b_m_a_e_poll_af47f8a2e6b6945ac0cd9b507d085759b}} +\index{B\+M\+A\+E\+Poll@{B\+M\+A\+E\+Poll}!start@{start}} +\index{start@{start}!B\+M\+A\+E\+Poll@{B\+M\+A\+E\+Poll}} +\subsubsection{\texorpdfstring{start()}{start()}} +{\footnotesize\ttfamily bool B\+M\+A\+E\+Poll\+::start (\begin{DoxyParamCaption}\item[{int}]{number\+Of\+Threads, }\item[{int}]{max\+Sockets }\end{DoxyParamCaption})} + + + +Start the \hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} processing. + +Use the \hyperlink{class_b_m_a_e_poll_af47f8a2e6b6945ac0cd9b507d085759b}{start()} method to initiate the threads and begin epoll queue processing. + + +\begin{DoxyParams}{Parameters} +{\em number\+Of\+Threads} & the number of threads to start for processing epoll entries. \\ +\hline +{\em max\+Sockets} & the maximum number of open sockets that epoll will manage. \\ +\hline +\end{DoxyParams} +\mbox{\Hypertarget{class_b_m_a_e_poll_a86db128e32aceb4203258900dce9cb9f}\label{class_b_m_a_e_poll_a86db128e32aceb4203258900dce9cb9f}} +\index{B\+M\+A\+E\+Poll@{B\+M\+A\+E\+Poll}!stop@{stop}} +\index{stop@{stop}!B\+M\+A\+E\+Poll@{B\+M\+A\+E\+Poll}} +\subsubsection{\texorpdfstring{stop()}{stop()}} +{\footnotesize\ttfamily bool B\+M\+A\+E\+Poll\+::stop (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + + + +Stop and shut down the \hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} processing. + +Use the \hyperlink{class_b_m_a_e_poll_a86db128e32aceb4203258900dce9cb9f}{stop()} method to initiate the shutdown process for the epoll socket management. + +A complete shutdown of all managed sockets will be initiated by this method call. \mbox{\Hypertarget{class_b_m_a_e_poll_a791e51a702810e36f2f4220528ee998d}\label{class_b_m_a_e_poll_a791e51a702810e36f2f4220528ee998d}} +\index{B\+M\+A\+E\+Poll@{B\+M\+A\+E\+Poll}!unregister\+Socket@{unregister\+Socket}} +\index{unregister\+Socket@{unregister\+Socket}!B\+M\+A\+E\+Poll@{B\+M\+A\+E\+Poll}} +\subsubsection{\texorpdfstring{unregister\+Socket()}{unregisterSocket()}} +{\footnotesize\ttfamily bool B\+M\+A\+E\+Poll\+::unregister\+Socket (\begin{DoxyParamCaption}\item[{\hyperlink{class_b_m_a_socket}{B\+M\+A\+Socket} $\ast$}]{socket }\end{DoxyParamCaption})} + + + +Unregister a \hyperlink{class_b_m_a_socket}{B\+M\+A\+Socket} from monitoring by \hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll}. + +Use this method to remove a socket from receiving events from the epoll system. +\begin{DoxyParams}{Parameters} +{\em socket} & The \hyperlink{class_b_m_a_socket}{B\+M\+A\+Socket} to unregister. \\ +\hline +\end{DoxyParams} + + +\subsection{Member Data Documentation} +\mbox{\Hypertarget{class_b_m_a_e_poll_ad95e44649fb029c8bbdccfa952109fe8}\label{class_b_m_a_e_poll_ad95e44649fb029c8bbdccfa952109fe8}} +\index{B\+M\+A\+E\+Poll@{B\+M\+A\+E\+Poll}!max\+Sockets@{max\+Sockets}} +\index{max\+Sockets@{max\+Sockets}!B\+M\+A\+E\+Poll@{B\+M\+A\+E\+Poll}} +\subsubsection{\texorpdfstring{max\+Sockets}{maxSockets}} +{\footnotesize\ttfamily int B\+M\+A\+E\+Poll\+::max\+Sockets} + + + +The maximum number of socket allowed. + +The maximum number of sockets that can be managed by the epoll system. + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/B\+M\+A\+E\+Poll.\+h\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/B\+M\+A\+E\+Poll.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_e_poll__coll__graph.md5 b/docs/latex/class_b_m_a_e_poll__coll__graph.md5 new file mode 100644 index 0000000..2a292b9 --- /dev/null +++ b/docs/latex/class_b_m_a_e_poll__coll__graph.md5 @@ -0,0 +1 @@ +0b31ce1ea9c56231587db7b5bfdf14c2 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_e_poll__coll__graph.pdf b/docs/latex/class_b_m_a_e_poll__coll__graph.pdf new file mode 100644 index 0000000..a9a880f Binary files /dev/null and b/docs/latex/class_b_m_a_e_poll__coll__graph.pdf differ diff --git a/docs/latex/class_b_m_a_e_poll__inherit__graph.md5 b/docs/latex/class_b_m_a_e_poll__inherit__graph.md5 new file mode 100644 index 0000000..a87af8c --- /dev/null +++ b/docs/latex/class_b_m_a_e_poll__inherit__graph.md5 @@ -0,0 +1 @@ +15be9341353cc74f53f020425c3ed177 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_e_poll__inherit__graph.pdf b/docs/latex/class_b_m_a_e_poll__inherit__graph.pdf new file mode 100644 index 0000000..bc6aadc Binary files /dev/null and b/docs/latex/class_b_m_a_e_poll__inherit__graph.pdf differ diff --git a/docs/latex/class_b_m_a_event.tex b/docs/latex/class_b_m_a_event.tex new file mode 100644 index 0000000..7c3576b --- /dev/null +++ b/docs/latex/class_b_m_a_event.tex @@ -0,0 +1,16 @@ +\hypertarget{class_b_m_a_event}{}\section{B\+M\+A\+Event$<$ Args $>$ Class Template Reference} +\label{class_b_m_a_event}\index{B\+M\+A\+Event$<$ Args $>$@{B\+M\+A\+Event$<$ Args $>$}} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +void {\bfseries add\+Handler} (function$<$ void(Args...)$>$ handler)\hypertarget{class_b_m_a_event_a9f9f1e88b4abdb5288c994e9ef9eb77f}{}\label{class_b_m_a_event_a9f9f1e88b4abdb5288c994e9ef9eb77f} + +\item +void {\bfseries send\+Event} (Args...\+args)\hypertarget{class_b_m_a_event_a5f6bacf817fd41177d8ff763c4fc7c82}{}\label{class_b_m_a_event_a5f6bacf817fd41177d8ff763c4fc7c82} + +\end{DoxyCompactItemize} + + +The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+Event.\+h\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_exception.tex b/docs/latex/class_b_m_a_exception.tex new file mode 100644 index 0000000..e055ca5 --- /dev/null +++ b/docs/latex/class_b_m_a_exception.tex @@ -0,0 +1,32 @@ +\hypertarget{class_b_m_a_exception}{}\section{B\+M\+A\+Exception Class Reference} +\label{class_b_m_a_exception}\index{B\+M\+A\+Exception@{B\+M\+A\+Exception}} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_exception_ab226a8e15083435fda306451c6f3238b}\label{class_b_m_a_exception_ab226a8e15083435fda306451c6f3238b}} +{\bfseries B\+M\+A\+Exception} (std\+::string text, std\+::string file=\+\_\+\+\_\+\+F\+I\+L\+E\+\_\+\+\_\+, int line=\+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+, int error\+Number=-\/1) +\end{DoxyCompactItemize} +\subsection*{Public Attributes} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_exception_ab5c0661f1606f763a5ca7f9ccfdbb12b}\label{class_b_m_a_exception_ab5c0661f1606f763a5ca7f9ccfdbb12b}} +std\+::string {\bfseries class\+Name} +\item +\mbox{\Hypertarget{class_b_m_a_exception_a2281992d84fabeb546160a1d1a7073b0}\label{class_b_m_a_exception_a2281992d84fabeb546160a1d1a7073b0}} +std\+::string {\bfseries file} +\item +\mbox{\Hypertarget{class_b_m_a_exception_abc1b23716d2c2a5d699e73428ec7d3bf}\label{class_b_m_a_exception_abc1b23716d2c2a5d699e73428ec7d3bf}} +int {\bfseries line} +\item +\mbox{\Hypertarget{class_b_m_a_exception_a27b531076dc291cd4dc5f706e6d85cdd}\label{class_b_m_a_exception_a27b531076dc291cd4dc5f706e6d85cdd}} +std\+::string {\bfseries text} +\item +\mbox{\Hypertarget{class_b_m_a_exception_a1f76f265cbc3be0f8eeca87585b82200}\label{class_b_m_a_exception_a1f76f265cbc3be0f8eeca87585b82200}} +int {\bfseries error\+Number} +\end{DoxyCompactItemize} + + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/B\+M\+A\+Exception.\+h\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/B\+M\+A\+Exception.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_file.tex b/docs/latex/class_b_m_a_file.tex new file mode 100644 index 0000000..770dc87 --- /dev/null +++ b/docs/latex/class_b_m_a_file.tex @@ -0,0 +1,44 @@ +\hypertarget{class_b_m_a_file}{}\section{B\+M\+A\+File Class Reference} +\label{class_b_m_a_file}\index{B\+M\+A\+File@{B\+M\+A\+File}} + + +{\ttfamily \#include $<$B\+M\+A\+File.\+h$>$} + +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_file_a0fc501b25aa5802620e0a00872fd5a09}\label{class_b_m_a_file_a0fc501b25aa5802620e0a00872fd5a09}} +{\bfseries B\+M\+A\+File} (std\+::string file\+Name, int mode=O\+\_\+\+R\+D\+O\+N\+LY, int authority=0664) +\item +\mbox{\Hypertarget{class_b_m_a_file_a638a2fdf9e90aecc90d20028203f9094}\label{class_b_m_a_file_a638a2fdf9e90aecc90d20028203f9094}} +void {\bfseries set\+Buffer\+Size} (size\+\_\+t size) +\item +\mbox{\Hypertarget{class_b_m_a_file_a0f5fe9196f887e465997b87f3ad45efc}\label{class_b_m_a_file_a0f5fe9196f887e465997b87f3ad45efc}} +void {\bfseries read} () +\item +\mbox{\Hypertarget{class_b_m_a_file_a10e21613788e7923bcbf2e1e87f44f43}\label{class_b_m_a_file_a10e21613788e7923bcbf2e1e87f44f43}} +void {\bfseries write} (std\+::string data) +\end{DoxyCompactItemize} +\subsection*{Public Attributes} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_file_ab15e09e076166c5bb514a2cadd6b9dbf}\label{class_b_m_a_file_ab15e09e076166c5bb514a2cadd6b9dbf}} +char $\ast$ {\bfseries buffer} +\item +\mbox{\Hypertarget{class_b_m_a_file_ae57b53f5e14e9bd0a5082946e53c292e}\label{class_b_m_a_file_ae57b53f5e14e9bd0a5082946e53c292e}} +size\+\_\+t {\bfseries size} +\item +\mbox{\Hypertarget{class_b_m_a_file_a299797bb6ec9b24038f1c910323e118a}\label{class_b_m_a_file_a299797bb6ec9b24038f1c910323e118a}} +std\+::string {\bfseries file\+Name} +\end{DoxyCompactItemize} + + +\subsection{Detailed Description} +\hyperlink{class_b_m_a_file}{B\+M\+A\+File} + +File abstraction class for accessing local file system files. + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/B\+M\+A\+File.\+h\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/B\+M\+A\+File.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_file__inherit__graph.md5 b/docs/latex/class_b_m_a_file__inherit__graph.md5 new file mode 100644 index 0000000..92062bc --- /dev/null +++ b/docs/latex/class_b_m_a_file__inherit__graph.md5 @@ -0,0 +1 @@ +c97cb8f8b7356d373bb560abfc3b9181 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_file__inherit__graph.pdf b/docs/latex/class_b_m_a_file__inherit__graph.pdf new file mode 100644 index 0000000..3bf7109 Binary files /dev/null and b/docs/latex/class_b_m_a_file__inherit__graph.pdf differ diff --git a/docs/latex/class_b_m_a_game_server.tex b/docs/latex/class_b_m_a_game_server.tex new file mode 100644 index 0000000..becb4b8 --- /dev/null +++ b/docs/latex/class_b_m_a_game_server.tex @@ -0,0 +1,53 @@ +\hypertarget{class_b_m_a_game_server}{}\section{B\+M\+A\+Game\+Server Class Reference} +\label{class_b_m_a_game_server}\index{B\+M\+A\+Game\+Server@{B\+M\+A\+Game\+Server}} + + +Inheritance diagram for B\+M\+A\+Game\+Server\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=270pt]{class_b_m_a_game_server__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for B\+M\+A\+Game\+Server\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{class_b_m_a_game_server__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_game_server_ad23ec2af7c52d2ec9f98bd38fb1de994}\label{class_b_m_a_game_server_ad23ec2af7c52d2ec9f98bd38fb1de994}} +{\bfseries B\+M\+A\+Game\+Server} (\hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} \&e\+Poll, std\+::string url, short int port, std\+::string command\+Name) +\end{DoxyCompactItemize} +\subsection*{Protected Member Functions} +\begin{DoxyCompactItemize} +\item +\hyperlink{class_b_m_a_session}{B\+M\+A\+Session} $\ast$ \hyperlink{class_b_m_a_game_server_ab37edbab3f5ca4a5fc2b94965dc64318}{get\+Socket\+Accept} () override +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +\subsection{Member Function Documentation} +\mbox{\Hypertarget{class_b_m_a_game_server_ab37edbab3f5ca4a5fc2b94965dc64318}\label{class_b_m_a_game_server_ab37edbab3f5ca4a5fc2b94965dc64318}} +\index{B\+M\+A\+Game\+Server@{B\+M\+A\+Game\+Server}!get\+Socket\+Accept@{get\+Socket\+Accept}} +\index{get\+Socket\+Accept@{get\+Socket\+Accept}!B\+M\+A\+Game\+Server@{B\+M\+A\+Game\+Server}} +\subsubsection{\texorpdfstring{get\+Socket\+Accept()}{getSocketAccept()}} +{\footnotesize\ttfamily \hyperlink{class_b_m_a_session}{B\+M\+A\+Session} $\ast$ B\+M\+A\+Game\+Server\+::get\+Socket\+Accept (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [protected]}, {\ttfamily [virtual]}} + +get\+Socket\+Accept is designed to allow a polymorphic extension of this object to return a type of object that extends the definition of the server socket. Returning the appropriate session object that extends from \hyperlink{class_b_m_a_session}{B\+M\+A\+Session} provides the mechanism where the server can select the protocol dialog for the desired service. + +Implements \hyperlink{class_b_m_a_t_c_p_server_socket_a5eb805883d7a496be0a1cbc81c09c145}{B\+M\+A\+T\+C\+P\+Server\+Socket}. + + + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+Game\+Server.\+h\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+Game\+Server.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_game_server__coll__graph.md5 b/docs/latex/class_b_m_a_game_server__coll__graph.md5 new file mode 100644 index 0000000..bfba9bb --- /dev/null +++ b/docs/latex/class_b_m_a_game_server__coll__graph.md5 @@ -0,0 +1 @@ +849cda6ebb801a093cdb123d43ef7ad3 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_game_server__coll__graph.pdf b/docs/latex/class_b_m_a_game_server__coll__graph.pdf new file mode 100644 index 0000000..fb799fd Binary files /dev/null and b/docs/latex/class_b_m_a_game_server__coll__graph.pdf differ diff --git a/docs/latex/class_b_m_a_game_server__inherit__graph.md5 b/docs/latex/class_b_m_a_game_server__inherit__graph.md5 new file mode 100644 index 0000000..d5862a3 --- /dev/null +++ b/docs/latex/class_b_m_a_game_server__inherit__graph.md5 @@ -0,0 +1 @@ +891b231d78a72ddac83444af4528c2d5 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_game_server__inherit__graph.pdf b/docs/latex/class_b_m_a_game_server__inherit__graph.pdf new file mode 100644 index 0000000..5d4462d Binary files /dev/null and b/docs/latex/class_b_m_a_game_server__inherit__graph.pdf differ diff --git a/docs/latex/class_b_m_a_game_session.tex b/docs/latex/class_b_m_a_game_session.tex new file mode 100644 index 0000000..5cdd3ef --- /dev/null +++ b/docs/latex/class_b_m_a_game_session.tex @@ -0,0 +1,59 @@ +\hypertarget{class_b_m_a_game_session}{}\section{B\+M\+A\+Game\+Session Class Reference} +\label{class_b_m_a_game_session}\index{B\+M\+A\+Game\+Session@{B\+M\+A\+Game\+Session}} + + +Inheritance diagram for B\+M\+A\+Game\+Session\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=246pt]{class_b_m_a_game_session__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for B\+M\+A\+Game\+Session\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{class_b_m_a_game_session__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_game_session_a8199021fc4700d406b642aef72b7ca4c}\label{class_b_m_a_game_session_a8199021fc4700d406b642aef72b7ca4c}} +{\bfseries B\+M\+A\+Game\+Session} (\hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} \&e\+Poll, \hyperlink{class_b_m_a_game_server}{B\+M\+A\+Game\+Server} \&server) +\end{DoxyCompactItemize} +\subsection*{Public Attributes} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_game_session_a5caf84ee685ff89e8c6390caa65ff1f9}\label{class_b_m_a_game_session_a5caf84ee685ff89e8c6390caa65ff1f9}} +std\+::string {\bfseries player\+Name} +\item +\mbox{\Hypertarget{class_b_m_a_game_session_aaf60143e1a986a6be6d0068cd6232299}\label{class_b_m_a_game_session_aaf60143e1a986a6be6d0068cd6232299}} +bool {\bfseries is\+Authenticated} = false +\item +\mbox{\Hypertarget{class_b_m_a_game_session_aa6683b28ecd58c1e94aa7727fd963735}\label{class_b_m_a_game_session_aa6683b28ecd58c1e94aa7727fd963735}} +int {\bfseries zone\+Id} = 1 +\item +\mbox{\Hypertarget{class_b_m_a_game_session_a569d4fb3ceeeaba02cc23adcb0273309}\label{class_b_m_a_game_session_a569d4fb3ceeeaba02cc23adcb0273309}} +std\+::string {\bfseries pos} +\end{DoxyCompactItemize} +\subsection*{Protected Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_game_session_afacd9ae5b0917608ebbf356edeea2f86}\label{class_b_m_a_game_session_afacd9ae5b0917608ebbf356edeea2f86}} +void {\bfseries protocol} (std\+::string data) override +\item +\mbox{\Hypertarget{class_b_m_a_game_session_a718503144c0ce1e259b1ac67321edc47}\label{class_b_m_a_game_session_a718503144c0ce1e259b1ac67321edc47}} +void {\bfseries output} (\hyperlink{class_b_m_a_session}{B\+M\+A\+Session} $\ast$session) +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+Game\+Session.\+h\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+Game\+Session.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_game_session__coll__graph.md5 b/docs/latex/class_b_m_a_game_session__coll__graph.md5 new file mode 100644 index 0000000..e068852 --- /dev/null +++ b/docs/latex/class_b_m_a_game_session__coll__graph.md5 @@ -0,0 +1 @@ +c278c07ccc60c4cdb7ad602b034efe77 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_game_session__coll__graph.pdf b/docs/latex/class_b_m_a_game_session__coll__graph.pdf new file mode 100644 index 0000000..4fd47fb Binary files /dev/null and b/docs/latex/class_b_m_a_game_session__coll__graph.pdf differ diff --git a/docs/latex/class_b_m_a_game_session__inherit__graph.md5 b/docs/latex/class_b_m_a_game_session__inherit__graph.md5 new file mode 100644 index 0000000..d7c9d41 --- /dev/null +++ b/docs/latex/class_b_m_a_game_session__inherit__graph.md5 @@ -0,0 +1 @@ +c0b95ce693a55d88c4d33f15b1e565fe \ No newline at end of file diff --git a/docs/latex/class_b_m_a_game_session__inherit__graph.pdf b/docs/latex/class_b_m_a_game_session__inherit__graph.pdf new file mode 100644 index 0000000..c679018 Binary files /dev/null and b/docs/latex/class_b_m_a_game_session__inherit__graph.pdf differ diff --git a/docs/latex/class_b_m_a_h_t_t_p_request_handler.tex b/docs/latex/class_b_m_a_h_t_t_p_request_handler.tex new file mode 100644 index 0000000..7c91e41 --- /dev/null +++ b/docs/latex/class_b_m_a_h_t_t_p_request_handler.tex @@ -0,0 +1,36 @@ +\hypertarget{class_b_m_a_h_t_t_p_request_handler}{}\section{B\+M\+A\+H\+T\+T\+P\+Request\+Handler Class Reference} +\label{class_b_m_a_h_t_t_p_request_handler}\index{B\+M\+A\+H\+T\+T\+P\+Request\+Handler@{B\+M\+A\+H\+T\+T\+P\+Request\+Handler}} + + +Inheritance diagram for B\+M\+A\+H\+T\+T\+P\+Request\+Handler\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=215pt]{class_b_m_a_h_t_t_p_request_handler__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for B\+M\+A\+H\+T\+T\+P\+Request\+Handler\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=215pt]{class_b_m_a_h_t_t_p_request_handler__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_h_t_t_p_request_handler_a66aab795b5ad8dbad0c93037a6154b8b}\label{class_b_m_a_h_t_t_p_request_handler_a66aab795b5ad8dbad0c93037a6154b8b}} +{\bfseries B\+M\+A\+H\+T\+T\+P\+Request\+Handler} (\hyperlink{class_b_m_a_h_t_t_p_server}{B\+M\+A\+H\+T\+T\+P\+Server} \&server, std\+::string path) +\item +\mbox{\Hypertarget{class_b_m_a_h_t_t_p_request_handler_a11a7dd0c9ac073b3df06bf289af930ec}\label{class_b_m_a_h_t_t_p_request_handler_a11a7dd0c9ac073b3df06bf289af930ec}} +virtual int {\bfseries response} (std\+::stringstream \&sink) +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+H\+T\+T\+P\+Request\+Handler.\+h\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+H\+T\+T\+P\+Request\+Handler.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_h_t_t_p_request_handler__coll__graph.md5 b/docs/latex/class_b_m_a_h_t_t_p_request_handler__coll__graph.md5 new file mode 100644 index 0000000..0bbca63 --- /dev/null +++ b/docs/latex/class_b_m_a_h_t_t_p_request_handler__coll__graph.md5 @@ -0,0 +1 @@ +553e104d1dc8dcc8fbe13f4c32ea356a \ No newline at end of file diff --git a/docs/latex/class_b_m_a_h_t_t_p_request_handler__coll__graph.pdf b/docs/latex/class_b_m_a_h_t_t_p_request_handler__coll__graph.pdf new file mode 100644 index 0000000..36a6f8c Binary files /dev/null and b/docs/latex/class_b_m_a_h_t_t_p_request_handler__coll__graph.pdf differ diff --git a/docs/latex/class_b_m_a_h_t_t_p_request_handler__inherit__graph.md5 b/docs/latex/class_b_m_a_h_t_t_p_request_handler__inherit__graph.md5 new file mode 100644 index 0000000..712d8a8 --- /dev/null +++ b/docs/latex/class_b_m_a_h_t_t_p_request_handler__inherit__graph.md5 @@ -0,0 +1 @@ +3a81e83af581ba702936f1dc78262e50 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_h_t_t_p_request_handler__inherit__graph.pdf b/docs/latex/class_b_m_a_h_t_t_p_request_handler__inherit__graph.pdf new file mode 100644 index 0000000..36a6f8c Binary files /dev/null and b/docs/latex/class_b_m_a_h_t_t_p_request_handler__inherit__graph.pdf differ diff --git a/docs/latex/class_b_m_a_h_t_t_p_server.tex b/docs/latex/class_b_m_a_h_t_t_p_server.tex new file mode 100644 index 0000000..5650f00 --- /dev/null +++ b/docs/latex/class_b_m_a_h_t_t_p_server.tex @@ -0,0 +1,66 @@ +\hypertarget{class_b_m_a_h_t_t_p_server}{}\section{B\+M\+A\+H\+T\+T\+P\+Server Class Reference} +\label{class_b_m_a_h_t_t_p_server}\index{B\+M\+A\+H\+T\+T\+P\+Server@{B\+M\+A\+H\+T\+T\+P\+Server}} + + +Inheritance diagram for B\+M\+A\+H\+T\+T\+P\+Server\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=270pt]{class_b_m_a_h_t_t_p_server__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for B\+M\+A\+H\+T\+T\+P\+Server\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{class_b_m_a_h_t_t_p_server__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_h_t_t_p_server_a3c87f61bd95e6b6b7063767107be888f}\label{class_b_m_a_h_t_t_p_server_a3c87f61bd95e6b6b7063767107be888f}} +{\bfseries B\+M\+A\+H\+T\+T\+P\+Server} (\hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} \&e\+Poll, std\+::string url, short int port, std\+::string command\+Name) +\item +\mbox{\Hypertarget{class_b_m_a_h_t_t_p_server_af96543117f0ac993e6739671b0fd2cce}\label{class_b_m_a_h_t_t_p_server_af96543117f0ac993e6739671b0fd2cce}} +void {\bfseries register\+Handler} (std\+::string path, \hyperlink{class_b_m_a_h_t_t_p_request_handler}{B\+M\+A\+H\+T\+T\+P\+Request\+Handler} \&request\+Handler) +\item +\mbox{\Hypertarget{class_b_m_a_h_t_t_p_server_a52503f63c721e256c215f365c248c684}\label{class_b_m_a_h_t_t_p_server_a52503f63c721e256c215f365c248c684}} +void {\bfseries unregister\+Handler} (\hyperlink{class_b_m_a_h_t_t_p_request_handler}{B\+M\+A\+H\+T\+T\+P\+Request\+Handler} \&request\+Handler) +\item +\mbox{\Hypertarget{class_b_m_a_h_t_t_p_server_a97d50eaf2bbfdc82df19a13233e986b8}\label{class_b_m_a_h_t_t_p_server_a97d50eaf2bbfdc82df19a13233e986b8}} +\hyperlink{class_b_m_a_h_t_t_p_request_handler}{B\+M\+A\+H\+T\+T\+P\+Request\+Handler} $\ast$ {\bfseries get\+Request\+Handler} (std\+::string path) +\end{DoxyCompactItemize} +\subsection*{Public Attributes} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_h_t_t_p_server_a9769e9ff4c6dc4b662f1332daa0801d0}\label{class_b_m_a_h_t_t_p_server_a9769e9ff4c6dc4b662f1332daa0801d0}} +std\+::map$<$ std\+::string, \hyperlink{class_b_m_a_h_t_t_p_request_handler}{B\+M\+A\+H\+T\+T\+P\+Request\+Handler} $\ast$ $>$ {\bfseries request\+Handlers} +\end{DoxyCompactItemize} +\subsection*{Protected Member Functions} +\begin{DoxyCompactItemize} +\item +\hyperlink{class_b_m_a_session}{B\+M\+A\+Session} $\ast$ \hyperlink{class_b_m_a_h_t_t_p_server_a0131e030bf8ee9850059e33f4d160a88}{get\+Socket\+Accept} () override +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +\subsection{Member Function Documentation} +\mbox{\Hypertarget{class_b_m_a_h_t_t_p_server_a0131e030bf8ee9850059e33f4d160a88}\label{class_b_m_a_h_t_t_p_server_a0131e030bf8ee9850059e33f4d160a88}} +\index{B\+M\+A\+H\+T\+T\+P\+Server@{B\+M\+A\+H\+T\+T\+P\+Server}!get\+Socket\+Accept@{get\+Socket\+Accept}} +\index{get\+Socket\+Accept@{get\+Socket\+Accept}!B\+M\+A\+H\+T\+T\+P\+Server@{B\+M\+A\+H\+T\+T\+P\+Server}} +\subsubsection{\texorpdfstring{get\+Socket\+Accept()}{getSocketAccept()}} +{\footnotesize\ttfamily \hyperlink{class_b_m_a_session}{B\+M\+A\+Session} $\ast$ B\+M\+A\+H\+T\+T\+P\+Server\+::get\+Socket\+Accept (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [protected]}, {\ttfamily [virtual]}} + +get\+Socket\+Accept is designed to allow a polymorphic extension of this object to return a type of object that extends the definition of the server socket. Returning the appropriate session object that extends from \hyperlink{class_b_m_a_session}{B\+M\+A\+Session} provides the mechanism where the server can select the protocol dialog for the desired service. + +Implements \hyperlink{class_b_m_a_t_c_p_server_socket_a5eb805883d7a496be0a1cbc81c09c145}{B\+M\+A\+T\+C\+P\+Server\+Socket}. + + + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+H\+T\+T\+P\+Server.\+h\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+H\+T\+T\+P\+Server.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_h_t_t_p_server__coll__graph.md5 b/docs/latex/class_b_m_a_h_t_t_p_server__coll__graph.md5 new file mode 100644 index 0000000..8fad1c1 --- /dev/null +++ b/docs/latex/class_b_m_a_h_t_t_p_server__coll__graph.md5 @@ -0,0 +1 @@ +601ce622d332c65be950039d7bc2e242 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_h_t_t_p_server__coll__graph.pdf b/docs/latex/class_b_m_a_h_t_t_p_server__coll__graph.pdf new file mode 100644 index 0000000..b2aa425 Binary files /dev/null and b/docs/latex/class_b_m_a_h_t_t_p_server__coll__graph.pdf differ diff --git a/docs/latex/class_b_m_a_h_t_t_p_server__inherit__graph.md5 b/docs/latex/class_b_m_a_h_t_t_p_server__inherit__graph.md5 new file mode 100644 index 0000000..d523fe0 --- /dev/null +++ b/docs/latex/class_b_m_a_h_t_t_p_server__inherit__graph.md5 @@ -0,0 +1 @@ +fe4259b0bbcbc1e1feaed42032db3d6b \ No newline at end of file diff --git a/docs/latex/class_b_m_a_h_t_t_p_server__inherit__graph.pdf b/docs/latex/class_b_m_a_h_t_t_p_server__inherit__graph.pdf new file mode 100644 index 0000000..166eaa3 Binary files /dev/null and b/docs/latex/class_b_m_a_h_t_t_p_server__inherit__graph.pdf differ diff --git a/docs/latex/class_b_m_a_h_t_t_p_session.tex b/docs/latex/class_b_m_a_h_t_t_p_session.tex new file mode 100644 index 0000000..7dcd25d --- /dev/null +++ b/docs/latex/class_b_m_a_h_t_t_p_session.tex @@ -0,0 +1,39 @@ +\hypertarget{class_b_m_a_h_t_t_p_session}{}\section{B\+M\+A\+H\+T\+T\+P\+Session Class Reference} +\label{class_b_m_a_h_t_t_p_session}\index{B\+M\+A\+H\+T\+T\+P\+Session@{B\+M\+A\+H\+T\+T\+P\+Session}} + + +Inheritance diagram for B\+M\+A\+H\+T\+T\+P\+Session\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=246pt]{class_b_m_a_h_t_t_p_session__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for B\+M\+A\+H\+T\+T\+P\+Session\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{class_b_m_a_h_t_t_p_session__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_h_t_t_p_session_ae8fc4ff1379c124378f0aa3306733582}\label{class_b_m_a_h_t_t_p_session_ae8fc4ff1379c124378f0aa3306733582}} +{\bfseries B\+M\+A\+H\+T\+T\+P\+Session} (\hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} \&e\+Poll, \hyperlink{class_b_m_a_h_t_t_p_server}{B\+M\+A\+H\+T\+T\+P\+Server} \&server) +\end{DoxyCompactItemize} +\subsection*{Protected Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_h_t_t_p_session_a33baa8ecc1a702d2427f4ae753c11bf8}\label{class_b_m_a_h_t_t_p_session_a33baa8ecc1a702d2427f4ae753c11bf8}} +void {\bfseries protocol} (std\+::string data) override +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+H\+T\+T\+P\+Session.\+h\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+H\+T\+T\+P\+Session.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_h_t_t_p_session__coll__graph.md5 b/docs/latex/class_b_m_a_h_t_t_p_session__coll__graph.md5 new file mode 100644 index 0000000..5390d9a --- /dev/null +++ b/docs/latex/class_b_m_a_h_t_t_p_session__coll__graph.md5 @@ -0,0 +1 @@ +15d95e238e26ac543917344540d25882 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_h_t_t_p_session__coll__graph.pdf b/docs/latex/class_b_m_a_h_t_t_p_session__coll__graph.pdf new file mode 100644 index 0000000..f82c288 Binary files /dev/null and b/docs/latex/class_b_m_a_h_t_t_p_session__coll__graph.pdf differ diff --git a/docs/latex/class_b_m_a_h_t_t_p_session__inherit__graph.md5 b/docs/latex/class_b_m_a_h_t_t_p_session__inherit__graph.md5 new file mode 100644 index 0000000..ba5a56d --- /dev/null +++ b/docs/latex/class_b_m_a_h_t_t_p_session__inherit__graph.md5 @@ -0,0 +1 @@ +4b4e9204f0d085c768aeadd686137f22 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_h_t_t_p_session__inherit__graph.pdf b/docs/latex/class_b_m_a_h_t_t_p_session__inherit__graph.pdf new file mode 100644 index 0000000..cdf92c3 Binary files /dev/null and b/docs/latex/class_b_m_a_h_t_t_p_session__inherit__graph.pdf differ diff --git a/docs/latex/class_b_m_a_header.tex b/docs/latex/class_b_m_a_header.tex new file mode 100644 index 0000000..d516886 --- /dev/null +++ b/docs/latex/class_b_m_a_header.tex @@ -0,0 +1,47 @@ +\hypertarget{class_b_m_a_header}{}\section{B\+M\+A\+Header Class Reference} +\label{class_b_m_a_header}\index{B\+M\+A\+Header@{B\+M\+A\+Header}} + + +Inheritance diagram for B\+M\+A\+Header\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=150pt]{class_b_m_a_header__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for B\+M\+A\+Header\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=150pt]{class_b_m_a_header__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_header_af1855cf4b98690190e94bef81ca2c1a9}\label{class_b_m_a_header_af1855cf4b98690190e94bef81ca2c1a9}} +{\bfseries B\+M\+A\+Header} (std\+::string data) +\item +\mbox{\Hypertarget{class_b_m_a_header_aa09b5818984a2cace6c888c110118781}\label{class_b_m_a_header_aa09b5818984a2cace6c888c110118781}} +std\+::string {\bfseries request\+Method} () +\item +\mbox{\Hypertarget{class_b_m_a_header_a8b951ed52cb706fb09e09da9026bf725}\label{class_b_m_a_header_a8b951ed52cb706fb09e09da9026bf725}} +std\+::string {\bfseries request\+U\+RL} () +\item +\mbox{\Hypertarget{class_b_m_a_header_ac0be2d5612c3bf891fd86a43f2cd6143}\label{class_b_m_a_header_ac0be2d5612c3bf891fd86a43f2cd6143}} +std\+::string {\bfseries request\+Protocol} () +\end{DoxyCompactItemize} +\subsection*{Public Attributes} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_header_a34056833977a78115dc8eec4a0821419}\label{class_b_m_a_header_a34056833977a78115dc8eec4a0821419}} +std\+::string {\bfseries data} +\end{DoxyCompactItemize} + + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/B\+M\+A\+Header.\+h\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/B\+M\+A\+Header.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_header__coll__graph.md5 b/docs/latex/class_b_m_a_header__coll__graph.md5 new file mode 100644 index 0000000..e0a9691 --- /dev/null +++ b/docs/latex/class_b_m_a_header__coll__graph.md5 @@ -0,0 +1 @@ +7f4fa37c06b8d038e8d65208eadb9b90 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_header__coll__graph.pdf b/docs/latex/class_b_m_a_header__coll__graph.pdf new file mode 100644 index 0000000..6f78b6d Binary files /dev/null and b/docs/latex/class_b_m_a_header__coll__graph.pdf differ diff --git a/docs/latex/class_b_m_a_header__inherit__graph.md5 b/docs/latex/class_b_m_a_header__inherit__graph.md5 new file mode 100644 index 0000000..47d162c --- /dev/null +++ b/docs/latex/class_b_m_a_header__inherit__graph.md5 @@ -0,0 +1 @@ +09968e6de7b2dd06f81d52bc64932eda \ No newline at end of file diff --git a/docs/latex/class_b_m_a_header__inherit__graph.pdf b/docs/latex/class_b_m_a_header__inherit__graph.pdf new file mode 100644 index 0000000..6f78b6d Binary files /dev/null and b/docs/latex/class_b_m_a_header__inherit__graph.pdf differ diff --git a/docs/latex/class_b_m_a_i_m_a_p_server.tex b/docs/latex/class_b_m_a_i_m_a_p_server.tex new file mode 100644 index 0000000..de5c471 --- /dev/null +++ b/docs/latex/class_b_m_a_i_m_a_p_server.tex @@ -0,0 +1,59 @@ +\hypertarget{class_b_m_a_i_m_a_p_server}{}\section{B\+M\+A\+I\+M\+A\+P\+Server Class Reference} +\label{class_b_m_a_i_m_a_p_server}\index{B\+M\+A\+I\+M\+A\+P\+Server@{B\+M\+A\+I\+M\+A\+P\+Server}} + + +Inheritance diagram for B\+M\+A\+I\+M\+A\+P\+Server\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=270pt]{class_b_m_a_i_m_a_p_server__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for B\+M\+A\+I\+M\+A\+P\+Server\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{class_b_m_a_i_m_a_p_server__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_i_m_a_p_server_a2af2d2032996ce5119da1b6fa0ee9661}\label{class_b_m_a_i_m_a_p_server_a2af2d2032996ce5119da1b6fa0ee9661}} +{\bfseries B\+M\+A\+I\+M\+A\+P\+Server} (\hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} \&e\+Poll, std\+::string url, short int port) +\item +\hyperlink{class_b_m_a_session}{B\+M\+A\+Session} $\ast$ \hyperlink{class_b_m_a_i_m_a_p_server_a3966a758f9e4db62702a6d2902b8306c}{get\+Socket\+Accept} () +\item +\mbox{\Hypertarget{class_b_m_a_i_m_a_p_server_a8fd3e5c62df6fe451236233e2866120b}\label{class_b_m_a_i_m_a_p_server_a8fd3e5c62df6fe451236233e2866120b}} +void {\bfseries register\+Command} (\hyperlink{class_b_m_a_command}{B\+M\+A\+Command} \&command) +\item +\mbox{\Hypertarget{class_b_m_a_i_m_a_p_server_affbe626249cf7567e296e0e18babe33c}\label{class_b_m_a_i_m_a_p_server_affbe626249cf7567e296e0e18babe33c}} +int \hyperlink{class_b_m_a_i_m_a_p_server_affbe626249cf7567e296e0e18babe33c}{process\+Command} (\hyperlink{class_b_m_a_session}{B\+M\+A\+Session} $\ast$session) override +\begin{DoxyCompactList}\small\item\em Output the consoles array to the console. \end{DoxyCompactList}\end{DoxyCompactItemize} +\subsection*{Public Attributes} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_i_m_a_p_server_a4ed9b41a20e24542530ebeca850b1500}\label{class_b_m_a_i_m_a_p_server_a4ed9b41a20e24542530ebeca850b1500}} +std\+::vector$<$ \hyperlink{class_b_m_a_command}{B\+M\+A\+Command} $\ast$ $>$ {\bfseries commands} +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +\subsection{Member Function Documentation} +\mbox{\Hypertarget{class_b_m_a_i_m_a_p_server_a3966a758f9e4db62702a6d2902b8306c}\label{class_b_m_a_i_m_a_p_server_a3966a758f9e4db62702a6d2902b8306c}} +\index{B\+M\+A\+I\+M\+A\+P\+Server@{B\+M\+A\+I\+M\+A\+P\+Server}!get\+Socket\+Accept@{get\+Socket\+Accept}} +\index{get\+Socket\+Accept@{get\+Socket\+Accept}!B\+M\+A\+I\+M\+A\+P\+Server@{B\+M\+A\+I\+M\+A\+P\+Server}} +\subsubsection{\texorpdfstring{get\+Socket\+Accept()}{getSocketAccept()}} +{\footnotesize\ttfamily \hyperlink{class_b_m_a_session}{B\+M\+A\+Session}$\ast$ B\+M\+A\+I\+M\+A\+P\+Server\+::get\+Socket\+Accept (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}} + +get\+Socket\+Accept is designed to allow a polymorphic extension of this object to return a type of object that extends the definition of the server socket. Returning the appropriate session object that extends from \hyperlink{class_b_m_a_session}{B\+M\+A\+Session} provides the mechanism where the server can select the protocol dialog for the desired service. + +Implements \hyperlink{class_b_m_a_t_c_p_server_socket_a5eb805883d7a496be0a1cbc81c09c145}{B\+M\+A\+T\+C\+P\+Server\+Socket}. + + + +The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+I\+M\+A\+P\+Server.\+h\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_i_m_a_p_server__coll__graph.md5 b/docs/latex/class_b_m_a_i_m_a_p_server__coll__graph.md5 new file mode 100644 index 0000000..f42e4a0 --- /dev/null +++ b/docs/latex/class_b_m_a_i_m_a_p_server__coll__graph.md5 @@ -0,0 +1 @@ +aa3e2fc7592c90c573e1c4566ca9b059 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_i_m_a_p_server__coll__graph.pdf b/docs/latex/class_b_m_a_i_m_a_p_server__coll__graph.pdf new file mode 100644 index 0000000..cf03d8d Binary files /dev/null and b/docs/latex/class_b_m_a_i_m_a_p_server__coll__graph.pdf differ diff --git a/docs/latex/class_b_m_a_i_m_a_p_server__inherit__graph.md5 b/docs/latex/class_b_m_a_i_m_a_p_server__inherit__graph.md5 new file mode 100644 index 0000000..b85f9a3 --- /dev/null +++ b/docs/latex/class_b_m_a_i_m_a_p_server__inherit__graph.md5 @@ -0,0 +1 @@ +ebdb848933921f99fbef4ad0594f4cb4 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_i_m_a_p_server__inherit__graph.pdf b/docs/latex/class_b_m_a_i_m_a_p_server__inherit__graph.pdf new file mode 100644 index 0000000..3c2f622 Binary files /dev/null and b/docs/latex/class_b_m_a_i_m_a_p_server__inherit__graph.pdf differ diff --git a/docs/latex/class_b_m_a_i_m_a_p_session.tex b/docs/latex/class_b_m_a_i_m_a_p_session.tex new file mode 100644 index 0000000..4f3161e --- /dev/null +++ b/docs/latex/class_b_m_a_i_m_a_p_session.tex @@ -0,0 +1,62 @@ +\hypertarget{class_b_m_a_i_m_a_p_session}{}\section{B\+M\+A\+I\+M\+A\+P\+Session Class Reference} +\label{class_b_m_a_i_m_a_p_session}\index{B\+M\+A\+I\+M\+A\+P\+Session@{B\+M\+A\+I\+M\+A\+P\+Session}} + + +{\ttfamily \#include $<$B\+M\+A\+I\+M\+A\+P\+Session.\+h$>$} + + + +Inheritance diagram for B\+M\+A\+I\+M\+A\+P\+Session\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=246pt]{class_b_m_a_i_m_a_p_session__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for B\+M\+A\+I\+M\+A\+P\+Session\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{class_b_m_a_i_m_a_p_session__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_i_m_a_p_session_a8aab933e79464167e4690ab9eef84da5}\label{class_b_m_a_i_m_a_p_session_a8aab933e79464167e4690ab9eef84da5}} +{\bfseries B\+M\+A\+I\+M\+A\+P\+Session} (\hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} \&e\+Poll, \hyperlink{class_b_m_a_console_server}{B\+M\+A\+Console\+Server} \&server) +\item +virtual void \hyperlink{class_b_m_a_i_m_a_p_session_a832d14c10a6e8c486cb863e8b7bb9469}{output} (std\+::stringstream \&out) +\end{DoxyCompactItemize} +\subsection*{Protected Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_i_m_a_p_session_a2180bd531d7e82a4d6b0d1c382a44257}\label{class_b_m_a_i_m_a_p_session_a2180bd531d7e82a4d6b0d1c382a44257}} +void {\bfseries protocol} (char $\ast$data, int length) override +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +\subsection{Detailed Description} +\hyperlink{class_b_m_a_i_m_a_p_session}{B\+M\+A\+I\+M\+A\+P\+Session} + +Extends the session parameters for this \hyperlink{class_b_m_a_t_c_p_socket}{B\+M\+A\+T\+C\+P\+Socket} derived object. Extend the protocol() method in order to define the behavior and protocol interaction for this socket which is an I\+M\+AP session. + +\subsection{Member Function Documentation} +\mbox{\Hypertarget{class_b_m_a_i_m_a_p_session_a832d14c10a6e8c486cb863e8b7bb9469}\label{class_b_m_a_i_m_a_p_session_a832d14c10a6e8c486cb863e8b7bb9469}} +\index{B\+M\+A\+I\+M\+A\+P\+Session@{B\+M\+A\+I\+M\+A\+P\+Session}!output@{output}} +\index{output@{output}!B\+M\+A\+I\+M\+A\+P\+Session@{B\+M\+A\+I\+M\+A\+P\+Session}} +\subsubsection{\texorpdfstring{output()}{output()}} +{\footnotesize\ttfamily virtual void B\+M\+A\+I\+M\+A\+P\+Session\+::output (\begin{DoxyParamCaption}\item[{std\+::stringstream \&}]{out }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}} + +The output method is called by a socket session (\hyperlink{class_b_m_a_session}{B\+M\+A\+Session}) and will output the detail information for the client socket. When extending \hyperlink{class_b_m_a_t_c_p_socket}{B\+M\+A\+T\+C\+P\+Socket} or \hyperlink{class_b_m_a_session}{B\+M\+A\+Session} you can override the method to add attributes to the list. + +Reimplemented from \hyperlink{class_b_m_a_t_c_p_socket_a017112b916d42b9e86b39da747c364c1}{B\+M\+A\+T\+C\+P\+Socket}. + + + +The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+I\+M\+A\+P\+Session.\+h\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_i_m_a_p_session__coll__graph.md5 b/docs/latex/class_b_m_a_i_m_a_p_session__coll__graph.md5 new file mode 100644 index 0000000..563a5fd --- /dev/null +++ b/docs/latex/class_b_m_a_i_m_a_p_session__coll__graph.md5 @@ -0,0 +1 @@ +d6208fc3e8eca6a6e102e87bd9e54649 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_i_m_a_p_session__coll__graph.pdf b/docs/latex/class_b_m_a_i_m_a_p_session__coll__graph.pdf new file mode 100644 index 0000000..8fa7847 Binary files /dev/null and b/docs/latex/class_b_m_a_i_m_a_p_session__coll__graph.pdf differ diff --git a/docs/latex/class_b_m_a_i_m_a_p_session__inherit__graph.md5 b/docs/latex/class_b_m_a_i_m_a_p_session__inherit__graph.md5 new file mode 100644 index 0000000..13500f2 --- /dev/null +++ b/docs/latex/class_b_m_a_i_m_a_p_session__inherit__graph.md5 @@ -0,0 +1 @@ +09629866aa56a7377fd7b326d50ea42f \ No newline at end of file diff --git a/docs/latex/class_b_m_a_i_m_a_p_session__inherit__graph.pdf b/docs/latex/class_b_m_a_i_m_a_p_session__inherit__graph.pdf new file mode 100644 index 0000000..1f3c20e Binary files /dev/null and b/docs/latex/class_b_m_a_i_m_a_p_session__inherit__graph.pdf differ diff --git a/docs/latex/class_b_m_a_i_p_address.tex b/docs/latex/class_b_m_a_i_p_address.tex new file mode 100644 index 0000000..d27ac3b --- /dev/null +++ b/docs/latex/class_b_m_a_i_p_address.tex @@ -0,0 +1,47 @@ +\hypertarget{class_b_m_a_i_p_address}{}\section{B\+M\+A\+I\+P\+Address Class Reference} +\label{class_b_m_a_i_p_address}\index{B\+M\+A\+I\+P\+Address@{B\+M\+A\+I\+P\+Address}} + + +Inheritance diagram for B\+M\+A\+I\+P\+Address\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=164pt]{class_b_m_a_i_p_address__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for B\+M\+A\+I\+P\+Address\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=164pt]{class_b_m_a_i_p_address__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_i_p_address_ad2d65f8f42d3feb81f065a89e144528e}\label{class_b_m_a_i_p_address_ad2d65f8f42d3feb81f065a89e144528e}} +std\+::string \hyperlink{class_b_m_a_i_p_address_ad2d65f8f42d3feb81f065a89e144528e}{get\+Client\+Address} () +\begin{DoxyCompactList}\small\item\em Get the client network address as xxx.\+xxx.\+xxx.\+xxx. \end{DoxyCompactList}\item +\mbox{\Hypertarget{class_b_m_a_i_p_address_ab4e5a9b5603b640c7d29416b96fe53d4}\label{class_b_m_a_i_p_address_ab4e5a9b5603b640c7d29416b96fe53d4}} +std\+::string \hyperlink{class_b_m_a_i_p_address_ab4e5a9b5603b640c7d29416b96fe53d4}{get\+Client\+Address\+And\+Port} () +\begin{DoxyCompactList}\small\item\em Get the client network address and port as xxx.\+xxx.\+xxx.\+xxx\+:ppppp. \end{DoxyCompactList}\item +\mbox{\Hypertarget{class_b_m_a_i_p_address_a9aa517856e52c3c0d363d023b74d9899}\label{class_b_m_a_i_p_address_a9aa517856e52c3c0d363d023b74d9899}} +int \hyperlink{class_b_m_a_i_p_address_a9aa517856e52c3c0d363d023b74d9899}{get\+Client\+Port} () +\begin{DoxyCompactList}\small\item\em Get the client network port number. \end{DoxyCompactList}\end{DoxyCompactItemize} +\subsection*{Public Attributes} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_i_p_address_abf41670d404b00d4aa3bdd6c030eb3d6}\label{class_b_m_a_i_p_address_abf41670d404b00d4aa3bdd6c030eb3d6}} +struct sockaddr\+\_\+in {\bfseries address} +\item +\mbox{\Hypertarget{class_b_m_a_i_p_address_a19db226151b12669d9b68c156bb59b56}\label{class_b_m_a_i_p_address_a19db226151b12669d9b68c156bb59b56}} +socklen\+\_\+t {\bfseries address\+Length} +\end{DoxyCompactItemize} + + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/B\+M\+A\+I\+P\+Address.\+h\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/B\+M\+A\+I\+P\+Address.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_i_p_address__coll__graph.md5 b/docs/latex/class_b_m_a_i_p_address__coll__graph.md5 new file mode 100644 index 0000000..998e7c5 --- /dev/null +++ b/docs/latex/class_b_m_a_i_p_address__coll__graph.md5 @@ -0,0 +1 @@ +d919d6002b300b3bf9fc216507b2565b \ No newline at end of file diff --git a/docs/latex/class_b_m_a_i_p_address__coll__graph.pdf b/docs/latex/class_b_m_a_i_p_address__coll__graph.pdf new file mode 100644 index 0000000..e02aa94 Binary files /dev/null and b/docs/latex/class_b_m_a_i_p_address__coll__graph.pdf differ diff --git a/docs/latex/class_b_m_a_i_p_address__inherit__graph.md5 b/docs/latex/class_b_m_a_i_p_address__inherit__graph.md5 new file mode 100644 index 0000000..5725a40 --- /dev/null +++ b/docs/latex/class_b_m_a_i_p_address__inherit__graph.md5 @@ -0,0 +1 @@ +4242428daa3368534e1aa106f5e6341f \ No newline at end of file diff --git a/docs/latex/class_b_m_a_i_p_address__inherit__graph.pdf b/docs/latex/class_b_m_a_i_p_address__inherit__graph.pdf new file mode 100644 index 0000000..e02aa94 Binary files /dev/null and b/docs/latex/class_b_m_a_i_p_address__inherit__graph.pdf differ diff --git a/docs/latex/class_b_m_a_log.tex b/docs/latex/class_b_m_a_log.tex new file mode 100644 index 0000000..4cdf807 --- /dev/null +++ b/docs/latex/class_b_m_a_log.tex @@ -0,0 +1,123 @@ +\hypertarget{class_b_m_a_log}{}\section{B\+M\+A\+Log Class Reference} +\label{class_b_m_a_log}\index{B\+M\+A\+Log@{B\+M\+A\+Log}} + + +{\ttfamily \#include $<$B\+M\+A\+Log.\+h$>$} + + + +Inheritance diagram for B\+M\+A\+Log\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=260pt]{class_b_m_a_log__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for B\+M\+A\+Log\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{class_b_m_a_log__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\hyperlink{class_b_m_a_log_a66b78b476e77c269d61776386be97c65}{B\+M\+A\+Log} (\hyperlink{class_b_m_a_console_server}{B\+M\+A\+Console\+Server} $\ast$\hyperlink{class_b_m_a_log_a3d5d2e2b15c135159b42c7e1f0dcc7e1}{console\+Server}) +\item +\hyperlink{class_b_m_a_log_aa85718158f606f2b0dbb7f6b7f5cc475}{B\+M\+A\+Log} (\hyperlink{class_b_m_a_file}{B\+M\+A\+File} $\ast$\hyperlink{class_b_m_a_log_aa5789774e19266041e1211c9c386ed21}{log\+File}) +\item +\hyperlink{class_b_m_a_log_ad14bf19745d33be21431f8c0133d9ffe}{B\+M\+A\+Log} (int level) +\item +\hyperlink{class_b_m_a_log_a443ae6142ef92a8ed4c9af5db57d55a0}{$\sim$\+B\+M\+A\+Log} () +\end{DoxyCompactItemize} +\subsection*{Public Attributes} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_log_a5a125afce22d850ec4835b1400486db2}\label{class_b_m_a_log_a5a125afce22d850ec4835b1400486db2}} +bool {\bfseries output} = false +\end{DoxyCompactItemize} +\subsection*{Static Public Attributes} +\begin{DoxyCompactItemize} +\item +static \hyperlink{class_b_m_a_console_server}{B\+M\+A\+Console\+Server} $\ast$ \hyperlink{class_b_m_a_log_a3d5d2e2b15c135159b42c7e1f0dcc7e1}{console\+Server} = N\+U\+LL +\item +static \hyperlink{class_b_m_a_file}{B\+M\+A\+File} $\ast$ \hyperlink{class_b_m_a_log_aa5789774e19266041e1211c9c386ed21}{log\+File} = N\+U\+LL +\item +static int \hyperlink{class_b_m_a_log_a0d53862e6749badb4397a0fd8ce25a81}{seq} = 0 +\end{DoxyCompactItemize} + + +\subsection{Detailed Description} +\hyperlink{class_b_m_a_log}{B\+M\+A\+Log} + +Provides easy to access and use logging features to maintain a history of activity and provide information for activity debugging. + +\subsection{Constructor \& Destructor Documentation} +\mbox{\Hypertarget{class_b_m_a_log_a66b78b476e77c269d61776386be97c65}\label{class_b_m_a_log_a66b78b476e77c269d61776386be97c65}} +\index{B\+M\+A\+Log@{B\+M\+A\+Log}!B\+M\+A\+Log@{B\+M\+A\+Log}} +\index{B\+M\+A\+Log@{B\+M\+A\+Log}!B\+M\+A\+Log@{B\+M\+A\+Log}} +\subsubsection{\texorpdfstring{B\+M\+A\+Log()}{BMALog()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}} +{\footnotesize\ttfamily B\+M\+A\+Log\+::\+B\+M\+A\+Log (\begin{DoxyParamCaption}\item[{\hyperlink{class_b_m_a_console_server}{B\+M\+A\+Console\+Server} $\ast$}]{console\+Server }\end{DoxyParamCaption})} + +Constructor method that accepts a pointer to the applications console server. This enables the \hyperlink{class_b_m_a_log}{B\+M\+A\+Log} object to send new log messages to the connected console sessions. + + +\begin{DoxyParams}{Parameters} +{\em console\+Server} & a pointer to the console server that will be used to echo log entries. \\ +\hline +\end{DoxyParams} +\mbox{\Hypertarget{class_b_m_a_log_aa85718158f606f2b0dbb7f6b7f5cc475}\label{class_b_m_a_log_aa85718158f606f2b0dbb7f6b7f5cc475}} +\index{B\+M\+A\+Log@{B\+M\+A\+Log}!B\+M\+A\+Log@{B\+M\+A\+Log}} +\index{B\+M\+A\+Log@{B\+M\+A\+Log}!B\+M\+A\+Log@{B\+M\+A\+Log}} +\subsubsection{\texorpdfstring{B\+M\+A\+Log()}{BMALog()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}} +{\footnotesize\ttfamily B\+M\+A\+Log\+::\+B\+M\+A\+Log (\begin{DoxyParamCaption}\item[{\hyperlink{class_b_m_a_file}{B\+M\+A\+File} $\ast$}]{log\+File }\end{DoxyParamCaption})} + +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. \mbox{\Hypertarget{class_b_m_a_log_ad14bf19745d33be21431f8c0133d9ffe}\label{class_b_m_a_log_ad14bf19745d33be21431f8c0133d9ffe}} +\index{B\+M\+A\+Log@{B\+M\+A\+Log}!B\+M\+A\+Log@{B\+M\+A\+Log}} +\index{B\+M\+A\+Log@{B\+M\+A\+Log}!B\+M\+A\+Log@{B\+M\+A\+Log}} +\subsubsection{\texorpdfstring{B\+M\+A\+Log()}{BMALog()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}} +{\footnotesize\ttfamily B\+M\+A\+Log\+::\+B\+M\+A\+Log (\begin{DoxyParamCaption}\item[{int}]{level }\end{DoxyParamCaption})} + +Constructor method that is used to send a message to the log. + + +\begin{DoxyParams}{Parameters} +{\em level} & the logging level to associate with this message.\\ +\hline +\end{DoxyParams} +To send log message\+: \hyperlink{class_b_m_a_log}{B\+M\+A\+Log(\+L\+O\+G\+\_\+\+I\+N\+F\+O)} $<$$<$ \char`\"{}\+This is a log message.\char`\"{}; \mbox{\Hypertarget{class_b_m_a_log_a443ae6142ef92a8ed4c9af5db57d55a0}\label{class_b_m_a_log_a443ae6142ef92a8ed4c9af5db57d55a0}} +\index{B\+M\+A\+Log@{B\+M\+A\+Log}!````~B\+M\+A\+Log@{$\sim$\+B\+M\+A\+Log}} +\index{````~B\+M\+A\+Log@{$\sim$\+B\+M\+A\+Log}!B\+M\+A\+Log@{B\+M\+A\+Log}} +\subsubsection{\texorpdfstring{$\sim$\+B\+M\+A\+Log()}{~BMALog()}} +{\footnotesize\ttfamily B\+M\+A\+Log\+::$\sim$\+B\+M\+A\+Log (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +The destructor for the log object. + +\subsection{Member Data Documentation} +\mbox{\Hypertarget{class_b_m_a_log_a3d5d2e2b15c135159b42c7e1f0dcc7e1}\label{class_b_m_a_log_a3d5d2e2b15c135159b42c7e1f0dcc7e1}} +\index{B\+M\+A\+Log@{B\+M\+A\+Log}!console\+Server@{console\+Server}} +\index{console\+Server@{console\+Server}!B\+M\+A\+Log@{B\+M\+A\+Log}} +\subsubsection{\texorpdfstring{console\+Server}{consoleServer}} +{\footnotesize\ttfamily \hyperlink{class_b_m_a_console_server}{B\+M\+A\+Console\+Server} $\ast$ B\+M\+A\+Log\+::console\+Server = N\+U\+LL\hspace{0.3cm}{\ttfamily [static]}} + +Set the console\+Server to point to the instantiated \hyperlink{class_b_m_a_console_server}{B\+M\+A\+Console\+Server} object for the application. \mbox{\Hypertarget{class_b_m_a_log_aa5789774e19266041e1211c9c386ed21}\label{class_b_m_a_log_aa5789774e19266041e1211c9c386ed21}} +\index{B\+M\+A\+Log@{B\+M\+A\+Log}!log\+File@{log\+File}} +\index{log\+File@{log\+File}!B\+M\+A\+Log@{B\+M\+A\+Log}} +\subsubsection{\texorpdfstring{log\+File}{logFile}} +{\footnotesize\ttfamily \hyperlink{class_b_m_a_file}{B\+M\+A\+File} $\ast$ B\+M\+A\+Log\+::log\+File = N\+U\+LL\hspace{0.3cm}{\ttfamily [static]}} + +Specify a \hyperlink{class_b_m_a_file}{B\+M\+A\+File} object where the log entries will be written as a permanent record to disk. \mbox{\Hypertarget{class_b_m_a_log_a0d53862e6749badb4397a0fd8ce25a81}\label{class_b_m_a_log_a0d53862e6749badb4397a0fd8ce25a81}} +\index{B\+M\+A\+Log@{B\+M\+A\+Log}!seq@{seq}} +\index{seq@{seq}!B\+M\+A\+Log@{B\+M\+A\+Log}} +\subsubsection{\texorpdfstring{seq}{seq}} +{\footnotesize\ttfamily int B\+M\+A\+Log\+::seq = 0\hspace{0.3cm}{\ttfamily [static]}} + +A meaningless sequenctial number that starts from -\/ at the beginning of the logging process. + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/B\+M\+A\+Log.\+h\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/B\+M\+A\+Log.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_log__coll__graph.md5 b/docs/latex/class_b_m_a_log__coll__graph.md5 new file mode 100644 index 0000000..d4af9df --- /dev/null +++ b/docs/latex/class_b_m_a_log__coll__graph.md5 @@ -0,0 +1 @@ +0cffda38fb56cc83792e7fed34220dd5 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_log__coll__graph.pdf b/docs/latex/class_b_m_a_log__coll__graph.pdf new file mode 100644 index 0000000..0fe55ac Binary files /dev/null and b/docs/latex/class_b_m_a_log__coll__graph.pdf differ diff --git a/docs/latex/class_b_m_a_log__inherit__graph.md5 b/docs/latex/class_b_m_a_log__inherit__graph.md5 new file mode 100644 index 0000000..60a76d9 --- /dev/null +++ b/docs/latex/class_b_m_a_log__inherit__graph.md5 @@ -0,0 +1 @@ +02c666c376205d27ceea4949063f59c3 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_log__inherit__graph.pdf b/docs/latex/class_b_m_a_log__inherit__graph.pdf new file mode 100644 index 0000000..67ac7fe Binary files /dev/null and b/docs/latex/class_b_m_a_log__inherit__graph.pdf differ diff --git a/docs/latex/class_b_m_a_m_p3_file.tex b/docs/latex/class_b_m_a_m_p3_file.tex new file mode 100644 index 0000000..b9f2d07 --- /dev/null +++ b/docs/latex/class_b_m_a_m_p3_file.tex @@ -0,0 +1,42 @@ +\hypertarget{class_b_m_a_m_p3_file}{}\section{B\+M\+A\+M\+P3\+File Class Reference} +\label{class_b_m_a_m_p3_file}\index{B\+M\+A\+M\+P3\+File@{B\+M\+A\+M\+P3\+File}} + + +{\ttfamily \#include $<$B\+M\+A\+M\+P3\+File.\+h$>$} + + + +Inheritance diagram for B\+M\+A\+M\+P3\+File\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=292pt]{class_b_m_a_m_p3_file__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for B\+M\+A\+M\+P3\+File\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=292pt]{class_b_m_a_m_p3_file__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_m_p3_file_af3ef02c8a1c57d5050979b69e5c81527}\label{class_b_m_a_m_p3_file_af3ef02c8a1c57d5050979b69e5c81527}} +{\bfseries B\+M\+A\+M\+P3\+File} (\hyperlink{class_b_m_a_stream_server}{B\+M\+A\+Stream\+Server} \&server, std\+::string file\+Name) +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +\subsection{Detailed Description} +\hyperlink{class_b_m_a_m_p3_file}{B\+M\+A\+M\+P3\+File} + +Provides access to the M\+P3 formatted file as an array of B\+M\+A\+M\+P3\+Stream\+Frames. + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+M\+P3\+File.\+h\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+M\+P3\+File.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_m_p3_file__coll__graph.md5 b/docs/latex/class_b_m_a_m_p3_file__coll__graph.md5 new file mode 100644 index 0000000..9138c8c --- /dev/null +++ b/docs/latex/class_b_m_a_m_p3_file__coll__graph.md5 @@ -0,0 +1 @@ +38962e506f303e8f1fe08d46efebd96b \ No newline at end of file diff --git a/docs/latex/class_b_m_a_m_p3_file__coll__graph.pdf b/docs/latex/class_b_m_a_m_p3_file__coll__graph.pdf new file mode 100644 index 0000000..b4835a5 Binary files /dev/null and b/docs/latex/class_b_m_a_m_p3_file__coll__graph.pdf differ diff --git a/docs/latex/class_b_m_a_m_p3_file__inherit__graph.md5 b/docs/latex/class_b_m_a_m_p3_file__inherit__graph.md5 new file mode 100644 index 0000000..3cea8e3 --- /dev/null +++ b/docs/latex/class_b_m_a_m_p3_file__inherit__graph.md5 @@ -0,0 +1 @@ +4934c5fd5ef7a0405e447579a99f58a4 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_m_p3_file__inherit__graph.pdf b/docs/latex/class_b_m_a_m_p3_file__inherit__graph.pdf new file mode 100644 index 0000000..b4835a5 Binary files /dev/null and b/docs/latex/class_b_m_a_m_p3_file__inherit__graph.pdf differ diff --git a/docs/latex/class_b_m_a_m_p3_stream_content_provider.tex b/docs/latex/class_b_m_a_m_p3_stream_content_provider.tex new file mode 100644 index 0000000..18ecd83 --- /dev/null +++ b/docs/latex/class_b_m_a_m_p3_stream_content_provider.tex @@ -0,0 +1,35 @@ +\hypertarget{class_b_m_a_m_p3_stream_content_provider}{}\section{B\+M\+A\+M\+P3\+Stream\+Content\+Provider Class Reference} +\label{class_b_m_a_m_p3_stream_content_provider}\index{B\+M\+A\+M\+P3\+Stream\+Content\+Provider@{B\+M\+A\+M\+P3\+Stream\+Content\+Provider}} + + +Inheritance diagram for B\+M\+A\+M\+P3\+Stream\+Content\+Provider\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=241pt]{class_b_m_a_m_p3_stream_content_provider__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for B\+M\+A\+M\+P3\+Stream\+Content\+Provider\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=241pt]{class_b_m_a_m_p3_stream_content_provider__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_m_p3_stream_content_provider_afc7ad357bbf07a8099a0ff7982b05b05}\label{class_b_m_a_m_p3_stream_content_provider_afc7ad357bbf07a8099a0ff7982b05b05}} +{\bfseries B\+M\+A\+M\+P3\+Stream\+Content\+Provider} (\hyperlink{class_b_m_a_stream_server}{B\+M\+A\+Stream\+Server} \&server) +\item +\mbox{\Hypertarget{class_b_m_a_m_p3_stream_content_provider_ac2d0a4c0f53f539b350a14d716dbba05}\label{class_b_m_a_m_p3_stream_content_provider_ac2d0a4c0f53f539b350a14d716dbba05}} +\hyperlink{class_b_m_a_stream_frame}{B\+M\+A\+Stream\+Frame} $\ast$ {\bfseries get\+Stream\+Frame} () +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+M\+P3\+Stream\+Content\+Provider.\+h\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_m_p3_stream_content_provider__coll__graph.md5 b/docs/latex/class_b_m_a_m_p3_stream_content_provider__coll__graph.md5 new file mode 100644 index 0000000..c637c72 --- /dev/null +++ b/docs/latex/class_b_m_a_m_p3_stream_content_provider__coll__graph.md5 @@ -0,0 +1 @@ +993aa30abde94438956cde2fa50af92a \ No newline at end of file diff --git a/docs/latex/class_b_m_a_m_p3_stream_content_provider__coll__graph.pdf b/docs/latex/class_b_m_a_m_p3_stream_content_provider__coll__graph.pdf new file mode 100644 index 0000000..af3a03e Binary files /dev/null and b/docs/latex/class_b_m_a_m_p3_stream_content_provider__coll__graph.pdf differ diff --git a/docs/latex/class_b_m_a_m_p3_stream_content_provider__inherit__graph.md5 b/docs/latex/class_b_m_a_m_p3_stream_content_provider__inherit__graph.md5 new file mode 100644 index 0000000..48c88a6 --- /dev/null +++ b/docs/latex/class_b_m_a_m_p3_stream_content_provider__inherit__graph.md5 @@ -0,0 +1 @@ +8396768cb14a659857544670085d620e \ No newline at end of file diff --git a/docs/latex/class_b_m_a_m_p3_stream_content_provider__inherit__graph.pdf b/docs/latex/class_b_m_a_m_p3_stream_content_provider__inherit__graph.pdf new file mode 100644 index 0000000..af3a03e Binary files /dev/null and b/docs/latex/class_b_m_a_m_p3_stream_content_provider__inherit__graph.pdf differ diff --git a/docs/latex/class_b_m_a_m_p3_stream_frame.tex b/docs/latex/class_b_m_a_m_p3_stream_frame.tex new file mode 100644 index 0000000..7683c5f --- /dev/null +++ b/docs/latex/class_b_m_a_m_p3_stream_frame.tex @@ -0,0 +1,66 @@ +\hypertarget{class_b_m_a_m_p3_stream_frame}{}\section{B\+M\+A\+M\+P3\+Stream\+Frame Class Reference} +\label{class_b_m_a_m_p3_stream_frame}\index{B\+M\+A\+M\+P3\+Stream\+Frame@{B\+M\+A\+M\+P3\+Stream\+Frame}} + + +Inheritance diagram for B\+M\+A\+M\+P3\+Stream\+Frame\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=198pt]{class_b_m_a_m_p3_stream_frame__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for B\+M\+A\+M\+P3\+Stream\+Frame\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=198pt]{class_b_m_a_m_p3_stream_frame__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_m_p3_stream_frame_a5b11e66e8391b33310c1883a7fc8dca6}\label{class_b_m_a_m_p3_stream_frame_a5b11e66e8391b33310c1883a7fc8dca6}} +{\bfseries B\+M\+A\+M\+P3\+Stream\+Frame} (char $\ast$stream) +\item +\mbox{\Hypertarget{class_b_m_a_m_p3_stream_frame_afd7a44b65e7c4d14a5ae292bd2c6e6b1}\label{class_b_m_a_m_p3_stream_frame_afd7a44b65e7c4d14a5ae292bd2c6e6b1}} +double {\bfseries get\+Duration} () +\item +\mbox{\Hypertarget{class_b_m_a_m_p3_stream_frame_a05f80355dbaaaff53b78d6a6235f0a22}\label{class_b_m_a_m_p3_stream_frame_a05f80355dbaaaff53b78d6a6235f0a22}} +int {\bfseries get\+Version} () +\item +\mbox{\Hypertarget{class_b_m_a_m_p3_stream_frame_a25078af894af1cee647bbf95d4027180}\label{class_b_m_a_m_p3_stream_frame_a25078af894af1cee647bbf95d4027180}} +int {\bfseries get\+Layer} () +\item +\mbox{\Hypertarget{class_b_m_a_m_p3_stream_frame_a6c4e0c1861ac3b4e6e3c7205b871d010}\label{class_b_m_a_m_p3_stream_frame_a6c4e0c1861ac3b4e6e3c7205b871d010}} +int {\bfseries get\+Bit\+Rate} () +\item +\mbox{\Hypertarget{class_b_m_a_m_p3_stream_frame_ae635c402b39b4f055f557a6cfecdbe85}\label{class_b_m_a_m_p3_stream_frame_ae635c402b39b4f055f557a6cfecdbe85}} +int {\bfseries get\+Sample\+Rate} () +\item +\mbox{\Hypertarget{class_b_m_a_m_p3_stream_frame_a23dd3cf1289f0a7ed4c9745754f1baed}\label{class_b_m_a_m_p3_stream_frame_a23dd3cf1289f0a7ed4c9745754f1baed}} +int {\bfseries get\+Padding\+Size} () +\item +\mbox{\Hypertarget{class_b_m_a_m_p3_stream_frame_a3e45284a7c806f41e0229d121b63b274}\label{class_b_m_a_m_p3_stream_frame_a3e45284a7c806f41e0229d121b63b274}} +int {\bfseries get\+Frame\+Sample\+Size} () +\item +\mbox{\Hypertarget{class_b_m_a_m_p3_stream_frame_a0570cfb188709b1eeab2a4f2af68aae4}\label{class_b_m_a_m_p3_stream_frame_a0570cfb188709b1eeab2a4f2af68aae4}} +int {\bfseries get\+Frame\+Size} () +\end{DoxyCompactItemize} +\subsection*{Protected Attributes} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_m_p3_stream_frame_af75f5b80a34ea8f7e76527014d93d0c9}\label{class_b_m_a_m_p3_stream_frame_af75f5b80a34ea8f7e76527014d93d0c9}} +int {\bfseries bit\+\_\+rates} \mbox{[}16\mbox{]} = \{ -\/1, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, -\/1 \} +\item +\mbox{\Hypertarget{class_b_m_a_m_p3_stream_frame_a4c570bcdc77665c207d84d1ed046abbf}\label{class_b_m_a_m_p3_stream_frame_a4c570bcdc77665c207d84d1ed046abbf}} +int {\bfseries sample\+\_\+rates} \mbox{[}4\mbox{]} = \{ 44100, 48000, 32000, -\/1 \} +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+M\+P3\+Stream\+Frame.\+h\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+M\+P3\+Stream\+Frame.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_m_p3_stream_frame__coll__graph.md5 b/docs/latex/class_b_m_a_m_p3_stream_frame__coll__graph.md5 new file mode 100644 index 0000000..99842ed --- /dev/null +++ b/docs/latex/class_b_m_a_m_p3_stream_frame__coll__graph.md5 @@ -0,0 +1 @@ +431b24a9a16c838aa86273dd5a836d5c \ No newline at end of file diff --git a/docs/latex/class_b_m_a_m_p3_stream_frame__coll__graph.pdf b/docs/latex/class_b_m_a_m_p3_stream_frame__coll__graph.pdf new file mode 100644 index 0000000..70734e1 Binary files /dev/null and b/docs/latex/class_b_m_a_m_p3_stream_frame__coll__graph.pdf differ diff --git a/docs/latex/class_b_m_a_m_p3_stream_frame__inherit__graph.md5 b/docs/latex/class_b_m_a_m_p3_stream_frame__inherit__graph.md5 new file mode 100644 index 0000000..bd887d5 --- /dev/null +++ b/docs/latex/class_b_m_a_m_p3_stream_frame__inherit__graph.md5 @@ -0,0 +1 @@ +a41baa4e214925abea7951f1d7651540 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_m_p3_stream_frame__inherit__graph.pdf b/docs/latex/class_b_m_a_m_p3_stream_frame__inherit__graph.pdf new file mode 100644 index 0000000..70734e1 Binary files /dev/null and b/docs/latex/class_b_m_a_m_p3_stream_frame__inherit__graph.pdf differ diff --git a/docs/latex/class_b_m_a_object.tex b/docs/latex/class_b_m_a_object.tex new file mode 100644 index 0000000..b0cd03b --- /dev/null +++ b/docs/latex/class_b_m_a_object.tex @@ -0,0 +1,26 @@ +\hypertarget{class_b_m_a_object}{}\section{B\+M\+A\+Object Class Reference} +\label{class_b_m_a_object}\index{B\+M\+A\+Object@{B\+M\+A\+Object}} + + +Inheritance diagram for B\+M\+A\+Object\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{class_b_m_a_object__inherit__graph} +\end{center} +\end{figure} +\subsection*{Public Attributes} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_object_aedf39fba0d2dda8c3d9048746c1b8957}\label{class_b_m_a_object_aedf39fba0d2dda8c3d9048746c1b8957}} +std\+::string {\bfseries name} +\item +\mbox{\Hypertarget{class_b_m_a_object_acc0e38c2263588ba9ff1792b17d64f6e}\label{class_b_m_a_object_acc0e38c2263588ba9ff1792b17d64f6e}} +std\+::string {\bfseries tag} +\end{DoxyCompactItemize} + + +The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/B\+M\+A\+Object.\+h\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_object__inherit__graph.md5 b/docs/latex/class_b_m_a_object__inherit__graph.md5 new file mode 100644 index 0000000..94fa4b6 --- /dev/null +++ b/docs/latex/class_b_m_a_object__inherit__graph.md5 @@ -0,0 +1 @@ +129974730358b47b2f2c258e98a988de \ No newline at end of file diff --git a/docs/latex/class_b_m_a_object__inherit__graph.pdf b/docs/latex/class_b_m_a_object__inherit__graph.pdf new file mode 100644 index 0000000..e348e7c Binary files /dev/null and b/docs/latex/class_b_m_a_object__inherit__graph.pdf differ diff --git a/docs/latex/class_b_m_a_p_o_p3_server.tex b/docs/latex/class_b_m_a_p_o_p3_server.tex new file mode 100644 index 0000000..7d18ae5 --- /dev/null +++ b/docs/latex/class_b_m_a_p_o_p3_server.tex @@ -0,0 +1,59 @@ +\hypertarget{class_b_m_a_p_o_p3_server}{}\section{B\+M\+A\+P\+O\+P3\+Server Class Reference} +\label{class_b_m_a_p_o_p3_server}\index{B\+M\+A\+P\+O\+P3\+Server@{B\+M\+A\+P\+O\+P3\+Server}} + + +Inheritance diagram for B\+M\+A\+P\+O\+P3\+Server\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=270pt]{class_b_m_a_p_o_p3_server__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for B\+M\+A\+P\+O\+P3\+Server\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{class_b_m_a_p_o_p3_server__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_p_o_p3_server_a904ba7db7b40f202f9852011b331cd60}\label{class_b_m_a_p_o_p3_server_a904ba7db7b40f202f9852011b331cd60}} +{\bfseries B\+M\+A\+P\+O\+P3\+Server} (\hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} \&e\+Poll, std\+::string url, short int port) +\item +\hyperlink{class_b_m_a_session}{B\+M\+A\+Session} $\ast$ \hyperlink{class_b_m_a_p_o_p3_server_a1f3688c9a27ee1676eb60a6ead0695be}{get\+Socket\+Accept} () +\item +\mbox{\Hypertarget{class_b_m_a_p_o_p3_server_a8d511ffab4ca9a272441a0f446cc9144}\label{class_b_m_a_p_o_p3_server_a8d511ffab4ca9a272441a0f446cc9144}} +void {\bfseries register\+Command} (\hyperlink{class_b_m_a_command}{B\+M\+A\+Command} \&command) +\item +\mbox{\Hypertarget{class_b_m_a_p_o_p3_server_a612d09574559c280e02ff8702dcc3991}\label{class_b_m_a_p_o_p3_server_a612d09574559c280e02ff8702dcc3991}} +int \hyperlink{class_b_m_a_p_o_p3_server_a612d09574559c280e02ff8702dcc3991}{process\+Command} (\hyperlink{class_b_m_a_session}{B\+M\+A\+Session} $\ast$session) override +\begin{DoxyCompactList}\small\item\em Output the consoles array to the console. \end{DoxyCompactList}\end{DoxyCompactItemize} +\subsection*{Public Attributes} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_p_o_p3_server_ae4c95210c1ed1d81f8c4734a7ca0ca84}\label{class_b_m_a_p_o_p3_server_ae4c95210c1ed1d81f8c4734a7ca0ca84}} +std\+::vector$<$ \hyperlink{class_b_m_a_command}{B\+M\+A\+Command} $\ast$ $>$ {\bfseries commands} +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +\subsection{Member Function Documentation} +\mbox{\Hypertarget{class_b_m_a_p_o_p3_server_a1f3688c9a27ee1676eb60a6ead0695be}\label{class_b_m_a_p_o_p3_server_a1f3688c9a27ee1676eb60a6ead0695be}} +\index{B\+M\+A\+P\+O\+P3\+Server@{B\+M\+A\+P\+O\+P3\+Server}!get\+Socket\+Accept@{get\+Socket\+Accept}} +\index{get\+Socket\+Accept@{get\+Socket\+Accept}!B\+M\+A\+P\+O\+P3\+Server@{B\+M\+A\+P\+O\+P3\+Server}} +\subsubsection{\texorpdfstring{get\+Socket\+Accept()}{getSocketAccept()}} +{\footnotesize\ttfamily \hyperlink{class_b_m_a_session}{B\+M\+A\+Session}$\ast$ B\+M\+A\+P\+O\+P3\+Server\+::get\+Socket\+Accept (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}} + +get\+Socket\+Accept is designed to allow a polymorphic extension of this object to return a type of object that extends the definition of the server socket. Returning the appropriate session object that extends from \hyperlink{class_b_m_a_session}{B\+M\+A\+Session} provides the mechanism where the server can select the protocol dialog for the desired service. + +Implements \hyperlink{class_b_m_a_t_c_p_server_socket_a5eb805883d7a496be0a1cbc81c09c145}{B\+M\+A\+T\+C\+P\+Server\+Socket}. + + + +The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+P\+O\+P3\+Server.\+h\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_p_o_p3_server__coll__graph.md5 b/docs/latex/class_b_m_a_p_o_p3_server__coll__graph.md5 new file mode 100644 index 0000000..2b2ba59 --- /dev/null +++ b/docs/latex/class_b_m_a_p_o_p3_server__coll__graph.md5 @@ -0,0 +1 @@ +4b9153edea06e3e564cdc87727682309 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_p_o_p3_server__coll__graph.pdf b/docs/latex/class_b_m_a_p_o_p3_server__coll__graph.pdf new file mode 100644 index 0000000..0787b71 Binary files /dev/null and b/docs/latex/class_b_m_a_p_o_p3_server__coll__graph.pdf differ diff --git a/docs/latex/class_b_m_a_p_o_p3_server__inherit__graph.md5 b/docs/latex/class_b_m_a_p_o_p3_server__inherit__graph.md5 new file mode 100644 index 0000000..5c1de7b --- /dev/null +++ b/docs/latex/class_b_m_a_p_o_p3_server__inherit__graph.md5 @@ -0,0 +1 @@ +0b7875b3a5cafed49573ecfad08a23a6 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_p_o_p3_server__inherit__graph.pdf b/docs/latex/class_b_m_a_p_o_p3_server__inherit__graph.pdf new file mode 100644 index 0000000..3100cc8 Binary files /dev/null and b/docs/latex/class_b_m_a_p_o_p3_server__inherit__graph.pdf differ diff --git a/docs/latex/class_b_m_a_p_o_p3_session.tex b/docs/latex/class_b_m_a_p_o_p3_session.tex new file mode 100644 index 0000000..9ebba57 --- /dev/null +++ b/docs/latex/class_b_m_a_p_o_p3_session.tex @@ -0,0 +1,62 @@ +\hypertarget{class_b_m_a_p_o_p3_session}{}\section{B\+M\+A\+P\+O\+P3\+Session Class Reference} +\label{class_b_m_a_p_o_p3_session}\index{B\+M\+A\+P\+O\+P3\+Session@{B\+M\+A\+P\+O\+P3\+Session}} + + +{\ttfamily \#include $<$B\+M\+A\+P\+O\+P3\+Session.\+h$>$} + + + +Inheritance diagram for B\+M\+A\+P\+O\+P3\+Session\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=246pt]{class_b_m_a_p_o_p3_session__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for B\+M\+A\+P\+O\+P3\+Session\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{class_b_m_a_p_o_p3_session__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_p_o_p3_session_a21026412ea46c0a88d147405d28bdeb5}\label{class_b_m_a_p_o_p3_session_a21026412ea46c0a88d147405d28bdeb5}} +{\bfseries B\+M\+A\+P\+O\+P3\+Session} (\hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} \&e\+Poll, \hyperlink{class_b_m_a_p_o_p3_server}{B\+M\+A\+P\+O\+P3\+Server} \&server) +\item +virtual void \hyperlink{class_b_m_a_p_o_p3_session_a30f4bcb929a862b67b58dc5bb0b43d39}{output} (std\+::stringstream \&out) +\end{DoxyCompactItemize} +\subsection*{Protected Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_p_o_p3_session_af5ce9e844b9ac32857979a3d297c8af0}\label{class_b_m_a_p_o_p3_session_af5ce9e844b9ac32857979a3d297c8af0}} +void {\bfseries protocol} (char $\ast$data, int length) override +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +\subsection{Detailed Description} +\hyperlink{class_b_m_a_p_o_p3_session}{B\+M\+A\+P\+O\+P3\+Session} + +Extends the session parameters for this \hyperlink{class_b_m_a_t_c_p_socket}{B\+M\+A\+T\+C\+P\+Socket} derived object. Extend the protocol() method in order to define the behavior and protocol interaction for this socket which is a console session. + +\subsection{Member Function Documentation} +\mbox{\Hypertarget{class_b_m_a_p_o_p3_session_a30f4bcb929a862b67b58dc5bb0b43d39}\label{class_b_m_a_p_o_p3_session_a30f4bcb929a862b67b58dc5bb0b43d39}} +\index{B\+M\+A\+P\+O\+P3\+Session@{B\+M\+A\+P\+O\+P3\+Session}!output@{output}} +\index{output@{output}!B\+M\+A\+P\+O\+P3\+Session@{B\+M\+A\+P\+O\+P3\+Session}} +\subsubsection{\texorpdfstring{output()}{output()}} +{\footnotesize\ttfamily virtual void B\+M\+A\+P\+O\+P3\+Session\+::output (\begin{DoxyParamCaption}\item[{std\+::stringstream \&}]{out }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}} + +The output method is called by a socket session (\hyperlink{class_b_m_a_session}{B\+M\+A\+Session}) and will output the detail information for the client socket. When extending \hyperlink{class_b_m_a_t_c_p_socket}{B\+M\+A\+T\+C\+P\+Socket} or \hyperlink{class_b_m_a_session}{B\+M\+A\+Session} you can override the method to add attributes to the list. + +Reimplemented from \hyperlink{class_b_m_a_t_c_p_socket_a017112b916d42b9e86b39da747c364c1}{B\+M\+A\+T\+C\+P\+Socket}. + + + +The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+P\+O\+P3\+Session.\+h\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_p_o_p3_session__coll__graph.md5 b/docs/latex/class_b_m_a_p_o_p3_session__coll__graph.md5 new file mode 100644 index 0000000..07fe0fc --- /dev/null +++ b/docs/latex/class_b_m_a_p_o_p3_session__coll__graph.md5 @@ -0,0 +1 @@ +83ddb89ff37dc7ceb5de456dd350a5ef \ No newline at end of file diff --git a/docs/latex/class_b_m_a_p_o_p3_session__coll__graph.pdf b/docs/latex/class_b_m_a_p_o_p3_session__coll__graph.pdf new file mode 100644 index 0000000..bd04dd0 Binary files /dev/null and b/docs/latex/class_b_m_a_p_o_p3_session__coll__graph.pdf differ diff --git a/docs/latex/class_b_m_a_p_o_p3_session__inherit__graph.md5 b/docs/latex/class_b_m_a_p_o_p3_session__inherit__graph.md5 new file mode 100644 index 0000000..50ecb4e --- /dev/null +++ b/docs/latex/class_b_m_a_p_o_p3_session__inherit__graph.md5 @@ -0,0 +1 @@ +9a3c95b94400fe8c4f75e97c2f81185a \ No newline at end of file diff --git a/docs/latex/class_b_m_a_p_o_p3_session__inherit__graph.pdf b/docs/latex/class_b_m_a_p_o_p3_session__inherit__graph.pdf new file mode 100644 index 0000000..d96444f Binary files /dev/null and b/docs/latex/class_b_m_a_p_o_p3_session__inherit__graph.pdf differ diff --git a/docs/latex/class_b_m_a_parse_header.tex b/docs/latex/class_b_m_a_parse_header.tex new file mode 100644 index 0000000..bc53699 --- /dev/null +++ b/docs/latex/class_b_m_a_parse_header.tex @@ -0,0 +1,7 @@ +\hypertarget{class_b_m_a_parse_header}{}\section{B\+M\+A\+Parse\+Header Class Reference} +\label{class_b_m_a_parse_header}\index{B\+M\+A\+Parse\+Header@{B\+M\+A\+Parse\+Header}} + + +The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+Parse\+Header.\+h\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_property.tex b/docs/latex/class_b_m_a_property.tex new file mode 100644 index 0000000..e48c3e2 --- /dev/null +++ b/docs/latex/class_b_m_a_property.tex @@ -0,0 +1,22 @@ +\hypertarget{class_b_m_a_property}{}\section{B\+M\+A\+Property$<$ T $>$ Class Template Reference} +\label{class_b_m_a_property}\index{B\+M\+A\+Property$<$ T $>$@{B\+M\+A\+Property$<$ T $>$}} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_property_ace93e2bf5d7e9931213019bb8e3a10e7}\label{class_b_m_a_property_ace93e2bf5d7e9931213019bb8e3a10e7}} +virtual T \& {\bfseries operator=} (const T \&f) +\item +\mbox{\Hypertarget{class_b_m_a_property_aee5ee1d866a247257b243b1ad3c7fa52}\label{class_b_m_a_property_aee5ee1d866a247257b243b1ad3c7fa52}} +virtual {\bfseries operator T const \&} () const +\end{DoxyCompactItemize} +\subsection*{Protected Attributes} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_property_abf0982ca4a88c38d3b61b52661dc50f0}\label{class_b_m_a_property_abf0982ca4a88c38d3b61b52661dc50f0}} +T {\bfseries value} +\end{DoxyCompactItemize} + + +The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/B\+M\+A\+Property.\+h\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_protocol_manager.tex b/docs/latex/class_b_m_a_protocol_manager.tex new file mode 100644 index 0000000..12d043a --- /dev/null +++ b/docs/latex/class_b_m_a_protocol_manager.tex @@ -0,0 +1,17 @@ +\hypertarget{class_b_m_a_protocol_manager}{}\section{B\+M\+A\+Protocol\+Manager Class Reference} +\label{class_b_m_a_protocol_manager}\index{B\+M\+A\+Protocol\+Manager@{B\+M\+A\+Protocol\+Manager}} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_protocol_manager_a705dbac9068e9c846177929d6617a8f2}\label{class_b_m_a_protocol_manager_a705dbac9068e9c846177929d6617a8f2}} +{\bfseries B\+M\+A\+Protocol\+Manager} (\hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} \&e\+Poll) +\item +\mbox{\Hypertarget{class_b_m_a_protocol_manager_a9b57cc3de78a0e659cf6c80b9a3d479a}\label{class_b_m_a_protocol_manager_a9b57cc3de78a0e659cf6c80b9a3d479a}} +void {\bfseries on\+Data\+Received} (char $\ast$buffer, int length) +\end{DoxyCompactItemize} + + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+Protocol\+Manager.\+h\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+Protocol\+Manager.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_protocol_manager__coll__graph.md5 b/docs/latex/class_b_m_a_protocol_manager__coll__graph.md5 new file mode 100644 index 0000000..e9a4ca5 --- /dev/null +++ b/docs/latex/class_b_m_a_protocol_manager__coll__graph.md5 @@ -0,0 +1 @@ +1b61d5593c6586a4d69a9f684434429d \ No newline at end of file diff --git a/docs/latex/class_b_m_a_protocol_manager__coll__graph.pdf b/docs/latex/class_b_m_a_protocol_manager__coll__graph.pdf new file mode 100644 index 0000000..5bddb5f Binary files /dev/null and b/docs/latex/class_b_m_a_protocol_manager__coll__graph.pdf differ diff --git a/docs/latex/class_b_m_a_protocol_manager__inherit__graph.md5 b/docs/latex/class_b_m_a_protocol_manager__inherit__graph.md5 new file mode 100644 index 0000000..d83101d --- /dev/null +++ b/docs/latex/class_b_m_a_protocol_manager__inherit__graph.md5 @@ -0,0 +1 @@ +6bf281219a2d948aaafa125fcba352a9 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_protocol_manager__inherit__graph.pdf b/docs/latex/class_b_m_a_protocol_manager__inherit__graph.pdf new file mode 100644 index 0000000..bc2655a Binary files /dev/null and b/docs/latex/class_b_m_a_protocol_manager__inherit__graph.pdf differ diff --git a/docs/latex/class_b_m_a_response.tex b/docs/latex/class_b_m_a_response.tex new file mode 100644 index 0000000..243cca3 --- /dev/null +++ b/docs/latex/class_b_m_a_response.tex @@ -0,0 +1,165 @@ +\hypertarget{class_b_m_a_response}{}\section{B\+M\+A\+Response Class Reference} +\label{class_b_m_a_response}\index{B\+M\+A\+Response@{B\+M\+A\+Response}} + + +{\ttfamily \#include $<$B\+M\+A\+Response.\+h$>$} + + + +Inheritance diagram for B\+M\+A\+Response\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=163pt]{class_b_m_a_response__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for B\+M\+A\+Response\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=163pt]{class_b_m_a_response__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Types} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_response_a72097d385140286a5cc78258e2e01db1}\label{class_b_m_a_response_a72097d385140286a5cc78258e2e01db1}} +enum {\bfseries Mode} \{ {\bfseries L\+E\+N\+G\+TH}, +{\bfseries S\+T\+R\+E\+A\+M\+I\+NG} + \} +\end{DoxyCompactItemize} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\hyperlink{class_b_m_a_response_a5894f00cfff7e3acfc0a4f5855ce06d4}{B\+M\+A\+Response} () +\item +\hyperlink{class_b_m_a_response_a49a9c247f4a24228999f821ca9ed0f1c}{$\sim$\+B\+M\+A\+Response} () +\item +std\+::string \hyperlink{class_b_m_a_response_a4a3cb34b0ae6960e2e128e48ef6d7de0}{get\+Response} (Mode mode) +\item +std\+::string \hyperlink{class_b_m_a_response_a71d725771b4cc438728d19328cf08753}{get\+Response} (std\+::string content, Mode mode) +\item +void \hyperlink{class_b_m_a_response_a5526051a488f5f0b47fd6b7880b09cba}{set\+Protocol} (std\+::string protocol) +\item +void \hyperlink{class_b_m_a_response_a95f7fe1ccd76e3f0fb6d484bb4caca68}{set\+Code} (std\+::string code) +\item +void \hyperlink{class_b_m_a_response_afec05f85173433e640685154bc11842b}{set\+Text} (std\+::string text) +\item +void \hyperlink{class_b_m_a_response_ab24318e9036baba9b5b3824509e29a09}{set\+Mime\+Type} (std\+::string mime\+Type) +\item +\mbox{\Hypertarget{class_b_m_a_response_a43bd15f52defef5d9eaaedf0ed8da71e}\label{class_b_m_a_response_a43bd15f52defef5d9eaaedf0ed8da71e}} +void {\bfseries add\+Header\+Item} (std\+::string key, std\+::string value) +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +\subsection{Detailed Description} +\hyperlink{class_b_m_a_response}{B\+M\+A\+Response} + +Use this object to build a response output for a protocol that uses headers and responses as the main communications protocol. + +\subsection{Constructor \& Destructor Documentation} +\mbox{\Hypertarget{class_b_m_a_response_a5894f00cfff7e3acfc0a4f5855ce06d4}\label{class_b_m_a_response_a5894f00cfff7e3acfc0a4f5855ce06d4}} +\index{B\+M\+A\+Response@{B\+M\+A\+Response}!B\+M\+A\+Response@{B\+M\+A\+Response}} +\index{B\+M\+A\+Response@{B\+M\+A\+Response}!B\+M\+A\+Response@{B\+M\+A\+Response}} +\subsubsection{\texorpdfstring{B\+M\+A\+Response()}{BMAResponse()}} +{\footnotesize\ttfamily B\+M\+A\+Response\+::\+B\+M\+A\+Response (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +The constructor for the object. \mbox{\Hypertarget{class_b_m_a_response_a49a9c247f4a24228999f821ca9ed0f1c}\label{class_b_m_a_response_a49a9c247f4a24228999f821ca9ed0f1c}} +\index{B\+M\+A\+Response@{B\+M\+A\+Response}!````~B\+M\+A\+Response@{$\sim$\+B\+M\+A\+Response}} +\index{````~B\+M\+A\+Response@{$\sim$\+B\+M\+A\+Response}!B\+M\+A\+Response@{B\+M\+A\+Response}} +\subsubsection{\texorpdfstring{$\sim$\+B\+M\+A\+Response()}{~BMAResponse()}} +{\footnotesize\ttfamily B\+M\+A\+Response\+::$\sim$\+B\+M\+A\+Response (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +The destructor for the object. + +\subsection{Member Function Documentation} +\mbox{\Hypertarget{class_b_m_a_response_a4a3cb34b0ae6960e2e128e48ef6d7de0}\label{class_b_m_a_response_a4a3cb34b0ae6960e2e128e48ef6d7de0}} +\index{B\+M\+A\+Response@{B\+M\+A\+Response}!get\+Response@{get\+Response}} +\index{get\+Response@{get\+Response}!B\+M\+A\+Response@{B\+M\+A\+Response}} +\subsubsection{\texorpdfstring{get\+Response()}{getResponse()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} +{\footnotesize\ttfamily std\+::string B\+M\+A\+Response\+::get\+Response (\begin{DoxyParamCaption}\item[{Mode}]{mode }\end{DoxyParamCaption})} + +Returns the response generated from the contained values that do not return a content length. Using this constructor ensures a zero length Content-\/\+Length value. + +\begin{DoxyReturn}{Returns} +the complete response string to send to client. +\end{DoxyReturn} +\mbox{\Hypertarget{class_b_m_a_response_a71d725771b4cc438728d19328cf08753}\label{class_b_m_a_response_a71d725771b4cc438728d19328cf08753}} +\index{B\+M\+A\+Response@{B\+M\+A\+Response}!get\+Response@{get\+Response}} +\index{get\+Response@{get\+Response}!B\+M\+A\+Response@{B\+M\+A\+Response}} +\subsubsection{\texorpdfstring{get\+Response()}{getResponse()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} +{\footnotesize\ttfamily std\+::string B\+M\+A\+Response\+::get\+Response (\begin{DoxyParamCaption}\item[{std\+::string}]{content, }\item[{Mode}]{mode }\end{DoxyParamCaption})} + +Returns the response plus the content passed as a parameter. + +This method will automatically generate the proper Content-\/\+Length value for the response. + + +\begin{DoxyParams}{Parameters} +{\em content} & the content that will be provided on the response message to the client.\\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +the complete response string to send to client. +\end{DoxyReturn} +\mbox{\Hypertarget{class_b_m_a_response_a95f7fe1ccd76e3f0fb6d484bb4caca68}\label{class_b_m_a_response_a95f7fe1ccd76e3f0fb6d484bb4caca68}} +\index{B\+M\+A\+Response@{B\+M\+A\+Response}!set\+Code@{set\+Code}} +\index{set\+Code@{set\+Code}!B\+M\+A\+Response@{B\+M\+A\+Response}} +\subsubsection{\texorpdfstring{set\+Code()}{setCode()}} +{\footnotesize\ttfamily void B\+M\+A\+Response\+::set\+Code (\begin{DoxyParamCaption}\item[{std\+::string}]{code }\end{DoxyParamCaption})} + +Sets the return code value for the response. + + +\begin{DoxyParams}{Parameters} +{\em code} & the response code value to return in the response. \\ +\hline +\end{DoxyParams} +\mbox{\Hypertarget{class_b_m_a_response_ab24318e9036baba9b5b3824509e29a09}\label{class_b_m_a_response_ab24318e9036baba9b5b3824509e29a09}} +\index{B\+M\+A\+Response@{B\+M\+A\+Response}!set\+Mime\+Type@{set\+Mime\+Type}} +\index{set\+Mime\+Type@{set\+Mime\+Type}!B\+M\+A\+Response@{B\+M\+A\+Response}} +\subsubsection{\texorpdfstring{set\+Mime\+Type()}{setMimeType()}} +{\footnotesize\ttfamily void B\+M\+A\+Response\+::set\+Mime\+Type (\begin{DoxyParamCaption}\item[{std\+::string}]{mime\+Type }\end{DoxyParamCaption})} + +Specifies the type of data that will be returned in this response. + + +\begin{DoxyParams}{Parameters} +{\em mime\+Type} & the mime type for the data. \\ +\hline +\end{DoxyParams} +\mbox{\Hypertarget{class_b_m_a_response_a5526051a488f5f0b47fd6b7880b09cba}\label{class_b_m_a_response_a5526051a488f5f0b47fd6b7880b09cba}} +\index{B\+M\+A\+Response@{B\+M\+A\+Response}!set\+Protocol@{set\+Protocol}} +\index{set\+Protocol@{set\+Protocol}!B\+M\+A\+Response@{B\+M\+A\+Response}} +\subsubsection{\texorpdfstring{set\+Protocol()}{setProtocol()}} +{\footnotesize\ttfamily void B\+M\+A\+Response\+::set\+Protocol (\begin{DoxyParamCaption}\item[{std\+::string}]{protocol }\end{DoxyParamCaption})} + +Sets the protocol value for the response message. The protocol should match the header received. + + +\begin{DoxyParams}{Parameters} +{\em protocol} & the protocol value to return in response. \\ +\hline +\end{DoxyParams} +\mbox{\Hypertarget{class_b_m_a_response_afec05f85173433e640685154bc11842b}\label{class_b_m_a_response_afec05f85173433e640685154bc11842b}} +\index{B\+M\+A\+Response@{B\+M\+A\+Response}!set\+Text@{set\+Text}} +\index{set\+Text@{set\+Text}!B\+M\+A\+Response@{B\+M\+A\+Response}} +\subsubsection{\texorpdfstring{set\+Text()}{setText()}} +{\footnotesize\ttfamily void B\+M\+A\+Response\+::set\+Text (\begin{DoxyParamCaption}\item[{std\+::string}]{text }\end{DoxyParamCaption})} + +Sets the return code string value for the response. + + +\begin{DoxyParams}{Parameters} +{\em text} & the text value for the response code to return on the response. \\ +\hline +\end{DoxyParams} + + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/B\+M\+A\+Response.\+h\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/B\+M\+A\+Response.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_response__coll__graph.md5 b/docs/latex/class_b_m_a_response__coll__graph.md5 new file mode 100644 index 0000000..7bb8b5d --- /dev/null +++ b/docs/latex/class_b_m_a_response__coll__graph.md5 @@ -0,0 +1 @@ +0ff48493407efc767e366199d5a3484a \ No newline at end of file diff --git a/docs/latex/class_b_m_a_response__coll__graph.pdf b/docs/latex/class_b_m_a_response__coll__graph.pdf new file mode 100644 index 0000000..f3b1126 Binary files /dev/null and b/docs/latex/class_b_m_a_response__coll__graph.pdf differ diff --git a/docs/latex/class_b_m_a_response__inherit__graph.md5 b/docs/latex/class_b_m_a_response__inherit__graph.md5 new file mode 100644 index 0000000..9a1fe46 --- /dev/null +++ b/docs/latex/class_b_m_a_response__inherit__graph.md5 @@ -0,0 +1 @@ +6131fdab24e1f72cecdfa4faa0feb311 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_response__inherit__graph.pdf b/docs/latex/class_b_m_a_response__inherit__graph.pdf new file mode 100644 index 0000000..f3b1126 Binary files /dev/null and b/docs/latex/class_b_m_a_response__inherit__graph.pdf differ diff --git a/docs/latex/class_b_m_a_s_i_p_i_n_v_i_t_e.tex b/docs/latex/class_b_m_a_s_i_p_i_n_v_i_t_e.tex new file mode 100644 index 0000000..80623dc --- /dev/null +++ b/docs/latex/class_b_m_a_s_i_p_i_n_v_i_t_e.tex @@ -0,0 +1,36 @@ +\hypertarget{class_b_m_a_s_i_p_i_n_v_i_t_e}{}\section{B\+M\+A\+S\+I\+P\+I\+N\+V\+I\+TE Class Reference} +\label{class_b_m_a_s_i_p_i_n_v_i_t_e}\index{B\+M\+A\+S\+I\+P\+I\+N\+V\+I\+TE@{B\+M\+A\+S\+I\+P\+I\+N\+V\+I\+TE}} + + +Inheritance diagram for B\+M\+A\+S\+I\+P\+I\+N\+V\+I\+TE\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=205pt]{class_b_m_a_s_i_p_i_n_v_i_t_e__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for B\+M\+A\+S\+I\+P\+I\+N\+V\+I\+TE\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=205pt]{class_b_m_a_s_i_p_i_n_v_i_t_e__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_s_i_p_i_n_v_i_t_e_a50f4876fb27a2663d2a8bea48d781ca2}\label{class_b_m_a_s_i_p_i_n_v_i_t_e_a50f4876fb27a2663d2a8bea48d781ca2}} +{\bfseries B\+M\+A\+S\+I\+P\+I\+N\+V\+I\+TE} (\hyperlink{class_b_m_a_s_i_p_server}{B\+M\+A\+S\+I\+P\+Server} \&server, std\+::string url) +\item +\mbox{\Hypertarget{class_b_m_a_s_i_p_i_n_v_i_t_e_afddfa168dc18d636cd77fb6347ceb9f0}\label{class_b_m_a_s_i_p_i_n_v_i_t_e_afddfa168dc18d636cd77fb6347ceb9f0}} +int {\bfseries response} (std\+::stringstream \&sink) override +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+S\+I\+P\+I\+N\+V\+I\+T\+E.\+h\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+S\+I\+P\+I\+N\+V\+I\+T\+E.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_s_i_p_i_n_v_i_t_e__coll__graph.md5 b/docs/latex/class_b_m_a_s_i_p_i_n_v_i_t_e__coll__graph.md5 new file mode 100644 index 0000000..672e3f3 --- /dev/null +++ b/docs/latex/class_b_m_a_s_i_p_i_n_v_i_t_e__coll__graph.md5 @@ -0,0 +1 @@ +857b5c3be1972821a7fa784317133cf7 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_s_i_p_i_n_v_i_t_e__coll__graph.pdf b/docs/latex/class_b_m_a_s_i_p_i_n_v_i_t_e__coll__graph.pdf new file mode 100644 index 0000000..fc1f177 Binary files /dev/null and b/docs/latex/class_b_m_a_s_i_p_i_n_v_i_t_e__coll__graph.pdf differ diff --git a/docs/latex/class_b_m_a_s_i_p_i_n_v_i_t_e__inherit__graph.md5 b/docs/latex/class_b_m_a_s_i_p_i_n_v_i_t_e__inherit__graph.md5 new file mode 100644 index 0000000..2d717d9 --- /dev/null +++ b/docs/latex/class_b_m_a_s_i_p_i_n_v_i_t_e__inherit__graph.md5 @@ -0,0 +1 @@ +48b987618269bde93e58b7e71e8c39bf \ No newline at end of file diff --git a/docs/latex/class_b_m_a_s_i_p_i_n_v_i_t_e__inherit__graph.pdf b/docs/latex/class_b_m_a_s_i_p_i_n_v_i_t_e__inherit__graph.pdf new file mode 100644 index 0000000..fc1f177 Binary files /dev/null and b/docs/latex/class_b_m_a_s_i_p_i_n_v_i_t_e__inherit__graph.pdf differ diff --git a/docs/latex/class_b_m_a_s_i_p_r_e_g_i_s_t_e_r.tex b/docs/latex/class_b_m_a_s_i_p_r_e_g_i_s_t_e_r.tex new file mode 100644 index 0000000..3c05ad6 --- /dev/null +++ b/docs/latex/class_b_m_a_s_i_p_r_e_g_i_s_t_e_r.tex @@ -0,0 +1,36 @@ +\hypertarget{class_b_m_a_s_i_p_r_e_g_i_s_t_e_r}{}\section{B\+M\+A\+S\+I\+P\+R\+E\+G\+I\+S\+T\+ER Class Reference} +\label{class_b_m_a_s_i_p_r_e_g_i_s_t_e_r}\index{B\+M\+A\+S\+I\+P\+R\+E\+G\+I\+S\+T\+ER@{B\+M\+A\+S\+I\+P\+R\+E\+G\+I\+S\+T\+ER}} + + +Inheritance diagram for B\+M\+A\+S\+I\+P\+R\+E\+G\+I\+S\+T\+ER\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=205pt]{class_b_m_a_s_i_p_r_e_g_i_s_t_e_r__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for B\+M\+A\+S\+I\+P\+R\+E\+G\+I\+S\+T\+ER\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=205pt]{class_b_m_a_s_i_p_r_e_g_i_s_t_e_r__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_s_i_p_r_e_g_i_s_t_e_r_afcd810ad29720993e519e8d204e262f9}\label{class_b_m_a_s_i_p_r_e_g_i_s_t_e_r_afcd810ad29720993e519e8d204e262f9}} +{\bfseries B\+M\+A\+S\+I\+P\+R\+E\+G\+I\+S\+T\+ER} (\hyperlink{class_b_m_a_s_i_p_server}{B\+M\+A\+S\+I\+P\+Server} \&server, std\+::string url) +\item +\mbox{\Hypertarget{class_b_m_a_s_i_p_r_e_g_i_s_t_e_r_a996ec80f279fcebf8101280928cb4593}\label{class_b_m_a_s_i_p_r_e_g_i_s_t_e_r_a996ec80f279fcebf8101280928cb4593}} +int {\bfseries response} (std\+::stringstream \&sink) override +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+S\+I\+P\+R\+E\+G\+I\+S\+T\+E\+R.\+h\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+S\+I\+P\+R\+E\+G\+I\+S\+T\+E\+R.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_s_i_p_r_e_g_i_s_t_e_r__coll__graph.md5 b/docs/latex/class_b_m_a_s_i_p_r_e_g_i_s_t_e_r__coll__graph.md5 new file mode 100644 index 0000000..ff3119d --- /dev/null +++ b/docs/latex/class_b_m_a_s_i_p_r_e_g_i_s_t_e_r__coll__graph.md5 @@ -0,0 +1 @@ +005641975cb86cb765cea128b083a05f \ No newline at end of file diff --git a/docs/latex/class_b_m_a_s_i_p_r_e_g_i_s_t_e_r__coll__graph.pdf b/docs/latex/class_b_m_a_s_i_p_r_e_g_i_s_t_e_r__coll__graph.pdf new file mode 100644 index 0000000..b7344d6 Binary files /dev/null and b/docs/latex/class_b_m_a_s_i_p_r_e_g_i_s_t_e_r__coll__graph.pdf differ diff --git a/docs/latex/class_b_m_a_s_i_p_r_e_g_i_s_t_e_r__inherit__graph.md5 b/docs/latex/class_b_m_a_s_i_p_r_e_g_i_s_t_e_r__inherit__graph.md5 new file mode 100644 index 0000000..534b657 --- /dev/null +++ b/docs/latex/class_b_m_a_s_i_p_r_e_g_i_s_t_e_r__inherit__graph.md5 @@ -0,0 +1 @@ +531d422c9b8d286963081d061e545903 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_s_i_p_r_e_g_i_s_t_e_r__inherit__graph.pdf b/docs/latex/class_b_m_a_s_i_p_r_e_g_i_s_t_e_r__inherit__graph.pdf new file mode 100644 index 0000000..b7344d6 Binary files /dev/null and b/docs/latex/class_b_m_a_s_i_p_r_e_g_i_s_t_e_r__inherit__graph.pdf differ diff --git a/docs/latex/class_b_m_a_s_i_p_request_handler.tex b/docs/latex/class_b_m_a_s_i_p_request_handler.tex new file mode 100644 index 0000000..ff51377 --- /dev/null +++ b/docs/latex/class_b_m_a_s_i_p_request_handler.tex @@ -0,0 +1,36 @@ +\hypertarget{class_b_m_a_s_i_p_request_handler}{}\section{B\+M\+A\+S\+I\+P\+Request\+Handler Class Reference} +\label{class_b_m_a_s_i_p_request_handler}\index{B\+M\+A\+S\+I\+P\+Request\+Handler@{B\+M\+A\+S\+I\+P\+Request\+Handler}} + + +Inheritance diagram for B\+M\+A\+S\+I\+P\+Request\+Handler\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=293pt]{class_b_m_a_s_i_p_request_handler__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for B\+M\+A\+S\+I\+P\+Request\+Handler\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=205pt]{class_b_m_a_s_i_p_request_handler__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_s_i_p_request_handler_af1c7197ea97c4bd03a9d96fc544111d5}\label{class_b_m_a_s_i_p_request_handler_af1c7197ea97c4bd03a9d96fc544111d5}} +{\bfseries B\+M\+A\+S\+I\+P\+Request\+Handler} (\hyperlink{class_b_m_a_s_i_p_server}{B\+M\+A\+S\+I\+P\+Server} \&server, std\+::string path) +\item +\mbox{\Hypertarget{class_b_m_a_s_i_p_request_handler_a52f44d394c70dafa17a2ef19974703de}\label{class_b_m_a_s_i_p_request_handler_a52f44d394c70dafa17a2ef19974703de}} +virtual int {\bfseries response} (std\+::stringstream \&sink) +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+S\+I\+P\+Request\+Handler.\+h\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+S\+I\+P\+Request\+Handler.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_s_i_p_request_handler__coll__graph.md5 b/docs/latex/class_b_m_a_s_i_p_request_handler__coll__graph.md5 new file mode 100644 index 0000000..45d5c12 --- /dev/null +++ b/docs/latex/class_b_m_a_s_i_p_request_handler__coll__graph.md5 @@ -0,0 +1 @@ +6bef092c55e03040d85bddc7ce95b804 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_s_i_p_request_handler__coll__graph.pdf b/docs/latex/class_b_m_a_s_i_p_request_handler__coll__graph.pdf new file mode 100644 index 0000000..1a75176 Binary files /dev/null and b/docs/latex/class_b_m_a_s_i_p_request_handler__coll__graph.pdf differ diff --git a/docs/latex/class_b_m_a_s_i_p_request_handler__inherit__graph.md5 b/docs/latex/class_b_m_a_s_i_p_request_handler__inherit__graph.md5 new file mode 100644 index 0000000..5959d57 --- /dev/null +++ b/docs/latex/class_b_m_a_s_i_p_request_handler__inherit__graph.md5 @@ -0,0 +1 @@ +7df3aba3db532e90d1c1492833d32b2b \ No newline at end of file diff --git a/docs/latex/class_b_m_a_s_i_p_request_handler__inherit__graph.pdf b/docs/latex/class_b_m_a_s_i_p_request_handler__inherit__graph.pdf new file mode 100644 index 0000000..d5024f1 Binary files /dev/null and b/docs/latex/class_b_m_a_s_i_p_request_handler__inherit__graph.pdf differ diff --git a/docs/latex/class_b_m_a_s_i_p_server.tex b/docs/latex/class_b_m_a_s_i_p_server.tex new file mode 100644 index 0000000..3c129aa --- /dev/null +++ b/docs/latex/class_b_m_a_s_i_p_server.tex @@ -0,0 +1,60 @@ +\hypertarget{class_b_m_a_s_i_p_server}{}\section{B\+M\+A\+S\+I\+P\+Server Class Reference} +\label{class_b_m_a_s_i_p_server}\index{B\+M\+A\+S\+I\+P\+Server@{B\+M\+A\+S\+I\+P\+Server}} + + +Inheritance diagram for B\+M\+A\+S\+I\+P\+Server\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=270pt]{class_b_m_a_s_i_p_server__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for B\+M\+A\+S\+I\+P\+Server\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{class_b_m_a_s_i_p_server__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_s_i_p_server_ae196b9426443d3d155fc15eca55efb72}\label{class_b_m_a_s_i_p_server_ae196b9426443d3d155fc15eca55efb72}} +{\bfseries B\+M\+A\+S\+I\+P\+Server} (\hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} \&e\+Poll, std\+::string url, short int port, std\+::string command\+Name) +\item +\mbox{\Hypertarget{class_b_m_a_s_i_p_server_a13c0a5288399af4a08a389e0a88c0d60}\label{class_b_m_a_s_i_p_server_a13c0a5288399af4a08a389e0a88c0d60}} +void {\bfseries register\+Handler} (std\+::string request, \hyperlink{class_b_m_a_s_i_p_request_handler}{B\+M\+A\+S\+I\+P\+Request\+Handler} \&request\+Handler) +\item +\mbox{\Hypertarget{class_b_m_a_s_i_p_server_a89024135ffa80f3423e5623ae0720728}\label{class_b_m_a_s_i_p_server_a89024135ffa80f3423e5623ae0720728}} +void {\bfseries unregister\+Handler} (\hyperlink{class_b_m_a_s_i_p_request_handler}{B\+M\+A\+S\+I\+P\+Request\+Handler} \&request\+Handler) +\item +\mbox{\Hypertarget{class_b_m_a_s_i_p_server_a5279cc6f08b3d8b87ec3ca5c2345cabd}\label{class_b_m_a_s_i_p_server_a5279cc6f08b3d8b87ec3ca5c2345cabd}} +\hyperlink{class_b_m_a_s_i_p_request_handler}{B\+M\+A\+S\+I\+P\+Request\+Handler} $\ast$ {\bfseries get\+Request\+Handler} (std\+::string request) +\end{DoxyCompactItemize} +\subsection*{Protected Member Functions} +\begin{DoxyCompactItemize} +\item +\hyperlink{class_b_m_a_session}{B\+M\+A\+Session} $\ast$ \hyperlink{class_b_m_a_s_i_p_server_a6b19c46961b603bcad6b268761d0e2ed}{get\+Socket\+Accept} () override +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +\subsection{Member Function Documentation} +\mbox{\Hypertarget{class_b_m_a_s_i_p_server_a6b19c46961b603bcad6b268761d0e2ed}\label{class_b_m_a_s_i_p_server_a6b19c46961b603bcad6b268761d0e2ed}} +\index{B\+M\+A\+S\+I\+P\+Server@{B\+M\+A\+S\+I\+P\+Server}!get\+Socket\+Accept@{get\+Socket\+Accept}} +\index{get\+Socket\+Accept@{get\+Socket\+Accept}!B\+M\+A\+S\+I\+P\+Server@{B\+M\+A\+S\+I\+P\+Server}} +\subsubsection{\texorpdfstring{get\+Socket\+Accept()}{getSocketAccept()}} +{\footnotesize\ttfamily \hyperlink{class_b_m_a_session}{B\+M\+A\+Session} $\ast$ B\+M\+A\+S\+I\+P\+Server\+::get\+Socket\+Accept (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [protected]}, {\ttfamily [virtual]}} + +get\+Socket\+Accept is designed to allow a polymorphic extension of this object to return a type of object that extends the definition of the server socket. Returning the appropriate session object that extends from \hyperlink{class_b_m_a_session}{B\+M\+A\+Session} provides the mechanism where the server can select the protocol dialog for the desired service. + +Implements \hyperlink{class_b_m_a_t_c_p_server_socket_a5eb805883d7a496be0a1cbc81c09c145}{B\+M\+A\+T\+C\+P\+Server\+Socket}. + + + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+S\+I\+P\+Server.\+h\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+S\+I\+P\+Server.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_s_i_p_server__coll__graph.md5 b/docs/latex/class_b_m_a_s_i_p_server__coll__graph.md5 new file mode 100644 index 0000000..aa96398 --- /dev/null +++ b/docs/latex/class_b_m_a_s_i_p_server__coll__graph.md5 @@ -0,0 +1 @@ +df5c93c0096a498d0c23fbddd3fa8a55 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_s_i_p_server__coll__graph.pdf b/docs/latex/class_b_m_a_s_i_p_server__coll__graph.pdf new file mode 100644 index 0000000..873e348 Binary files /dev/null and b/docs/latex/class_b_m_a_s_i_p_server__coll__graph.pdf differ diff --git a/docs/latex/class_b_m_a_s_i_p_server__inherit__graph.md5 b/docs/latex/class_b_m_a_s_i_p_server__inherit__graph.md5 new file mode 100644 index 0000000..4fff599 --- /dev/null +++ b/docs/latex/class_b_m_a_s_i_p_server__inherit__graph.md5 @@ -0,0 +1 @@ +8374ad5575ae67a3dd3e1ef70a6139a5 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_s_i_p_server__inherit__graph.pdf b/docs/latex/class_b_m_a_s_i_p_server__inherit__graph.pdf new file mode 100644 index 0000000..817a381 Binary files /dev/null and b/docs/latex/class_b_m_a_s_i_p_server__inherit__graph.pdf differ diff --git a/docs/latex/class_b_m_a_s_i_p_session.tex b/docs/latex/class_b_m_a_s_i_p_session.tex new file mode 100644 index 0000000..a44d289 --- /dev/null +++ b/docs/latex/class_b_m_a_s_i_p_session.tex @@ -0,0 +1,39 @@ +\hypertarget{class_b_m_a_s_i_p_session}{}\section{B\+M\+A\+S\+I\+P\+Session Class Reference} +\label{class_b_m_a_s_i_p_session}\index{B\+M\+A\+S\+I\+P\+Session@{B\+M\+A\+S\+I\+P\+Session}} + + +Inheritance diagram for B\+M\+A\+S\+I\+P\+Session\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=246pt]{class_b_m_a_s_i_p_session__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for B\+M\+A\+S\+I\+P\+Session\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{class_b_m_a_s_i_p_session__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_s_i_p_session_a5c81150e2d965d70c25d84c95734b0a7}\label{class_b_m_a_s_i_p_session_a5c81150e2d965d70c25d84c95734b0a7}} +{\bfseries B\+M\+A\+S\+I\+P\+Session} (\hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} \&e\+Poll, \hyperlink{class_b_m_a_s_i_p_server}{B\+M\+A\+S\+I\+P\+Server} \&server) +\end{DoxyCompactItemize} +\subsection*{Protected Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_s_i_p_session_a85cad74d1b3a5915a0a4b4a39b717cb8}\label{class_b_m_a_s_i_p_session_a85cad74d1b3a5915a0a4b4a39b717cb8}} +void {\bfseries protocol} (std\+::string data) override +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+S\+I\+P\+Session.\+h\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+S\+I\+P\+Session.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_s_i_p_session__coll__graph.md5 b/docs/latex/class_b_m_a_s_i_p_session__coll__graph.md5 new file mode 100644 index 0000000..c0b9c24 --- /dev/null +++ b/docs/latex/class_b_m_a_s_i_p_session__coll__graph.md5 @@ -0,0 +1 @@ +b6efd21743a1d6aafdb2d53516e20bf8 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_s_i_p_session__coll__graph.pdf b/docs/latex/class_b_m_a_s_i_p_session__coll__graph.pdf new file mode 100644 index 0000000..7ddd474 Binary files /dev/null and b/docs/latex/class_b_m_a_s_i_p_session__coll__graph.pdf differ diff --git a/docs/latex/class_b_m_a_s_i_p_session__inherit__graph.md5 b/docs/latex/class_b_m_a_s_i_p_session__inherit__graph.md5 new file mode 100644 index 0000000..412277e --- /dev/null +++ b/docs/latex/class_b_m_a_s_i_p_session__inherit__graph.md5 @@ -0,0 +1 @@ +906f0ddcb418e89fcc53a656b23d2f5f \ No newline at end of file diff --git a/docs/latex/class_b_m_a_s_i_p_session__inherit__graph.pdf b/docs/latex/class_b_m_a_s_i_p_session__inherit__graph.pdf new file mode 100644 index 0000000..61e2405 Binary files /dev/null and b/docs/latex/class_b_m_a_s_i_p_session__inherit__graph.pdf differ diff --git a/docs/latex/class_b_m_a_s_m_t_p_server.tex b/docs/latex/class_b_m_a_s_m_t_p_server.tex new file mode 100644 index 0000000..8211fb6 --- /dev/null +++ b/docs/latex/class_b_m_a_s_m_t_p_server.tex @@ -0,0 +1,68 @@ +\hypertarget{class_b_m_a_s_m_t_p_server}{}\section{B\+M\+A\+S\+M\+T\+P\+Server Class Reference} +\label{class_b_m_a_s_m_t_p_server}\index{B\+M\+A\+S\+M\+T\+P\+Server@{B\+M\+A\+S\+M\+T\+P\+Server}} + + +{\ttfamily \#include $<$B\+M\+A\+S\+M\+T\+P\+Server.\+h$>$} + + + +Inheritance diagram for B\+M\+A\+S\+M\+T\+P\+Server\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=270pt]{class_b_m_a_s_m_t_p_server__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for B\+M\+A\+S\+M\+T\+P\+Server\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{class_b_m_a_s_m_t_p_server__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_s_m_t_p_server_a73224075bb26d32c5e79636be0efb919}\label{class_b_m_a_s_m_t_p_server_a73224075bb26d32c5e79636be0efb919}} +{\bfseries B\+M\+A\+S\+M\+T\+P\+Server} (\hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} \&e\+Poll, std\+::string url, short int port) +\item +\hyperlink{class_b_m_a_session}{B\+M\+A\+Session} $\ast$ \hyperlink{class_b_m_a_s_m_t_p_server_afda154343e6dedba479126a2a2f80ae4}{get\+Socket\+Accept} () override +\item +\mbox{\Hypertarget{class_b_m_a_s_m_t_p_server_a4e4fc87a4298ed14514f64534ab072a6}\label{class_b_m_a_s_m_t_p_server_a4e4fc87a4298ed14514f64534ab072a6}} +void {\bfseries register\+Command} (\hyperlink{class_b_m_a_command}{B\+M\+A\+Command} \&command) +\item +\mbox{\Hypertarget{class_b_m_a_s_m_t_p_server_a932326c9729dce56fcaf32d3d6a8b2ff}\label{class_b_m_a_s_m_t_p_server_a932326c9729dce56fcaf32d3d6a8b2ff}} +int \hyperlink{class_b_m_a_s_m_t_p_server_a932326c9729dce56fcaf32d3d6a8b2ff}{process\+Command} (\hyperlink{class_b_m_a_session}{B\+M\+A\+Session} $\ast$session) override +\begin{DoxyCompactList}\small\item\em Output the consoles array to the console. \end{DoxyCompactList}\end{DoxyCompactItemize} +\subsection*{Public Attributes} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_s_m_t_p_server_ae6292dd68da6498031bf3026d54650e4}\label{class_b_m_a_s_m_t_p_server_ae6292dd68da6498031bf3026d54650e4}} +std\+::vector$<$ \hyperlink{class_b_m_a_command}{B\+M\+A\+Command} $\ast$ $>$ {\bfseries commands} +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +\subsection{Detailed Description} +\hyperlink{class_b_m_a_s_m_t_p_server}{B\+M\+A\+S\+M\+T\+P\+Server} + +Use this object to create a fully supported S\+M\+TP server. + +\subsection{Member Function Documentation} +\mbox{\Hypertarget{class_b_m_a_s_m_t_p_server_afda154343e6dedba479126a2a2f80ae4}\label{class_b_m_a_s_m_t_p_server_afda154343e6dedba479126a2a2f80ae4}} +\index{B\+M\+A\+S\+M\+T\+P\+Server@{B\+M\+A\+S\+M\+T\+P\+Server}!get\+Socket\+Accept@{get\+Socket\+Accept}} +\index{get\+Socket\+Accept@{get\+Socket\+Accept}!B\+M\+A\+S\+M\+T\+P\+Server@{B\+M\+A\+S\+M\+T\+P\+Server}} +\subsubsection{\texorpdfstring{get\+Socket\+Accept()}{getSocketAccept()}} +{\footnotesize\ttfamily \hyperlink{class_b_m_a_session}{B\+M\+A\+Session}$\ast$ B\+M\+A\+S\+M\+T\+P\+Server\+::get\+Socket\+Accept (\begin{DoxyParamCaption}{ }\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{class_b_m_a_session}{B\+M\+A\+Session} provides the mechanism where the server can select the protocol dialog for the desired service. + +Implements \hyperlink{class_b_m_a_t_c_p_server_socket_a5eb805883d7a496be0a1cbc81c09c145}{B\+M\+A\+T\+C\+P\+Server\+Socket}. + + + +The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+S\+M\+T\+P\+Server.\+h\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_s_m_t_p_server__coll__graph.md5 b/docs/latex/class_b_m_a_s_m_t_p_server__coll__graph.md5 new file mode 100644 index 0000000..69c7363 --- /dev/null +++ b/docs/latex/class_b_m_a_s_m_t_p_server__coll__graph.md5 @@ -0,0 +1 @@ +e601be9594d7398eb5b4472616a98e82 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_s_m_t_p_server__coll__graph.pdf b/docs/latex/class_b_m_a_s_m_t_p_server__coll__graph.pdf new file mode 100644 index 0000000..d49f33e Binary files /dev/null and b/docs/latex/class_b_m_a_s_m_t_p_server__coll__graph.pdf differ diff --git a/docs/latex/class_b_m_a_s_m_t_p_server__inherit__graph.md5 b/docs/latex/class_b_m_a_s_m_t_p_server__inherit__graph.md5 new file mode 100644 index 0000000..45328a0 --- /dev/null +++ b/docs/latex/class_b_m_a_s_m_t_p_server__inherit__graph.md5 @@ -0,0 +1 @@ +b4cc311dc5468e8ad241e473a764262d \ No newline at end of file diff --git a/docs/latex/class_b_m_a_s_m_t_p_server__inherit__graph.pdf b/docs/latex/class_b_m_a_s_m_t_p_server__inherit__graph.pdf new file mode 100644 index 0000000..72f728e Binary files /dev/null and b/docs/latex/class_b_m_a_s_m_t_p_server__inherit__graph.pdf differ diff --git a/docs/latex/class_b_m_a_s_m_t_p_session.tex b/docs/latex/class_b_m_a_s_m_t_p_session.tex new file mode 100644 index 0000000..b71057f --- /dev/null +++ b/docs/latex/class_b_m_a_s_m_t_p_session.tex @@ -0,0 +1,62 @@ +\hypertarget{class_b_m_a_s_m_t_p_session}{}\section{B\+M\+A\+S\+M\+T\+P\+Session Class Reference} +\label{class_b_m_a_s_m_t_p_session}\index{B\+M\+A\+S\+M\+T\+P\+Session@{B\+M\+A\+S\+M\+T\+P\+Session}} + + +{\ttfamily \#include $<$B\+M\+A\+S\+M\+T\+P\+Session.\+h$>$} + + + +Inheritance diagram for B\+M\+A\+S\+M\+T\+P\+Session\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=246pt]{class_b_m_a_s_m_t_p_session__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for B\+M\+A\+S\+M\+T\+P\+Session\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{class_b_m_a_s_m_t_p_session__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_s_m_t_p_session_ae72844889eaaf14dad919af13d410e7c}\label{class_b_m_a_s_m_t_p_session_ae72844889eaaf14dad919af13d410e7c}} +{\bfseries B\+M\+A\+Console\+Session} (\hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} \&e\+Poll, \hyperlink{class_b_m_a_console_server}{B\+M\+A\+Console\+Server} \&server) +\item +virtual void \hyperlink{class_b_m_a_s_m_t_p_session_a09003f70947aca308db92b7419c4f126}{output} (std\+::stringstream \&out) +\end{DoxyCompactItemize} +\subsection*{Protected Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_s_m_t_p_session_af3e3060f0124d507a8a4fb68beca8d17}\label{class_b_m_a_s_m_t_p_session_af3e3060f0124d507a8a4fb68beca8d17}} +void {\bfseries protocol} (char $\ast$data, int length) override +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +\subsection{Detailed Description} +\hyperlink{class_b_m_a_console_session}{B\+M\+A\+Console\+Session} + +Extends the session parameters for this \hyperlink{class_b_m_a_t_c_p_socket}{B\+M\+A\+T\+C\+P\+Socket} derived object. Extend the protocol() method in order to define the behavior and protocol interaction for this socket which is a console session. + +\subsection{Member Function Documentation} +\mbox{\Hypertarget{class_b_m_a_s_m_t_p_session_a09003f70947aca308db92b7419c4f126}\label{class_b_m_a_s_m_t_p_session_a09003f70947aca308db92b7419c4f126}} +\index{B\+M\+A\+S\+M\+T\+P\+Session@{B\+M\+A\+S\+M\+T\+P\+Session}!output@{output}} +\index{output@{output}!B\+M\+A\+S\+M\+T\+P\+Session@{B\+M\+A\+S\+M\+T\+P\+Session}} +\subsubsection{\texorpdfstring{output()}{output()}} +{\footnotesize\ttfamily virtual void B\+M\+A\+S\+M\+T\+P\+Session\+::output (\begin{DoxyParamCaption}\item[{std\+::stringstream \&}]{out }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}} + +The output method is called by a socket session (\hyperlink{class_b_m_a_session}{B\+M\+A\+Session}) and will output the detail information for the client socket. When extending \hyperlink{class_b_m_a_t_c_p_socket}{B\+M\+A\+T\+C\+P\+Socket} or \hyperlink{class_b_m_a_session}{B\+M\+A\+Session} you can override the method to add attributes to the list. + +Reimplemented from \hyperlink{class_b_m_a_t_c_p_socket_a017112b916d42b9e86b39da747c364c1}{B\+M\+A\+T\+C\+P\+Socket}. + + + +The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+S\+M\+T\+P\+Session.\+h\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_s_m_t_p_session__coll__graph.md5 b/docs/latex/class_b_m_a_s_m_t_p_session__coll__graph.md5 new file mode 100644 index 0000000..3e2abe5 --- /dev/null +++ b/docs/latex/class_b_m_a_s_m_t_p_session__coll__graph.md5 @@ -0,0 +1 @@ +97dfa40f70b05aa019dbe59b2fed5174 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_s_m_t_p_session__coll__graph.pdf b/docs/latex/class_b_m_a_s_m_t_p_session__coll__graph.pdf new file mode 100644 index 0000000..fafb5d8 Binary files /dev/null and b/docs/latex/class_b_m_a_s_m_t_p_session__coll__graph.pdf differ diff --git a/docs/latex/class_b_m_a_s_m_t_p_session__inherit__graph.md5 b/docs/latex/class_b_m_a_s_m_t_p_session__inherit__graph.md5 new file mode 100644 index 0000000..a9d143f --- /dev/null +++ b/docs/latex/class_b_m_a_s_m_t_p_session__inherit__graph.md5 @@ -0,0 +1 @@ +4d386184e31f72d7f40bb11c925f8e52 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_s_m_t_p_session__inherit__graph.pdf b/docs/latex/class_b_m_a_s_m_t_p_session__inherit__graph.pdf new file mode 100644 index 0000000..7321db0 Binary files /dev/null and b/docs/latex/class_b_m_a_s_m_t_p_session__inherit__graph.pdf differ diff --git a/docs/latex/class_b_m_a_session.tex b/docs/latex/class_b_m_a_session.tex new file mode 100644 index 0000000..61abe93 --- /dev/null +++ b/docs/latex/class_b_m_a_session.tex @@ -0,0 +1,134 @@ +\hypertarget{class_b_m_a_session}{}\section{B\+M\+A\+Session Class Reference} +\label{class_b_m_a_session}\index{B\+M\+A\+Session@{B\+M\+A\+Session}} + + +{\ttfamily \#include $<$B\+M\+A\+Session.\+h$>$} + + + +Inheritance diagram for B\+M\+A\+Session\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=283pt]{class_b_m_a_session__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for B\+M\+A\+Session\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{class_b_m_a_session__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_session_ab83bcfe0f9681c9f132793df0ec9f7bc}\label{class_b_m_a_session_ab83bcfe0f9681c9f132793df0ec9f7bc}} +{\bfseries B\+M\+A\+Session} (\hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} \&e\+Poll, \hyperlink{class_b_m_a_t_c_p_server_socket}{B\+M\+A\+T\+C\+P\+Server\+Socket} \&server) +\item +\mbox{\Hypertarget{class_b_m_a_session_ac44c5b12a9f7ca3b2aeffdb88e928417}\label{class_b_m_a_session_ac44c5b12a9f7ca3b2aeffdb88e928417}} +virtual void {\bfseries init} () +\item +\mbox{\Hypertarget{class_b_m_a_session_a9fa21f44e619122edfab161a4ce2b2c3}\label{class_b_m_a_session_a9fa21f44e619122edfab161a4ce2b2c3}} +virtual void {\bfseries output} (\hyperlink{class_b_m_a_session}{B\+M\+A\+Session} $\ast$session) +\item +void \hyperlink{class_b_m_a_session_af8a24d95fd661d0d992b60d18fcd0f39}{send} () +\item +void \hyperlink{class_b_m_a_session_a094faf173070e84ccd9c8ae1bba46354}{send\+To\+All} () +\item +void \hyperlink{class_b_m_a_session_a0f016f295869394f54819594267d033f}{send\+To\+All} (\hyperlink{class_b_m_a_session_filter}{B\+M\+A\+Session\+Filter} $\ast$filter) +\item +\mbox{\Hypertarget{class_b_m_a_session_a4c719e3e012b386602e9cfc681ce2be0}\label{class_b_m_a_session_a4c719e3e012b386602e9cfc681ce2be0}} +\hyperlink{class_b_m_a_t_c_p_server_socket}{B\+M\+A\+T\+C\+P\+Server\+Socket} \& {\bfseries get\+Server} () +\end{DoxyCompactItemize} +\subsection*{Public Attributes} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_session_a283478c55b4cd3fd12f2bc77d4fd3df0}\label{class_b_m_a_session_a283478c55b4cd3fd12f2bc77d4fd3df0}} +std\+::stringstream {\bfseries out} +\item +\mbox{\Hypertarget{class_b_m_a_session_a94c73261a2bd0fda9527f702d3ddf29f}\label{class_b_m_a_session_a94c73261a2bd0fda9527f702d3ddf29f}} +\hyperlink{class_b_m_a_t_c_p_server_socket}{B\+M\+A\+T\+C\+P\+Server\+Socket} \& {\bfseries server} +\end{DoxyCompactItemize} +\subsection*{Protected Member Functions} +\begin{DoxyCompactItemize} +\item +void \hyperlink{class_b_m_a_session_a7e627773deafd5f38d05d57653385048}{on\+Data\+Received} (std\+::string data) override +\begin{DoxyCompactList}\small\item\em Called when data is received from the socket. \end{DoxyCompactList}\item +void \hyperlink{class_b_m_a_session_a0d382f77e98c53e966119c2563cbfef5}{on\+Connected} () override +\begin{DoxyCompactList}\small\item\em Called when socket is open and ready to communicate. \end{DoxyCompactList}\item +\mbox{\Hypertarget{class_b_m_a_session_a6675f7c1408bbb7d4b8d93deb0d722de}\label{class_b_m_a_session_a6675f7c1408bbb7d4b8d93deb0d722de}} +virtual void {\bfseries protocol} (std\+::string data)=0 +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +\subsection{Detailed Description} +\hyperlink{class_b_m_a_session}{B\+M\+A\+Session} + +\hyperlink{class_b_m_a_session}{B\+M\+A\+Session} defines the nature of the interaction with the client and stores persistent data for a defined session. \hyperlink{class_b_m_a_session}{B\+M\+A\+Session} objects are not sockets but instead provide a communications control mechanism. Protocol conversations are provided through extensions from this object. + +\subsection{Member Function Documentation} +\mbox{\Hypertarget{class_b_m_a_session_a0d382f77e98c53e966119c2563cbfef5}\label{class_b_m_a_session_a0d382f77e98c53e966119c2563cbfef5}} +\index{B\+M\+A\+Session@{B\+M\+A\+Session}!on\+Connected@{on\+Connected}} +\index{on\+Connected@{on\+Connected}!B\+M\+A\+Session@{B\+M\+A\+Session}} +\subsubsection{\texorpdfstring{on\+Connected()}{onConnected()}} +{\footnotesize\ttfamily void B\+M\+A\+Session\+::on\+Connected (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [protected]}, {\ttfamily [virtual]}} + + + +Called when socket is open and ready to communicate. + +The on\+Connected method is called when the socket is ready to communicate. Writing to the socket can begin on this call to initiate a contact with the remote device. + +Reimplemented from \hyperlink{class_b_m_a_socket_ac2206da05ab857ec64c5d4addb04a4bf}{B\+M\+A\+Socket}. + +\mbox{\Hypertarget{class_b_m_a_session_a7e627773deafd5f38d05d57653385048}\label{class_b_m_a_session_a7e627773deafd5f38d05d57653385048}} +\index{B\+M\+A\+Session@{B\+M\+A\+Session}!on\+Data\+Received@{on\+Data\+Received}} +\index{on\+Data\+Received@{on\+Data\+Received}!B\+M\+A\+Session@{B\+M\+A\+Session}} +\subsubsection{\texorpdfstring{on\+Data\+Received()}{onDataReceived()}} +{\footnotesize\ttfamily void B\+M\+A\+Session\+::on\+Data\+Received (\begin{DoxyParamCaption}\item[{std\+::string}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [protected]}, {\ttfamily [virtual]}} + + + +Called when data is received from the socket. + +The on\+Data\+Received method is called when the socket has received an event from epoll and there is data ready to be read from the socket. The default handler will pull the data and put it into the streambuf for the socket. E\+P\+O\+L\+L\+IN + + +\begin{DoxyParams}{Parameters} +{\em data} & the data that has been received from the socket. \\ +\hline +\end{DoxyParams} + + +Implements \hyperlink{class_b_m_a_socket_ad77bf590a4d9807bd8f0a81667903f2e}{B\+M\+A\+Socket}. + +\mbox{\Hypertarget{class_b_m_a_session_af8a24d95fd661d0d992b60d18fcd0f39}\label{class_b_m_a_session_af8a24d95fd661d0d992b60d18fcd0f39}} +\index{B\+M\+A\+Session@{B\+M\+A\+Session}!send@{send}} +\index{send@{send}!B\+M\+A\+Session@{B\+M\+A\+Session}} +\subsubsection{\texorpdfstring{send()}{send()}} +{\footnotesize\ttfamily void B\+M\+A\+Session\+::send (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +The send method is used to output the contents of the out stream to the session containing the stream. \mbox{\Hypertarget{class_b_m_a_session_a094faf173070e84ccd9c8ae1bba46354}\label{class_b_m_a_session_a094faf173070e84ccd9c8ae1bba46354}} +\index{B\+M\+A\+Session@{B\+M\+A\+Session}!send\+To\+All@{send\+To\+All}} +\index{send\+To\+All@{send\+To\+All}!B\+M\+A\+Session@{B\+M\+A\+Session}} +\subsubsection{\texorpdfstring{send\+To\+All()}{sendToAll()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} +{\footnotesize\ttfamily void B\+M\+A\+Session\+::send\+To\+All (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +Use this send\+To\+All method to output the contents of the out stream to all the connections on the server excluding the sender session. \mbox{\Hypertarget{class_b_m_a_session_a0f016f295869394f54819594267d033f}\label{class_b_m_a_session_a0f016f295869394f54819594267d033f}} +\index{B\+M\+A\+Session@{B\+M\+A\+Session}!send\+To\+All@{send\+To\+All}} +\index{send\+To\+All@{send\+To\+All}!B\+M\+A\+Session@{B\+M\+A\+Session}} +\subsubsection{\texorpdfstring{send\+To\+All()}{sendToAll()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} +{\footnotesize\ttfamily void B\+M\+A\+Session\+::send\+To\+All (\begin{DoxyParamCaption}\item[{\hyperlink{class_b_m_a_session_filter}{B\+M\+A\+Session\+Filter} $\ast$}]{filter }\end{DoxyParamCaption})} + +Use this send\+To\+All method to output the contents of the out stream to all the connections on the server excluding the sender session and the entries identified by the passed in filter object. + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/B\+M\+A\+Session.\+h\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/B\+M\+A\+Session.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_session__coll__graph.md5 b/docs/latex/class_b_m_a_session__coll__graph.md5 new file mode 100644 index 0000000..f3f8e26 --- /dev/null +++ b/docs/latex/class_b_m_a_session__coll__graph.md5 @@ -0,0 +1 @@ +e5b0810070d8500b551214e98fa42928 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_session__coll__graph.pdf b/docs/latex/class_b_m_a_session__coll__graph.pdf new file mode 100644 index 0000000..bb9b221 Binary files /dev/null and b/docs/latex/class_b_m_a_session__coll__graph.pdf differ diff --git a/docs/latex/class_b_m_a_session__inherit__graph.md5 b/docs/latex/class_b_m_a_session__inherit__graph.md5 new file mode 100644 index 0000000..ec81f35 --- /dev/null +++ b/docs/latex/class_b_m_a_session__inherit__graph.md5 @@ -0,0 +1 @@ +ade37d7550e8a191e14db8f71bd72238 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_session__inherit__graph.pdf b/docs/latex/class_b_m_a_session__inherit__graph.pdf new file mode 100644 index 0000000..2132f52 Binary files /dev/null and b/docs/latex/class_b_m_a_session__inherit__graph.pdf differ diff --git a/docs/latex/class_b_m_a_session_filter.tex b/docs/latex/class_b_m_a_session_filter.tex new file mode 100644 index 0000000..f82139e --- /dev/null +++ b/docs/latex/class_b_m_a_session_filter.tex @@ -0,0 +1,32 @@ +\hypertarget{class_b_m_a_session_filter}{}\section{B\+M\+A\+Session\+Filter Class Reference} +\label{class_b_m_a_session_filter}\index{B\+M\+A\+Session\+Filter@{B\+M\+A\+Session\+Filter}} + + +Inheritance diagram for B\+M\+A\+Session\+Filter\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=175pt]{class_b_m_a_session_filter__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for B\+M\+A\+Session\+Filter\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=175pt]{class_b_m_a_session_filter__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_session_filter_aa57c4edbbaf106bdbc77eebec8d2c9bf}\label{class_b_m_a_session_filter_aa57c4edbbaf106bdbc77eebec8d2c9bf}} +virtual bool {\bfseries test} (\hyperlink{class_b_m_a_session}{B\+M\+A\+Session} \&session) +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/B\+M\+A\+Session\+Filter.\+h\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_session_filter__coll__graph.md5 b/docs/latex/class_b_m_a_session_filter__coll__graph.md5 new file mode 100644 index 0000000..d1d2727 --- /dev/null +++ b/docs/latex/class_b_m_a_session_filter__coll__graph.md5 @@ -0,0 +1 @@ +e5aaa95f2a6051c9ec5f72d9c0a49099 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_session_filter__coll__graph.pdf b/docs/latex/class_b_m_a_session_filter__coll__graph.pdf new file mode 100644 index 0000000..b528984 Binary files /dev/null and b/docs/latex/class_b_m_a_session_filter__coll__graph.pdf differ diff --git a/docs/latex/class_b_m_a_session_filter__inherit__graph.md5 b/docs/latex/class_b_m_a_session_filter__inherit__graph.md5 new file mode 100644 index 0000000..dbf6f26 --- /dev/null +++ b/docs/latex/class_b_m_a_session_filter__inherit__graph.md5 @@ -0,0 +1 @@ +23ce059eadf9667417144f5904cd9b28 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_session_filter__inherit__graph.pdf b/docs/latex/class_b_m_a_session_filter__inherit__graph.pdf new file mode 100644 index 0000000..b528984 Binary files /dev/null and b/docs/latex/class_b_m_a_session_filter__inherit__graph.pdf differ diff --git a/docs/latex/class_b_m_a_socket.tex b/docs/latex/class_b_m_a_socket.tex new file mode 100644 index 0000000..140a7df --- /dev/null +++ b/docs/latex/class_b_m_a_socket.tex @@ -0,0 +1,196 @@ +\hypertarget{class_b_m_a_socket}{}\section{B\+M\+A\+Socket Class Reference} +\label{class_b_m_a_socket}\index{B\+M\+A\+Socket@{B\+M\+A\+Socket}} + + +{\ttfamily \#include $<$B\+M\+A\+Socket.\+h$>$} + + + +Inheritance diagram for B\+M\+A\+Socket\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{class_b_m_a_socket__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for B\+M\+A\+Socket\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=300pt]{class_b_m_a_socket__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_socket_adb2a05588a86a3f8b595ecd8e12b1c51}\label{class_b_m_a_socket_adb2a05588a86a3f8b595ecd8e12b1c51}} +{\bfseries B\+M\+A\+Socket} (\hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} \&e\+Poll) +\item +\mbox{\Hypertarget{class_b_m_a_socket_a67e45d5eeeb26964e3509d58abe7762a}\label{class_b_m_a_socket_a67e45d5eeeb26964e3509d58abe7762a}} +void \hyperlink{class_b_m_a_socket_a67e45d5eeeb26964e3509d58abe7762a}{set\+Descriptor} (int descriptor) +\begin{DoxyCompactList}\small\item\em Set the descriptor for the socket. \end{DoxyCompactList}\item +\mbox{\Hypertarget{class_b_m_a_socket_aaf06616205d8bc97d305d77c94996cb0}\label{class_b_m_a_socket_aaf06616205d8bc97d305d77c94996cb0}} +int \hyperlink{class_b_m_a_socket_aaf06616205d8bc97d305d77c94996cb0}{get\+Descriptor} () +\begin{DoxyCompactList}\small\item\em Get the descriptor for the socket. \end{DoxyCompactList}\item +void \hyperlink{class_b_m_a_socket_ac1e63c2e54aff72c18cadc5f3bc9001f}{event\+Received} (struct epoll\+\_\+event event) +\begin{DoxyCompactList}\small\item\em Parse epoll event and call specified callbacks. \end{DoxyCompactList}\item +void \hyperlink{class_b_m_a_socket_a97a173ec0f7b7667f4beb4a56e74c1b4}{write} (std\+::string data) +\item +\mbox{\Hypertarget{class_b_m_a_socket_a525cbedfa4b3f62e81f34734a69110ab}\label{class_b_m_a_socket_a525cbedfa4b3f62e81f34734a69110ab}} +void {\bfseries write} (char $\ast$buffer, int length) +\item +\mbox{\Hypertarget{class_b_m_a_socket_ace059125ad6036f1d628169afdc3c891}\label{class_b_m_a_socket_ace059125ad6036f1d628169afdc3c891}} +void {\bfseries output} (std\+::stringstream \&out) +\item +virtual void \hyperlink{class_b_m_a_socket_acde955606cbe6ded534a08dff158796d}{on\+Registered} () +\begin{DoxyCompactList}\small\item\em Called when the socket has finished registering with the epoll processing. \end{DoxyCompactList}\item +virtual void \hyperlink{class_b_m_a_socket_a2527dc75b00281b3dad87cffafdc7363}{on\+Unregistered} () +\begin{DoxyCompactList}\small\item\em Called when the socket has finished unregistering for the epoll processing. \end{DoxyCompactList}\item +\mbox{\Hypertarget{class_b_m_a_socket_a67812528cb237e2495d738dd959aca56}\label{class_b_m_a_socket_a67812528cb237e2495d738dd959aca56}} +void \hyperlink{class_b_m_a_socket_a67812528cb237e2495d738dd959aca56}{enable} (bool mode) +\begin{DoxyCompactList}\small\item\em Enable the socket to read or write based upon buffer. \end{DoxyCompactList}\end{DoxyCompactItemize} +\subsection*{Public Attributes} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_socket_a2f9f17ca8819f2b1b11bf5b09ff2bb37}\label{class_b_m_a_socket_a2f9f17ca8819f2b1b11bf5b09ff2bb37}} +\begin{tabbing} +xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=\kill +class \{\\ +\} {\bfseries bufferSize}\\ + +\end{tabbing}\end{DoxyCompactItemize} +\subsection*{Protected Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_socket_a0ab8695ad43d7c0a7999673ea023fda4}\label{class_b_m_a_socket_a0ab8695ad43d7c0a7999673ea023fda4}} +void {\bfseries set\+Buffer\+Size} (int length) +\item +virtual void \hyperlink{class_b_m_a_socket_ac2206da05ab857ec64c5d4addb04a4bf}{on\+Connected} () +\begin{DoxyCompactList}\small\item\em Called when socket is open and ready to communicate. \end{DoxyCompactList}\item +\mbox{\Hypertarget{class_b_m_a_socket_ae11c2ff3d466f393dac7f5629e9f864d}\label{class_b_m_a_socket_ae11c2ff3d466f393dac7f5629e9f864d}} +virtual void {\bfseries on\+T\+L\+S\+Init} () +\item +virtual void \hyperlink{class_b_m_a_socket_ad77bf590a4d9807bd8f0a81667903f2e}{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{class_b_m_a_socket_a46952d01762fe4b54e4cae9dbf07f172}\label{class_b_m_a_socket_a46952d01762fe4b54e4cae9dbf07f172}} +void {\bfseries shutdown} () +\item +virtual void \hyperlink{class_b_m_a_socket_aa0b03fb4b5a531fd9590bbd4102756eb}{receive\+Data} (char $\ast$buffer, int buffer\+Length) +\end{DoxyCompactItemize} +\subsection*{Protected Attributes} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_socket_a6a8f431adc915983ad25bd25523d40dd}\label{class_b_m_a_socket_a6a8f431adc915983ad25bd25523d40dd}} +\hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} \& {\bfseries e\+Poll} +\item +\mbox{\Hypertarget{class_b_m_a_socket_acfd4416961ce5ad1f25d0a0f35a574d2}\label{class_b_m_a_socket_acfd4416961ce5ad1f25d0a0f35a574d2}} +bool {\bfseries shut\+Down} = false +\end{DoxyCompactItemize} + + +\subsection{Detailed Description} +\hyperlink{class_b_m_a_socket}{B\+M\+A\+Socket} + +The core component to managing a socket. + +Hooks into the \hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} through the registration and unregistration process and provides a communication socket of the specified protocol type. This object provides for all receiving data threading through use of the \hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} object and also provides buffering for output data requests to the socket. + +A program using a socket object can request to open a socket (file or network or whatever) and communicate through the streambuffer interface of the socket object. + +The socket side of the \hyperlink{class_b_m_a_socket}{B\+M\+A\+Socket} accepts E\+P\+O\+L\+L\+IN event and will maintain the data in a buffer for the stream readers to read. A on\+Data\+Received event is then sent with the data received in the buffer that can be read through the stream. + +When writing to the stream the data is written into a buffer and a E\+P\+O\+L\+L\+O\+UT is scheduled. Upon receiving the E\+P\+O\+L\+L\+O\+UT event then the buffer is written to the socket output. + +\subsection{Member Function Documentation} +\mbox{\Hypertarget{class_b_m_a_socket_ac1e63c2e54aff72c18cadc5f3bc9001f}\label{class_b_m_a_socket_ac1e63c2e54aff72c18cadc5f3bc9001f}} +\index{B\+M\+A\+Socket@{B\+M\+A\+Socket}!event\+Received@{event\+Received}} +\index{event\+Received@{event\+Received}!B\+M\+A\+Socket@{B\+M\+A\+Socket}} +\subsubsection{\texorpdfstring{event\+Received()}{eventReceived()}} +{\footnotesize\ttfamily void B\+M\+A\+Socket\+::event\+Received (\begin{DoxyParamCaption}\item[{struct epoll\+\_\+event}]{event }\end{DoxyParamCaption})} + + + +Parse epoll event and call specified callbacks. + +The event received from epoll is sent through the event\+Received method which will parse the event and call the read and write callbacks on the socket. + +This method is called by the \hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} object and should not be called from any user extended classes unless an epoll event is being simulated. \mbox{\Hypertarget{class_b_m_a_socket_ac2206da05ab857ec64c5d4addb04a4bf}\label{class_b_m_a_socket_ac2206da05ab857ec64c5d4addb04a4bf}} +\index{B\+M\+A\+Socket@{B\+M\+A\+Socket}!on\+Connected@{on\+Connected}} +\index{on\+Connected@{on\+Connected}!B\+M\+A\+Socket@{B\+M\+A\+Socket}} +\subsubsection{\texorpdfstring{on\+Connected()}{onConnected()}} +{\footnotesize\ttfamily void B\+M\+A\+Socket\+::on\+Connected (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}} + + + +Called when socket is open and ready to communicate. + +The on\+Connected method is called when the socket is ready to communicate. Writing to the socket can begin on this call to initiate a contact with the remote device. + +Reimplemented in \hyperlink{class_b_m_a_session_a0d382f77e98c53e966119c2563cbfef5}{B\+M\+A\+Session}. + +\mbox{\Hypertarget{class_b_m_a_socket_ad77bf590a4d9807bd8f0a81667903f2e}\label{class_b_m_a_socket_ad77bf590a4d9807bd8f0a81667903f2e}} +\index{B\+M\+A\+Socket@{B\+M\+A\+Socket}!on\+Data\+Received@{on\+Data\+Received}} +\index{on\+Data\+Received@{on\+Data\+Received}!B\+M\+A\+Socket@{B\+M\+A\+Socket}} +\subsubsection{\texorpdfstring{on\+Data\+Received()}{onDataReceived()}} +{\footnotesize\ttfamily virtual void B\+M\+A\+Socket\+::on\+Data\+Received (\begin{DoxyParamCaption}\item[{std\+::string}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [pure virtual]}} + + + +Called when data is received from the socket. + +The on\+Data\+Received method is called when the socket has received an event from epoll and there is data ready to be read from the socket. The default handler will pull the data and put it into the streambuf for the socket. E\+P\+O\+L\+L\+IN + + +\begin{DoxyParams}{Parameters} +{\em data} & the data that has been received from the socket. \\ +\hline +\end{DoxyParams} + + +Implemented in \hyperlink{class_b_m_a_t_c_p_server_socket_ae562db0627e31f558189a4140a9d0a36}{B\+M\+A\+T\+C\+P\+Server\+Socket}, \hyperlink{class_b_m_a_session_a7e627773deafd5f38d05d57653385048}{B\+M\+A\+Session}, and \hyperlink{class_b_m_a_u_d_p_server_socket_aaec1d1fa5f874c7669574c3610cee24e}{B\+M\+A\+U\+D\+P\+Server\+Socket}. + +\mbox{\Hypertarget{class_b_m_a_socket_acde955606cbe6ded534a08dff158796d}\label{class_b_m_a_socket_acde955606cbe6ded534a08dff158796d}} +\index{B\+M\+A\+Socket@{B\+M\+A\+Socket}!on\+Registered@{on\+Registered}} +\index{on\+Registered@{on\+Registered}!B\+M\+A\+Socket@{B\+M\+A\+Socket}} +\subsubsection{\texorpdfstring{on\+Registered()}{onRegistered()}} +{\footnotesize\ttfamily void B\+M\+A\+Socket\+::on\+Registered (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}} + + + +Called when the socket has finished registering with the epoll processing. + +The on\+Registered method is called whenever the socket is registered with e\+Poll and socket communcation events can be started. \mbox{\Hypertarget{class_b_m_a_socket_a2527dc75b00281b3dad87cffafdc7363}\label{class_b_m_a_socket_a2527dc75b00281b3dad87cffafdc7363}} +\index{B\+M\+A\+Socket@{B\+M\+A\+Socket}!on\+Unregistered@{on\+Unregistered}} +\index{on\+Unregistered@{on\+Unregistered}!B\+M\+A\+Socket@{B\+M\+A\+Socket}} +\subsubsection{\texorpdfstring{on\+Unregistered()}{onUnregistered()}} +{\footnotesize\ttfamily void B\+M\+A\+Socket\+::on\+Unregistered (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}} + + + +Called when the socket has finished unregistering for the epoll processing. + +The on\+Unregistered method is called whenever the socket is unregistered with e\+Poll and socket communcation events will be stopped. The default method will close the socket and clean up the connection. If this is overridden by an extended object then the object should call this method to clean the socket up. \mbox{\Hypertarget{class_b_m_a_socket_aa0b03fb4b5a531fd9590bbd4102756eb}\label{class_b_m_a_socket_aa0b03fb4b5a531fd9590bbd4102756eb}} +\index{B\+M\+A\+Socket@{B\+M\+A\+Socket}!receive\+Data@{receive\+Data}} +\index{receive\+Data@{receive\+Data}!B\+M\+A\+Socket@{B\+M\+A\+Socket}} +\subsubsection{\texorpdfstring{receive\+Data()}{receiveData()}} +{\footnotesize\ttfamily void B\+M\+A\+Socket\+::receive\+Data (\begin{DoxyParamCaption}\item[{char $\ast$}]{buffer, }\item[{int}]{buffer\+Length }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}} + +receive\+Data will read the data from the socket and place it in the socket buffer. T\+LS layer overrides this to be able to read from S\+SL. + +Reimplemented in \hyperlink{class_b_m_a_t_l_s_session_a052f9cb7df568a91ae2dc8d9e355afb5}{B\+M\+A\+T\+L\+S\+Session}. + +\mbox{\Hypertarget{class_b_m_a_socket_a97a173ec0f7b7667f4beb4a56e74c1b4}\label{class_b_m_a_socket_a97a173ec0f7b7667f4beb4a56e74c1b4}} +\index{B\+M\+A\+Socket@{B\+M\+A\+Socket}!write@{write}} +\index{write@{write}!B\+M\+A\+Socket@{B\+M\+A\+Socket}} +\subsubsection{\texorpdfstring{write()}{write()}} +{\footnotesize\ttfamily void B\+M\+A\+Socket\+::write (\begin{DoxyParamCaption}\item[{std\+::string}]{data }\end{DoxyParamCaption})} + +Write data to the socket. + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/B\+M\+A\+Socket.\+h\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/B\+M\+A\+Socket.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_socket_1_1_integer.tex b/docs/latex/class_b_m_a_socket_1_1_integer.tex new file mode 100644 index 0000000..c3a4ce8 --- /dev/null +++ b/docs/latex/class_b_m_a_socket_1_1_integer.tex @@ -0,0 +1,35 @@ +\hypertarget{class_b_m_a_socket_1_1_integer}{}\section{B\+M\+A\+Socket\+:\+:Integer Class Reference} +\label{class_b_m_a_socket_1_1_integer}\index{B\+M\+A\+Socket\+::\+Integer@{B\+M\+A\+Socket\+::\+Integer}} + + +{\ttfamily \#include $<$B\+M\+A\+Socket.\+h$>$} + +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +int \& \hyperlink{class_b_m_a_socket_1_1_integer_a37ee4f4eb3067e75ac7af32d0a916d1f}{operator=} (const int \&i) +\item +\hyperlink{class_b_m_a_socket_1_1_integer_ab7ed7b9a24717b68abb146a2ea9c574b}{operator int} () const +\end{DoxyCompactItemize} + + +\subsection{Member Function Documentation} +\index{B\+M\+A\+Socket\+::\+Integer@{B\+M\+A\+Socket\+::\+Integer}!operator int@{operator int}} +\index{operator int@{operator int}!B\+M\+A\+Socket\+::\+Integer@{B\+M\+A\+Socket\+::\+Integer}} +\subsubsection[{\texorpdfstring{operator int() const }{operator int() const }}]{\setlength{\rightskip}{0pt plus 5cm}B\+M\+A\+Socket\+::\+Integer\+::operator int ( +\begin{DoxyParamCaption} +{} +\end{DoxyParamCaption} +) const\hspace{0.3cm}{\ttfamily [inline]}}\hypertarget{class_b_m_a_socket_1_1_integer_ab7ed7b9a24717b68abb146a2ea9c574b}{}\label{class_b_m_a_socket_1_1_integer_ab7ed7b9a24717b68abb146a2ea9c574b} +\index{B\+M\+A\+Socket\+::\+Integer@{B\+M\+A\+Socket\+::\+Integer}!operator=@{operator=}} +\index{operator=@{operator=}!B\+M\+A\+Socket\+::\+Integer@{B\+M\+A\+Socket\+::\+Integer}} +\subsubsection[{\texorpdfstring{operator=(const int \&i)}{operator=(const int &i)}}]{\setlength{\rightskip}{0pt plus 5cm}int\& B\+M\+A\+Socket\+::\+Integer\+::operator= ( +\begin{DoxyParamCaption} +\item[{const int \&}]{i} +\end{DoxyParamCaption} +)\hspace{0.3cm}{\ttfamily [inline]}}\hypertarget{class_b_m_a_socket_1_1_integer_a37ee4f4eb3067e75ac7af32d0a916d1f}{}\label{class_b_m_a_socket_1_1_integer_a37ee4f4eb3067e75ac7af32d0a916d1f} + + +The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_socket_8h}{B\+M\+A\+Socket.\+h}\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_socket__coll__graph.md5 b/docs/latex/class_b_m_a_socket__coll__graph.md5 new file mode 100644 index 0000000..e43ec55 --- /dev/null +++ b/docs/latex/class_b_m_a_socket__coll__graph.md5 @@ -0,0 +1 @@ +79448626db91cbc883a8d0ba2b410d1b \ No newline at end of file diff --git a/docs/latex/class_b_m_a_socket__coll__graph.pdf b/docs/latex/class_b_m_a_socket__coll__graph.pdf new file mode 100644 index 0000000..be87f16 Binary files /dev/null and b/docs/latex/class_b_m_a_socket__coll__graph.pdf differ diff --git a/docs/latex/class_b_m_a_socket__inherit__graph.md5 b/docs/latex/class_b_m_a_socket__inherit__graph.md5 new file mode 100644 index 0000000..e86ba7f --- /dev/null +++ b/docs/latex/class_b_m_a_socket__inherit__graph.md5 @@ -0,0 +1 @@ +b6559585ac42f084d86194042253a80c \ No newline at end of file diff --git a/docs/latex/class_b_m_a_socket__inherit__graph.pdf b/docs/latex/class_b_m_a_socket__inherit__graph.pdf new file mode 100644 index 0000000..98d0609 Binary files /dev/null and b/docs/latex/class_b_m_a_socket__inherit__graph.pdf differ diff --git a/docs/latex/class_b_m_a_stream_content_provider.tex b/docs/latex/class_b_m_a_stream_content_provider.tex new file mode 100644 index 0000000..ad8c1fa --- /dev/null +++ b/docs/latex/class_b_m_a_stream_content_provider.tex @@ -0,0 +1,41 @@ +\hypertarget{class_b_m_a_stream_content_provider}{}\section{B\+M\+A\+Stream\+Content\+Provider Class Reference} +\label{class_b_m_a_stream_content_provider}\index{B\+M\+A\+Stream\+Content\+Provider@{B\+M\+A\+Stream\+Content\+Provider}} + + +Inheritance diagram for B\+M\+A\+Stream\+Content\+Provider\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=334pt]{class_b_m_a_stream_content_provider__inherit__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_stream_content_provider_a591402a921437be32b4c5212a370529d}\label{class_b_m_a_stream_content_provider_a591402a921437be32b4c5212a370529d}} +{\bfseries B\+M\+A\+Stream\+Content\+Provider} (\hyperlink{class_b_m_a_stream_server}{B\+M\+A\+Stream\+Server} \&server) +\item +\mbox{\Hypertarget{class_b_m_a_stream_content_provider_aad23c59e622ce1adcf17444648d517ad}\label{class_b_m_a_stream_content_provider_aad23c59e622ce1adcf17444648d517ad}} +virtual \hyperlink{class_b_m_a_stream_frame}{B\+M\+A\+Stream\+Frame} $\ast$ {\bfseries get\+Next\+Stream\+Frame} () +\item +\mbox{\Hypertarget{class_b_m_a_stream_content_provider_aa883b991dcb2b8876deb45f47c9804d4}\label{class_b_m_a_stream_content_provider_aa883b991dcb2b8876deb45f47c9804d4}} +int {\bfseries get\+Frame\+Count} () +\end{DoxyCompactItemize} +\subsection*{Public Attributes} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_stream_content_provider_a1ade88dfec2372bdd3733dd99669a3a6}\label{class_b_m_a_stream_content_provider_a1ade88dfec2372bdd3733dd99669a3a6}} +bool {\bfseries ready} = false +\item +\mbox{\Hypertarget{class_b_m_a_stream_content_provider_a79befceb5147af3910ae1bc57db8b934}\label{class_b_m_a_stream_content_provider_a79befceb5147af3910ae1bc57db8b934}} +std\+::vector$<$ \hyperlink{class_b_m_a_stream_frame}{B\+M\+A\+Stream\+Frame} $\ast$ $>$ {\bfseries frames} +\item +\mbox{\Hypertarget{class_b_m_a_stream_content_provider_aec7f301261d2ed2915aa082c65165657}\label{class_b_m_a_stream_content_provider_aec7f301261d2ed2915aa082c65165657}} +int {\bfseries cursor} +\end{DoxyCompactItemize} + + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+Stream\+Content\+Provider.\+h\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+Stream\+Content\+Provider.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_stream_content_provider__inherit__graph.md5 b/docs/latex/class_b_m_a_stream_content_provider__inherit__graph.md5 new file mode 100644 index 0000000..6c6f997 --- /dev/null +++ b/docs/latex/class_b_m_a_stream_content_provider__inherit__graph.md5 @@ -0,0 +1 @@ +4bc67214eea0bc3f8fa1eba6bd89dfd9 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_stream_content_provider__inherit__graph.pdf b/docs/latex/class_b_m_a_stream_content_provider__inherit__graph.pdf new file mode 100644 index 0000000..7a13b6c Binary files /dev/null and b/docs/latex/class_b_m_a_stream_content_provider__inherit__graph.pdf differ diff --git a/docs/latex/class_b_m_a_stream_frame.tex b/docs/latex/class_b_m_a_stream_frame.tex new file mode 100644 index 0000000..67c6e36 --- /dev/null +++ b/docs/latex/class_b_m_a_stream_frame.tex @@ -0,0 +1,38 @@ +\hypertarget{class_b_m_a_stream_frame}{}\section{B\+M\+A\+Stream\+Frame Class Reference} +\label{class_b_m_a_stream_frame}\index{B\+M\+A\+Stream\+Frame@{B\+M\+A\+Stream\+Frame}} + + +Inheritance diagram for B\+M\+A\+Stream\+Frame\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=198pt]{class_b_m_a_stream_frame__inherit__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_stream_frame_a7f5a4fd691993ef0ba72b8d176df0da1}\label{class_b_m_a_stream_frame_a7f5a4fd691993ef0ba72b8d176df0da1}} +{\bfseries B\+M\+A\+Stream\+Frame} (char $\ast$stream\+Data) +\item +\mbox{\Hypertarget{class_b_m_a_stream_frame_a137a0bc0232b1988e1592b5eb7edad2d}\label{class_b_m_a_stream_frame_a137a0bc0232b1988e1592b5eb7edad2d}} +virtual double {\bfseries get\+Duration} ()=0 +\item +\mbox{\Hypertarget{class_b_m_a_stream_frame_a9028c15407e7c86bbd513610c5d1d37d}\label{class_b_m_a_stream_frame_a9028c15407e7c86bbd513610c5d1d37d}} +virtual int {\bfseries get\+Frame\+Size} ()=0 +\end{DoxyCompactItemize} +\subsection*{Public Attributes} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_stream_frame_a42767d408575fb59a37f398d867f51a7}\label{class_b_m_a_stream_frame_a42767d408575fb59a37f398d867f51a7}} +char $\ast$ {\bfseries stream\+Data} +\item +\mbox{\Hypertarget{class_b_m_a_stream_frame_a2f790b9f525141edec746b18843a2169}\label{class_b_m_a_stream_frame_a2f790b9f525141edec746b18843a2169}} +bool {\bfseries last\+Frame} +\end{DoxyCompactItemize} + + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+Stream\+Frame.\+h\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+Stream\+Frame.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_stream_frame__inherit__graph.md5 b/docs/latex/class_b_m_a_stream_frame__inherit__graph.md5 new file mode 100644 index 0000000..e47af8a --- /dev/null +++ b/docs/latex/class_b_m_a_stream_frame__inherit__graph.md5 @@ -0,0 +1 @@ +e8d754577b197f4d4d4e3867c5c5d46b \ No newline at end of file diff --git a/docs/latex/class_b_m_a_stream_frame__inherit__graph.pdf b/docs/latex/class_b_m_a_stream_frame__inherit__graph.pdf new file mode 100644 index 0000000..96533d3 Binary files /dev/null and b/docs/latex/class_b_m_a_stream_frame__inherit__graph.pdf differ diff --git a/docs/latex/class_b_m_a_stream_server.tex b/docs/latex/class_b_m_a_stream_server.tex new file mode 100644 index 0000000..99f7236 --- /dev/null +++ b/docs/latex/class_b_m_a_stream_server.tex @@ -0,0 +1,77 @@ +\hypertarget{class_b_m_a_stream_server}{}\section{B\+M\+A\+Stream\+Server Class Reference} +\label{class_b_m_a_stream_server}\index{B\+M\+A\+Stream\+Server@{B\+M\+A\+Stream\+Server}} + + +{\ttfamily \#include $<$B\+M\+A\+Stream\+Server.\+h$>$} + + + +Inheritance diagram for B\+M\+A\+Stream\+Server\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=330pt]{class_b_m_a_stream_server__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for B\+M\+A\+Stream\+Server\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{class_b_m_a_stream_server__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\hyperlink{class_b_m_a_stream_server_a53088bc75ca8a77ace2045f88dc5daec}{B\+M\+A\+Stream\+Server} (\hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} \&e\+Poll, std\+::string url, short int port, std\+::string command\+Name) +\item +\hyperlink{class_b_m_a_stream_server_a2481fcd342c3b166762065c4afe685cf}{$\sim$\+B\+M\+A\+Stream\+Server} () +\item +void \hyperlink{class_b_m_a_stream_server_ac6cdba284f178898a73c928ea7d32dac}{start\+Streaming} () +\item +void \hyperlink{class_b_m_a_stream_server_a1359cfb8a98edc68a0eea88e9c8e94ca}{set\+Content\+Provider} (\hyperlink{class_b_m_a_stream_content_provider}{B\+M\+A\+Stream\+Content\+Provider} \&content\+Provider) +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +\subsection{Detailed Description} +\hyperlink{class_b_m_a_stream_server}{B\+M\+A\+Stream\+Server} + +Extends the socket to create a frame based streaming media streamer. + +\subsection{Constructor \& Destructor Documentation} +\mbox{\Hypertarget{class_b_m_a_stream_server_a53088bc75ca8a77ace2045f88dc5daec}\label{class_b_m_a_stream_server_a53088bc75ca8a77ace2045f88dc5daec}} +\index{B\+M\+A\+Stream\+Server@{B\+M\+A\+Stream\+Server}!B\+M\+A\+Stream\+Server@{B\+M\+A\+Stream\+Server}} +\index{B\+M\+A\+Stream\+Server@{B\+M\+A\+Stream\+Server}!B\+M\+A\+Stream\+Server@{B\+M\+A\+Stream\+Server}} +\subsubsection{\texorpdfstring{B\+M\+A\+Stream\+Server()}{BMAStreamServer()}} +{\footnotesize\ttfamily B\+M\+A\+Stream\+Server\+::\+B\+M\+A\+Stream\+Server (\begin{DoxyParamCaption}\item[{\hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} \&}]{e\+Poll, }\item[{std\+::string}]{url, }\item[{short int}]{port, }\item[{std\+::string}]{command\+Name }\end{DoxyParamCaption})} + +Constructor for the \hyperlink{class_b_m_a_stream_server}{B\+M\+A\+Stream\+Server} object. \mbox{\Hypertarget{class_b_m_a_stream_server_a2481fcd342c3b166762065c4afe685cf}\label{class_b_m_a_stream_server_a2481fcd342c3b166762065c4afe685cf}} +\index{B\+M\+A\+Stream\+Server@{B\+M\+A\+Stream\+Server}!````~B\+M\+A\+Stream\+Server@{$\sim$\+B\+M\+A\+Stream\+Server}} +\index{````~B\+M\+A\+Stream\+Server@{$\sim$\+B\+M\+A\+Stream\+Server}!B\+M\+A\+Stream\+Server@{B\+M\+A\+Stream\+Server}} +\subsubsection{\texorpdfstring{$\sim$\+B\+M\+A\+Stream\+Server()}{~BMAStreamServer()}} +{\footnotesize\ttfamily B\+M\+A\+Stream\+Server\+::$\sim$\+B\+M\+A\+Stream\+Server (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +Destructor for the \hyperlink{class_b_m_a_stream_server}{B\+M\+A\+Stream\+Server} object. + +\subsection{Member Function Documentation} +\mbox{\Hypertarget{class_b_m_a_stream_server_a1359cfb8a98edc68a0eea88e9c8e94ca}\label{class_b_m_a_stream_server_a1359cfb8a98edc68a0eea88e9c8e94ca}} +\index{B\+M\+A\+Stream\+Server@{B\+M\+A\+Stream\+Server}!set\+Content\+Provider@{set\+Content\+Provider}} +\index{set\+Content\+Provider@{set\+Content\+Provider}!B\+M\+A\+Stream\+Server@{B\+M\+A\+Stream\+Server}} +\subsubsection{\texorpdfstring{set\+Content\+Provider()}{setContentProvider()}} +{\footnotesize\ttfamily void B\+M\+A\+Stream\+Server\+::set\+Content\+Provider (\begin{DoxyParamCaption}\item[{\hyperlink{class_b_m_a_stream_content_provider}{B\+M\+A\+Stream\+Content\+Provider} \&}]{content\+Provider }\end{DoxyParamCaption})} + +Set the content provider for the streaming server. Output of the content will begin immediately on the next frame. \mbox{\Hypertarget{class_b_m_a_stream_server_ac6cdba284f178898a73c928ea7d32dac}\label{class_b_m_a_stream_server_ac6cdba284f178898a73c928ea7d32dac}} +\index{B\+M\+A\+Stream\+Server@{B\+M\+A\+Stream\+Server}!start\+Streaming@{start\+Streaming}} +\index{start\+Streaming@{start\+Streaming}!B\+M\+A\+Stream\+Server@{B\+M\+A\+Stream\+Server}} +\subsubsection{\texorpdfstring{start\+Streaming()}{startStreaming()}} +{\footnotesize\ttfamily void B\+M\+A\+Stream\+Server\+::start\+Streaming (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +Start streaming the content to the client list. Streaming is started even though no clients may be connected. As clients connect they will begin receiving the stream in the spot it is being output. + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+Stream\+Server.\+h\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+Stream\+Server.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_stream_server__coll__graph.md5 b/docs/latex/class_b_m_a_stream_server__coll__graph.md5 new file mode 100644 index 0000000..f2834ca --- /dev/null +++ b/docs/latex/class_b_m_a_stream_server__coll__graph.md5 @@ -0,0 +1 @@ +c8cb97285c2d6d578689e2bc0114aadf \ No newline at end of file diff --git a/docs/latex/class_b_m_a_stream_server__coll__graph.pdf b/docs/latex/class_b_m_a_stream_server__coll__graph.pdf new file mode 100644 index 0000000..9676b43 Binary files /dev/null and b/docs/latex/class_b_m_a_stream_server__coll__graph.pdf differ diff --git a/docs/latex/class_b_m_a_stream_server__inherit__graph.md5 b/docs/latex/class_b_m_a_stream_server__inherit__graph.md5 new file mode 100644 index 0000000..05d0b6a --- /dev/null +++ b/docs/latex/class_b_m_a_stream_server__inherit__graph.md5 @@ -0,0 +1 @@ +a4a7bed5f53d3675b24ff4952721f566 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_stream_server__inherit__graph.pdf b/docs/latex/class_b_m_a_stream_server__inherit__graph.pdf new file mode 100644 index 0000000..7120345 Binary files /dev/null and b/docs/latex/class_b_m_a_stream_server__inherit__graph.pdf differ diff --git a/docs/latex/class_b_m_a_stream_session.tex b/docs/latex/class_b_m_a_stream_session.tex new file mode 100644 index 0000000..e4c6cff --- /dev/null +++ b/docs/latex/class_b_m_a_stream_session.tex @@ -0,0 +1,45 @@ +\hypertarget{class_b_m_a_stream_session}{}\section{B\+M\+A\+Stream\+Session Class Reference} +\label{class_b_m_a_stream_session}\index{B\+M\+A\+Stream\+Session@{B\+M\+A\+Stream\+Session}} + + +Inheritance diagram for B\+M\+A\+Stream\+Session\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=246pt]{class_b_m_a_stream_session__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for B\+M\+A\+Stream\+Session\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{class_b_m_a_stream_session__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_stream_session_a3e498280154e394d826212b0314ca877}\label{class_b_m_a_stream_session_a3e498280154e394d826212b0314ca877}} +{\bfseries B\+M\+A\+Stream\+Session} (\hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} \&e\+Poll, \hyperlink{class_b_m_a_t_c_p_server_socket}{B\+M\+A\+T\+C\+P\+Server\+Socket} \&server) +\item +\mbox{\Hypertarget{class_b_m_a_stream_session_a5bee25cf2cc4412e553fa5ff482e2d09}\label{class_b_m_a_stream_session_a5bee25cf2cc4412e553fa5ff482e2d09}} +int {\bfseries write\+Frame} (\hyperlink{class_b_m_a_stream_frame}{B\+M\+A\+Stream\+Frame} $\ast$frame) +\end{DoxyCompactItemize} +\subsection*{Protected Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_stream_session_a25e08ee9f7c0a52c38b01a54e1759db5}\label{class_b_m_a_stream_session_a25e08ee9f7c0a52c38b01a54e1759db5}} +void {\bfseries protocol} (std\+::string data) override +\item +\mbox{\Hypertarget{class_b_m_a_stream_session_a18e858e8be7d175f0be6b78e7a2d176f}\label{class_b_m_a_stream_session_a18e858e8be7d175f0be6b78e7a2d176f}} +void {\bfseries on\+Stream\+Data\+Received} (\hyperlink{class_b_m_a_stream_frame}{B\+M\+A\+Stream\+Frame} $\ast$frame) +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+Stream\+Session.\+h\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+Stream\+Session.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_stream_session__coll__graph.md5 b/docs/latex/class_b_m_a_stream_session__coll__graph.md5 new file mode 100644 index 0000000..0d9d848 --- /dev/null +++ b/docs/latex/class_b_m_a_stream_session__coll__graph.md5 @@ -0,0 +1 @@ +cb71b0170b947c5c5209a1002cbb1ded \ No newline at end of file diff --git a/docs/latex/class_b_m_a_stream_session__coll__graph.pdf b/docs/latex/class_b_m_a_stream_session__coll__graph.pdf new file mode 100644 index 0000000..9f84c02 Binary files /dev/null and b/docs/latex/class_b_m_a_stream_session__coll__graph.pdf differ diff --git a/docs/latex/class_b_m_a_stream_session__inherit__graph.md5 b/docs/latex/class_b_m_a_stream_session__inherit__graph.md5 new file mode 100644 index 0000000..afbcc16 --- /dev/null +++ b/docs/latex/class_b_m_a_stream_session__inherit__graph.md5 @@ -0,0 +1 @@ +e70827814c0aa2045bc232b18b87437a \ No newline at end of file diff --git a/docs/latex/class_b_m_a_stream_session__inherit__graph.pdf b/docs/latex/class_b_m_a_stream_session__inherit__graph.pdf new file mode 100644 index 0000000..efdb399 Binary files /dev/null and b/docs/latex/class_b_m_a_stream_session__inherit__graph.pdf differ diff --git a/docs/latex/class_b_m_a_stream_socket.tex b/docs/latex/class_b_m_a_stream_socket.tex new file mode 100644 index 0000000..c6211e2 --- /dev/null +++ b/docs/latex/class_b_m_a_stream_socket.tex @@ -0,0 +1,61 @@ +\hypertarget{class_b_m_a_stream_socket}{}\section{B\+M\+A\+Stream\+Socket Class Reference} +\label{class_b_m_a_stream_socket}\index{B\+M\+A\+Stream\+Socket@{B\+M\+A\+Stream\+Socket}} + + +Inheritance diagram for B\+M\+A\+Stream\+Socket\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=226pt]{class_b_m_a_stream_socket__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for B\+M\+A\+Stream\+Socket\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{class_b_m_a_stream_socket__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_stream_socket_acbf9a97dcf3050eabd9a2a96fcbef4b3}\label{class_b_m_a_stream_socket_acbf9a97dcf3050eabd9a2a96fcbef4b3}} +{\bfseries B\+M\+A\+Stream\+Socket} (\hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} \&e\+Poll) +\item +\mbox{\Hypertarget{class_b_m_a_stream_socket_a28e55e4dc91be72e8ca4c2f583d7b235}\label{class_b_m_a_stream_socket_a28e55e4dc91be72e8ca4c2f583d7b235}} +int {\bfseries write\+Frame} (\hyperlink{class_b_m_a_stream_frame}{B\+M\+A\+Stream\+Frame} $\ast$frame) +\end{DoxyCompactItemize} +\subsection*{Protected Member Functions} +\begin{DoxyCompactItemize} +\item +void \hyperlink{class_b_m_a_stream_socket_aceb83622101fa74abf6178aa98f1c46e}{on\+Data\+Received} (char $\ast$data, int length) +\begin{DoxyCompactList}\small\item\em Called when data is received from the socket. \end{DoxyCompactList}\item +\mbox{\Hypertarget{class_b_m_a_stream_socket_a70a27d7e724cf30dd9a04595daad3962}\label{class_b_m_a_stream_socket_a70a27d7e724cf30dd9a04595daad3962}} +void {\bfseries on\+Stream\+Data\+Received} (\hyperlink{class_b_m_a_stream_frame}{B\+M\+A\+Stream\+Frame} $\ast$frame) +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +\subsection{Member Function Documentation} +\mbox{\Hypertarget{class_b_m_a_stream_socket_aceb83622101fa74abf6178aa98f1c46e}\label{class_b_m_a_stream_socket_aceb83622101fa74abf6178aa98f1c46e}} +\index{B\+M\+A\+Stream\+Socket@{B\+M\+A\+Stream\+Socket}!on\+Data\+Received@{on\+Data\+Received}} +\index{on\+Data\+Received@{on\+Data\+Received}!B\+M\+A\+Stream\+Socket@{B\+M\+A\+Stream\+Socket}} +\subsubsection{\texorpdfstring{on\+Data\+Received()}{onDataReceived()}} +{\footnotesize\ttfamily void B\+M\+A\+Stream\+Socket\+::on\+Data\+Received (\begin{DoxyParamCaption}\item[{char $\ast$}]{data, }\item[{int}]{length }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}} + + + +Called when data is received from the socket. + +The on\+Data\+Received method is called when the socket has received an event from epoll and there is data ready to be read from the socket. The default handler will pull the data and put it into the streambuf for the socket. E\+P\+O\+L\+L\+IN + +Reimplemented from \hyperlink{class_b_m_a_session_ae914bd5edb640f3b0f739742b5b0b0b0}{B\+M\+A\+Session}. + + + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+Stream\+Socket.\+h\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+Stream\+Socket.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_stream_socket__coll__graph.md5 b/docs/latex/class_b_m_a_stream_socket__coll__graph.md5 new file mode 100644 index 0000000..cb816c1 --- /dev/null +++ b/docs/latex/class_b_m_a_stream_socket__coll__graph.md5 @@ -0,0 +1 @@ +76d9cbbfa9adaa3664e3019dfd388e66 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_stream_socket__coll__graph.pdf b/docs/latex/class_b_m_a_stream_socket__coll__graph.pdf new file mode 100644 index 0000000..60339a0 Binary files /dev/null and b/docs/latex/class_b_m_a_stream_socket__coll__graph.pdf differ diff --git a/docs/latex/class_b_m_a_stream_socket__inherit__graph.md5 b/docs/latex/class_b_m_a_stream_socket__inherit__graph.md5 new file mode 100644 index 0000000..3893ccf --- /dev/null +++ b/docs/latex/class_b_m_a_stream_socket__inherit__graph.md5 @@ -0,0 +1 @@ +18094d10b2363037cc0304cf72ab741d \ No newline at end of file diff --git a/docs/latex/class_b_m_a_stream_socket__inherit__graph.pdf b/docs/latex/class_b_m_a_stream_socket__inherit__graph.pdf new file mode 100644 index 0000000..0db64f3 Binary files /dev/null and b/docs/latex/class_b_m_a_stream_socket__inherit__graph.pdf differ diff --git a/docs/latex/class_b_m_a_t_c_p_server_socket.tex b/docs/latex/class_b_m_a_t_c_p_server_socket.tex new file mode 100644 index 0000000..3655390 --- /dev/null +++ b/docs/latex/class_b_m_a_t_c_p_server_socket.tex @@ -0,0 +1,156 @@ +\hypertarget{class_b_m_a_t_c_p_server_socket}{}\section{B\+M\+A\+T\+C\+P\+Server\+Socket Class Reference} +\label{class_b_m_a_t_c_p_server_socket}\index{B\+M\+A\+T\+C\+P\+Server\+Socket@{B\+M\+A\+T\+C\+P\+Server\+Socket}} + + +{\ttfamily \#include $<$B\+M\+A\+T\+C\+P\+Server\+Socket.\+h$>$} + + + +Inheritance diagram for B\+M\+A\+T\+C\+P\+Server\+Socket\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=318pt]{class_b_m_a_t_c_p_server_socket__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for B\+M\+A\+T\+C\+P\+Server\+Socket\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{class_b_m_a_t_c_p_server_socket__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\hyperlink{class_b_m_a_t_c_p_server_socket_a48e6fa160a86accb51f81724c3af51fd}{B\+M\+A\+T\+C\+P\+Server\+Socket} (\hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} \&e\+Poll, std\+::string url, short int port, std\+::string command\+Name) +\item +\hyperlink{class_b_m_a_t_c_p_server_socket_a32383b879e9464c955adab2c7bb33fc2}{$\sim$\+B\+M\+A\+T\+C\+P\+Server\+Socket} () +\item +\mbox{\Hypertarget{class_b_m_a_t_c_p_server_socket_ac2f4d28d9485cf150cfa73841d824969}\label{class_b_m_a_t_c_p_server_socket_ac2f4d28d9485cf150cfa73841d824969}} +void {\bfseries remove\+From\+Session\+List} (\hyperlink{class_b_m_a_session}{B\+M\+A\+Session} $\ast$session) +\end{DoxyCompactItemize} +\subsection*{Public Attributes} +\begin{DoxyCompactItemize} +\item +std\+::vector$<$ \hyperlink{class_b_m_a_session}{B\+M\+A\+Session} $\ast$ $>$ \hyperlink{class_b_m_a_t_c_p_server_socket_a8719aeb1b87b9f0d7e0b38aa28ab9a35}{sessions} +\end{DoxyCompactItemize} +\subsection*{Protected Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_t_c_p_server_socket_aa452d52a1f26dfa36eea10f13f79979c}\label{class_b_m_a_t_c_p_server_socket_aa452d52a1f26dfa36eea10f13f79979c}} +virtual void {\bfseries init} () +\item +virtual \hyperlink{class_b_m_a_session}{B\+M\+A\+Session} $\ast$ \hyperlink{class_b_m_a_t_c_p_server_socket_a5eb805883d7a496be0a1cbc81c09c145}{get\+Socket\+Accept} ()=0 +\item +void \hyperlink{class_b_m_a_t_c_p_server_socket_ae562db0627e31f558189a4140a9d0a36}{on\+Data\+Received} (std\+::string data) override +\item +void \hyperlink{class_b_m_a_t_c_p_server_socket_afb337fa6ec678ce45b1c58ca8a20768a}{process\+Command} (std\+::string command, \hyperlink{class_b_m_a_session}{B\+M\+A\+Session} $\ast$session) override +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +\subsection{Detailed Description} +\hyperlink{class_b_m_a_t_c_p_server_socket}{B\+M\+A\+T\+C\+P\+Server\+Socket} + +Manage a socket connection as a T\+CP server type. Connections to the socket are processed through the accept functionality. + +A list of connections is maintained in a vector object. + +This object extends the \hyperlink{class_b_m_a_command}{B\+M\+A\+Command} object as well so it can be added to a B\+M\+A\+Console object and process commands to display status information. + +\subsection{Constructor \& Destructor Documentation} +\mbox{\Hypertarget{class_b_m_a_t_c_p_server_socket_a48e6fa160a86accb51f81724c3af51fd}\label{class_b_m_a_t_c_p_server_socket_a48e6fa160a86accb51f81724c3af51fd}} +\index{B\+M\+A\+T\+C\+P\+Server\+Socket@{B\+M\+A\+T\+C\+P\+Server\+Socket}!B\+M\+A\+T\+C\+P\+Server\+Socket@{B\+M\+A\+T\+C\+P\+Server\+Socket}} +\index{B\+M\+A\+T\+C\+P\+Server\+Socket@{B\+M\+A\+T\+C\+P\+Server\+Socket}!B\+M\+A\+T\+C\+P\+Server\+Socket@{B\+M\+A\+T\+C\+P\+Server\+Socket}} +\subsubsection{\texorpdfstring{B\+M\+A\+T\+C\+P\+Server\+Socket()}{BMATCPServerSocket()}} +{\footnotesize\ttfamily B\+M\+A\+T\+C\+P\+Server\+Socket\+::\+B\+M\+A\+T\+C\+P\+Server\+Socket (\begin{DoxyParamCaption}\item[{\hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} \&}]{e\+Poll, }\item[{std\+::string}]{url, }\item[{short int}]{port, }\item[{std\+::string}]{command\+Name }\end{DoxyParamCaption})} + +The constructor for the \hyperlink{class_b_m_a_t_c_p_socket}{B\+M\+A\+T\+C\+P\+Socket} object. + + +\begin{DoxyParams}{Parameters} +{\em e\+Poll} & the \hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} instance that manages the socket. \\ +\hline +{\em url} & the IP address for the socket to receive connection requests. \\ +\hline +{\em port} & the port number that the socket will listen on. \\ +\hline +{\em command\+Name} & the name of the command used to invoke the status display for this object. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +the instance of the \hyperlink{class_b_m_a_t_c_p_server_socket}{B\+M\+A\+T\+C\+P\+Server\+Socket}. +\end{DoxyReturn} +\mbox{\Hypertarget{class_b_m_a_t_c_p_server_socket_a32383b879e9464c955adab2c7bb33fc2}\label{class_b_m_a_t_c_p_server_socket_a32383b879e9464c955adab2c7bb33fc2}} +\index{B\+M\+A\+T\+C\+P\+Server\+Socket@{B\+M\+A\+T\+C\+P\+Server\+Socket}!````~B\+M\+A\+T\+C\+P\+Server\+Socket@{$\sim$\+B\+M\+A\+T\+C\+P\+Server\+Socket}} +\index{````~B\+M\+A\+T\+C\+P\+Server\+Socket@{$\sim$\+B\+M\+A\+T\+C\+P\+Server\+Socket}!B\+M\+A\+T\+C\+P\+Server\+Socket@{B\+M\+A\+T\+C\+P\+Server\+Socket}} +\subsubsection{\texorpdfstring{$\sim$\+B\+M\+A\+T\+C\+P\+Server\+Socket()}{~BMATCPServerSocket()}} +{\footnotesize\ttfamily B\+M\+A\+T\+C\+P\+Server\+Socket\+::$\sim$\+B\+M\+A\+T\+C\+P\+Server\+Socket (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +The destructor for this object. + +\subsection{Member Function Documentation} +\mbox{\Hypertarget{class_b_m_a_t_c_p_server_socket_a5eb805883d7a496be0a1cbc81c09c145}\label{class_b_m_a_t_c_p_server_socket_a5eb805883d7a496be0a1cbc81c09c145}} +\index{B\+M\+A\+T\+C\+P\+Server\+Socket@{B\+M\+A\+T\+C\+P\+Server\+Socket}!get\+Socket\+Accept@{get\+Socket\+Accept}} +\index{get\+Socket\+Accept@{get\+Socket\+Accept}!B\+M\+A\+T\+C\+P\+Server\+Socket@{B\+M\+A\+T\+C\+P\+Server\+Socket}} +\subsubsection{\texorpdfstring{get\+Socket\+Accept()}{getSocketAccept()}} +{\footnotesize\ttfamily virtual \hyperlink{class_b_m_a_session}{B\+M\+A\+Session}$\ast$ B\+M\+A\+T\+C\+P\+Server\+Socket\+::get\+Socket\+Accept (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [pure virtual]}} + +get\+Socket\+Accept is designed to allow a polymorphic extension of this object to return a type of object that extends the definition of the server socket. Returning the appropriate session object that extends from \hyperlink{class_b_m_a_session}{B\+M\+A\+Session} provides the mechanism where the server can select the protocol dialog for the desired service. + +Implemented in \hyperlink{class_b_m_a_t_l_s_server_socket_afc1575a34ddd6e40619874b7364fbceb}{B\+M\+A\+T\+L\+S\+Server\+Socket}, and \hyperlink{class_b_m_a_console_server_a94847bdd07f651825e5fce5237e98335}{B\+M\+A\+Console\+Server}. + +\mbox{\Hypertarget{class_b_m_a_t_c_p_server_socket_ae562db0627e31f558189a4140a9d0a36}\label{class_b_m_a_t_c_p_server_socket_ae562db0627e31f558189a4140a9d0a36}} +\index{B\+M\+A\+T\+C\+P\+Server\+Socket@{B\+M\+A\+T\+C\+P\+Server\+Socket}!on\+Data\+Received@{on\+Data\+Received}} +\index{on\+Data\+Received@{on\+Data\+Received}!B\+M\+A\+T\+C\+P\+Server\+Socket@{B\+M\+A\+T\+C\+P\+Server\+Socket}} +\subsubsection{\texorpdfstring{on\+Data\+Received()}{onDataReceived()}} +{\footnotesize\ttfamily void B\+M\+A\+T\+C\+P\+Server\+Socket\+::on\+Data\+Received (\begin{DoxyParamCaption}\item[{std\+::string}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [protected]}, {\ttfamily [virtual]}} + +Override the virtual data\+Received since for the server these are requests to accept the new connection socket. No data is to be read or written when this method is called. It is the response to the fact that a new connection is coming into the system + + +\begin{DoxyParams}{Parameters} +{\em data} & the pointer to the buffer containing the received data. \\ +\hline +{\em length} & the length of the associated data buffer. \\ +\hline +\end{DoxyParams} + + +Implements \hyperlink{class_b_m_a_socket_ad77bf590a4d9807bd8f0a81667903f2e}{B\+M\+A\+Socket}. + +\mbox{\Hypertarget{class_b_m_a_t_c_p_server_socket_afb337fa6ec678ce45b1c58ca8a20768a}\label{class_b_m_a_t_c_p_server_socket_afb337fa6ec678ce45b1c58ca8a20768a}} +\index{B\+M\+A\+T\+C\+P\+Server\+Socket@{B\+M\+A\+T\+C\+P\+Server\+Socket}!process\+Command@{process\+Command}} +\index{process\+Command@{process\+Command}!B\+M\+A\+T\+C\+P\+Server\+Socket@{B\+M\+A\+T\+C\+P\+Server\+Socket}} +\subsubsection{\texorpdfstring{process\+Command()}{processCommand()}} +{\footnotesize\ttfamily void B\+M\+A\+T\+C\+P\+Server\+Socket\+::process\+Command (\begin{DoxyParamCaption}\item[{std\+::string}]{command, }\item[{\hyperlink{class_b_m_a_session}{B\+M\+A\+Session} $\ast$}]{session }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [protected]}, {\ttfamily [virtual]}} + +This method is called when the \hyperlink{class_b_m_a_command}{B\+M\+A\+Command} associated with this object is requested because a user has typed in the associated command name on a command entry line. + + +\begin{DoxyParams}{Parameters} +{\em the} & session object to write the output to. \\ +\hline +\end{DoxyParams} + + +Implements \hyperlink{class_b_m_a_command}{B\+M\+A\+Command}. + + + +\subsection{Member Data Documentation} +\mbox{\Hypertarget{class_b_m_a_t_c_p_server_socket_a8719aeb1b87b9f0d7e0b38aa28ab9a35}\label{class_b_m_a_t_c_p_server_socket_a8719aeb1b87b9f0d7e0b38aa28ab9a35}} +\index{B\+M\+A\+T\+C\+P\+Server\+Socket@{B\+M\+A\+T\+C\+P\+Server\+Socket}!sessions@{sessions}} +\index{sessions@{sessions}!B\+M\+A\+T\+C\+P\+Server\+Socket@{B\+M\+A\+T\+C\+P\+Server\+Socket}} +\subsubsection{\texorpdfstring{sessions}{sessions}} +{\footnotesize\ttfamily std\+::vector$<$\hyperlink{class_b_m_a_session}{B\+M\+A\+Session} $\ast$$>$ B\+M\+A\+T\+C\+P\+Server\+Socket\+::sessions} + +The list of sessions that are currently open and being maintained by this object. + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/B\+M\+A\+T\+C\+P\+Server\+Socket.\+h\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/B\+M\+A\+T\+C\+P\+Server\+Socket.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_t_c_p_server_socket__coll__graph.md5 b/docs/latex/class_b_m_a_t_c_p_server_socket__coll__graph.md5 new file mode 100644 index 0000000..a9feccb --- /dev/null +++ b/docs/latex/class_b_m_a_t_c_p_server_socket__coll__graph.md5 @@ -0,0 +1 @@ +d8b918110561965faf45dd70ed7f1b37 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_t_c_p_server_socket__coll__graph.pdf b/docs/latex/class_b_m_a_t_c_p_server_socket__coll__graph.pdf new file mode 100644 index 0000000..6c13f47 Binary files /dev/null and b/docs/latex/class_b_m_a_t_c_p_server_socket__coll__graph.pdf differ diff --git a/docs/latex/class_b_m_a_t_c_p_server_socket__inherit__graph.md5 b/docs/latex/class_b_m_a_t_c_p_server_socket__inherit__graph.md5 new file mode 100644 index 0000000..24e501a --- /dev/null +++ b/docs/latex/class_b_m_a_t_c_p_server_socket__inherit__graph.md5 @@ -0,0 +1 @@ +51edde332cffac1c2644c3d9d3efb52b \ No newline at end of file diff --git a/docs/latex/class_b_m_a_t_c_p_server_socket__inherit__graph.pdf b/docs/latex/class_b_m_a_t_c_p_server_socket__inherit__graph.pdf new file mode 100644 index 0000000..f49daa4 Binary files /dev/null and b/docs/latex/class_b_m_a_t_c_p_server_socket__inherit__graph.pdf differ diff --git a/docs/latex/class_b_m_a_t_c_p_socket.tex b/docs/latex/class_b_m_a_t_c_p_socket.tex new file mode 100644 index 0000000..826d327 --- /dev/null +++ b/docs/latex/class_b_m_a_t_c_p_socket.tex @@ -0,0 +1,69 @@ +\hypertarget{class_b_m_a_t_c_p_socket}{}\section{B\+M\+A\+T\+C\+P\+Socket Class Reference} +\label{class_b_m_a_t_c_p_socket}\index{B\+M\+A\+T\+C\+P\+Socket@{B\+M\+A\+T\+C\+P\+Socket}} + + +{\ttfamily \#include $<$B\+M\+A\+T\+C\+P\+Socket.\+h$>$} + + + +Inheritance diagram for B\+M\+A\+T\+C\+P\+Socket\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{class_b_m_a_t_c_p_socket__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for B\+M\+A\+T\+C\+P\+Socket\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{class_b_m_a_t_c_p_socket__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_t_c_p_socket_a3e553a95ec29cb931c828b750f6ab524}\label{class_b_m_a_t_c_p_socket_a3e553a95ec29cb931c828b750f6ab524}} +{\bfseries B\+M\+A\+T\+C\+P\+Socket} (\hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} \&e\+Poll) +\item +\mbox{\Hypertarget{class_b_m_a_t_c_p_socket_a24864bd9453d168c0d29d3f2423578f8}\label{class_b_m_a_t_c_p_socket_a24864bd9453d168c0d29d3f2423578f8}} +void {\bfseries connect} (\hyperlink{class_b_m_a_i_p_address}{B\+M\+A\+I\+P\+Address} \&address) +\item +virtual void \hyperlink{class_b_m_a_t_c_p_socket_a017112b916d42b9e86b39da747c364c1}{output} (std\+::stringstream \&out) +\end{DoxyCompactItemize} +\subsection*{Public Attributes} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_t_c_p_socket_a4aa52639e7cf2ae2b06e334f0ef89982}\label{class_b_m_a_t_c_p_socket_a4aa52639e7cf2ae2b06e334f0ef89982}} +\hyperlink{class_b_m_a_i_p_address}{B\+M\+A\+I\+P\+Address} {\bfseries ip\+Address} +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +\subsection{Detailed Description} +\hyperlink{class_b_m_a_t_c_p_socket}{B\+M\+A\+T\+C\+P\+Socket} + +Provides a network T\+CP socket. + +For accessing T\+CP network functions use this object. The connection oriented nature of T\+CP provides a single client persistent connection with data error correction and a durable synchronous data connection. + +\subsection{Member Function Documentation} +\mbox{\Hypertarget{class_b_m_a_t_c_p_socket_a017112b916d42b9e86b39da747c364c1}\label{class_b_m_a_t_c_p_socket_a017112b916d42b9e86b39da747c364c1}} +\index{B\+M\+A\+T\+C\+P\+Socket@{B\+M\+A\+T\+C\+P\+Socket}!output@{output}} +\index{output@{output}!B\+M\+A\+T\+C\+P\+Socket@{B\+M\+A\+T\+C\+P\+Socket}} +\subsubsection{\texorpdfstring{output()}{output()}} +{\footnotesize\ttfamily void B\+M\+A\+T\+C\+P\+Socket\+::output (\begin{DoxyParamCaption}\item[{std\+::stringstream \&}]{out }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}} + +The output method is called by a socket session (\hyperlink{class_b_m_a_session}{B\+M\+A\+Session}) and will output the detail information for the client socket. When extending \hyperlink{class_b_m_a_t_c_p_socket}{B\+M\+A\+T\+C\+P\+Socket} or \hyperlink{class_b_m_a_session}{B\+M\+A\+Session} you can override the method to add attributes to the list. + +Reimplemented in \hyperlink{class_b_m_a_t_l_s_session_a22b316a3fbdf9966daa6feb6a6a6a285}{B\+M\+A\+T\+L\+S\+Session}, and \hyperlink{class_b_m_a_console_session_a38fee4b41375c4c14b4be42fd0a23669}{B\+M\+A\+Console\+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/B\+M\+A\+T\+C\+P\+Socket.\+h\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/B\+M\+A\+T\+C\+P\+Socket.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_t_c_p_socket__coll__graph.md5 b/docs/latex/class_b_m_a_t_c_p_socket__coll__graph.md5 new file mode 100644 index 0000000..fdab9da --- /dev/null +++ b/docs/latex/class_b_m_a_t_c_p_socket__coll__graph.md5 @@ -0,0 +1 @@ +1313daadc9f14f091b598c34194a0f9d \ No newline at end of file diff --git a/docs/latex/class_b_m_a_t_c_p_socket__coll__graph.pdf b/docs/latex/class_b_m_a_t_c_p_socket__coll__graph.pdf new file mode 100644 index 0000000..ba4148e Binary files /dev/null and b/docs/latex/class_b_m_a_t_c_p_socket__coll__graph.pdf differ diff --git a/docs/latex/class_b_m_a_t_c_p_socket__inherit__graph.md5 b/docs/latex/class_b_m_a_t_c_p_socket__inherit__graph.md5 new file mode 100644 index 0000000..2b1bdd8 --- /dev/null +++ b/docs/latex/class_b_m_a_t_c_p_socket__inherit__graph.md5 @@ -0,0 +1 @@ +5d740d3b7f92d17fef19adf1e13f2641 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_t_c_p_socket__inherit__graph.pdf b/docs/latex/class_b_m_a_t_c_p_socket__inherit__graph.pdf new file mode 100644 index 0000000..87d6da5 Binary files /dev/null and b/docs/latex/class_b_m_a_t_c_p_socket__inherit__graph.pdf differ diff --git a/docs/latex/class_b_m_a_t_l_s_server_socket.tex b/docs/latex/class_b_m_a_t_l_s_server_socket.tex new file mode 100644 index 0000000..9652eaf --- /dev/null +++ b/docs/latex/class_b_m_a_t_l_s_server_socket.tex @@ -0,0 +1,98 @@ +\hypertarget{class_b_m_a_t_l_s_server_socket}{}\section{B\+M\+A\+T\+L\+S\+Server\+Socket Class Reference} +\label{class_b_m_a_t_l_s_server_socket}\index{B\+M\+A\+T\+L\+S\+Server\+Socket@{B\+M\+A\+T\+L\+S\+Server\+Socket}} + + +{\ttfamily \#include $<$B\+M\+A\+T\+L\+S\+Server\+Socket.\+h$>$} + + + +Inheritance diagram for B\+M\+A\+T\+L\+S\+Server\+Socket\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=270pt]{class_b_m_a_t_l_s_server_socket__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for B\+M\+A\+T\+L\+S\+Server\+Socket\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{class_b_m_a_t_l_s_server_socket__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\hyperlink{class_b_m_a_t_l_s_server_socket_a6ab5fa0019ca55433e852612a29b13a6}{B\+M\+A\+T\+L\+S\+Server\+Socket} (\hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} \&e\+Poll, std\+::string url, short int port, std\+::string command\+Name) +\item +\hyperlink{class_b_m_a_t_l_s_server_socket_a075981646f9fdf5966965bbf1c5d9af6}{$\sim$\+B\+M\+A\+T\+L\+S\+Server\+Socket} () +\end{DoxyCompactItemize} +\subsection*{Public Attributes} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_t_l_s_server_socket_aa77f9b2be9d77a0102edd37aa3e9d093}\label{class_b_m_a_t_l_s_server_socket_aa77f9b2be9d77a0102edd37aa3e9d093}} +S\+S\+L\+\_\+\+C\+TX $\ast$ {\bfseries ctx} +\end{DoxyCompactItemize} +\subsection*{Protected Member Functions} +\begin{DoxyCompactItemize} +\item +\hyperlink{class_b_m_a_session}{B\+M\+A\+Session} $\ast$ \hyperlink{class_b_m_a_t_l_s_server_socket_afc1575a34ddd6e40619874b7364fbceb}{get\+Socket\+Accept} () override +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +\subsection{Detailed Description} +\hyperlink{class_b_m_a_t_l_s_server_socket}{B\+M\+A\+T\+L\+S\+Server\+Socket} + +Manage a socket connection as a T\+LS server type. Connections to the socket are processed through the accept functionality. + +\subsection{Constructor \& Destructor Documentation} +\mbox{\Hypertarget{class_b_m_a_t_l_s_server_socket_a6ab5fa0019ca55433e852612a29b13a6}\label{class_b_m_a_t_l_s_server_socket_a6ab5fa0019ca55433e852612a29b13a6}} +\index{B\+M\+A\+T\+L\+S\+Server\+Socket@{B\+M\+A\+T\+L\+S\+Server\+Socket}!B\+M\+A\+T\+L\+S\+Server\+Socket@{B\+M\+A\+T\+L\+S\+Server\+Socket}} +\index{B\+M\+A\+T\+L\+S\+Server\+Socket@{B\+M\+A\+T\+L\+S\+Server\+Socket}!B\+M\+A\+T\+L\+S\+Server\+Socket@{B\+M\+A\+T\+L\+S\+Server\+Socket}} +\subsubsection{\texorpdfstring{B\+M\+A\+T\+L\+S\+Server\+Socket()}{BMATLSServerSocket()}} +{\footnotesize\ttfamily B\+M\+A\+T\+L\+S\+Server\+Socket\+::\+B\+M\+A\+T\+L\+S\+Server\+Socket (\begin{DoxyParamCaption}\item[{\hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} \&}]{e\+Poll, }\item[{std\+::string}]{url, }\item[{short int}]{port, }\item[{std\+::string}]{command\+Name }\end{DoxyParamCaption})} + +The constructor for the B\+M\+A\+T\+L\+S\+Socket object. + + +\begin{DoxyParams}{Parameters} +{\em e\+Poll} & the \hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} instance that manages the socket. \\ +\hline +{\em url} & the IP address for the socket to receive connection requests. \\ +\hline +{\em port} & the port number that the socket will listen on. \\ +\hline +{\em command\+Name} & the name of the command used to invoke the status display for this object. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +the instance of the \hyperlink{class_b_m_a_t_l_s_server_socket}{B\+M\+A\+T\+L\+S\+Server\+Socket}. +\end{DoxyReturn} +\mbox{\Hypertarget{class_b_m_a_t_l_s_server_socket_a075981646f9fdf5966965bbf1c5d9af6}\label{class_b_m_a_t_l_s_server_socket_a075981646f9fdf5966965bbf1c5d9af6}} +\index{B\+M\+A\+T\+L\+S\+Server\+Socket@{B\+M\+A\+T\+L\+S\+Server\+Socket}!````~B\+M\+A\+T\+L\+S\+Server\+Socket@{$\sim$\+B\+M\+A\+T\+L\+S\+Server\+Socket}} +\index{````~B\+M\+A\+T\+L\+S\+Server\+Socket@{$\sim$\+B\+M\+A\+T\+L\+S\+Server\+Socket}!B\+M\+A\+T\+L\+S\+Server\+Socket@{B\+M\+A\+T\+L\+S\+Server\+Socket}} +\subsubsection{\texorpdfstring{$\sim$\+B\+M\+A\+T\+L\+S\+Server\+Socket()}{~BMATLSServerSocket()}} +{\footnotesize\ttfamily B\+M\+A\+T\+L\+S\+Server\+Socket\+::$\sim$\+B\+M\+A\+T\+L\+S\+Server\+Socket (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +The destructor for this object. + +\subsection{Member Function Documentation} +\mbox{\Hypertarget{class_b_m_a_t_l_s_server_socket_afc1575a34ddd6e40619874b7364fbceb}\label{class_b_m_a_t_l_s_server_socket_afc1575a34ddd6e40619874b7364fbceb}} +\index{B\+M\+A\+T\+L\+S\+Server\+Socket@{B\+M\+A\+T\+L\+S\+Server\+Socket}!get\+Socket\+Accept@{get\+Socket\+Accept}} +\index{get\+Socket\+Accept@{get\+Socket\+Accept}!B\+M\+A\+T\+L\+S\+Server\+Socket@{B\+M\+A\+T\+L\+S\+Server\+Socket}} +\subsubsection{\texorpdfstring{get\+Socket\+Accept()}{getSocketAccept()}} +{\footnotesize\ttfamily \hyperlink{class_b_m_a_session}{B\+M\+A\+Session} $\ast$ B\+M\+A\+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 \hyperlink{class_b_m_a_session}{B\+M\+A\+Session} provides the mechanism where the server can select the protocol dialog for the desired service. + +Implements \hyperlink{class_b_m_a_t_c_p_server_socket_a5eb805883d7a496be0a1cbc81c09c145}{B\+M\+A\+T\+C\+P\+Server\+Socket}. + + + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/B\+M\+A\+T\+L\+S\+Server\+Socket.\+h\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/B\+M\+A\+T\+L\+S\+Server\+Socket.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_t_l_s_server_socket__coll__graph.md5 b/docs/latex/class_b_m_a_t_l_s_server_socket__coll__graph.md5 new file mode 100644 index 0000000..5f2ddce --- /dev/null +++ b/docs/latex/class_b_m_a_t_l_s_server_socket__coll__graph.md5 @@ -0,0 +1 @@ +3ec92a2044f76aa1365c289d9490db96 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_t_l_s_server_socket__coll__graph.pdf b/docs/latex/class_b_m_a_t_l_s_server_socket__coll__graph.pdf new file mode 100644 index 0000000..682b2e4 Binary files /dev/null and b/docs/latex/class_b_m_a_t_l_s_server_socket__coll__graph.pdf differ diff --git a/docs/latex/class_b_m_a_t_l_s_server_socket__inherit__graph.md5 b/docs/latex/class_b_m_a_t_l_s_server_socket__inherit__graph.md5 new file mode 100644 index 0000000..f334789 --- /dev/null +++ b/docs/latex/class_b_m_a_t_l_s_server_socket__inherit__graph.md5 @@ -0,0 +1 @@ +e31a6ae8100b4bb77e1a411a5231436e \ No newline at end of file diff --git a/docs/latex/class_b_m_a_t_l_s_server_socket__inherit__graph.pdf b/docs/latex/class_b_m_a_t_l_s_server_socket__inherit__graph.pdf new file mode 100644 index 0000000..f24c90e Binary files /dev/null and b/docs/latex/class_b_m_a_t_l_s_server_socket__inherit__graph.pdf differ diff --git a/docs/latex/class_b_m_a_t_l_s_session.tex b/docs/latex/class_b_m_a_t_l_s_session.tex new file mode 100644 index 0000000..5b9f446 --- /dev/null +++ b/docs/latex/class_b_m_a_t_l_s_session.tex @@ -0,0 +1,82 @@ +\hypertarget{class_b_m_a_t_l_s_session}{}\section{B\+M\+A\+T\+L\+S\+Session Class Reference} +\label{class_b_m_a_t_l_s_session}\index{B\+M\+A\+T\+L\+S\+Session@{B\+M\+A\+T\+L\+S\+Session}} + + +{\ttfamily \#include $<$B\+M\+A\+T\+L\+S\+Session.\+h$>$} + + + +Inheritance diagram for B\+M\+A\+T\+L\+S\+Session\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=246pt]{class_b_m_a_t_l_s_session__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for B\+M\+A\+T\+L\+S\+Session\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{class_b_m_a_t_l_s_session__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_t_l_s_session_af3b4918997bd08fc447be18dfa5a4e98}\label{class_b_m_a_t_l_s_session_af3b4918997bd08fc447be18dfa5a4e98}} +{\bfseries B\+M\+A\+T\+L\+S\+Session} (\hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} \&e\+Poll, \hyperlink{class_b_m_a_t_l_s_server_socket}{B\+M\+A\+T\+L\+S\+Server\+Socket} \&server) +\item +virtual void \hyperlink{class_b_m_a_t_l_s_session_a22b316a3fbdf9966daa6feb6a6a6a285}{output} (std\+::stringstream \&out) +\item +\mbox{\Hypertarget{class_b_m_a_t_l_s_session_af35112dd4eabd0522006e50bec70be19}\label{class_b_m_a_t_l_s_session_af35112dd4eabd0522006e50bec70be19}} +virtual void {\bfseries protocol} (std\+::string data) override +\end{DoxyCompactItemize} +\subsection*{Protected Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_t_l_s_session_a864bdf678a98681db9aa603cd5453d39}\label{class_b_m_a_t_l_s_session_a864bdf678a98681db9aa603cd5453d39}} +void {\bfseries init} () override +\item +void \hyperlink{class_b_m_a_t_l_s_session_a052f9cb7df568a91ae2dc8d9e355afb5}{receive\+Data} (char $\ast$buffer, int buffer\+Length) override +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +\subsection{Detailed Description} +\hyperlink{class_b_m_a_t_l_s_session}{B\+M\+A\+T\+L\+S\+Session} + +Provides a network T\+LS socket. + +For accessing T\+LS network functions use this object. The connection oriented nature of T\+LS provides a single client persistent connection with data error correction and a durable synchronous data connection. + +\subsection{Member Function Documentation} +\mbox{\Hypertarget{class_b_m_a_t_l_s_session_a22b316a3fbdf9966daa6feb6a6a6a285}\label{class_b_m_a_t_l_s_session_a22b316a3fbdf9966daa6feb6a6a6a285}} +\index{B\+M\+A\+T\+L\+S\+Session@{B\+M\+A\+T\+L\+S\+Session}!output@{output}} +\index{output@{output}!B\+M\+A\+T\+L\+S\+Session@{B\+M\+A\+T\+L\+S\+Session}} +\subsubsection{\texorpdfstring{output()}{output()}} +{\footnotesize\ttfamily void B\+M\+A\+T\+L\+S\+Session\+::output (\begin{DoxyParamCaption}\item[{std\+::stringstream \&}]{out }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}} + +The output method is called by a socket session (\hyperlink{class_b_m_a_session}{B\+M\+A\+Session}) and will output the detail information for the client socket. When extending B\+M\+A\+T\+L\+S\+Socket or \hyperlink{class_b_m_a_session}{B\+M\+A\+Session} you can override the method to add attributes to the list. + +Reimplemented from \hyperlink{class_b_m_a_t_c_p_socket_a017112b916d42b9e86b39da747c364c1}{B\+M\+A\+T\+C\+P\+Socket}. + +\mbox{\Hypertarget{class_b_m_a_t_l_s_session_a052f9cb7df568a91ae2dc8d9e355afb5}\label{class_b_m_a_t_l_s_session_a052f9cb7df568a91ae2dc8d9e355afb5}} +\index{B\+M\+A\+T\+L\+S\+Session@{B\+M\+A\+T\+L\+S\+Session}!receive\+Data@{receive\+Data}} +\index{receive\+Data@{receive\+Data}!B\+M\+A\+T\+L\+S\+Session@{B\+M\+A\+T\+L\+S\+Session}} +\subsubsection{\texorpdfstring{receive\+Data()}{receiveData()}} +{\footnotesize\ttfamily void B\+M\+A\+T\+L\+S\+Session\+::receive\+Data (\begin{DoxyParamCaption}\item[{char $\ast$}]{buffer, }\item[{int}]{buffer\+Length }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [protected]}, {\ttfamily [virtual]}} + +receive\+Data will read the data from the socket and place it in the socket buffer. T\+LS layer overrides this to be able to read from S\+SL. + +Reimplemented from \hyperlink{class_b_m_a_socket_aa0b03fb4b5a531fd9590bbd4102756eb}{B\+M\+A\+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/B\+M\+A\+T\+L\+S\+Session.\+h\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/B\+M\+A\+T\+L\+S\+Session.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_t_l_s_session__coll__graph.md5 b/docs/latex/class_b_m_a_t_l_s_session__coll__graph.md5 new file mode 100644 index 0000000..ff8c734 --- /dev/null +++ b/docs/latex/class_b_m_a_t_l_s_session__coll__graph.md5 @@ -0,0 +1 @@ +e38e42ba6054f92e3fcedab1cbbed770 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_t_l_s_session__coll__graph.pdf b/docs/latex/class_b_m_a_t_l_s_session__coll__graph.pdf new file mode 100644 index 0000000..206cad3 Binary files /dev/null and b/docs/latex/class_b_m_a_t_l_s_session__coll__graph.pdf differ diff --git a/docs/latex/class_b_m_a_t_l_s_session__inherit__graph.md5 b/docs/latex/class_b_m_a_t_l_s_session__inherit__graph.md5 new file mode 100644 index 0000000..5a0fb85 --- /dev/null +++ b/docs/latex/class_b_m_a_t_l_s_session__inherit__graph.md5 @@ -0,0 +1 @@ +434ad733d8afa0541e8707d9603870af \ No newline at end of file diff --git a/docs/latex/class_b_m_a_t_l_s_session__inherit__graph.pdf b/docs/latex/class_b_m_a_t_l_s_session__inherit__graph.pdf new file mode 100644 index 0000000..fbd98f5 Binary files /dev/null and b/docs/latex/class_b_m_a_t_l_s_session__inherit__graph.pdf differ diff --git a/docs/latex/class_b_m_a_t_l_s_socket.tex b/docs/latex/class_b_m_a_t_l_s_socket.tex new file mode 100644 index 0000000..816d533 --- /dev/null +++ b/docs/latex/class_b_m_a_t_l_s_socket.tex @@ -0,0 +1,76 @@ +\hypertarget{class_b_m_a_t_l_s_socket}{}\section{B\+M\+A\+T\+L\+S\+Socket Class Reference} +\label{class_b_m_a_t_l_s_socket}\index{B\+M\+A\+T\+L\+S\+Socket@{B\+M\+A\+T\+L\+S\+Socket}} + + +{\ttfamily \#include $<$B\+M\+A\+T\+L\+S\+Socket.\+h$>$} + + + +Inheritance diagram for B\+M\+A\+T\+L\+S\+Socket\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=246pt]{class_b_m_a_t_l_s_socket__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for B\+M\+A\+T\+L\+S\+Socket\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{class_b_m_a_t_l_s_socket__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_t_l_s_socket_ad581126023d6214f7bc2939a061f102f}\label{class_b_m_a_t_l_s_socket_ad581126023d6214f7bc2939a061f102f}} +{\bfseries B\+M\+A\+T\+L\+S\+Socket} (\hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} \&e\+Poll, S\+S\+L\+\_\+\+C\+TX $\ast$ctx) +\item +virtual void \hyperlink{class_b_m_a_t_l_s_socket_aa535039832080852562d597ac835ef13}{output} (std\+::stringstream \&out) +\end{DoxyCompactItemize} +\subsection*{Protected Member Functions} +\begin{DoxyCompactItemize} +\item +void \hyperlink{class_b_m_a_t_l_s_socket_a716a293e2c2978a13abacf45c8f0fef8}{receive\+Data} (char $\ast$buffer, int buffer\+Length) override +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +\subsection{Detailed Description} +\hyperlink{class_b_m_a_t_l_s_socket}{B\+M\+A\+T\+L\+S\+Socket} + +Provides a network T\+LS socket. + +For accessing T\+LS network functions use this object. The connection oriented nature of T\+LS provides a single client persistent connection with data error correction and a durable synchronous data connection. + +\subsection{Member Function Documentation} +\mbox{\Hypertarget{class_b_m_a_t_l_s_socket_aa535039832080852562d597ac835ef13}\label{class_b_m_a_t_l_s_socket_aa535039832080852562d597ac835ef13}} +\index{B\+M\+A\+T\+L\+S\+Socket@{B\+M\+A\+T\+L\+S\+Socket}!output@{output}} +\index{output@{output}!B\+M\+A\+T\+L\+S\+Socket@{B\+M\+A\+T\+L\+S\+Socket}} +\subsubsection{\texorpdfstring{output()}{output()}} +{\footnotesize\ttfamily void B\+M\+A\+T\+L\+S\+Socket\+::output (\begin{DoxyParamCaption}\item[{std\+::stringstream \&}]{out }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}} + +The output method is called by a socket session (\hyperlink{class_b_m_a_session}{B\+M\+A\+Session}) and will output the detail information for the client socket. When extending \hyperlink{class_b_m_a_t_l_s_socket}{B\+M\+A\+T\+L\+S\+Socket} or \hyperlink{class_b_m_a_session}{B\+M\+A\+Session} you can override the method to add attributes to the list. + +Reimplemented from \hyperlink{class_b_m_a_t_c_p_socket_a017112b916d42b9e86b39da747c364c1}{B\+M\+A\+T\+C\+P\+Socket}. + +\mbox{\Hypertarget{class_b_m_a_t_l_s_socket_a716a293e2c2978a13abacf45c8f0fef8}\label{class_b_m_a_t_l_s_socket_a716a293e2c2978a13abacf45c8f0fef8}} +\index{B\+M\+A\+T\+L\+S\+Socket@{B\+M\+A\+T\+L\+S\+Socket}!receive\+Data@{receive\+Data}} +\index{receive\+Data@{receive\+Data}!B\+M\+A\+T\+L\+S\+Socket@{B\+M\+A\+T\+L\+S\+Socket}} +\subsubsection{\texorpdfstring{receive\+Data()}{receiveData()}} +{\footnotesize\ttfamily void B\+M\+A\+T\+L\+S\+Socket\+::receive\+Data (\begin{DoxyParamCaption}\item[{char $\ast$}]{buffer, }\item[{int}]{buffer\+Length }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [protected]}, {\ttfamily [virtual]}} + +receive\+Data will read the data from the socket and place it in the socket buffer. T\+LS layer overrides this to be able to read from S\+SL. + +Reimplemented from \hyperlink{class_b_m_a_socket_aa0b03fb4b5a531fd9590bbd4102756eb}{B\+M\+A\+Socket}. + + + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+T\+L\+S\+Socket.\+h\item +/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/B\+M\+A\+T\+L\+S\+Socket.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_t_l_s_socket__coll__graph.md5 b/docs/latex/class_b_m_a_t_l_s_socket__coll__graph.md5 new file mode 100644 index 0000000..8dffd1c --- /dev/null +++ b/docs/latex/class_b_m_a_t_l_s_socket__coll__graph.md5 @@ -0,0 +1 @@ +a87d112ff5db653b04bbbdf7849db1e7 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_t_l_s_socket__coll__graph.pdf b/docs/latex/class_b_m_a_t_l_s_socket__coll__graph.pdf new file mode 100644 index 0000000..b839d00 Binary files /dev/null and b/docs/latex/class_b_m_a_t_l_s_socket__coll__graph.pdf differ diff --git a/docs/latex/class_b_m_a_t_l_s_socket__inherit__graph.md5 b/docs/latex/class_b_m_a_t_l_s_socket__inherit__graph.md5 new file mode 100644 index 0000000..cb7cc5f --- /dev/null +++ b/docs/latex/class_b_m_a_t_l_s_socket__inherit__graph.md5 @@ -0,0 +1 @@ +15041f747eff901c4e93ab1ef6294e41 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_t_l_s_socket__inherit__graph.pdf b/docs/latex/class_b_m_a_t_l_s_socket__inherit__graph.pdf new file mode 100644 index 0000000..6d25fe6 Binary files /dev/null and b/docs/latex/class_b_m_a_t_l_s_socket__inherit__graph.pdf differ diff --git a/docs/latex/class_b_m_a_terminal.tex b/docs/latex/class_b_m_a_terminal.tex new file mode 100644 index 0000000..75cb673 --- /dev/null +++ b/docs/latex/class_b_m_a_terminal.tex @@ -0,0 +1,67 @@ +\hypertarget{class_b_m_a_terminal}{}\section{B\+M\+A\+Terminal Class Reference} +\label{class_b_m_a_terminal}\index{B\+M\+A\+Terminal@{B\+M\+A\+Terminal}} + + +Inheritance diagram for B\+M\+A\+Terminal\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=246pt]{class_b_m_a_terminal__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for B\+M\+A\+Terminal\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{class_b_m_a_terminal__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_terminal_a57c78d2497c47e3c41aae3906e8feedd}\label{class_b_m_a_terminal_a57c78d2497c47e3c41aae3906e8feedd}} +{\bfseries B\+M\+A\+Terminal} (\hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} \&e\+Poll, \hyperlink{class_b_m_a_t_c_p_server_socket}{B\+M\+A\+T\+C\+P\+Server\+Socket} \&server) +\item +\mbox{\Hypertarget{class_b_m_a_terminal_a1aabd2e1f9aea94fb354274d463af64f}\label{class_b_m_a_terminal_a1aabd2e1f9aea94fb354274d463af64f}} +int {\bfseries get\+Lines} () +\item +\mbox{\Hypertarget{class_b_m_a_terminal_acd53ed1bf84952879580f819e3fd2616}\label{class_b_m_a_terminal_acd53ed1bf84952879580f819e3fd2616}} +void {\bfseries clear} () +\item +\mbox{\Hypertarget{class_b_m_a_terminal_a00f07e9464199077c3876849e2c231cb}\label{class_b_m_a_terminal_a00f07e9464199077c3876849e2c231cb}} +void {\bfseries clear\+E\+OL} () +\item +\mbox{\Hypertarget{class_b_m_a_terminal_aa3226cb9acd682cd6855256f9f42bcd2}\label{class_b_m_a_terminal_aa3226cb9acd682cd6855256f9f42bcd2}} +void {\bfseries set\+Cursor\+Location} (int x, int y) +\item +\mbox{\Hypertarget{class_b_m_a_terminal_abe8478724731d0fbfbdc8498822deab7}\label{class_b_m_a_terminal_abe8478724731d0fbfbdc8498822deab7}} +void {\bfseries set\+Color} (int color) +\item +\mbox{\Hypertarget{class_b_m_a_terminal_a0a200b38a8d7290d7d6f4ea4d3c07710}\label{class_b_m_a_terminal_a0a200b38a8d7290d7d6f4ea4d3c07710}} +void {\bfseries set\+Back\+Color} (int color) +\item +\mbox{\Hypertarget{class_b_m_a_terminal_a92fc1e649b84942f83d2f8087488ef9b}\label{class_b_m_a_terminal_a92fc1e649b84942f83d2f8087488ef9b}} +void {\bfseries save\+Cursor} () +\item +\mbox{\Hypertarget{class_b_m_a_terminal_ad18bea2185f2e9967702f5b03e7d17b3}\label{class_b_m_a_terminal_ad18bea2185f2e9967702f5b03e7d17b3}} +void {\bfseries restore\+Cursor} () +\item +\mbox{\Hypertarget{class_b_m_a_terminal_af6c84e51da65bcbc2269f0e039be3c85}\label{class_b_m_a_terminal_af6c84e51da65bcbc2269f0e039be3c85}} +void {\bfseries Next\+Line} (int lines) +\item +\mbox{\Hypertarget{class_b_m_a_terminal_a88c3bee63f6dfb91712df2e3eb40d5da}\label{class_b_m_a_terminal_a88c3bee63f6dfb91712df2e3eb40d5da}} +void {\bfseries Previous\+Line} (int lines) +\item +\mbox{\Hypertarget{class_b_m_a_terminal_a0485339e9ba3826028c8c23c9035338c}\label{class_b_m_a_terminal_a0485339e9ba3826028c8c23c9035338c}} +void {\bfseries scroll\+Area} (int start, int end) +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/B\+M\+A\+Terminal.\+h\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/B\+M\+A\+Terminal.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_terminal__coll__graph.md5 b/docs/latex/class_b_m_a_terminal__coll__graph.md5 new file mode 100644 index 0000000..a20947f --- /dev/null +++ b/docs/latex/class_b_m_a_terminal__coll__graph.md5 @@ -0,0 +1 @@ +bc10a510e56f150bf679300275acf953 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_terminal__coll__graph.pdf b/docs/latex/class_b_m_a_terminal__coll__graph.pdf new file mode 100644 index 0000000..de73d09 Binary files /dev/null and b/docs/latex/class_b_m_a_terminal__coll__graph.pdf differ diff --git a/docs/latex/class_b_m_a_terminal__inherit__graph.md5 b/docs/latex/class_b_m_a_terminal__inherit__graph.md5 new file mode 100644 index 0000000..bbbc2c3 --- /dev/null +++ b/docs/latex/class_b_m_a_terminal__inherit__graph.md5 @@ -0,0 +1 @@ +a3b06b5e81d589418b2c470455007a88 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_terminal__inherit__graph.pdf b/docs/latex/class_b_m_a_terminal__inherit__graph.pdf new file mode 100644 index 0000000..3a5c5b2 Binary files /dev/null and b/docs/latex/class_b_m_a_terminal__inherit__graph.pdf differ diff --git a/docs/latex/class_b_m_a_thread.tex b/docs/latex/class_b_m_a_thread.tex new file mode 100644 index 0000000..2f1cd74 --- /dev/null +++ b/docs/latex/class_b_m_a_thread.tex @@ -0,0 +1,68 @@ +\hypertarget{class_b_m_a_thread}{}\section{B\+M\+A\+Thread Class Reference} +\label{class_b_m_a_thread}\index{B\+M\+A\+Thread@{B\+M\+A\+Thread}} + + +{\ttfamily \#include $<$B\+M\+A\+Thread.\+h$>$} + + + +Inheritance diagram for B\+M\+A\+Thread\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=148pt]{class_b_m_a_thread__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for B\+M\+A\+Thread\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=148pt]{class_b_m_a_thread__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_thread_aa7e0a54fa8b787d94dc7ed8f7f320ba6}\label{class_b_m_a_thread_aa7e0a54fa8b787d94dc7ed8f7f320ba6}} +{\bfseries B\+M\+A\+Thread} (\hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} \&e\+Poll) +\item +void \hyperlink{class_b_m_a_thread_a71945ff6553b22563f2140f8eafc2413}{start} () +\item +\mbox{\Hypertarget{class_b_m_a_thread_a3b2d129bf06d98080b618099b901057d}\label{class_b_m_a_thread_a3b2d129bf06d98080b618099b901057d}} +void {\bfseries join} () +\item +\mbox{\Hypertarget{class_b_m_a_thread_ae1136fec7fc4fa071ea51d4b5422ab4f}\label{class_b_m_a_thread_ae1136fec7fc4fa071ea51d4b5422ab4f}} +std\+::string {\bfseries get\+Status} () +\item +\mbox{\Hypertarget{class_b_m_a_thread_a3c13d1a99e7cfe8d1466fabd2f0133ae}\label{class_b_m_a_thread_a3c13d1a99e7cfe8d1466fabd2f0133ae}} +pid\+\_\+t {\bfseries get\+Thread\+Id} () +\item +\mbox{\Hypertarget{class_b_m_a_thread_ab093e79785c0cf389ec2ea1f39839112}\label{class_b_m_a_thread_ab093e79785c0cf389ec2ea1f39839112}} +int {\bfseries get\+Count} () +\item +\mbox{\Hypertarget{class_b_m_a_thread_a7367a4a7e1c4d785e8a21ff49912c6e4}\label{class_b_m_a_thread_a7367a4a7e1c4d785e8a21ff49912c6e4}} +void {\bfseries output} (\hyperlink{class_b_m_a_session}{B\+M\+A\+Session} $\ast$session) +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +\subsection{Detailed Description} +\hyperlink{class_b_m_a_thread}{B\+M\+A\+Thread} + +This thread object is designed to be the thread processor for the \hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} object. It wraps the thread object to allow maintaining a status value for monitoring the thread activity. \hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} will instantiate a \hyperlink{class_b_m_a_thread}{B\+M\+A\+Thread} object for each thread specified in the \hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll}\textquotesingle{}s start method. + +\subsection{Member Function Documentation} +\mbox{\Hypertarget{class_b_m_a_thread_a71945ff6553b22563f2140f8eafc2413}\label{class_b_m_a_thread_a71945ff6553b22563f2140f8eafc2413}} +\index{B\+M\+A\+Thread@{B\+M\+A\+Thread}!start@{start}} +\index{start@{start}!B\+M\+A\+Thread@{B\+M\+A\+Thread}} +\subsubsection{\texorpdfstring{start()}{start()}} +{\footnotesize\ttfamily void B\+M\+A\+Thread\+::start (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +Start the thread object. This will cause the epoll scheduler to commence reading the epoll queue. + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/B\+M\+A\+Thread.\+h\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/B\+M\+A\+Thread.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_thread__coll__graph.md5 b/docs/latex/class_b_m_a_thread__coll__graph.md5 new file mode 100644 index 0000000..b7edbf2 --- /dev/null +++ b/docs/latex/class_b_m_a_thread__coll__graph.md5 @@ -0,0 +1 @@ +607c786fff34594ccc5130914463eb49 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_thread__coll__graph.pdf b/docs/latex/class_b_m_a_thread__coll__graph.pdf new file mode 100644 index 0000000..b79f3a9 Binary files /dev/null and b/docs/latex/class_b_m_a_thread__coll__graph.pdf differ diff --git a/docs/latex/class_b_m_a_thread__inherit__graph.md5 b/docs/latex/class_b_m_a_thread__inherit__graph.md5 new file mode 100644 index 0000000..fbe63c4 --- /dev/null +++ b/docs/latex/class_b_m_a_thread__inherit__graph.md5 @@ -0,0 +1 @@ +fe042f498d951d57f44173b8427a0284 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_thread__inherit__graph.pdf b/docs/latex/class_b_m_a_thread__inherit__graph.pdf new file mode 100644 index 0000000..b79f3a9 Binary files /dev/null and b/docs/latex/class_b_m_a_thread__inherit__graph.pdf differ diff --git a/docs/latex/class_b_m_a_timer.tex b/docs/latex/class_b_m_a_timer.tex new file mode 100644 index 0000000..dac481b --- /dev/null +++ b/docs/latex/class_b_m_a_timer.tex @@ -0,0 +1,94 @@ +\hypertarget{class_b_m_a_timer}{}\section{B\+M\+A\+Timer Class Reference} +\label{class_b_m_a_timer}\index{B\+M\+A\+Timer@{B\+M\+A\+Timer}} + + +{\ttfamily \#include $<$B\+M\+A\+Timer.\+h$>$} + + + +Inheritance diagram for B\+M\+A\+Timer\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=246pt]{class_b_m_a_timer__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for B\+M\+A\+Timer\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=300pt]{class_b_m_a_timer__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_timer_a23b70762f6bca2ec9eee5642cda6e915}\label{class_b_m_a_timer_a23b70762f6bca2ec9eee5642cda6e915}} +{\bfseries B\+M\+A\+Timer} (\hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} \&e\+Poll) +\item +\mbox{\Hypertarget{class_b_m_a_timer_a52096d26eabfb5a938091d6160705b43}\label{class_b_m_a_timer_a52096d26eabfb5a938091d6160705b43}} +{\bfseries B\+M\+A\+Timer} (\hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} \&e\+Poll, double delay) +\item +void \hyperlink{class_b_m_a_timer_acbfec79cd4b7834e35c05cab6ffdf0b1}{set\+Timer} (double delay) +\item +void \hyperlink{class_b_m_a_timer_abc80e4ca7b8820ffe50e48e51f625b6b}{clear\+Timer} () +\item +double \hyperlink{class_b_m_a_timer_a59cd5143def2b1bfeaff7c83b3191052}{get\+Elapsed} () +\item +\mbox{\Hypertarget{class_b_m_a_timer_a6c7bdb27dc350fd39c0090708031a38f}\label{class_b_m_a_timer_a6c7bdb27dc350fd39c0090708031a38f}} +double {\bfseries get\+Epoch} () +\end{DoxyCompactItemize} +\subsection*{Protected Member Functions} +\begin{DoxyCompactItemize} +\item +virtual void \hyperlink{class_b_m_a_timer_aa80b19263f18acd2ce11f4e78c7a856b}{on\+Timeout} ()=0 +\end{DoxyCompactItemize} + + +\subsection{Detailed Description} +\hyperlink{class_b_m_a_timer}{B\+M\+A\+Timer} + +Set and trigger callback upon specified timeout. + +The \hyperlink{class_b_m_a_timer}{B\+M\+A\+Timer} is used to establish a timer using the timer socket interface. It cannot be instantiated directly but must be extended. + +\subsection{Member Function Documentation} +\mbox{\Hypertarget{class_b_m_a_timer_abc80e4ca7b8820ffe50e48e51f625b6b}\label{class_b_m_a_timer_abc80e4ca7b8820ffe50e48e51f625b6b}} +\index{B\+M\+A\+Timer@{B\+M\+A\+Timer}!clear\+Timer@{clear\+Timer}} +\index{clear\+Timer@{clear\+Timer}!B\+M\+A\+Timer@{B\+M\+A\+Timer}} +\subsubsection{\texorpdfstring{clear\+Timer()}{clearTimer()}} +{\footnotesize\ttfamily void B\+M\+A\+Timer\+::clear\+Timer (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +Use the \hyperlink{class_b_m_a_timer_abc80e4ca7b8820ffe50e48e51f625b6b}{clear\+Timer()} to unset the timer and return the timer to an idle state. \mbox{\Hypertarget{class_b_m_a_timer_a59cd5143def2b1bfeaff7c83b3191052}\label{class_b_m_a_timer_a59cd5143def2b1bfeaff7c83b3191052}} +\index{B\+M\+A\+Timer@{B\+M\+A\+Timer}!get\+Elapsed@{get\+Elapsed}} +\index{get\+Elapsed@{get\+Elapsed}!B\+M\+A\+Timer@{B\+M\+A\+Timer}} +\subsubsection{\texorpdfstring{get\+Elapsed()}{getElapsed()}} +{\footnotesize\ttfamily double B\+M\+A\+Timer\+::get\+Elapsed (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +Use the \hyperlink{class_b_m_a_timer_a59cd5143def2b1bfeaff7c83b3191052}{get\+Elapsed()} method to obtain the amount of time that has elapsed since the timer was set. \mbox{\Hypertarget{class_b_m_a_timer_aa80b19263f18acd2ce11f4e78c7a856b}\label{class_b_m_a_timer_aa80b19263f18acd2ce11f4e78c7a856b}} +\index{B\+M\+A\+Timer@{B\+M\+A\+Timer}!on\+Timeout@{on\+Timeout}} +\index{on\+Timeout@{on\+Timeout}!B\+M\+A\+Timer@{B\+M\+A\+Timer}} +\subsubsection{\texorpdfstring{on\+Timeout()}{onTimeout()}} +{\footnotesize\ttfamily virtual void B\+M\+A\+Timer\+::on\+Timeout (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [pure virtual]}} + +This method is called when the time out occurs. \mbox{\Hypertarget{class_b_m_a_timer_acbfec79cd4b7834e35c05cab6ffdf0b1}\label{class_b_m_a_timer_acbfec79cd4b7834e35c05cab6ffdf0b1}} +\index{B\+M\+A\+Timer@{B\+M\+A\+Timer}!set\+Timer@{set\+Timer}} +\index{set\+Timer@{set\+Timer}!B\+M\+A\+Timer@{B\+M\+A\+Timer}} +\subsubsection{\texorpdfstring{set\+Timer()}{setTimer()}} +{\footnotesize\ttfamily void B\+M\+A\+Timer\+::set\+Timer (\begin{DoxyParamCaption}\item[{double}]{delay }\end{DoxyParamCaption})} + +Use the \hyperlink{class_b_m_a_timer_acbfec79cd4b7834e35c05cab6ffdf0b1}{set\+Timer()} method to set the time out value for timer. Setting the timer also starts the timer countdown. The \hyperlink{class_b_m_a_timer_abc80e4ca7b8820ffe50e48e51f625b6b}{clear\+Timer()} method can be used to reset the timer without triggering the \hyperlink{class_b_m_a_timer_aa80b19263f18acd2ce11f4e78c7a856b}{on\+Timeout()} callback. + + +\begin{DoxyParams}{Parameters} +{\em delay} & the amount of time in seconds to wait before trigering the on\+Timeout function. \\ +\hline +\end{DoxyParams} + + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/B\+M\+A\+Timer.\+h\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/B\+M\+A\+Timer.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_timer__coll__graph.md5 b/docs/latex/class_b_m_a_timer__coll__graph.md5 new file mode 100644 index 0000000..66799b4 --- /dev/null +++ b/docs/latex/class_b_m_a_timer__coll__graph.md5 @@ -0,0 +1 @@ +4d34df62c91c93e263f15ac48eb53fdf \ No newline at end of file diff --git a/docs/latex/class_b_m_a_timer__coll__graph.pdf b/docs/latex/class_b_m_a_timer__coll__graph.pdf new file mode 100644 index 0000000..3853e23 Binary files /dev/null and b/docs/latex/class_b_m_a_timer__coll__graph.pdf differ diff --git a/docs/latex/class_b_m_a_timer__inherit__graph.md5 b/docs/latex/class_b_m_a_timer__inherit__graph.md5 new file mode 100644 index 0000000..dcd550c --- /dev/null +++ b/docs/latex/class_b_m_a_timer__inherit__graph.md5 @@ -0,0 +1 @@ +d83e1989674f8478ac516a7c55e31e49 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_timer__inherit__graph.pdf b/docs/latex/class_b_m_a_timer__inherit__graph.pdf new file mode 100644 index 0000000..5c38607 Binary files /dev/null and b/docs/latex/class_b_m_a_timer__inherit__graph.pdf differ diff --git a/docs/latex/class_b_m_a_u_d_p_server_socket.tex b/docs/latex/class_b_m_a_u_d_p_server_socket.tex new file mode 100644 index 0000000..8e94678 --- /dev/null +++ b/docs/latex/class_b_m_a_u_d_p_server_socket.tex @@ -0,0 +1,80 @@ +\hypertarget{class_b_m_a_u_d_p_server_socket}{}\section{B\+M\+A\+U\+D\+P\+Server\+Socket Class Reference} +\label{class_b_m_a_u_d_p_server_socket}\index{B\+M\+A\+U\+D\+P\+Server\+Socket@{B\+M\+A\+U\+D\+P\+Server\+Socket}} + + +{\ttfamily \#include $<$B\+M\+A\+U\+D\+P\+Server\+Socket.\+h$>$} + + + +Inheritance diagram for B\+M\+A\+U\+D\+P\+Server\+Socket\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=272pt]{class_b_m_a_u_d_p_server_socket__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for B\+M\+A\+U\+D\+P\+Server\+Socket\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=329pt]{class_b_m_a_u_d_p_server_socket__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_u_d_p_server_socket_a7f32b0ee1fe9d6b7707f0c7742c5b370}\label{class_b_m_a_u_d_p_server_socket_a7f32b0ee1fe9d6b7707f0c7742c5b370}} +{\bfseries B\+M\+A\+U\+D\+P\+Server\+Socket} (\hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} \&e\+Poll, std\+::string url, short int port, std\+::string command\+Name) +\end{DoxyCompactItemize} +\subsection*{Protected Member Functions} +\begin{DoxyCompactItemize} +\item +void \hyperlink{class_b_m_a_u_d_p_server_socket_aaec1d1fa5f874c7669574c3610cee24e}{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{class_b_m_a_u_d_p_server_socket_adfda067809028487bf6e3430da146419}\label{class_b_m_a_u_d_p_server_socket_adfda067809028487bf6e3430da146419}} +void {\bfseries process\+Command} (\hyperlink{class_b_m_a_session}{B\+M\+A\+Session} $\ast$session) +\end{DoxyCompactItemize} +\subsection*{Protected Attributes} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_u_d_p_server_socket_a546c253f0e165daef0dc9f60651a23f7}\label{class_b_m_a_u_d_p_server_socket_a546c253f0e165daef0dc9f60651a23f7}} +std\+::vector$<$ \hyperlink{class_b_m_a_session}{B\+M\+A\+Session} $\ast$ $>$ {\bfseries sessions} +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +\subsection{Detailed Description} +\hyperlink{class_b_m_a_u_d_p_socket}{B\+M\+A\+U\+D\+P\+Socket} + +Manage a socket connection as a U\+DP server type. Connections to the socket are processed through the session list functionality. A list of sessions is maintained in a vector object. + +\subsection{Member Function Documentation} +\mbox{\Hypertarget{class_b_m_a_u_d_p_server_socket_aaec1d1fa5f874c7669574c3610cee24e}\label{class_b_m_a_u_d_p_server_socket_aaec1d1fa5f874c7669574c3610cee24e}} +\index{B\+M\+A\+U\+D\+P\+Server\+Socket@{B\+M\+A\+U\+D\+P\+Server\+Socket}!on\+Data\+Received@{on\+Data\+Received}} +\index{on\+Data\+Received@{on\+Data\+Received}!B\+M\+A\+U\+D\+P\+Server\+Socket@{B\+M\+A\+U\+D\+P\+Server\+Socket}} +\subsubsection{\texorpdfstring{on\+Data\+Received()}{onDataReceived()}} +{\footnotesize\ttfamily void B\+M\+A\+U\+D\+P\+Server\+Socket\+::on\+Data\+Received (\begin{DoxyParamCaption}\item[{std\+::string}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [protected]}, {\ttfamily [virtual]}} + + + +Called when data is received from the socket. + +The on\+Data\+Received method is called when the socket has received an event from epoll and there is data ready to be read from the socket. The default handler will pull the data and put it into the streambuf for the socket. E\+P\+O\+L\+L\+IN + + +\begin{DoxyParams}{Parameters} +{\em data} & the data that has been received from the socket. \\ +\hline +\end{DoxyParams} + + +Implements \hyperlink{class_b_m_a_socket_ad77bf590a4d9807bd8f0a81667903f2e}{B\+M\+A\+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/B\+M\+A\+U\+D\+P\+Server\+Socket.\+h\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/B\+M\+A\+U\+D\+P\+Server\+Socket.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_u_d_p_server_socket__coll__graph.md5 b/docs/latex/class_b_m_a_u_d_p_server_socket__coll__graph.md5 new file mode 100644 index 0000000..c8adcd4 --- /dev/null +++ b/docs/latex/class_b_m_a_u_d_p_server_socket__coll__graph.md5 @@ -0,0 +1 @@ +b041b9971a8e7c9ace2e6c1fa08f88d9 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_u_d_p_server_socket__coll__graph.pdf b/docs/latex/class_b_m_a_u_d_p_server_socket__coll__graph.pdf new file mode 100644 index 0000000..fca8a29 Binary files /dev/null and b/docs/latex/class_b_m_a_u_d_p_server_socket__coll__graph.pdf differ diff --git a/docs/latex/class_b_m_a_u_d_p_server_socket__inherit__graph.md5 b/docs/latex/class_b_m_a_u_d_p_server_socket__inherit__graph.md5 new file mode 100644 index 0000000..a5fe991 --- /dev/null +++ b/docs/latex/class_b_m_a_u_d_p_server_socket__inherit__graph.md5 @@ -0,0 +1 @@ +2af915e46015dcdeed85423eef995393 \ No newline at end of file diff --git a/docs/latex/class_b_m_a_u_d_p_server_socket__inherit__graph.pdf b/docs/latex/class_b_m_a_u_d_p_server_socket__inherit__graph.pdf new file mode 100644 index 0000000..6f0881c Binary files /dev/null and b/docs/latex/class_b_m_a_u_d_p_server_socket__inherit__graph.pdf differ diff --git a/docs/latex/class_b_m_a_u_d_p_socket.tex b/docs/latex/class_b_m_a_u_d_p_socket.tex new file mode 100644 index 0000000..51cae7e --- /dev/null +++ b/docs/latex/class_b_m_a_u_d_p_socket.tex @@ -0,0 +1,33 @@ +\hypertarget{class_b_m_a_u_d_p_socket}{}\section{B\+M\+A\+U\+D\+P\+Socket Class Reference} +\label{class_b_m_a_u_d_p_socket}\index{B\+M\+A\+U\+D\+P\+Socket@{B\+M\+A\+U\+D\+P\+Socket}} + + +Inheritance diagram for B\+M\+A\+U\+D\+P\+Socket\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=246pt]{class_b_m_a_u_d_p_socket__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for B\+M\+A\+U\+D\+P\+Socket\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=300pt]{class_b_m_a_u_d_p_socket__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{class_b_m_a_u_d_p_socket_a1526f880001526ef7c5180b3a2124f38}\label{class_b_m_a_u_d_p_socket_a1526f880001526ef7c5180b3a2124f38}} +{\bfseries B\+M\+A\+U\+D\+P\+Socket} (\hyperlink{class_b_m_a_e_poll}{B\+M\+A\+E\+Poll} \&e\+Poll) +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/B\+M\+A\+U\+D\+P\+Socket.\+h\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/B\+M\+A\+U\+D\+P\+Socket.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/class_b_m_a_u_d_p_socket__coll__graph.md5 b/docs/latex/class_b_m_a_u_d_p_socket__coll__graph.md5 new file mode 100644 index 0000000..e4e1152 --- /dev/null +++ b/docs/latex/class_b_m_a_u_d_p_socket__coll__graph.md5 @@ -0,0 +1 @@ +4e22bca6acd61987b421331c9e85937e \ No newline at end of file diff --git a/docs/latex/class_b_m_a_u_d_p_socket__coll__graph.pdf b/docs/latex/class_b_m_a_u_d_p_socket__coll__graph.pdf new file mode 100644 index 0000000..eb0a7c8 Binary files /dev/null and b/docs/latex/class_b_m_a_u_d_p_socket__coll__graph.pdf differ diff --git a/docs/latex/class_b_m_a_u_d_p_socket__inherit__graph.md5 b/docs/latex/class_b_m_a_u_d_p_socket__inherit__graph.md5 new file mode 100644 index 0000000..e600ed1 --- /dev/null +++ b/docs/latex/class_b_m_a_u_d_p_socket__inherit__graph.md5 @@ -0,0 +1 @@ +ee5416d8c24a8d62e9c2ee238f2b895b \ No newline at end of file diff --git a/docs/latex/class_b_m_a_u_d_p_socket__inherit__graph.pdf b/docs/latex/class_b_m_a_u_d_p_socket__inherit__graph.pdf new file mode 100644 index 0000000..0e45cc5 Binary files /dev/null and b/docs/latex/class_b_m_a_u_d_p_socket__inherit__graph.pdf differ diff --git a/docs/latex/classcore_1_1_command.tex b/docs/latex/classcore_1_1_command.tex new file mode 100644 index 0000000..9caddaf --- /dev/null +++ b/docs/latex/classcore_1_1_command.tex @@ -0,0 +1,123 @@ +\hypertarget{classcore_1_1_command}{}\section{core\+:\+:Command Class Reference} +\label{classcore_1_1_command}\index{core\+::\+Command@{core\+::\+Command}} + + +{\ttfamily \#include $<$Command.\+h$>$} + + + +Inheritance diagram for core\+:\+:Command\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{classcore_1_1_command__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for core\+:\+:Command\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=166pt]{classcore_1_1_command__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\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 +\item +virtual void \hyperlink{classcore_1_1_command_a314aef05f78aacb802097f8ae0875291}{output} (\hyperlink{classcore_1_1_session}{Session} $\ast$session) +\item +void \hyperlink{classcore_1_1_command_ad8b0321c64838f4d5c8f93461b97cfef}{set\+Name} (std\+::string name) +\item +\mbox{\Hypertarget{classcore_1_1_command_aa63cf88493b2a1b775b5b93b07e79324}\label{classcore_1_1_command_aa63cf88493b2a1b775b5b93b07e79324}} +std\+::string {\bfseries get\+Name} () +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +\subsection{Detailed Description} +\hyperlink{classcore_1_1_command}{Command} + +Use the \hyperlink{classcore_1_1_command}{Command} object in combination with a \hyperlink{classcore_1_1_command_list}{Command\+List} object to maintain a list of functions that can be invoked as a result of processing a request. + +\subsection{Member Function Documentation} +\mbox{\Hypertarget{classcore_1_1_command_abdc0d7a4693a7f7940bbae20c4a667c0}\label{classcore_1_1_command_abdc0d7a4693a7f7940bbae20c4a667c0}} +\index{core\+::\+Command@{core\+::\+Command}!check@{check}} +\index{check@{check}!core\+::\+Command@{core\+::\+Command}} +\subsubsection{\texorpdfstring{check()}{check()}} +{\footnotesize\ttfamily bool core\+::\+Command\+::check (\begin{DoxyParamCaption}\item[{std\+::string}]{request }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}} + +Implement check method to provide a special check rule upon the request to see if the command should be processed. + +The default rule is to verify that the first token in the request string matches the name given on the registration of the command to the \hyperlink{classcore_1_1_command_list}{Command\+List}. This can be overridden by implementing the \hyperlink{classcore_1_1_command_abdc0d7a4693a7f7940bbae20c4a667c0}{check()} method to perform the test and return the condition of the command. + + +\begin{DoxyParams}{Parameters} +{\em request} & The request passed to the parser to check the rule. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +Return true to execute the command. Returning false will cause no action on this command. +\end{DoxyReturn} +\mbox{\Hypertarget{classcore_1_1_command_a314aef05f78aacb802097f8ae0875291}\label{classcore_1_1_command_a314aef05f78aacb802097f8ae0875291}} +\index{core\+::\+Command@{core\+::\+Command}!output@{output}} +\index{output@{output}!core\+::\+Command@{core\+::\+Command}} +\subsubsection{\texorpdfstring{output()}{output()}} +{\footnotesize\ttfamily void core\+::\+Command\+::output (\begin{DoxyParamCaption}\item[{\hyperlink{classcore_1_1_session}{Session} $\ast$}]{session }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}} + +Specify the output that will occur to the specified session. + + +\begin{DoxyParams}{Parameters} +{\em session} & The session that will receive the output. \\ +\hline +\end{DoxyParams} + + +Reimplemented in \hyperlink{classcore_1_1_console_server_a8c2cd23829acd76b76bef60c098eabe3}{core\+::\+Console\+Server}. + +\mbox{\Hypertarget{classcore_1_1_command_a0b7ae77ea83e463193c52b2c502b7c56}\label{classcore_1_1_command_a0b7ae77ea83e463193c52b2c502b7c56}} +\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]}} + +This method is used to implement the functionality of the requested command. This pure virtual function must be implemented in your inheriting object. + + +\begin{DoxyParams}{Parameters} +{\em request} & The request that was entered by the user to invoke this command. \\ +\hline +{\em session} & Specify the requesting session so that the execution of the command process can return its output to the session. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +Returns 0 if execution of the command was successful. Otherwise returns a non-\/zero value indicating an error condition. +\end{DoxyReturn} + + +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}. + +\mbox{\Hypertarget{classcore_1_1_command_ad8b0321c64838f4d5c8f93461b97cfef}\label{classcore_1_1_command_ad8b0321c64838f4d5c8f93461b97cfef}} +\index{core\+::\+Command@{core\+::\+Command}!set\+Name@{set\+Name}} +\index{set\+Name@{set\+Name}!core\+::\+Command@{core\+::\+Command}} +\subsubsection{\texorpdfstring{set\+Name()}{setName()}} +{\footnotesize\ttfamily void core\+::\+Command\+::set\+Name (\begin{DoxyParamCaption}\item[{std\+::string}]{name }\end{DoxyParamCaption})} + +Set the name of this command used in default rule checking during request parsing. N\+O\+TE\+: You do not need to call this under normal conditions as adding a \hyperlink{classcore_1_1_command}{Command} to a \hyperlink{classcore_1_1_command_list}{Command\+List} using the add() method contains a parameter to pass the name of the \hyperlink{classcore_1_1_command}{Command}. + + +\begin{DoxyParams}{Parameters} +{\em name} & Specify the name of this command for default parsing. \\ +\hline +\end{DoxyParams} + + +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} diff --git a/docs/latex/classcore_1_1_command__coll__graph.md5 b/docs/latex/classcore_1_1_command__coll__graph.md5 new file mode 100644 index 0000000..4f9be73 --- /dev/null +++ b/docs/latex/classcore_1_1_command__coll__graph.md5 @@ -0,0 +1 @@ +bed67932de10285ad02f3e59441e88fc \ 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 new file mode 100644 index 0000000..f949488 Binary files /dev/null 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 new file mode 100644 index 0000000..a163852 --- /dev/null +++ b/docs/latex/classcore_1_1_command__inherit__graph.md5 @@ -0,0 +1 @@ +423497738057f80307b66a1ce9df7c8f \ 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 new file mode 100644 index 0000000..d88e56a Binary files /dev/null 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 new file mode 100644 index 0000000..4ff0bf5 --- /dev/null +++ b/docs/latex/classcore_1_1_command_list.tex @@ -0,0 +1,66 @@ +\hypertarget{classcore_1_1_command_list}{}\section{core\+:\+:Command\+List Class Reference} +\label{classcore_1_1_command_list}\index{core\+::\+Command\+List@{core\+::\+Command\+List}} + + +Inheritance diagram for core\+:\+:Command\+List\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=182pt]{classcore_1_1_command_list__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for core\+:\+:Command\+List\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=182pt]{classcore_1_1_command_list__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{classcore_1_1_command_list_a7a45e75e3d21a25fd3f7e887acf395e9}\label{classcore_1_1_command_list_a7a45e75e3d21a25fd3f7e887acf395e9}} +void {\bfseries add} (\hyperlink{classcore_1_1_command}{Command} \&command, std\+::string name=\char`\"{}\char`\"{}) +\item +\mbox{\Hypertarget{classcore_1_1_command_list_aaac684effb9ecf5238d23ca60d3fffaa}\label{classcore_1_1_command_list_aaac684effb9ecf5238d23ca60d3fffaa}} +void {\bfseries remove} (\hyperlink{classcore_1_1_command}{Command} \&command) +\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) +\item +int \hyperlink{classcore_1_1_command_list_a53e02bf38c40ac851bad6e1b943316da}{process\+Command} (std\+::string request, \hyperlink{classcore_1_1_session}{Session} $\ast$session) override +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +\subsection{Member Function Documentation} +\mbox{\Hypertarget{classcore_1_1_command_list_a53e02bf38c40ac851bad6e1b943316da}\label{classcore_1_1_command_list_a53e02bf38c40ac851bad6e1b943316da}} +\index{core\+::\+Command\+List@{core\+::\+Command\+List}!process\+Command@{process\+Command}} +\index{process\+Command@{process\+Command}!core\+::\+Command\+List@{core\+::\+Command\+List}} +\subsubsection{\texorpdfstring{process\+Command()}{processCommand()}} +{\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]}} + +This method is used to implement the functionality of the requested command. This pure virtual function must be implemented in your inheriting object. + + +\begin{DoxyParams}{Parameters} +{\em request} & The request that was entered by the user to invoke this command. \\ +\hline +{\em session} & Specify the requesting session so that the execution of the command process can return its output to the session. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +Returns 0 if execution of the command was successful. Otherwise returns a non-\/zero value indicating an error condition. +\end{DoxyReturn} + + +Implements \hyperlink{classcore_1_1_command_a0b7ae77ea83e463193c52b2c502b7c56}{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} diff --git a/docs/latex/classcore_1_1_command_list__coll__graph.md5 b/docs/latex/classcore_1_1_command_list__coll__graph.md5 new file mode 100644 index 0000000..04d2550 --- /dev/null +++ b/docs/latex/classcore_1_1_command_list__coll__graph.md5 @@ -0,0 +1 @@ +961f7d9d2264d448dc9a2232b865c966 \ No newline at end of file diff --git a/docs/latex/classcore_1_1_command_list__coll__graph.pdf b/docs/latex/classcore_1_1_command_list__coll__graph.pdf new file mode 100644 index 0000000..896e9a2 Binary files /dev/null and b/docs/latex/classcore_1_1_command_list__coll__graph.pdf differ diff --git a/docs/latex/classcore_1_1_command_list__inherit__graph.md5 b/docs/latex/classcore_1_1_command_list__inherit__graph.md5 new file mode 100644 index 0000000..186b093 --- /dev/null +++ b/docs/latex/classcore_1_1_command_list__inherit__graph.md5 @@ -0,0 +1 @@ +fd6b0b8bec19a67555453bba23012fe7 \ No newline at end of file diff --git a/docs/latex/classcore_1_1_command_list__inherit__graph.pdf b/docs/latex/classcore_1_1_command_list__inherit__graph.pdf new file mode 100644 index 0000000..896e9a2 Binary files /dev/null and b/docs/latex/classcore_1_1_command_list__inherit__graph.pdf differ diff --git a/docs/latex/classcore_1_1_console_server.tex b/docs/latex/classcore_1_1_console_server.tex new file mode 100644 index 0000000..167a020 --- /dev/null +++ b/docs/latex/classcore_1_1_console_server.tex @@ -0,0 +1,57 @@ +\hypertarget{classcore_1_1_console_server}{}\section{core\+:\+:Console\+Server Class Reference} +\label{classcore_1_1_console_server}\index{core\+::\+Console\+Server@{core\+::\+Console\+Server}} + + +Inheritance diagram for core\+:\+:Console\+Server\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=276pt]{classcore_1_1_console_server__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for core\+:\+:Console\+Server\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{classcore_1_1_console_server__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{classcore_1_1_console_server_af46bc1d5e95252bf057354575f8d985f}\label{classcore_1_1_console_server_af46bc1d5e95252bf057354575f8d985f}} +{\bfseries Console\+Server} (\hyperlink{classcore_1_1_e_poll}{E\+Poll} \&e\+Poll, std\+::string url, short int port) +\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 +\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. + +Implements \hyperlink{classcore_1_1_t_c_p_server_socket_ab1b3da899ef32f14c3162ada91d11742}{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} diff --git a/docs/latex/classcore_1_1_console_server__coll__graph.md5 b/docs/latex/classcore_1_1_console_server__coll__graph.md5 new file mode 100644 index 0000000..27442c7 --- /dev/null +++ b/docs/latex/classcore_1_1_console_server__coll__graph.md5 @@ -0,0 +1 @@ +18a00e189bad4cfd943ca134ca69b09f \ 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 new file mode 100644 index 0000000..1ee6911 Binary files /dev/null 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 new file mode 100644 index 0000000..a4d5f74 --- /dev/null +++ b/docs/latex/classcore_1_1_console_server__inherit__graph.md5 @@ -0,0 +1 @@ +b8f626b012e95f47c01033f89a13c6b3 \ 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 new file mode 100644 index 0000000..8132993 Binary files /dev/null and b/docs/latex/classcore_1_1_console_server__inherit__graph.pdf differ diff --git a/docs/latex/classcore_1_1_console_session.tex b/docs/latex/classcore_1_1_console_session.tex new file mode 100644 index 0000000..b0c784f --- /dev/null +++ b/docs/latex/classcore_1_1_console_session.tex @@ -0,0 +1,66 @@ +\hypertarget{classcore_1_1_console_session}{}\section{core\+:\+:Console\+Session Class Reference} +\label{classcore_1_1_console_session}\index{core\+::\+Console\+Session@{core\+::\+Console\+Session}} + + +{\ttfamily \#include $<$Console\+Session.\+h$>$} + + + +Inheritance diagram for core\+:\+:Console\+Session\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=248pt]{classcore_1_1_console_session__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for core\+:\+:Console\+Session\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{classcore_1_1_console_session__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{classcore_1_1_console_session_a9b03260001138c7094468aa63a57a1ee}\label{classcore_1_1_console_session_a9b03260001138c7094468aa63a57a1ee}} +{\bfseries Console\+Session} (\hyperlink{classcore_1_1_e_poll}{E\+Poll} \&e\+Poll, \hyperlink{classcore_1_1_console_server}{Console\+Server} \&server) +\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} +\subsection*{Protected Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{classcore_1_1_console_session_a830cc1e1e0c3fe3b066f0a9f7f469490}\label{classcore_1_1_console_session_a830cc1e1e0c3fe3b066f0a9f7f469490}} +void {\bfseries protocol} (std\+::string data) override +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +\subsection{Detailed Description} +\hyperlink{classcore_1_1_console_session}{Console\+Session} + +Extends the session parameters for this \hyperlink{classcore_1_1_t_c_p_socket}{T\+C\+P\+Socket} derived object. Extend the protocol() method in order to define the behavior and protocol interaction for this socket which is a console session. + +\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}. + + + +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} diff --git a/docs/latex/classcore_1_1_console_session__coll__graph.md5 b/docs/latex/classcore_1_1_console_session__coll__graph.md5 new file mode 100644 index 0000000..b709fc3 --- /dev/null +++ b/docs/latex/classcore_1_1_console_session__coll__graph.md5 @@ -0,0 +1 @@ +764b77c57b40c54f8d1ef1e97f5d1e83 \ 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 new file mode 100644 index 0000000..57eeee9 Binary files /dev/null and b/docs/latex/classcore_1_1_console_session__coll__graph.pdf differ diff --git a/docs/latex/classcore_1_1_console_session__inherit__graph.md5 b/docs/latex/classcore_1_1_console_session__inherit__graph.md5 new file mode 100644 index 0000000..fd2b767 --- /dev/null +++ b/docs/latex/classcore_1_1_console_session__inherit__graph.md5 @@ -0,0 +1 @@ +1f5710b48e706a7ab3bb3a6ec0ee9009 \ No newline at end of file diff --git a/docs/latex/classcore_1_1_console_session__inherit__graph.pdf b/docs/latex/classcore_1_1_console_session__inherit__graph.pdf new file mode 100644 index 0000000..a55d157 Binary files /dev/null and b/docs/latex/classcore_1_1_console_session__inherit__graph.pdf differ diff --git a/docs/latex/classcore_1_1_e_poll.tex b/docs/latex/classcore_1_1_e_poll.tex new file mode 100644 index 0000000..90c4df9 --- /dev/null +++ b/docs/latex/classcore_1_1_e_poll.tex @@ -0,0 +1,224 @@ +\hypertarget{classcore_1_1_e_poll}{}\section{core\+:\+:E\+Poll Class Reference} +\label{classcore_1_1_e_poll}\index{core\+::\+E\+Poll@{core\+::\+E\+Poll}} + + +{\ttfamily \#include $<$E\+Poll.\+h$>$} + + + +Inheritance diagram for core\+:\+:E\+Poll\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=166pt]{classcore_1_1_e_poll__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for core\+:\+:E\+Poll\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=166pt]{classcore_1_1_e_poll__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\hyperlink{classcore_1_1_e_poll_a2fd5cc4336b5f72990ecc0e7ea3d7641}{E\+Poll} () +\item +\hyperlink{classcore_1_1_e_poll_a8e7a2496d684b745a6410f9bd3e88534}{$\sim$\+E\+Poll} () +\item +bool \hyperlink{classcore_1_1_e_poll_aaefe2caef75eb538af90cb34682d277b}{start} (int number\+Of\+Threads, int \hyperlink{classcore_1_1_e_poll_acfcef2513d94f7b9a191fed3dc744d90}{max\+Sockets}) +\begin{DoxyCompactList}\small\item\em Start the B\+M\+A\+E\+Poll processing. \end{DoxyCompactList}\item +bool \hyperlink{classcore_1_1_e_poll_a0c2865acd31d14fbf19dbc42cc084ddc}{stop} () +\begin{DoxyCompactList}\small\item\em Stop and shut down the B\+M\+A\+E\+Poll processing. \end{DoxyCompactList}\item +bool \hyperlink{classcore_1_1_e_poll_a301b46b71ac7ac61a687ff723fe269b3}{is\+Stopping} () +\begin{DoxyCompactList}\small\item\em Returns a true if the stop command has been requested. \end{DoxyCompactList}\item +bool \hyperlink{classcore_1_1_e_poll_a3d813c7bbf0da70ebc8e3cb6aeeacfb4}{register\+Socket} (\hyperlink{classcore_1_1_socket}{Socket} $\ast$socket) +\begin{DoxyCompactList}\small\item\em Register a B\+M\+A\+Socket for monitoring by B\+M\+A\+E\+Poll. \end{DoxyCompactList}\item +bool \hyperlink{classcore_1_1_e_poll_a5ab5e82ab51e0952fc8fbcc128f52900}{unregister\+Socket} (\hyperlink{classcore_1_1_socket}{Socket} $\ast$socket) +\begin{DoxyCompactList}\small\item\em Unregister a B\+M\+A\+Socket from monitoring by B\+M\+A\+E\+Poll. \end{DoxyCompactList}\item +int \hyperlink{classcore_1_1_e_poll_a1e52017e1deae15c1c87c6b6a099e1ed}{get\+Descriptor} () +\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 +\begin{DoxyCompactList}\small\item\em Output the threads array to the console. \end{DoxyCompactList}\end{DoxyCompactItemize} +\subsection*{Public Attributes} +\begin{DoxyCompactItemize} +\item +int \hyperlink{classcore_1_1_e_poll_acfcef2513d94f7b9a191fed3dc744d90}{max\+Sockets} +\begin{DoxyCompactList}\small\item\em The maximum number of socket allowed. \end{DoxyCompactList}\end{DoxyCompactItemize} + + +\subsection{Detailed Description} +\hyperlink{classcore_1_1_e_poll}{E\+Poll} + +Manage socket events from the epoll system call. + +Use this object to establish a socket server using the epoll network structure of Linux. + +Use this object to establish the basis of working with multiple sockets of all sorts using the epoll capabilities of the Linux platform. \hyperlink{classcore_1_1_socket}{Socket} objects can register with B\+M\+A\+E\+Poll which will establish a communication mechanism with that socket. + +The maximum number of sockets to communicate with is specified on the start method. + +Threads are used to establish a read queue for epoll. The desired number of threads (or queues) is established by a parameter on the start method. + +\subsection{Constructor \& Destructor Documentation} +\mbox{\Hypertarget{classcore_1_1_e_poll_a2fd5cc4336b5f72990ecc0e7ea3d7641}\label{classcore_1_1_e_poll_a2fd5cc4336b5f72990ecc0e7ea3d7641}} +\index{core\+::\+E\+Poll@{core\+::\+E\+Poll}!E\+Poll@{E\+Poll}} +\index{E\+Poll@{E\+Poll}!core\+::\+E\+Poll@{core\+::\+E\+Poll}} +\subsubsection{\texorpdfstring{E\+Poll()}{EPoll()}} +{\footnotesize\ttfamily core\+::\+E\+Poll\+::\+E\+Poll (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +The constructor for the B\+M\+A\+E\+Poll object. \mbox{\Hypertarget{classcore_1_1_e_poll_a8e7a2496d684b745a6410f9bd3e88534}\label{classcore_1_1_e_poll_a8e7a2496d684b745a6410f9bd3e88534}} +\index{core\+::\+E\+Poll@{core\+::\+E\+Poll}!````~E\+Poll@{$\sim$\+E\+Poll}} +\index{````~E\+Poll@{$\sim$\+E\+Poll}!core\+::\+E\+Poll@{core\+::\+E\+Poll}} +\subsubsection{\texorpdfstring{$\sim$\+E\+Poll()}{~EPoll()}} +{\footnotesize\ttfamily core\+::\+E\+Poll\+::$\sim$\+E\+Poll (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +The destructor for the B\+M\+A\+E\+Poll object. + +\subsection{Member Function Documentation} +\mbox{\Hypertarget{classcore_1_1_e_poll_a3238b150b5d0a57eb2e1b17daa236d3b}\label{classcore_1_1_e_poll_a3238b150b5d0a57eb2e1b17daa236d3b}} +\index{core\+::\+E\+Poll@{core\+::\+E\+Poll}!event\+Received@{event\+Received}} +\index{event\+Received@{event\+Received}!core\+::\+E\+Poll@{core\+::\+E\+Poll}} +\subsubsection{\texorpdfstring{event\+Received()}{eventReceived()}} +{\footnotesize\ttfamily void core\+::\+E\+Poll\+::event\+Received (\begin{DoxyParamCaption}\item[{struct epoll\+\_\+event}]{event }\end{DoxyParamCaption})} + + + +Dispatch event to appropriate socket. + +Receive the epoll events and dispatch the event to the socket making the request. \mbox{\Hypertarget{classcore_1_1_e_poll_a1e52017e1deae15c1c87c6b6a099e1ed}\label{classcore_1_1_e_poll_a1e52017e1deae15c1c87c6b6a099e1ed}} +\index{core\+::\+E\+Poll@{core\+::\+E\+Poll}!get\+Descriptor@{get\+Descriptor}} +\index{get\+Descriptor@{get\+Descriptor}!core\+::\+E\+Poll@{core\+::\+E\+Poll}} +\subsubsection{\texorpdfstring{get\+Descriptor()}{getDescriptor()}} +{\footnotesize\ttfamily int core\+::\+E\+Poll\+::get\+Descriptor (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + + + +Return the descriptor for the e\+Poll socket. + +Use this method to obtain the current descriptor socket number for the epoll function call. \mbox{\Hypertarget{classcore_1_1_e_poll_a301b46b71ac7ac61a687ff723fe269b3}\label{classcore_1_1_e_poll_a301b46b71ac7ac61a687ff723fe269b3}} +\index{core\+::\+E\+Poll@{core\+::\+E\+Poll}!is\+Stopping@{is\+Stopping}} +\index{is\+Stopping@{is\+Stopping}!core\+::\+E\+Poll@{core\+::\+E\+Poll}} +\subsubsection{\texorpdfstring{is\+Stopping()}{isStopping()}} +{\footnotesize\ttfamily bool core\+::\+E\+Poll\+::is\+Stopping (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + + + +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}} +\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]}} + + + +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. + + +\begin{DoxyParams}{Parameters} +{\em session} & the session to write the requested data to. \\ +\hline +\end{DoxyParams} + + +Implements \hyperlink{classcore_1_1_command_a0b7ae77ea83e463193c52b2c502b7c56}{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}} +\index{register\+Socket@{register\+Socket}!core\+::\+E\+Poll@{core\+::\+E\+Poll}} +\subsubsection{\texorpdfstring{register\+Socket()}{registerSocket()}} +{\footnotesize\ttfamily bool core\+::\+E\+Poll\+::register\+Socket (\begin{DoxyParamCaption}\item[{\hyperlink{classcore_1_1_socket}{Socket} $\ast$}]{socket }\end{DoxyParamCaption})} + + + +Register a B\+M\+A\+Socket for monitoring by B\+M\+A\+E\+Poll. + +Use register\+Socket to add a new socket to the e\+Poll event watch list. This enables a new B\+M\+A\+Socket object to receive events when data is received as well as to write data output to the socket. + + +\begin{DoxyParams}{Parameters} +{\em socket} & a pointer to a B\+M\+A\+Socket object. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +a booelean that indicates the socket was registered or not. +\end{DoxyReturn} + +\begin{DoxyParams}{Parameters} +{\em socket} & The \hyperlink{classcore_1_1_socket}{Socket} to register. \\ +\hline +\end{DoxyParams} +\mbox{\Hypertarget{classcore_1_1_e_poll_aaefe2caef75eb538af90cb34682d277b}\label{classcore_1_1_e_poll_aaefe2caef75eb538af90cb34682d277b}} +\index{core\+::\+E\+Poll@{core\+::\+E\+Poll}!start@{start}} +\index{start@{start}!core\+::\+E\+Poll@{core\+::\+E\+Poll}} +\subsubsection{\texorpdfstring{start()}{start()}} +{\footnotesize\ttfamily bool core\+::\+E\+Poll\+::start (\begin{DoxyParamCaption}\item[{int}]{number\+Of\+Threads, }\item[{int}]{max\+Sockets }\end{DoxyParamCaption})} + + + +Start the B\+M\+A\+E\+Poll processing. + +Use the \hyperlink{classcore_1_1_e_poll_aaefe2caef75eb538af90cb34682d277b}{start()} method to initiate the threads and begin epoll queue processing. + + +\begin{DoxyParams}{Parameters} +{\em number\+Of\+Threads} & the number of threads to start for processing epoll entries. \\ +\hline +{\em max\+Sockets} & the maximum number of open sockets that epoll will manage. \\ +\hline +\end{DoxyParams} +\mbox{\Hypertarget{classcore_1_1_e_poll_a0c2865acd31d14fbf19dbc42cc084ddc}\label{classcore_1_1_e_poll_a0c2865acd31d14fbf19dbc42cc084ddc}} +\index{core\+::\+E\+Poll@{core\+::\+E\+Poll}!stop@{stop}} +\index{stop@{stop}!core\+::\+E\+Poll@{core\+::\+E\+Poll}} +\subsubsection{\texorpdfstring{stop()}{stop()}} +{\footnotesize\ttfamily bool core\+::\+E\+Poll\+::stop (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + + + +Stop and shut down the B\+M\+A\+E\+Poll processing. + +Use the \hyperlink{classcore_1_1_e_poll_a0c2865acd31d14fbf19dbc42cc084ddc}{stop()} method to initiate the shutdown process for the epoll socket management. + +A complete shutdown of all managed sockets will be initiated by this method call. \mbox{\Hypertarget{classcore_1_1_e_poll_a5ab5e82ab51e0952fc8fbcc128f52900}\label{classcore_1_1_e_poll_a5ab5e82ab51e0952fc8fbcc128f52900}} +\index{core\+::\+E\+Poll@{core\+::\+E\+Poll}!unregister\+Socket@{unregister\+Socket}} +\index{unregister\+Socket@{unregister\+Socket}!core\+::\+E\+Poll@{core\+::\+E\+Poll}} +\subsubsection{\texorpdfstring{unregister\+Socket()}{unregisterSocket()}} +{\footnotesize\ttfamily bool core\+::\+E\+Poll\+::unregister\+Socket (\begin{DoxyParamCaption}\item[{\hyperlink{classcore_1_1_socket}{Socket} $\ast$}]{socket }\end{DoxyParamCaption})} + + + +Unregister a B\+M\+A\+Socket from monitoring by B\+M\+A\+E\+Poll. + +Use this method to remove a socket from receiving events from the epoll system. +\begin{DoxyParams}{Parameters} +{\em socket} & The \hyperlink{classcore_1_1_socket}{Socket} to unregister. \\ +\hline +\end{DoxyParams} + + +\subsection{Member Data Documentation} +\mbox{\Hypertarget{classcore_1_1_e_poll_acfcef2513d94f7b9a191fed3dc744d90}\label{classcore_1_1_e_poll_acfcef2513d94f7b9a191fed3dc744d90}} +\index{core\+::\+E\+Poll@{core\+::\+E\+Poll}!max\+Sockets@{max\+Sockets}} +\index{max\+Sockets@{max\+Sockets}!core\+::\+E\+Poll@{core\+::\+E\+Poll}} +\subsubsection{\texorpdfstring{max\+Sockets}{maxSockets}} +{\footnotesize\ttfamily int core\+::\+E\+Poll\+::max\+Sockets} + + + +The maximum number of socket allowed. + +The maximum number of sockets that can be managed by the epoll system. + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +/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} diff --git a/docs/latex/classcore_1_1_e_poll__coll__graph.md5 b/docs/latex/classcore_1_1_e_poll__coll__graph.md5 new file mode 100644 index 0000000..3563844 --- /dev/null +++ b/docs/latex/classcore_1_1_e_poll__coll__graph.md5 @@ -0,0 +1 @@ +4680177dcffbf9af71baaa4695c46637 \ No newline at end of file diff --git a/docs/latex/classcore_1_1_e_poll__coll__graph.pdf b/docs/latex/classcore_1_1_e_poll__coll__graph.pdf new file mode 100644 index 0000000..af5ec7d Binary files /dev/null and b/docs/latex/classcore_1_1_e_poll__coll__graph.pdf differ diff --git a/docs/latex/classcore_1_1_e_poll__inherit__graph.md5 b/docs/latex/classcore_1_1_e_poll__inherit__graph.md5 new file mode 100644 index 0000000..9ffb532 --- /dev/null +++ b/docs/latex/classcore_1_1_e_poll__inherit__graph.md5 @@ -0,0 +1 @@ +6d8867cd822b3b9737e41393bb096197 \ No newline at end of file diff --git a/docs/latex/classcore_1_1_e_poll__inherit__graph.pdf b/docs/latex/classcore_1_1_e_poll__inherit__graph.pdf new file mode 100644 index 0000000..af5ec7d Binary files /dev/null and b/docs/latex/classcore_1_1_e_poll__inherit__graph.pdf differ diff --git a/docs/latex/classcore_1_1_exception.tex b/docs/latex/classcore_1_1_exception.tex new file mode 100644 index 0000000..0d31fa8 --- /dev/null +++ b/docs/latex/classcore_1_1_exception.tex @@ -0,0 +1,32 @@ +\hypertarget{classcore_1_1_exception}{}\section{core\+:\+:Exception Class Reference} +\label{classcore_1_1_exception}\index{core\+::\+Exception@{core\+::\+Exception}} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{classcore_1_1_exception_ac546c0fbdc0f9510ff9152e1711a5801}\label{classcore_1_1_exception_ac546c0fbdc0f9510ff9152e1711a5801}} +{\bfseries Exception} (std\+::string text, std\+::string file=\+\_\+\+\_\+\+F\+I\+L\+E\+\_\+\+\_\+, int line=\+\_\+\+\_\+\+L\+I\+N\+E\+\_\+\+\_\+, int error\+Number=-\/1) +\end{DoxyCompactItemize} +\subsection*{Public Attributes} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{classcore_1_1_exception_afa3a0f3be708ba17e899b69cae19694c}\label{classcore_1_1_exception_afa3a0f3be708ba17e899b69cae19694c}} +std\+::string {\bfseries class\+Name} +\item +\mbox{\Hypertarget{classcore_1_1_exception_a418e3b55999f7f8fac4f7cb7f9a0d499}\label{classcore_1_1_exception_a418e3b55999f7f8fac4f7cb7f9a0d499}} +std\+::string {\bfseries file} +\item +\mbox{\Hypertarget{classcore_1_1_exception_a636dca79b2d67e9eb13e1b3198587263}\label{classcore_1_1_exception_a636dca79b2d67e9eb13e1b3198587263}} +int {\bfseries line} +\item +\mbox{\Hypertarget{classcore_1_1_exception_a766791c6d93659e9d121876f56854fef}\label{classcore_1_1_exception_a766791c6d93659e9d121876f56854fef}} +std\+::string {\bfseries text} +\item +\mbox{\Hypertarget{classcore_1_1_exception_afde4b1c6ac5bfa662ea729640829f82d}\label{classcore_1_1_exception_afde4b1c6ac5bfa662ea729640829f82d}} +int {\bfseries error\+Number} +\end{DoxyCompactItemize} + + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/Exception.\+h\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/Exception.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/classcore_1_1_file.tex b/docs/latex/classcore_1_1_file.tex new file mode 100644 index 0000000..f16fbc8 --- /dev/null +++ b/docs/latex/classcore_1_1_file.tex @@ -0,0 +1,35 @@ +\hypertarget{classcore_1_1_file}{}\section{core\+:\+:File Class Reference} +\label{classcore_1_1_file}\index{core\+::\+File@{core\+::\+File}} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{classcore_1_1_file_a5a72ff78721ecafdc519617362ba4c0c}\label{classcore_1_1_file_a5a72ff78721ecafdc519617362ba4c0c}} +{\bfseries File} (std\+::string file\+Name, int mode=O\+\_\+\+R\+D\+O\+N\+LY, int authority=0664) +\item +\mbox{\Hypertarget{classcore_1_1_file_ae7007fa513b3fe9a2a1ee197ca00b245}\label{classcore_1_1_file_ae7007fa513b3fe9a2a1ee197ca00b245}} +void {\bfseries set\+Buffer\+Size} (size\+\_\+t size) +\item +\mbox{\Hypertarget{classcore_1_1_file_a2f36f29fe3875587efec186f37a0c88c}\label{classcore_1_1_file_a2f36f29fe3875587efec186f37a0c88c}} +void {\bfseries read} () +\item +\mbox{\Hypertarget{classcore_1_1_file_a4a2e8bfa9952da0478fd6894171575a3}\label{classcore_1_1_file_a4a2e8bfa9952da0478fd6894171575a3}} +void {\bfseries write} (std\+::string data) +\end{DoxyCompactItemize} +\subsection*{Public Attributes} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{classcore_1_1_file_ae7e13053186c971a80ffec3e0f4596f2}\label{classcore_1_1_file_ae7e13053186c971a80ffec3e0f4596f2}} +char $\ast$ {\bfseries buffer} +\item +\mbox{\Hypertarget{classcore_1_1_file_affa9ec9232752e717bd8f6e0300e15b5}\label{classcore_1_1_file_affa9ec9232752e717bd8f6e0300e15b5}} +size\+\_\+t {\bfseries size} +\item +\mbox{\Hypertarget{classcore_1_1_file_aab572a482651784aa3e22899ca244dc6}\label{classcore_1_1_file_aab572a482651784aa3e22899ca244dc6}} +std\+::string {\bfseries file\+Name} +\end{DoxyCompactItemize} + + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/File.\+h\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/File.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/classcore_1_1_header.tex b/docs/latex/classcore_1_1_header.tex new file mode 100644 index 0000000..01f2686 --- /dev/null +++ b/docs/latex/classcore_1_1_header.tex @@ -0,0 +1,47 @@ +\hypertarget{classcore_1_1_header}{}\section{core\+:\+:Header Class Reference} +\label{classcore_1_1_header}\index{core\+::\+Header@{core\+::\+Header}} + + +Inheritance diagram for core\+:\+:Header\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=153pt]{classcore_1_1_header__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for core\+:\+:Header\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=153pt]{classcore_1_1_header__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{classcore_1_1_header_a4ad046665f93240fd2775bd3e928e6d2}\label{classcore_1_1_header_a4ad046665f93240fd2775bd3e928e6d2}} +{\bfseries Header} (std\+::string data) +\item +\mbox{\Hypertarget{classcore_1_1_header_a83ede84acdf227ab290420f5f709b547}\label{classcore_1_1_header_a83ede84acdf227ab290420f5f709b547}} +std\+::string {\bfseries request\+Method} () +\item +\mbox{\Hypertarget{classcore_1_1_header_a5617b7c6425f2675dd2cba702a7e73af}\label{classcore_1_1_header_a5617b7c6425f2675dd2cba702a7e73af}} +std\+::string {\bfseries request\+U\+RL} () +\item +\mbox{\Hypertarget{classcore_1_1_header_a128df8fc53cd59483ca33e03eb57d18f}\label{classcore_1_1_header_a128df8fc53cd59483ca33e03eb57d18f}} +std\+::string {\bfseries request\+Protocol} () +\end{DoxyCompactItemize} +\subsection*{Public Attributes} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{classcore_1_1_header_a3725d160047c02db1740578d829d063e}\label{classcore_1_1_header_a3725d160047c02db1740578d829d063e}} +std\+::string {\bfseries data} +\end{DoxyCompactItemize} + + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/Header.\+h\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/Header.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/classcore_1_1_header__coll__graph.md5 b/docs/latex/classcore_1_1_header__coll__graph.md5 new file mode 100644 index 0000000..7562a0a --- /dev/null +++ b/docs/latex/classcore_1_1_header__coll__graph.md5 @@ -0,0 +1 @@ +13094042e46be2fd08ac5c5ac2d02db2 \ No newline at end of file diff --git a/docs/latex/classcore_1_1_header__coll__graph.pdf b/docs/latex/classcore_1_1_header__coll__graph.pdf new file mode 100644 index 0000000..6fd5a7b Binary files /dev/null and b/docs/latex/classcore_1_1_header__coll__graph.pdf differ diff --git a/docs/latex/classcore_1_1_header__inherit__graph.md5 b/docs/latex/classcore_1_1_header__inherit__graph.md5 new file mode 100644 index 0000000..eef7c0c --- /dev/null +++ b/docs/latex/classcore_1_1_header__inherit__graph.md5 @@ -0,0 +1 @@ +c57d0e1d7f4e109346598eaab8a465bb \ No newline at end of file diff --git a/docs/latex/classcore_1_1_header__inherit__graph.pdf b/docs/latex/classcore_1_1_header__inherit__graph.pdf new file mode 100644 index 0000000..6fd5a7b Binary files /dev/null and b/docs/latex/classcore_1_1_header__inherit__graph.pdf differ diff --git a/docs/latex/classcore_1_1_i_p_address.tex b/docs/latex/classcore_1_1_i_p_address.tex new file mode 100644 index 0000000..f2aab45 --- /dev/null +++ b/docs/latex/classcore_1_1_i_p_address.tex @@ -0,0 +1,47 @@ +\hypertarget{classcore_1_1_i_p_address}{}\section{core\+:\+:I\+P\+Address Class Reference} +\label{classcore_1_1_i_p_address}\index{core\+::\+I\+P\+Address@{core\+::\+I\+P\+Address}} + + +Inheritance diagram for core\+:\+:I\+P\+Address\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=167pt]{classcore_1_1_i_p_address__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for core\+:\+:I\+P\+Address\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=167pt]{classcore_1_1_i_p_address__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{classcore_1_1_i_p_address_ae5e7e28589d026bbbc6c3423d418b008}\label{classcore_1_1_i_p_address_ae5e7e28589d026bbbc6c3423d418b008}} +std\+::string \hyperlink{classcore_1_1_i_p_address_ae5e7e28589d026bbbc6c3423d418b008}{get\+Client\+Address} () +\begin{DoxyCompactList}\small\item\em Get the client network address as xxx.\+xxx.\+xxx.\+xxx. \end{DoxyCompactList}\item +\mbox{\Hypertarget{classcore_1_1_i_p_address_abea870f1a048cb7bba1d2bad98558232}\label{classcore_1_1_i_p_address_abea870f1a048cb7bba1d2bad98558232}} +std\+::string \hyperlink{classcore_1_1_i_p_address_abea870f1a048cb7bba1d2bad98558232}{get\+Client\+Address\+And\+Port} () +\begin{DoxyCompactList}\small\item\em Get the client network address and port as xxx.\+xxx.\+xxx.\+xxx\+:ppppp. \end{DoxyCompactList}\item +\mbox{\Hypertarget{classcore_1_1_i_p_address_a39f706f2d43d7d001296ecead4b587e8}\label{classcore_1_1_i_p_address_a39f706f2d43d7d001296ecead4b587e8}} +int \hyperlink{classcore_1_1_i_p_address_a39f706f2d43d7d001296ecead4b587e8}{get\+Client\+Port} () +\begin{DoxyCompactList}\small\item\em Get the client network port number. \end{DoxyCompactList}\end{DoxyCompactItemize} +\subsection*{Public Attributes} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{classcore_1_1_i_p_address_adc097410f4de2c6703e4c2d312b7fea0}\label{classcore_1_1_i_p_address_adc097410f4de2c6703e4c2d312b7fea0}} +struct sockaddr\+\_\+in {\bfseries address} +\item +\mbox{\Hypertarget{classcore_1_1_i_p_address_a00856ef1b1deccd0341cd7ea6d1bc8e5}\label{classcore_1_1_i_p_address_a00856ef1b1deccd0341cd7ea6d1bc8e5}} +socklen\+\_\+t {\bfseries address\+Length} +\end{DoxyCompactItemize} + + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/I\+P\+Address.\+h\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/I\+P\+Address.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/classcore_1_1_i_p_address__coll__graph.md5 b/docs/latex/classcore_1_1_i_p_address__coll__graph.md5 new file mode 100644 index 0000000..7c9f132 --- /dev/null +++ b/docs/latex/classcore_1_1_i_p_address__coll__graph.md5 @@ -0,0 +1 @@ +da636a7561373f43c06c83cd6242d08f \ No newline at end of file diff --git a/docs/latex/classcore_1_1_i_p_address__coll__graph.pdf b/docs/latex/classcore_1_1_i_p_address__coll__graph.pdf new file mode 100644 index 0000000..60e1943 Binary files /dev/null and b/docs/latex/classcore_1_1_i_p_address__coll__graph.pdf differ diff --git a/docs/latex/classcore_1_1_i_p_address__inherit__graph.md5 b/docs/latex/classcore_1_1_i_p_address__inherit__graph.md5 new file mode 100644 index 0000000..b1d87ba --- /dev/null +++ b/docs/latex/classcore_1_1_i_p_address__inherit__graph.md5 @@ -0,0 +1 @@ +bf8c177a1686af2251cf944afd0441de \ No newline at end of file diff --git a/docs/latex/classcore_1_1_i_p_address__inherit__graph.pdf b/docs/latex/classcore_1_1_i_p_address__inherit__graph.pdf new file mode 100644 index 0000000..60e1943 Binary files /dev/null and b/docs/latex/classcore_1_1_i_p_address__inherit__graph.pdf differ diff --git a/docs/latex/classcore_1_1_log.tex b/docs/latex/classcore_1_1_log.tex new file mode 100644 index 0000000..dc9be1c --- /dev/null +++ b/docs/latex/classcore_1_1_log.tex @@ -0,0 +1,123 @@ +\hypertarget{classcore_1_1_log}{}\section{core\+:\+:Log Class Reference} +\label{classcore_1_1_log}\index{core\+::\+Log@{core\+::\+Log}} + + +{\ttfamily \#include $<$Log.\+h$>$} + + + +Inheritance diagram for core\+:\+:Log\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=264pt]{classcore_1_1_log__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for core\+:\+:Log\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{classcore_1_1_log__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\hyperlink{classcore_1_1_log_afdc2efeedef6f3fa9872d508a4addbb2}{Log} (\hyperlink{classcore_1_1_console_server}{Console\+Server} $\ast$\hyperlink{classcore_1_1_log_af827af1601d71bca20249484962142f4}{console\+Server}) +\item +\hyperlink{classcore_1_1_log_a334bd775d81933d6feb1535652c6542e}{Log} (\hyperlink{classcore_1_1_file}{File} $\ast$\hyperlink{classcore_1_1_log_a7f9c71cb4fea14efccdc838562757f13}{log\+File}) +\item +\hyperlink{classcore_1_1_log_a284b8f21cd70d7ebccc14cce6aafbfbf}{Log} (int level) +\item +\hyperlink{classcore_1_1_log_afaaaad27423c3d2233942210b1f9a756}{$\sim$\+Log} () +\end{DoxyCompactItemize} +\subsection*{Public Attributes} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{classcore_1_1_log_a2e8e51a1d36f1957fa61a908b364f82c}\label{classcore_1_1_log_a2e8e51a1d36f1957fa61a908b364f82c}} +bool {\bfseries output} = false +\end{DoxyCompactItemize} +\subsection*{Static Public Attributes} +\begin{DoxyCompactItemize} +\item +static \hyperlink{classcore_1_1_console_server}{Console\+Server} $\ast$ \hyperlink{classcore_1_1_log_af827af1601d71bca20249484962142f4}{console\+Server} = N\+U\+LL +\item +static \hyperlink{classcore_1_1_file}{File} $\ast$ \hyperlink{classcore_1_1_log_a7f9c71cb4fea14efccdc838562757f13}{log\+File} = N\+U\+LL +\item +static int \hyperlink{classcore_1_1_log_aa040c12560c120f7b4200237b628d77e}{seq} = 0 +\end{DoxyCompactItemize} + + +\subsection{Detailed Description} +\hyperlink{classcore_1_1_log}{Log} + +Provides easy to access and use logging features to maintain a history of activity and provide information for activity debugging. + +\subsection{Constructor \& Destructor Documentation} +\mbox{\Hypertarget{classcore_1_1_log_afdc2efeedef6f3fa9872d508a4addbb2}\label{classcore_1_1_log_afdc2efeedef6f3fa9872d508a4addbb2}} +\index{core\+::\+Log@{core\+::\+Log}!Log@{Log}} +\index{Log@{Log}!core\+::\+Log@{core\+::\+Log}} +\subsubsection{\texorpdfstring{Log()}{Log()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}} +{\footnotesize\ttfamily core\+::\+Log\+::\+Log (\begin{DoxyParamCaption}\item[{\hyperlink{classcore_1_1_console_server}{Console\+Server} $\ast$}]{console\+Server }\end{DoxyParamCaption})} + +Constructor method that accepts a pointer to the applications console server. This enables the \hyperlink{classcore_1_1_log}{Log} object to send new log messages to the connected console sessions. + + +\begin{DoxyParams}{Parameters} +{\em console\+Server} & a pointer to the console server that will be used to echo log entries. \\ +\hline +\end{DoxyParams} +\mbox{\Hypertarget{classcore_1_1_log_a334bd775d81933d6feb1535652c6542e}\label{classcore_1_1_log_a334bd775d81933d6feb1535652c6542e}} +\index{core\+::\+Log@{core\+::\+Log}!Log@{Log}} +\index{Log@{Log}!core\+::\+Log@{core\+::\+Log}} +\subsubsection{\texorpdfstring{Log()}{Log()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}} +{\footnotesize\ttfamily core\+::\+Log\+::\+Log (\begin{DoxyParamCaption}\item[{\hyperlink{classcore_1_1_file}{File} $\ast$}]{log\+File }\end{DoxyParamCaption})} + +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. \mbox{\Hypertarget{classcore_1_1_log_a284b8f21cd70d7ebccc14cce6aafbfbf}\label{classcore_1_1_log_a284b8f21cd70d7ebccc14cce6aafbfbf}} +\index{core\+::\+Log@{core\+::\+Log}!Log@{Log}} +\index{Log@{Log}!core\+::\+Log@{core\+::\+Log}} +\subsubsection{\texorpdfstring{Log()}{Log()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}} +{\footnotesize\ttfamily core\+::\+Log\+::\+Log (\begin{DoxyParamCaption}\item[{int}]{level }\end{DoxyParamCaption})} + +Constructor method that is used to send a message to the log. + + +\begin{DoxyParams}{Parameters} +{\em level} & the logging level to associate with this message.\\ +\hline +\end{DoxyParams} +To send log message\+: Log(\+L\+O\+G\+\_\+\+I\+N\+F\+O) $<$$<$ \char`\"{}\+This is a log message.\char`\"{}; \mbox{\Hypertarget{classcore_1_1_log_afaaaad27423c3d2233942210b1f9a756}\label{classcore_1_1_log_afaaaad27423c3d2233942210b1f9a756}} +\index{core\+::\+Log@{core\+::\+Log}!````~Log@{$\sim$\+Log}} +\index{````~Log@{$\sim$\+Log}!core\+::\+Log@{core\+::\+Log}} +\subsubsection{\texorpdfstring{$\sim$\+Log()}{~Log()}} +{\footnotesize\ttfamily core\+::\+Log\+::$\sim$\+Log (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +The destructor for the log object. + +\subsection{Member Data Documentation} +\mbox{\Hypertarget{classcore_1_1_log_af827af1601d71bca20249484962142f4}\label{classcore_1_1_log_af827af1601d71bca20249484962142f4}} +\index{core\+::\+Log@{core\+::\+Log}!console\+Server@{console\+Server}} +\index{console\+Server@{console\+Server}!core\+::\+Log@{core\+::\+Log}} +\subsubsection{\texorpdfstring{console\+Server}{consoleServer}} +{\footnotesize\ttfamily \hyperlink{classcore_1_1_console_server}{Console\+Server} $\ast$ core\+::\+Log\+::console\+Server = N\+U\+LL\hspace{0.3cm}{\ttfamily [static]}} + +Set the console\+Server to point to the instantiated \hyperlink{classcore_1_1_console_server}{Console\+Server} object for the application. \mbox{\Hypertarget{classcore_1_1_log_a7f9c71cb4fea14efccdc838562757f13}\label{classcore_1_1_log_a7f9c71cb4fea14efccdc838562757f13}} +\index{core\+::\+Log@{core\+::\+Log}!log\+File@{log\+File}} +\index{log\+File@{log\+File}!core\+::\+Log@{core\+::\+Log}} +\subsubsection{\texorpdfstring{log\+File}{logFile}} +{\footnotesize\ttfamily \hyperlink{classcore_1_1_file}{File} $\ast$ core\+::\+Log\+::log\+File = N\+U\+LL\hspace{0.3cm}{\ttfamily [static]}} + +Specify a \hyperlink{classcore_1_1_file}{File} object where the log entries will be written as a permanent record to disk. \mbox{\Hypertarget{classcore_1_1_log_aa040c12560c120f7b4200237b628d77e}\label{classcore_1_1_log_aa040c12560c120f7b4200237b628d77e}} +\index{core\+::\+Log@{core\+::\+Log}!seq@{seq}} +\index{seq@{seq}!core\+::\+Log@{core\+::\+Log}} +\subsubsection{\texorpdfstring{seq}{seq}} +{\footnotesize\ttfamily int core\+::\+Log\+::seq = 0\hspace{0.3cm}{\ttfamily [static]}} + +A meaningless sequenctial number that starts from -\/ at the beginning of the logging process. + +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} diff --git a/docs/latex/classcore_1_1_log__coll__graph.md5 b/docs/latex/classcore_1_1_log__coll__graph.md5 new file mode 100644 index 0000000..90333a1 --- /dev/null +++ b/docs/latex/classcore_1_1_log__coll__graph.md5 @@ -0,0 +1 @@ +960bda2d5184e877f7b98c8549efcbd8 \ 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 new file mode 100644 index 0000000..fa03b34 Binary files /dev/null and b/docs/latex/classcore_1_1_log__coll__graph.pdf differ diff --git a/docs/latex/classcore_1_1_log__inherit__graph.md5 b/docs/latex/classcore_1_1_log__inherit__graph.md5 new file mode 100644 index 0000000..a177f1a --- /dev/null +++ b/docs/latex/classcore_1_1_log__inherit__graph.md5 @@ -0,0 +1 @@ +e9c14fb37cf2d7835cfda33bae76e3d7 \ No newline at end of file diff --git a/docs/latex/classcore_1_1_log__inherit__graph.pdf b/docs/latex/classcore_1_1_log__inherit__graph.pdf new file mode 100644 index 0000000..6f904e0 Binary files /dev/null and b/docs/latex/classcore_1_1_log__inherit__graph.pdf differ diff --git a/docs/latex/classcore_1_1_object.tex b/docs/latex/classcore_1_1_object.tex new file mode 100644 index 0000000..04d749e --- /dev/null +++ b/docs/latex/classcore_1_1_object.tex @@ -0,0 +1,25 @@ +\hypertarget{classcore_1_1_object}{}\section{core\+:\+:Object Class Reference} +\label{classcore_1_1_object}\index{core\+::\+Object@{core\+::\+Object}} + + +Inheritance diagram for core\+:\+:Object\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{classcore_1_1_object__inherit__graph} +\end{center} +\end{figure} +\subsection*{Public Attributes} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{classcore_1_1_object_aa096b2bab35f1019c91077ef3ec106ce}\label{classcore_1_1_object_aa096b2bab35f1019c91077ef3ec106ce}} +std\+::string {\bfseries name} +\item +\mbox{\Hypertarget{classcore_1_1_object_ad503c264c529c41c25528c34421c83df}\label{classcore_1_1_object_ad503c264c529c41c25528c34421c83df}} +std\+::string {\bfseries tag} +\end{DoxyCompactItemize} + + +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} diff --git a/docs/latex/classcore_1_1_object__inherit__graph.md5 b/docs/latex/classcore_1_1_object__inherit__graph.md5 new file mode 100644 index 0000000..52cfbbb --- /dev/null +++ b/docs/latex/classcore_1_1_object__inherit__graph.md5 @@ -0,0 +1 @@ +a9722fb843856415619249d7bfcfacd4 \ 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 new file mode 100644 index 0000000..be16ec9 Binary files /dev/null and b/docs/latex/classcore_1_1_object__inherit__graph.pdf differ diff --git a/docs/latex/classcore_1_1_response.tex b/docs/latex/classcore_1_1_response.tex new file mode 100644 index 0000000..f7d5f47 --- /dev/null +++ b/docs/latex/classcore_1_1_response.tex @@ -0,0 +1,165 @@ +\hypertarget{classcore_1_1_response}{}\section{core\+:\+:Response Class Reference} +\label{classcore_1_1_response}\index{core\+::\+Response@{core\+::\+Response}} + + +{\ttfamily \#include $<$Response.\+h$>$} + + + +Inheritance diagram for core\+:\+:Response\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=166pt]{classcore_1_1_response__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for core\+:\+:Response\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=166pt]{classcore_1_1_response__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Types} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{classcore_1_1_response_a3b75626cd8c189331abd36e14fefe8db}\label{classcore_1_1_response_a3b75626cd8c189331abd36e14fefe8db}} +enum {\bfseries Mode} \{ {\bfseries L\+E\+N\+G\+TH}, +{\bfseries S\+T\+R\+E\+A\+M\+I\+NG} + \} +\end{DoxyCompactItemize} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\hyperlink{classcore_1_1_response_a6a73c7153468fc60735ac949ce8bb48b}{Response} () +\item +\hyperlink{classcore_1_1_response_aba144a517ada3fe308e663bed08c8b0d}{$\sim$\+Response} () +\item +std\+::string \hyperlink{classcore_1_1_response_a69bf4fbade329653bfab5f81948cd68b}{get\+Response} (Mode mode) +\item +std\+::string \hyperlink{classcore_1_1_response_a3faec262c1f101176b52a90e39cd08ad}{get\+Response} (std\+::string content, Mode mode) +\item +void \hyperlink{classcore_1_1_response_a8d1be083101d3bc36c2f55c4db4b2964}{set\+Protocol} (std\+::string protocol) +\item +void \hyperlink{classcore_1_1_response_ade8a31ad71a7e82a395c6efb668edfe1}{set\+Code} (std\+::string code) +\item +void \hyperlink{classcore_1_1_response_a1fc143168d375a858bcbaa36aa10c471}{set\+Text} (std\+::string text) +\item +void \hyperlink{classcore_1_1_response_ab647c043f771931e50fc0ef5979c6534}{set\+Mime\+Type} (std\+::string mime\+Type) +\item +\mbox{\Hypertarget{classcore_1_1_response_ad8c1415f5dd9b18c4f92ed307b853397}\label{classcore_1_1_response_ad8c1415f5dd9b18c4f92ed307b853397}} +void {\bfseries add\+Header\+Item} (std\+::string key, std\+::string value) +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +\subsection{Detailed Description} +\hyperlink{classcore_1_1_response}{Response} + +Use this object to build a response output for a protocol that uses headers and responses as the main communications protocol. + +\subsection{Constructor \& Destructor Documentation} +\mbox{\Hypertarget{classcore_1_1_response_a6a73c7153468fc60735ac949ce8bb48b}\label{classcore_1_1_response_a6a73c7153468fc60735ac949ce8bb48b}} +\index{core\+::\+Response@{core\+::\+Response}!Response@{Response}} +\index{Response@{Response}!core\+::\+Response@{core\+::\+Response}} +\subsubsection{\texorpdfstring{Response()}{Response()}} +{\footnotesize\ttfamily core\+::\+Response\+::\+Response (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +The constructor for the object. \mbox{\Hypertarget{classcore_1_1_response_aba144a517ada3fe308e663bed08c8b0d}\label{classcore_1_1_response_aba144a517ada3fe308e663bed08c8b0d}} +\index{core\+::\+Response@{core\+::\+Response}!````~Response@{$\sim$\+Response}} +\index{````~Response@{$\sim$\+Response}!core\+::\+Response@{core\+::\+Response}} +\subsubsection{\texorpdfstring{$\sim$\+Response()}{~Response()}} +{\footnotesize\ttfamily core\+::\+Response\+::$\sim$\+Response (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +The destructor for the object. + +\subsection{Member Function Documentation} +\mbox{\Hypertarget{classcore_1_1_response_a69bf4fbade329653bfab5f81948cd68b}\label{classcore_1_1_response_a69bf4fbade329653bfab5f81948cd68b}} +\index{core\+::\+Response@{core\+::\+Response}!get\+Response@{get\+Response}} +\index{get\+Response@{get\+Response}!core\+::\+Response@{core\+::\+Response}} +\subsubsection{\texorpdfstring{get\+Response()}{getResponse()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} +{\footnotesize\ttfamily std\+::string core\+::\+Response\+::get\+Response (\begin{DoxyParamCaption}\item[{Mode}]{mode }\end{DoxyParamCaption})} + +Returns the response generated from the contained values that do not return a content length. Using this constructor ensures a zero length Content-\/\+Length value. + +\begin{DoxyReturn}{Returns} +the complete response string to send to client. +\end{DoxyReturn} +\mbox{\Hypertarget{classcore_1_1_response_a3faec262c1f101176b52a90e39cd08ad}\label{classcore_1_1_response_a3faec262c1f101176b52a90e39cd08ad}} +\index{core\+::\+Response@{core\+::\+Response}!get\+Response@{get\+Response}} +\index{get\+Response@{get\+Response}!core\+::\+Response@{core\+::\+Response}} +\subsubsection{\texorpdfstring{get\+Response()}{getResponse()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} +{\footnotesize\ttfamily std\+::string core\+::\+Response\+::get\+Response (\begin{DoxyParamCaption}\item[{std\+::string}]{content, }\item[{Mode}]{mode }\end{DoxyParamCaption})} + +Returns the response plus the content passed as a parameter. + +This method will automatically generate the proper Content-\/\+Length value for the response. + + +\begin{DoxyParams}{Parameters} +{\em content} & the content that will be provided on the response message to the client.\\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +the complete response string to send to client. +\end{DoxyReturn} +\mbox{\Hypertarget{classcore_1_1_response_ade8a31ad71a7e82a395c6efb668edfe1}\label{classcore_1_1_response_ade8a31ad71a7e82a395c6efb668edfe1}} +\index{core\+::\+Response@{core\+::\+Response}!set\+Code@{set\+Code}} +\index{set\+Code@{set\+Code}!core\+::\+Response@{core\+::\+Response}} +\subsubsection{\texorpdfstring{set\+Code()}{setCode()}} +{\footnotesize\ttfamily void core\+::\+Response\+::set\+Code (\begin{DoxyParamCaption}\item[{std\+::string}]{code }\end{DoxyParamCaption})} + +Sets the return code value for the response. + + +\begin{DoxyParams}{Parameters} +{\em code} & the response code value to return in the response. \\ +\hline +\end{DoxyParams} +\mbox{\Hypertarget{classcore_1_1_response_ab647c043f771931e50fc0ef5979c6534}\label{classcore_1_1_response_ab647c043f771931e50fc0ef5979c6534}} +\index{core\+::\+Response@{core\+::\+Response}!set\+Mime\+Type@{set\+Mime\+Type}} +\index{set\+Mime\+Type@{set\+Mime\+Type}!core\+::\+Response@{core\+::\+Response}} +\subsubsection{\texorpdfstring{set\+Mime\+Type()}{setMimeType()}} +{\footnotesize\ttfamily void core\+::\+Response\+::set\+Mime\+Type (\begin{DoxyParamCaption}\item[{std\+::string}]{mime\+Type }\end{DoxyParamCaption})} + +Specifies the type of data that will be returned in this response. + + +\begin{DoxyParams}{Parameters} +{\em mime\+Type} & the mime type for the data. \\ +\hline +\end{DoxyParams} +\mbox{\Hypertarget{classcore_1_1_response_a8d1be083101d3bc36c2f55c4db4b2964}\label{classcore_1_1_response_a8d1be083101d3bc36c2f55c4db4b2964}} +\index{core\+::\+Response@{core\+::\+Response}!set\+Protocol@{set\+Protocol}} +\index{set\+Protocol@{set\+Protocol}!core\+::\+Response@{core\+::\+Response}} +\subsubsection{\texorpdfstring{set\+Protocol()}{setProtocol()}} +{\footnotesize\ttfamily void core\+::\+Response\+::set\+Protocol (\begin{DoxyParamCaption}\item[{std\+::string}]{protocol }\end{DoxyParamCaption})} + +Sets the protocol value for the response message. The protocol should match the header received. + + +\begin{DoxyParams}{Parameters} +{\em protocol} & the protocol value to return in response. \\ +\hline +\end{DoxyParams} +\mbox{\Hypertarget{classcore_1_1_response_a1fc143168d375a858bcbaa36aa10c471}\label{classcore_1_1_response_a1fc143168d375a858bcbaa36aa10c471}} +\index{core\+::\+Response@{core\+::\+Response}!set\+Text@{set\+Text}} +\index{set\+Text@{set\+Text}!core\+::\+Response@{core\+::\+Response}} +\subsubsection{\texorpdfstring{set\+Text()}{setText()}} +{\footnotesize\ttfamily void core\+::\+Response\+::set\+Text (\begin{DoxyParamCaption}\item[{std\+::string}]{text }\end{DoxyParamCaption})} + +Sets the return code string value for the response. + + +\begin{DoxyParams}{Parameters} +{\em text} & the text value for the response code to return on the response. \\ +\hline +\end{DoxyParams} + + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/Response.\+h\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/Response.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/classcore_1_1_response__coll__graph.md5 b/docs/latex/classcore_1_1_response__coll__graph.md5 new file mode 100644 index 0000000..9640b98 --- /dev/null +++ b/docs/latex/classcore_1_1_response__coll__graph.md5 @@ -0,0 +1 @@ +eb2e54a0d4d898a5db7b00516dbcd9f7 \ No newline at end of file diff --git a/docs/latex/classcore_1_1_response__coll__graph.pdf b/docs/latex/classcore_1_1_response__coll__graph.pdf new file mode 100644 index 0000000..595580d Binary files /dev/null and b/docs/latex/classcore_1_1_response__coll__graph.pdf differ diff --git a/docs/latex/classcore_1_1_response__inherit__graph.md5 b/docs/latex/classcore_1_1_response__inherit__graph.md5 new file mode 100644 index 0000000..da979cb --- /dev/null +++ b/docs/latex/classcore_1_1_response__inherit__graph.md5 @@ -0,0 +1 @@ +e3ad036e0a62af4571cef13d77d230d6 \ No newline at end of file diff --git a/docs/latex/classcore_1_1_response__inherit__graph.pdf b/docs/latex/classcore_1_1_response__inherit__graph.pdf new file mode 100644 index 0000000..595580d Binary files /dev/null and b/docs/latex/classcore_1_1_response__inherit__graph.pdf differ diff --git a/docs/latex/classcore_1_1_session.tex b/docs/latex/classcore_1_1_session.tex new file mode 100644 index 0000000..9a1ce18 --- /dev/null +++ b/docs/latex/classcore_1_1_session.tex @@ -0,0 +1,132 @@ +\hypertarget{classcore_1_1_session}{}\section{core\+:\+:Session Class Reference} +\label{classcore_1_1_session}\index{core\+::\+Session@{core\+::\+Session}} + + +{\ttfamily \#include $<$Session.\+h$>$} + + + +Inheritance diagram for core\+:\+:Session\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=308pt]{classcore_1_1_session__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for core\+:\+:Session\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{classcore_1_1_session__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{classcore_1_1_session_a00fdc9bb456bb6780b3678bded262a01}\label{classcore_1_1_session_a00fdc9bb456bb6780b3678bded262a01}} +{\bfseries Session} (\hyperlink{classcore_1_1_e_poll}{E\+Poll} \&e\+Poll, \hyperlink{classcore_1_1_t_c_p_server_socket}{T\+C\+P\+Server\+Socket} \&server) +\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) +\item +void \hyperlink{classcore_1_1_session_af78d7caeea09924ee5227490c15aecfc}{send} () +\item +void \hyperlink{classcore_1_1_session_a0b1722c6abd693702ffd15a810844313}{send\+To\+All} () +\item +void \hyperlink{classcore_1_1_session_ab2cb1aea2832eabe4a039387030c3b0b}{send\+To\+All} (\hyperlink{classcore_1_1_session_filter}{Session\+Filter} $\ast$filter) +\item +\mbox{\Hypertarget{classcore_1_1_session_a4edbd8dc7a1837b0faece66222124e4e}\label{classcore_1_1_session_a4edbd8dc7a1837b0faece66222124e4e}} +\hyperlink{classcore_1_1_t_c_p_server_socket}{T\+C\+P\+Server\+Socket} \& {\bfseries get\+Server} () +\end{DoxyCompactItemize} +\subsection*{Public Attributes} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{classcore_1_1_session_a0fb85764a1816114aa3b6cea2f4a7a35}\label{classcore_1_1_session_a0fb85764a1816114aa3b6cea2f4a7a35}} +std\+::stringstream {\bfseries out} +\item +\mbox{\Hypertarget{classcore_1_1_session_a723496cdd780491bc6690ee47fc998ac}\label{classcore_1_1_session_a723496cdd780491bc6690ee47fc998ac}} +\hyperlink{classcore_1_1_t_c_p_server_socket}{T\+C\+P\+Server\+Socket} \& {\bfseries server} +\end{DoxyCompactItemize} +\subsection*{Protected Member Functions} +\begin{DoxyCompactItemize} +\item +void \hyperlink{classcore_1_1_session_aea251cf98c7f1e4d106af5682f43d8c2}{on\+Data\+Received} (std\+::string data) override +\begin{DoxyCompactList}\small\item\em Called when data is received from the socket. \end{DoxyCompactList}\item +void \hyperlink{classcore_1_1_session_a9c9596293e6051a35197866f5b1b70ce}{on\+Connected} () override +\begin{DoxyCompactList}\small\item\em Called when socket is open and ready to communicate. \end{DoxyCompactList}\item +\mbox{\Hypertarget{classcore_1_1_session_a23e5d04581d65e00ecfca4062f0f228b}\label{classcore_1_1_session_a23e5d04581d65e00ecfca4062f0f228b}} +virtual void {\bfseries protocol} (std\+::string data)=0 +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +\subsection{Detailed Description} +\hyperlink{classcore_1_1_session}{Session} + +\hyperlink{classcore_1_1_session}{Session} defines the nature of the interaction with the client and stores persistent data for a defined session. B\+M\+A\+Session objects are not sockets but instead provide a communications control mechanism. Protocol conversations are provided through extensions from this object. + +\subsection{Member Function Documentation} +\mbox{\Hypertarget{classcore_1_1_session_a9c9596293e6051a35197866f5b1b70ce}\label{classcore_1_1_session_a9c9596293e6051a35197866f5b1b70ce}} +\index{core\+::\+Session@{core\+::\+Session}!on\+Connected@{on\+Connected}} +\index{on\+Connected@{on\+Connected}!core\+::\+Session@{core\+::\+Session}} +\subsubsection{\texorpdfstring{on\+Connected()}{onConnected()}} +{\footnotesize\ttfamily void core\+::\+Session\+::on\+Connected (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [protected]}, {\ttfamily [virtual]}} + + + +Called when socket is open and ready to communicate. + +The on\+Connected method is called when the socket is ready to communicate. Writing to the socket can begin on this call to initiate a contact with the remote device. + +Reimplemented from \hyperlink{classcore_1_1_socket_a96b8919a4b5580e389df810a4820e2e0}{core\+::\+Socket}. + +\mbox{\Hypertarget{classcore_1_1_session_aea251cf98c7f1e4d106af5682f43d8c2}\label{classcore_1_1_session_aea251cf98c7f1e4d106af5682f43d8c2}} +\index{core\+::\+Session@{core\+::\+Session}!on\+Data\+Received@{on\+Data\+Received}} +\index{on\+Data\+Received@{on\+Data\+Received}!core\+::\+Session@{core\+::\+Session}} +\subsubsection{\texorpdfstring{on\+Data\+Received()}{onDataReceived()}} +{\footnotesize\ttfamily void core\+::\+Session\+::on\+Data\+Received (\begin{DoxyParamCaption}\item[{std\+::string}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [protected]}, {\ttfamily [virtual]}} + + + +Called when data is received from the socket. + +The on\+Data\+Received method is called when the socket has received an event from epoll and there is data ready to be read from the socket. The default handler will pull the data and put it into the streambuf for the socket. E\+P\+O\+L\+L\+IN + + +\begin{DoxyParams}{Parameters} +{\em data} & the data that has been received from the socket. \\ +\hline +\end{DoxyParams} + + +Implements \hyperlink{classcore_1_1_socket_add22bdee877319a372db2fd707dc5a1c}{core\+::\+Socket}. + +\mbox{\Hypertarget{classcore_1_1_session_af78d7caeea09924ee5227490c15aecfc}\label{classcore_1_1_session_af78d7caeea09924ee5227490c15aecfc}} +\index{core\+::\+Session@{core\+::\+Session}!send@{send}} +\index{send@{send}!core\+::\+Session@{core\+::\+Session}} +\subsubsection{\texorpdfstring{send()}{send()}} +{\footnotesize\ttfamily void core\+::\+Session\+::send (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +The send method is used to output the contents of the out stream to the session containing the stream. \mbox{\Hypertarget{classcore_1_1_session_a0b1722c6abd693702ffd15a810844313}\label{classcore_1_1_session_a0b1722c6abd693702ffd15a810844313}} +\index{core\+::\+Session@{core\+::\+Session}!send\+To\+All@{send\+To\+All}} +\index{send\+To\+All@{send\+To\+All}!core\+::\+Session@{core\+::\+Session}} +\subsubsection{\texorpdfstring{send\+To\+All()}{sendToAll()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} +{\footnotesize\ttfamily void core\+::\+Session\+::send\+To\+All (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +Use this send\+To\+All method to output the contents of the out stream to all the connections on the server excluding the sender session. \mbox{\Hypertarget{classcore_1_1_session_ab2cb1aea2832eabe4a039387030c3b0b}\label{classcore_1_1_session_ab2cb1aea2832eabe4a039387030c3b0b}} +\index{core\+::\+Session@{core\+::\+Session}!send\+To\+All@{send\+To\+All}} +\index{send\+To\+All@{send\+To\+All}!core\+::\+Session@{core\+::\+Session}} +\subsubsection{\texorpdfstring{send\+To\+All()}{sendToAll()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} +{\footnotesize\ttfamily void core\+::\+Session\+::send\+To\+All (\begin{DoxyParamCaption}\item[{\hyperlink{classcore_1_1_session_filter}{Session\+Filter} $\ast$}]{filter }\end{DoxyParamCaption})} + +Use this send\+To\+All method to output the contents of the out stream to all the connections on the server excluding the sender session and the entries identified by the passed in filter object. + +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} diff --git a/docs/latex/classcore_1_1_session__coll__graph.md5 b/docs/latex/classcore_1_1_session__coll__graph.md5 new file mode 100644 index 0000000..6b82a21 --- /dev/null +++ b/docs/latex/classcore_1_1_session__coll__graph.md5 @@ -0,0 +1 @@ +9ee45923a3befc013e784f9989413225 \ 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 new file mode 100644 index 0000000..7c06f60 Binary files /dev/null and b/docs/latex/classcore_1_1_session__coll__graph.pdf differ diff --git a/docs/latex/classcore_1_1_session__inherit__graph.md5 b/docs/latex/classcore_1_1_session__inherit__graph.md5 new file mode 100644 index 0000000..1768a71 --- /dev/null +++ b/docs/latex/classcore_1_1_session__inherit__graph.md5 @@ -0,0 +1 @@ +ef324e926cad816fa5f6a9d3ef350bbf \ No newline at end of file diff --git a/docs/latex/classcore_1_1_session__inherit__graph.pdf b/docs/latex/classcore_1_1_session__inherit__graph.pdf new file mode 100644 index 0000000..d9795d9 Binary files /dev/null and b/docs/latex/classcore_1_1_session__inherit__graph.pdf differ diff --git a/docs/latex/classcore_1_1_session_filter.tex b/docs/latex/classcore_1_1_session_filter.tex new file mode 100644 index 0000000..c51431b --- /dev/null +++ b/docs/latex/classcore_1_1_session_filter.tex @@ -0,0 +1,32 @@ +\hypertarget{classcore_1_1_session_filter}{}\section{core\+:\+:Session\+Filter Class Reference} +\label{classcore_1_1_session_filter}\index{core\+::\+Session\+Filter@{core\+::\+Session\+Filter}} + + +Inheritance diagram for core\+:\+:Session\+Filter\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=178pt]{classcore_1_1_session_filter__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for core\+:\+:Session\+Filter\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=178pt]{classcore_1_1_session_filter__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{classcore_1_1_session_filter_aa97e2ce1b6318d33f12f2411e7a2a8f0}\label{classcore_1_1_session_filter_aa97e2ce1b6318d33f12f2411e7a2a8f0}} +virtual bool {\bfseries test} (\hyperlink{classcore_1_1_session}{Session} \&session) +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +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} diff --git a/docs/latex/classcore_1_1_session_filter__coll__graph.md5 b/docs/latex/classcore_1_1_session_filter__coll__graph.md5 new file mode 100644 index 0000000..bffdaa1 --- /dev/null +++ b/docs/latex/classcore_1_1_session_filter__coll__graph.md5 @@ -0,0 +1 @@ +5bf31a95b25d8a5d86437ee88df0f0a5 \ No newline at end of file diff --git a/docs/latex/classcore_1_1_session_filter__coll__graph.pdf b/docs/latex/classcore_1_1_session_filter__coll__graph.pdf new file mode 100644 index 0000000..19932b2 Binary files /dev/null and b/docs/latex/classcore_1_1_session_filter__coll__graph.pdf differ diff --git a/docs/latex/classcore_1_1_session_filter__inherit__graph.md5 b/docs/latex/classcore_1_1_session_filter__inherit__graph.md5 new file mode 100644 index 0000000..ddaed8b --- /dev/null +++ b/docs/latex/classcore_1_1_session_filter__inherit__graph.md5 @@ -0,0 +1 @@ +57c31d430fa3b66f2e30f09c113c69d6 \ No newline at end of file diff --git a/docs/latex/classcore_1_1_session_filter__inherit__graph.pdf b/docs/latex/classcore_1_1_session_filter__inherit__graph.pdf new file mode 100644 index 0000000..19932b2 Binary files /dev/null and b/docs/latex/classcore_1_1_session_filter__inherit__graph.pdf differ diff --git a/docs/latex/classcore_1_1_socket.tex b/docs/latex/classcore_1_1_socket.tex new file mode 100644 index 0000000..5671735 --- /dev/null +++ b/docs/latex/classcore_1_1_socket.tex @@ -0,0 +1,195 @@ +\hypertarget{classcore_1_1_socket}{}\section{core\+:\+:Socket Class Reference} +\label{classcore_1_1_socket}\index{core\+::\+Socket@{core\+::\+Socket}} + + +{\ttfamily \#include $<$Socket.\+h$>$} + + + +Inheritance diagram for core\+:\+:Socket\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{classcore_1_1_socket__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for core\+:\+:Socket\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=302pt]{classcore_1_1_socket__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\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_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 +\mbox{\Hypertarget{classcore_1_1_socket_a06ba54744530439d4131e6aba4623d08}\label{classcore_1_1_socket_a06ba54744530439d4131e6aba4623d08}} +int \hyperlink{classcore_1_1_socket_a06ba54744530439d4131e6aba4623d08}{get\+Descriptor} () +\begin{DoxyCompactList}\small\item\em Get the descriptor for the socket. \end{DoxyCompactList}\item +void \hyperlink{classcore_1_1_socket_a651bd967a6655152f87b7dd44e880cb2}{event\+Received} (struct epoll\+\_\+event event) +\begin{DoxyCompactList}\small\item\em Parse epoll event and call specified callbacks. \end{DoxyCompactList}\item +void \hyperlink{classcore_1_1_socket_a36ad0e990494d451c493e752dc2a2722}{write} (std\+::string data) +\item +\mbox{\Hypertarget{classcore_1_1_socket_a4855594af113428eacdaa7448d661121}\label{classcore_1_1_socket_a4855594af113428eacdaa7448d661121}} +void {\bfseries write} (char $\ast$buffer, int length) +\item +\mbox{\Hypertarget{classcore_1_1_socket_ad67b0f95127bd987b98323120f40f6ed}\label{classcore_1_1_socket_ad67b0f95127bd987b98323120f40f6ed}} +void {\bfseries output} (std\+::stringstream \&out) +\item +virtual void \hyperlink{classcore_1_1_socket_a23b9824653bbe4652a716acb828665b1}{on\+Registered} () +\begin{DoxyCompactList}\small\item\em Called when the socket has finished registering with the epoll processing. \end{DoxyCompactList}\item +virtual void \hyperlink{classcore_1_1_socket_ae9be59697c2b2e5efb19aaae3ba943d2}{on\+Unregistered} () +\begin{DoxyCompactList}\small\item\em Called when the socket has finished unregistering for the epoll processing. \end{DoxyCompactList}\item +\mbox{\Hypertarget{classcore_1_1_socket_a80b113c4105bb0c74f2e104b0feb90e4}\label{classcore_1_1_socket_a80b113c4105bb0c74f2e104b0feb90e4}} +void \hyperlink{classcore_1_1_socket_a80b113c4105bb0c74f2e104b0feb90e4}{enable} (bool mode) +\begin{DoxyCompactList}\small\item\em Enable the socket to read or write based upon buffer. \end{DoxyCompactList}\end{DoxyCompactItemize} +\subsection*{Public Attributes} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{classcore_1_1_socket_a26ce6667b1d883e7a77fcd46ead03f6b}\label{classcore_1_1_socket_a26ce6667b1d883e7a77fcd46ead03f6b}} +\begin{tabbing} +xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=\kill +class \{\\ +\} {\bfseries bufferSize}\\ + +\end{tabbing}\end{DoxyCompactItemize} +\subsection*{Protected Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{classcore_1_1_socket_a71c77a162698b9c074a7497beab7b5d8}\label{classcore_1_1_socket_a71c77a162698b9c074a7497beab7b5d8}} +void {\bfseries set\+Buffer\+Size} (int length) +\item +virtual void \hyperlink{classcore_1_1_socket_a96b8919a4b5580e389df810a4820e2e0}{on\+Connected} () +\begin{DoxyCompactList}\small\item\em Called when socket is open and ready to communicate. \end{DoxyCompactList}\item +\mbox{\Hypertarget{classcore_1_1_socket_a03067c96facd44f0f399bd882148b07c}\label{classcore_1_1_socket_a03067c96facd44f0f399bd882148b07c}} +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} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{classcore_1_1_socket_a3b0b139ac7da581f0d969f6ae9a0c97c}\label{classcore_1_1_socket_a3b0b139ac7da581f0d969f6ae9a0c97c}} +\hyperlink{classcore_1_1_e_poll}{E\+Poll} \& {\bfseries e\+Poll} +\item +\mbox{\Hypertarget{classcore_1_1_socket_aa09db6c6298d20ea76c6e65f8bffd3dc}\label{classcore_1_1_socket_aa09db6c6298d20ea76c6e65f8bffd3dc}} +bool {\bfseries shut\+Down} = false +\end{DoxyCompactItemize} + + +\subsection{Detailed Description} +\hyperlink{classcore_1_1_socket}{Socket} + +The core component to managing a socket. + +Hooks into the \hyperlink{classcore_1_1_e_poll}{E\+Poll} through the registration and unregistration process and provides a communication socket of the specified protocol type. This object provides for all receiving data threading through use of the \hyperlink{classcore_1_1_e_poll}{E\+Poll} object and also provides buffering for output data requests to the socket. + +A program using a socket object can request to open a socket (file or network or whatever) and communicate through the streambuffer interface of the socket object. + +The socket side of the \hyperlink{classcore_1_1_socket}{Socket} accepts E\+P\+O\+L\+L\+IN event and will maintain the data in a buffer for the stream readers to read. A on\+Data\+Received event is then sent with the data received in the buffer that can be read through the stream. + +When writing to the stream the data is written into a buffer and a E\+P\+O\+L\+L\+O\+UT is scheduled. Upon receiving the E\+P\+O\+L\+L\+O\+UT event then the buffer is written to the socket output. + +\subsection{Member Function Documentation} +\mbox{\Hypertarget{classcore_1_1_socket_a651bd967a6655152f87b7dd44e880cb2}\label{classcore_1_1_socket_a651bd967a6655152f87b7dd44e880cb2}} +\index{core\+::\+Socket@{core\+::\+Socket}!event\+Received@{event\+Received}} +\index{event\+Received@{event\+Received}!core\+::\+Socket@{core\+::\+Socket}} +\subsubsection{\texorpdfstring{event\+Received()}{eventReceived()}} +{\footnotesize\ttfamily void core\+::\+Socket\+::event\+Received (\begin{DoxyParamCaption}\item[{struct epoll\+\_\+event}]{event }\end{DoxyParamCaption})} + + + +Parse epoll event and call specified callbacks. + +The event received from epoll is sent through the event\+Received method which will parse the event and call the read and write callbacks on the socket. + +This method is called by the B\+M\+A\+E\+Poll object and should not be called from any user extended classes unless an epoll event is being simulated. \mbox{\Hypertarget{classcore_1_1_socket_a96b8919a4b5580e389df810a4820e2e0}\label{classcore_1_1_socket_a96b8919a4b5580e389df810a4820e2e0}} +\index{core\+::\+Socket@{core\+::\+Socket}!on\+Connected@{on\+Connected}} +\index{on\+Connected@{on\+Connected}!core\+::\+Socket@{core\+::\+Socket}} +\subsubsection{\texorpdfstring{on\+Connected()}{onConnected()}} +{\footnotesize\ttfamily void core\+::\+Socket\+::on\+Connected (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}} + + + +Called when socket is open and ready to communicate. + +The on\+Connected method is called when the socket is ready to communicate. Writing to the socket can begin on this call to initiate a contact with the remote device. + +Reimplemented in \hyperlink{classcore_1_1_session_a9c9596293e6051a35197866f5b1b70ce}{core\+::\+Session}. + +\mbox{\Hypertarget{classcore_1_1_socket_add22bdee877319a372db2fd707dc5a1c}\label{classcore_1_1_socket_add22bdee877319a372db2fd707dc5a1c}} +\index{core\+::\+Socket@{core\+::\+Socket}!on\+Data\+Received@{on\+Data\+Received}} +\index{on\+Data\+Received@{on\+Data\+Received}!core\+::\+Socket@{core\+::\+Socket}} +\subsubsection{\texorpdfstring{on\+Data\+Received()}{onDataReceived()}} +{\footnotesize\ttfamily virtual void core\+::\+Socket\+::on\+Data\+Received (\begin{DoxyParamCaption}\item[{std\+::string}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [pure virtual]}} + + + +Called when data is received from the socket. + +The on\+Data\+Received method is called when the socket has received an event from epoll and there is data ready to be read from the socket. The default handler will pull the data and put it into the streambuf for the socket. E\+P\+O\+L\+L\+IN + + +\begin{DoxyParams}{Parameters} +{\em data} & the data that has been received from the socket. \\ +\hline +\end{DoxyParams} + + +Implemented in \hyperlink{classcore_1_1_t_c_p_server_socket_ab6654ac0712442fd860ec26c70bde8aa}{core\+::\+T\+C\+P\+Server\+Socket}, \hyperlink{classcore_1_1_session_aea251cf98c7f1e4d106af5682f43d8c2}{core\+::\+Session}, and \hyperlink{classcore_1_1_u_d_p_server_socket_a41933ca153c854a800e3d047ab18313e}{core\+::\+U\+D\+P\+Server\+Socket}. + +\mbox{\Hypertarget{classcore_1_1_socket_a23b9824653bbe4652a716acb828665b1}\label{classcore_1_1_socket_a23b9824653bbe4652a716acb828665b1}} +\index{core\+::\+Socket@{core\+::\+Socket}!on\+Registered@{on\+Registered}} +\index{on\+Registered@{on\+Registered}!core\+::\+Socket@{core\+::\+Socket}} +\subsubsection{\texorpdfstring{on\+Registered()}{onRegistered()}} +{\footnotesize\ttfamily void core\+::\+Socket\+::on\+Registered (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}} + + + +Called when the socket has finished registering with the epoll processing. + +The on\+Registered method is called whenever the socket is registered with e\+Poll and socket communcation events can be started. \mbox{\Hypertarget{classcore_1_1_socket_ae9be59697c2b2e5efb19aaae3ba943d2}\label{classcore_1_1_socket_ae9be59697c2b2e5efb19aaae3ba943d2}} +\index{core\+::\+Socket@{core\+::\+Socket}!on\+Unregistered@{on\+Unregistered}} +\index{on\+Unregistered@{on\+Unregistered}!core\+::\+Socket@{core\+::\+Socket}} +\subsubsection{\texorpdfstring{on\+Unregistered()}{onUnregistered()}} +{\footnotesize\ttfamily void core\+::\+Socket\+::on\+Unregistered (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}} + + + +Called when the socket has finished unregistering for the epoll processing. + +The on\+Unregistered method is called whenever the socket is unregistered with e\+Poll and socket communcation events will be stopped. The default method will close the socket and clean up the connection. If this is overridden by an extended object then the object should call this method to clean the socket up. \mbox{\Hypertarget{classcore_1_1_socket_af455ec6f793473f529507af26aa54695}\label{classcore_1_1_socket_af455ec6f793473f529507af26aa54695}} +\index{core\+::\+Socket@{core\+::\+Socket}!receive\+Data@{receive\+Data}} +\index{receive\+Data@{receive\+Data}!core\+::\+Socket@{core\+::\+Socket}} +\subsubsection{\texorpdfstring{receive\+Data()}{receiveData()}} +{\footnotesize\ttfamily void core\+::\+Socket\+::receive\+Data (\begin{DoxyParamCaption}\item[{char $\ast$}]{buffer, }\item[{int}]{buffer\+Length }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}} + +receive\+Data will read the data from the socket and place it in the socket buffer. T\+LS layer overrides this to be able to read from S\+SL. + +Reimplemented in \hyperlink{classcore_1_1_t_l_s_session_a1822cb21de545dc1a183ec0bac6cc4f0}{core\+::\+T\+L\+S\+Session}. + +\mbox{\Hypertarget{classcore_1_1_socket_a36ad0e990494d451c493e752dc2a2722}\label{classcore_1_1_socket_a36ad0e990494d451c493e752dc2a2722}} +\index{core\+::\+Socket@{core\+::\+Socket}!write@{write}} +\index{write@{write}!core\+::\+Socket@{core\+::\+Socket}} +\subsubsection{\texorpdfstring{write()}{write()}} +{\footnotesize\ttfamily void core\+::\+Socket\+::write (\begin{DoxyParamCaption}\item[{std\+::string}]{data }\end{DoxyParamCaption})} + +Write data to the socket. + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +/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} diff --git a/docs/latex/classcore_1_1_socket__coll__graph.md5 b/docs/latex/classcore_1_1_socket__coll__graph.md5 new file mode 100644 index 0000000..bbdc7f4 --- /dev/null +++ b/docs/latex/classcore_1_1_socket__coll__graph.md5 @@ -0,0 +1 @@ +8a6187714fc193cf956d14d77f7af04d \ No newline at end of file diff --git a/docs/latex/classcore_1_1_socket__coll__graph.pdf b/docs/latex/classcore_1_1_socket__coll__graph.pdf new file mode 100644 index 0000000..c3339b8 Binary files /dev/null and b/docs/latex/classcore_1_1_socket__coll__graph.pdf differ diff --git a/docs/latex/classcore_1_1_socket__inherit__graph.md5 b/docs/latex/classcore_1_1_socket__inherit__graph.md5 new file mode 100644 index 0000000..26866a2 --- /dev/null +++ b/docs/latex/classcore_1_1_socket__inherit__graph.md5 @@ -0,0 +1 @@ +eb38d9f8e6b757efdfff34140adcdd28 \ No newline at end of file diff --git a/docs/latex/classcore_1_1_socket__inherit__graph.pdf b/docs/latex/classcore_1_1_socket__inherit__graph.pdf new file mode 100644 index 0000000..072cbe5 Binary files /dev/null and b/docs/latex/classcore_1_1_socket__inherit__graph.pdf differ 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 new file mode 100644 index 0000000..f4bb8bf --- /dev/null +++ b/docs/latex/classcore_1_1_t_c_p_server_socket.tex @@ -0,0 +1,159 @@ +\hypertarget{classcore_1_1_t_c_p_server_socket}{}\section{core\+:\+:T\+C\+P\+Server\+Socket Class Reference} +\label{classcore_1_1_t_c_p_server_socket}\index{core\+::\+T\+C\+P\+Server\+Socket@{core\+::\+T\+C\+P\+Server\+Socket}} + + +{\ttfamily \#include $<$T\+C\+P\+Server\+Socket.\+h$>$} + + + +Inheritance diagram for core\+:\+:T\+C\+P\+Server\+Socket\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=324pt]{classcore_1_1_t_c_p_server_socket__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for core\+:\+:T\+C\+P\+Server\+Socket\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{classcore_1_1_t_c_p_server_socket__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\hyperlink{classcore_1_1_t_c_p_server_socket_a17a5f151f6c4ac520932f33cab5c5991}{T\+C\+P\+Server\+Socket} (\hyperlink{classcore_1_1_e_poll}{E\+Poll} \&e\+Poll, std\+::string url, short int port) +\item +\hyperlink{classcore_1_1_t_c_p_server_socket_aa2b1403757821701ff411662a3e04ab5}{$\sim$\+T\+C\+P\+Server\+Socket} () +\item +\mbox{\Hypertarget{classcore_1_1_t_c_p_server_socket_aee10b2a027e7db50f3a7da83a1141fbe}\label{classcore_1_1_t_c_p_server_socket_aee10b2a027e7db50f3a7da83a1141fbe}} +void {\bfseries remove\+From\+Session\+List} (\hyperlink{classcore_1_1_session}{Session} $\ast$session) +\end{DoxyCompactItemize} +\subsection*{Public Attributes} +\begin{DoxyCompactItemize} +\item +std\+::vector$<$ \hyperlink{classcore_1_1_session}{Session} $\ast$ $>$ \hyperlink{classcore_1_1_t_c_p_server_socket_ab97dc18253d52ecb5668e44360479fe2}{sessions} +\item +\mbox{\Hypertarget{classcore_1_1_t_c_p_server_socket_ade3d62c4de214b0961dea838d8ff941f}\label{classcore_1_1_t_c_p_server_socket_ade3d62c4de214b0961dea838d8ff941f}} +\hyperlink{classcore_1_1_command_list}{Command\+List} {\bfseries commands} +\end{DoxyCompactItemize} +\subsection*{Protected Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{classcore_1_1_t_c_p_server_socket_aca928502f71c45d654cecfbf96b9b9d0}\label{classcore_1_1_t_c_p_server_socket_aca928502f71c45d654cecfbf96b9b9d0}} +virtual void {\bfseries init} () +\item +virtual \hyperlink{classcore_1_1_session}{Session} $\ast$ \hyperlink{classcore_1_1_t_c_p_server_socket_ab1b3da899ef32f14c3162ada91d11742}{get\+Socket\+Accept} ()=0 +\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 +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +\subsection{Detailed Description} +\hyperlink{classcore_1_1_t_c_p_server_socket}{T\+C\+P\+Server\+Socket} + +Manage a socket connection as a T\+CP server type. Connections to the socket are processed through the accept functionality. + +A list of connections is maintained in a vector object. + +This object extends the 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_a17a5f151f6c4ac520932f33cab5c5991}\label{classcore_1_1_t_c_p_server_socket_a17a5f151f6c4ac520932f33cab5c5991}} +\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[{std\+::string}]{url, }\item[{short int}]{port }\end{DoxyParamCaption})} + +The constructor for the B\+M\+A\+T\+C\+P\+Socket object. + + +\begin{DoxyParams}{Parameters} +{\em e\+Poll} & the \hyperlink{classcore_1_1_e_poll}{E\+Poll} instance that manages the socket. \\ +\hline +{\em url} & the IP address for the socket to receive connection requests. \\ +\hline +{\em port} & the port number that the socket will listen on. \\ +\hline +{\em command\+Name} & the name of the command used to invoke the status display for this object. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +the instance of the B\+M\+A\+T\+C\+P\+Server\+Socket. +\end{DoxyReturn} +\mbox{\Hypertarget{classcore_1_1_t_c_p_server_socket_aa2b1403757821701ff411662a3e04ab5}\label{classcore_1_1_t_c_p_server_socket_aa2b1403757821701ff411662a3e04ab5}} +\index{core\+::\+T\+C\+P\+Server\+Socket@{core\+::\+T\+C\+P\+Server\+Socket}!````~T\+C\+P\+Server\+Socket@{$\sim$\+T\+C\+P\+Server\+Socket}} +\index{````~T\+C\+P\+Server\+Socket@{$\sim$\+T\+C\+P\+Server\+Socket}!core\+::\+T\+C\+P\+Server\+Socket@{core\+::\+T\+C\+P\+Server\+Socket}} +\subsubsection{\texorpdfstring{$\sim$\+T\+C\+P\+Server\+Socket()}{~TCPServerSocket()}} +{\footnotesize\ttfamily core\+::\+T\+C\+P\+Server\+Socket\+::$\sim$\+T\+C\+P\+Server\+Socket (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +The destructor for this object. + +\subsection{Member Function Documentation} +\mbox{\Hypertarget{classcore_1_1_t_c_p_server_socket_ab1b3da899ef32f14c3162ada91d11742}\label{classcore_1_1_t_c_p_server_socket_ab1b3da899ef32f14c3162ada91d11742}} +\index{core\+::\+T\+C\+P\+Server\+Socket@{core\+::\+T\+C\+P\+Server\+Socket}!get\+Socket\+Accept@{get\+Socket\+Accept}} +\index{get\+Socket\+Accept@{get\+Socket\+Accept}!core\+::\+T\+C\+P\+Server\+Socket@{core\+::\+T\+C\+P\+Server\+Socket}} +\subsubsection{\texorpdfstring{get\+Socket\+Accept()}{getSocketAccept()}} +{\footnotesize\ttfamily virtual \hyperlink{classcore_1_1_session}{Session}$\ast$ core\+::\+T\+C\+P\+Server\+Socket\+::get\+Socket\+Accept (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [pure virtual]}} + +get\+Socket\+Accept is designed to allow a polymorphic extension of this object to return a type of object that extends the definition of the server socket. Returning the appropriate session object that extends from B\+M\+A\+Session provides the mechanism where the server can select the protocol dialog for the desired service. + +Implemented in \hyperlink{classcore_1_1_t_l_s_server_socket_a954541082a39b7b417b3cd741ed4eea6}{core\+::\+T\+L\+S\+Server\+Socket}, and \hyperlink{classcore_1_1_console_server_ac1d498a7094fe69acc7b234efa296b1c}{core\+::\+Console\+Server}. + +\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}} +\subsubsection{\texorpdfstring{on\+Data\+Received()}{onDataReceived()}} +{\footnotesize\ttfamily void core\+::\+T\+C\+P\+Server\+Socket\+::on\+Data\+Received (\begin{DoxyParamCaption}\item[{std\+::string}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [protected]}, {\ttfamily [virtual]}} + +Override the virtual data\+Received since for the server these are requests to accept the new connection socket. No data is to be read or written when this method is called. It is the response to the fact that a new connection is coming into the system + + +\begin{DoxyParams}{Parameters} +{\em data} & the pointer to the buffer containing the received data. \\ +\hline +{\em length} & the length of the associated data buffer. \\ +\hline +\end{DoxyParams} + + +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}} +\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]}} + +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. + + +\begin{DoxyParams}{Parameters} +{\em the} & session object to write the output to. \\ +\hline +\end{DoxyParams} + + +Implements \hyperlink{classcore_1_1_command_a0b7ae77ea83e463193c52b2c502b7c56}{core\+::\+Command}. + + + +\subsection{Member Data Documentation} +\mbox{\Hypertarget{classcore_1_1_t_c_p_server_socket_ab97dc18253d52ecb5668e44360479fe2}\label{classcore_1_1_t_c_p_server_socket_ab97dc18253d52ecb5668e44360479fe2}} +\index{core\+::\+T\+C\+P\+Server\+Socket@{core\+::\+T\+C\+P\+Server\+Socket}!sessions@{sessions}} +\index{sessions@{sessions}!core\+::\+T\+C\+P\+Server\+Socket@{core\+::\+T\+C\+P\+Server\+Socket}} +\subsubsection{\texorpdfstring{sessions}{sessions}} +{\footnotesize\ttfamily std\+::vector$<$\hyperlink{classcore_1_1_session}{Session} $\ast$$>$ core\+::\+T\+C\+P\+Server\+Socket\+::sessions} + +The list of sessions that are currently open and being maintained by this object. + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/T\+C\+P\+Server\+Socket.\+h\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+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 new file mode 100644 index 0000000..667227c --- /dev/null +++ b/docs/latex/classcore_1_1_t_c_p_server_socket__coll__graph.md5 @@ -0,0 +1 @@ +b66657f7cca30155264d83ed626627d2 \ 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 new file mode 100644 index 0000000..e581e2b Binary files /dev/null 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_server_socket__inherit__graph.md5 b/docs/latex/classcore_1_1_t_c_p_server_socket__inherit__graph.md5 new file mode 100644 index 0000000..3266137 --- /dev/null +++ b/docs/latex/classcore_1_1_t_c_p_server_socket__inherit__graph.md5 @@ -0,0 +1 @@ +ab32d893bdd639780b83713fa4f0f072 \ No newline at end of file diff --git a/docs/latex/classcore_1_1_t_c_p_server_socket__inherit__graph.pdf b/docs/latex/classcore_1_1_t_c_p_server_socket__inherit__graph.pdf new file mode 100644 index 0000000..c4a3193 Binary files /dev/null and b/docs/latex/classcore_1_1_t_c_p_server_socket__inherit__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 new file mode 100644 index 0000000..52a6211 --- /dev/null +++ b/docs/latex/classcore_1_1_t_c_p_socket.tex @@ -0,0 +1,68 @@ +\hypertarget{classcore_1_1_t_c_p_socket}{}\section{core\+:\+:T\+C\+P\+Socket Class Reference} +\label{classcore_1_1_t_c_p_socket}\index{core\+::\+T\+C\+P\+Socket@{core\+::\+T\+C\+P\+Socket}} + + +{\ttfamily \#include $<$T\+C\+P\+Socket.\+h$>$} + + + +Inheritance diagram for core\+:\+:T\+C\+P\+Socket\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{classcore_1_1_t_c_p_socket__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for core\+:\+:T\+C\+P\+Socket\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{classcore_1_1_t_c_p_socket__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{classcore_1_1_t_c_p_socket_a09089f0bc701edcf6c148958fd29d374}\label{classcore_1_1_t_c_p_socket_a09089f0bc701edcf6c148958fd29d374}} +{\bfseries T\+C\+P\+Socket} (\hyperlink{classcore_1_1_e_poll}{E\+Poll} \&e\+Poll) +\item +\mbox{\Hypertarget{classcore_1_1_t_c_p_socket_a22dae8f5b7989d206fab918297e0df94}\label{classcore_1_1_t_c_p_socket_a22dae8f5b7989d206fab918297e0df94}} +void {\bfseries connect} (\hyperlink{classcore_1_1_i_p_address}{I\+P\+Address} \&address) +\item +virtual void \hyperlink{classcore_1_1_t_c_p_socket_afacf7528ff3c9ac077d7b5a49e2116fd}{output} (std\+::stringstream \&out) +\end{DoxyCompactItemize} +\subsection*{Public Attributes} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{classcore_1_1_t_c_p_socket_abe7d0a740dc0c19c058661270a6fb630}\label{classcore_1_1_t_c_p_socket_abe7d0a740dc0c19c058661270a6fb630}} +\hyperlink{classcore_1_1_i_p_address}{I\+P\+Address} {\bfseries ip\+Address} +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +\subsection{Detailed Description} +\hyperlink{classcore_1_1_t_c_p_socket}{T\+C\+P\+Socket} + +Provides a network T\+CP socket. + +For accessing T\+CP network functions use this object. The connection oriented nature of T\+CP provides a single client persistent connection with data error correction and a durable synchronous data connection. + +\subsection{Member Function Documentation} +\mbox{\Hypertarget{classcore_1_1_t_c_p_socket_afacf7528ff3c9ac077d7b5a49e2116fd}\label{classcore_1_1_t_c_p_socket_afacf7528ff3c9ac077d7b5a49e2116fd}} +\index{core\+::\+T\+C\+P\+Socket@{core\+::\+T\+C\+P\+Socket}!output@{output}} +\index{output@{output}!core\+::\+T\+C\+P\+Socket@{core\+::\+T\+C\+P\+Socket}} +\subsubsection{\texorpdfstring{output()}{output()}} +{\footnotesize\ttfamily void core\+::\+T\+C\+P\+Socket\+::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 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}. + + + +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} diff --git a/docs/latex/classcore_1_1_t_c_p_socket__coll__graph.md5 b/docs/latex/classcore_1_1_t_c_p_socket__coll__graph.md5 new file mode 100644 index 0000000..1dba925 --- /dev/null +++ b/docs/latex/classcore_1_1_t_c_p_socket__coll__graph.md5 @@ -0,0 +1 @@ +2ec49949d079991ab344763304559275 \ No newline at end of file diff --git a/docs/latex/classcore_1_1_t_c_p_socket__coll__graph.pdf b/docs/latex/classcore_1_1_t_c_p_socket__coll__graph.pdf new file mode 100644 index 0000000..f4be114 Binary files /dev/null and b/docs/latex/classcore_1_1_t_c_p_socket__coll__graph.pdf differ diff --git a/docs/latex/classcore_1_1_t_c_p_socket__inherit__graph.md5 b/docs/latex/classcore_1_1_t_c_p_socket__inherit__graph.md5 new file mode 100644 index 0000000..21840ef --- /dev/null +++ b/docs/latex/classcore_1_1_t_c_p_socket__inherit__graph.md5 @@ -0,0 +1 @@ +f326b46ae5a5fd37b2e6e8472262e967 \ No newline at end of file diff --git a/docs/latex/classcore_1_1_t_c_p_socket__inherit__graph.pdf b/docs/latex/classcore_1_1_t_c_p_socket__inherit__graph.pdf new file mode 100644 index 0000000..5fdbe2f Binary files /dev/null and b/docs/latex/classcore_1_1_t_c_p_socket__inherit__graph.pdf differ 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 new file mode 100644 index 0000000..8c8ad95 --- /dev/null +++ b/docs/latex/classcore_1_1_t_l_s_server_socket.tex @@ -0,0 +1,98 @@ +\hypertarget{classcore_1_1_t_l_s_server_socket}{}\section{core\+:\+:T\+L\+S\+Server\+Socket Class Reference} +\label{classcore_1_1_t_l_s_server_socket}\index{core\+::\+T\+L\+S\+Server\+Socket@{core\+::\+T\+L\+S\+Server\+Socket}} + + +{\ttfamily \#include $<$T\+L\+S\+Server\+Socket.\+h$>$} + + + +Inheritance diagram for core\+:\+:T\+L\+S\+Server\+Socket\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=276pt]{classcore_1_1_t_l_s_server_socket__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for core\+:\+:T\+L\+S\+Server\+Socket\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{classcore_1_1_t_l_s_server_socket__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\hyperlink{classcore_1_1_t_l_s_server_socket_a2008ff5fcf5c1d8f181bb5ceb6895eba}{T\+L\+S\+Server\+Socket} (\hyperlink{classcore_1_1_e_poll}{E\+Poll} \&e\+Poll, std\+::string url, short int port) +\item +\hyperlink{classcore_1_1_t_l_s_server_socket_a2433e0cbc0a9edfef1fe9c07b0e74b3d}{$\sim$\+T\+L\+S\+Server\+Socket} () +\end{DoxyCompactItemize} +\subsection*{Public Attributes} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{classcore_1_1_t_l_s_server_socket_af5306e7ec81332ffce0b793ceaf5255f}\label{classcore_1_1_t_l_s_server_socket_af5306e7ec81332ffce0b793ceaf5255f}} +S\+S\+L\+\_\+\+C\+TX $\ast$ {\bfseries ctx} +\end{DoxyCompactItemize} +\subsection*{Protected Member Functions} +\begin{DoxyCompactItemize} +\item +\hyperlink{classcore_1_1_session}{Session} $\ast$ \hyperlink{classcore_1_1_t_l_s_server_socket_a954541082a39b7b417b3cd741ed4eea6}{get\+Socket\+Accept} () override +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +\subsection{Detailed Description} +\hyperlink{classcore_1_1_t_l_s_server_socket}{T\+L\+S\+Server\+Socket} + +Manage a socket connection as a T\+LS server type. Connections to the socket are processed through the accept functionality. + +\subsection{Constructor \& Destructor Documentation} +\mbox{\Hypertarget{classcore_1_1_t_l_s_server_socket_a2008ff5fcf5c1d8f181bb5ceb6895eba}\label{classcore_1_1_t_l_s_server_socket_a2008ff5fcf5c1d8f181bb5ceb6895eba}} +\index{core\+::\+T\+L\+S\+Server\+Socket@{core\+::\+T\+L\+S\+Server\+Socket}!T\+L\+S\+Server\+Socket@{T\+L\+S\+Server\+Socket}} +\index{T\+L\+S\+Server\+Socket@{T\+L\+S\+Server\+Socket}!core\+::\+T\+L\+S\+Server\+Socket@{core\+::\+T\+L\+S\+Server\+Socket}} +\subsubsection{\texorpdfstring{T\+L\+S\+Server\+Socket()}{TLSServerSocket()}} +{\footnotesize\ttfamily core\+::\+T\+L\+S\+Server\+Socket\+::\+T\+L\+S\+Server\+Socket (\begin{DoxyParamCaption}\item[{\hyperlink{classcore_1_1_e_poll}{E\+Poll} \&}]{e\+Poll, }\item[{std\+::string}]{url, }\item[{short int}]{port }\end{DoxyParamCaption})} + +The constructor for the B\+M\+A\+T\+L\+S\+Socket object. + + +\begin{DoxyParams}{Parameters} +{\em e\+Poll} & the B\+M\+A\+E\+Poll instance that manages the socket. \\ +\hline +{\em url} & the IP address for the socket to receive connection requests. \\ +\hline +{\em port} & the port number that the socket will listen on. \\ +\hline +{\em command\+Name} & the name of the command used to invoke the status display for this object. \\ +\hline +\end{DoxyParams} +\begin{DoxyReturn}{Returns} +the instance of the B\+M\+A\+T\+L\+S\+Server\+Socket. +\end{DoxyReturn} +\mbox{\Hypertarget{classcore_1_1_t_l_s_server_socket_a2433e0cbc0a9edfef1fe9c07b0e74b3d}\label{classcore_1_1_t_l_s_server_socket_a2433e0cbc0a9edfef1fe9c07b0e74b3d}} +\index{core\+::\+T\+L\+S\+Server\+Socket@{core\+::\+T\+L\+S\+Server\+Socket}!````~T\+L\+S\+Server\+Socket@{$\sim$\+T\+L\+S\+Server\+Socket}} +\index{````~T\+L\+S\+Server\+Socket@{$\sim$\+T\+L\+S\+Server\+Socket}!core\+::\+T\+L\+S\+Server\+Socket@{core\+::\+T\+L\+S\+Server\+Socket}} +\subsubsection{\texorpdfstring{$\sim$\+T\+L\+S\+Server\+Socket()}{~TLSServerSocket()}} +{\footnotesize\ttfamily core\+::\+T\+L\+S\+Server\+Socket\+::$\sim$\+T\+L\+S\+Server\+Socket (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +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. + +Implements \hyperlink{classcore_1_1_t_c_p_server_socket_ab1b3da899ef32f14c3162ada91d11742}{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} 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 new file mode 100644 index 0000000..a95382d --- /dev/null +++ b/docs/latex/classcore_1_1_t_l_s_server_socket__coll__graph.md5 @@ -0,0 +1 @@ +48935e4c53091f066c9284f170c9384c \ 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 new file mode 100644 index 0000000..c7e2607 Binary files /dev/null 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_server_socket__inherit__graph.md5 b/docs/latex/classcore_1_1_t_l_s_server_socket__inherit__graph.md5 new file mode 100644 index 0000000..c992869 --- /dev/null +++ b/docs/latex/classcore_1_1_t_l_s_server_socket__inherit__graph.md5 @@ -0,0 +1 @@ +20aa12afa14dcdfe3be2dc6e2e1626a1 \ No newline at end of file diff --git a/docs/latex/classcore_1_1_t_l_s_server_socket__inherit__graph.pdf b/docs/latex/classcore_1_1_t_l_s_server_socket__inherit__graph.pdf new file mode 100644 index 0000000..989bdfb Binary files /dev/null and b/docs/latex/classcore_1_1_t_l_s_server_socket__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 new file mode 100644 index 0000000..8511338 --- /dev/null +++ b/docs/latex/classcore_1_1_t_l_s_session.tex @@ -0,0 +1,80 @@ +\hypertarget{classcore_1_1_t_l_s_session}{}\section{core\+:\+:T\+L\+S\+Session Class Reference} +\label{classcore_1_1_t_l_s_session}\index{core\+::\+T\+L\+S\+Session@{core\+::\+T\+L\+S\+Session}} + + +{\ttfamily \#include $<$T\+L\+S\+Session.\+h$>$} + + + +Inheritance diagram for core\+:\+:T\+L\+S\+Session\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=248pt]{classcore_1_1_t_l_s_session__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for core\+:\+:T\+L\+S\+Session\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{classcore_1_1_t_l_s_session__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{classcore_1_1_t_l_s_session_a71ab51a776ccbc33ab1584d5da179749}\label{classcore_1_1_t_l_s_session_a71ab51a776ccbc33ab1584d5da179749}} +{\bfseries T\+L\+S\+Session} (\hyperlink{classcore_1_1_e_poll}{E\+Poll} \&e\+Poll, \hyperlink{classcore_1_1_t_l_s_server_socket}{T\+L\+S\+Server\+Socket} \&server) +\item +virtual void \hyperlink{classcore_1_1_t_l_s_session_ae55de8a035d1ddc560cf619b2030af43}{output} (std\+::stringstream \&out) +\item +\mbox{\Hypertarget{classcore_1_1_t_l_s_session_a547c436ab69f75307f065eca8cfcd109}\label{classcore_1_1_t_l_s_session_a547c436ab69f75307f065eca8cfcd109}} +virtual void {\bfseries protocol} (std\+::string data) override +\end{DoxyCompactItemize} +\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} + + +\subsection{Detailed Description} +\hyperlink{classcore_1_1_t_l_s_session}{T\+L\+S\+Session} + +Provides a network T\+LS socket. + +For accessing T\+LS network functions use this object. The connection oriented nature of T\+LS provides a single client persistent connection with data error correction and a durable synchronous data connection. + +\subsection{Member Function Documentation} +\mbox{\Hypertarget{classcore_1_1_t_l_s_session_ae55de8a035d1ddc560cf619b2030af43}\label{classcore_1_1_t_l_s_session_ae55de8a035d1ddc560cf619b2030af43}} +\index{core\+::\+T\+L\+S\+Session@{core\+::\+T\+L\+S\+Session}!output@{output}} +\index{output@{output}!core\+::\+T\+L\+S\+Session@{core\+::\+T\+L\+S\+Session}} +\subsubsection{\texorpdfstring{output()}{output()}} +{\footnotesize\ttfamily void core\+::\+T\+L\+S\+Session\+::output (\begin{DoxyParamCaption}\item[{std\+::stringstream \&}]{out }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}} + +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}. + +\mbox{\Hypertarget{classcore_1_1_t_l_s_session_a1822cb21de545dc1a183ec0bac6cc4f0}\label{classcore_1_1_t_l_s_session_a1822cb21de545dc1a183ec0bac6cc4f0}} +\index{core\+::\+T\+L\+S\+Session@{core\+::\+T\+L\+S\+Session}!receive\+Data@{receive\+Data}} +\index{receive\+Data@{receive\+Data}!core\+::\+T\+L\+S\+Session@{core\+::\+T\+L\+S\+Session}} +\subsubsection{\texorpdfstring{receive\+Data()}{receiveData()}} +{\footnotesize\ttfamily void core\+::\+T\+L\+S\+Session\+::receive\+Data (\begin{DoxyParamCaption}\item[{char $\ast$}]{buffer, }\item[{int}]{buffer\+Length }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [protected]}, {\ttfamily [virtual]}} + +receive\+Data will read the data from the socket and place it in the socket buffer. T\+LS layer overrides this to be able to read from S\+SL. + +Reimplemented from \hyperlink{classcore_1_1_socket_af455ec6f793473f529507af26aa54695}{core\+::\+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\+Session.\+h\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+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 new file mode 100644 index 0000000..5856fac --- /dev/null +++ b/docs/latex/classcore_1_1_t_l_s_session__coll__graph.md5 @@ -0,0 +1 @@ +15e45349722473ec5bfa0ecaacebe992 \ 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 new file mode 100644 index 0000000..eb317c1 Binary files /dev/null and b/docs/latex/classcore_1_1_t_l_s_session__coll__graph.pdf differ diff --git a/docs/latex/classcore_1_1_t_l_s_session__inherit__graph.md5 b/docs/latex/classcore_1_1_t_l_s_session__inherit__graph.md5 new file mode 100644 index 0000000..49fc6f4 --- /dev/null +++ b/docs/latex/classcore_1_1_t_l_s_session__inherit__graph.md5 @@ -0,0 +1 @@ +4c4915b6f6e01ea7c86f21943f3859db \ No newline at end of file diff --git a/docs/latex/classcore_1_1_t_l_s_session__inherit__graph.pdf b/docs/latex/classcore_1_1_t_l_s_session__inherit__graph.pdf new file mode 100644 index 0000000..cb19ca4 Binary files /dev/null and b/docs/latex/classcore_1_1_t_l_s_session__inherit__graph.pdf differ diff --git a/docs/latex/classcore_1_1_terminal.tex b/docs/latex/classcore_1_1_terminal.tex new file mode 100644 index 0000000..ea03dcd --- /dev/null +++ b/docs/latex/classcore_1_1_terminal.tex @@ -0,0 +1,66 @@ +\hypertarget{classcore_1_1_terminal}{}\section{core\+:\+:Terminal Class Reference} +\label{classcore_1_1_terminal}\index{core\+::\+Terminal@{core\+::\+Terminal}} + + +Inheritance diagram for core\+:\+:Terminal\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=248pt]{classcore_1_1_terminal__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for core\+:\+:Terminal\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{classcore_1_1_terminal__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{classcore_1_1_terminal_aa0b5d9adaef2d937b5f41055ec38078f}\label{classcore_1_1_terminal_aa0b5d9adaef2d937b5f41055ec38078f}} +{\bfseries Terminal} (\hyperlink{classcore_1_1_e_poll}{E\+Poll} \&e\+Poll, \hyperlink{classcore_1_1_t_c_p_server_socket}{T\+C\+P\+Server\+Socket} \&server) +\item +\mbox{\Hypertarget{classcore_1_1_terminal_a962b22ba29aa150ea600d3c618a9c98e}\label{classcore_1_1_terminal_a962b22ba29aa150ea600d3c618a9c98e}} +int {\bfseries get\+Lines} () +\item +\mbox{\Hypertarget{classcore_1_1_terminal_ab11593c521ab6674e8c38a4c8357bfb2}\label{classcore_1_1_terminal_ab11593c521ab6674e8c38a4c8357bfb2}} +void {\bfseries clear} () +\item +\mbox{\Hypertarget{classcore_1_1_terminal_a73a73e42b84c119433b9100ed075b473}\label{classcore_1_1_terminal_a73a73e42b84c119433b9100ed075b473}} +void {\bfseries clear\+E\+OL} () +\item +\mbox{\Hypertarget{classcore_1_1_terminal_a4107b28635341200d00a071031a1e969}\label{classcore_1_1_terminal_a4107b28635341200d00a071031a1e969}} +void {\bfseries set\+Cursor\+Location} (int x, int y) +\item +\mbox{\Hypertarget{classcore_1_1_terminal_a62b249aeb2869fe706e4407f5961b365}\label{classcore_1_1_terminal_a62b249aeb2869fe706e4407f5961b365}} +void {\bfseries set\+Color} (int color) +\item +\mbox{\Hypertarget{classcore_1_1_terminal_a81d77990a969c436032cade22c8990c8}\label{classcore_1_1_terminal_a81d77990a969c436032cade22c8990c8}} +void {\bfseries set\+Back\+Color} (int color) +\item +\mbox{\Hypertarget{classcore_1_1_terminal_a550d3e32a17c17f583c0a8322ae6baf8}\label{classcore_1_1_terminal_a550d3e32a17c17f583c0a8322ae6baf8}} +void {\bfseries save\+Cursor} () +\item +\mbox{\Hypertarget{classcore_1_1_terminal_a6f10b139239173e17400bfc1cf8099b8}\label{classcore_1_1_terminal_a6f10b139239173e17400bfc1cf8099b8}} +void {\bfseries restore\+Cursor} () +\item +\mbox{\Hypertarget{classcore_1_1_terminal_a9e58c54dabac53caada9da13ee614359}\label{classcore_1_1_terminal_a9e58c54dabac53caada9da13ee614359}} +void {\bfseries Next\+Line} (int lines) +\item +\mbox{\Hypertarget{classcore_1_1_terminal_ac62e20c98323b5a2a9495216a77c2691}\label{classcore_1_1_terminal_ac62e20c98323b5a2a9495216a77c2691}} +void {\bfseries Previous\+Line} (int lines) +\item +\mbox{\Hypertarget{classcore_1_1_terminal_a6cecf6c57635b0460e40bf9bca082d5d}\label{classcore_1_1_terminal_a6cecf6c57635b0460e40bf9bca082d5d}} +void {\bfseries scroll\+Area} (int start, int end) +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +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.\+h\item +/home/barant/\+Development/\+B\+M\+A/server\+\_\+core/\+Server\+Core/Terminal.\+cpp\end{DoxyCompactItemize} diff --git a/docs/latex/classcore_1_1_terminal__coll__graph.md5 b/docs/latex/classcore_1_1_terminal__coll__graph.md5 new file mode 100644 index 0000000..33efee4 --- /dev/null +++ b/docs/latex/classcore_1_1_terminal__coll__graph.md5 @@ -0,0 +1 @@ +f086d14afa42df29a17ccbebb9471dee \ No newline at end of file diff --git a/docs/latex/classcore_1_1_terminal__coll__graph.pdf b/docs/latex/classcore_1_1_terminal__coll__graph.pdf new file mode 100644 index 0000000..c2c3555 Binary files /dev/null and b/docs/latex/classcore_1_1_terminal__coll__graph.pdf differ diff --git a/docs/latex/classcore_1_1_terminal__inherit__graph.md5 b/docs/latex/classcore_1_1_terminal__inherit__graph.md5 new file mode 100644 index 0000000..f972017 --- /dev/null +++ b/docs/latex/classcore_1_1_terminal__inherit__graph.md5 @@ -0,0 +1 @@ +2e50578c3805c85271dbb36a4befe6a6 \ No newline at end of file diff --git a/docs/latex/classcore_1_1_terminal__inherit__graph.pdf b/docs/latex/classcore_1_1_terminal__inherit__graph.pdf new file mode 100644 index 0000000..1c666c6 Binary files /dev/null and b/docs/latex/classcore_1_1_terminal__inherit__graph.pdf differ diff --git a/docs/latex/classcore_1_1_terminal_session.tex b/docs/latex/classcore_1_1_terminal_session.tex new file mode 100644 index 0000000..83a04bc --- /dev/null +++ b/docs/latex/classcore_1_1_terminal_session.tex @@ -0,0 +1,66 @@ +\hypertarget{classcore_1_1_terminal_session}{}\section{core\+:\+:Terminal\+Session Class Reference} +\label{classcore_1_1_terminal_session}\index{core\+::\+Terminal\+Session@{core\+::\+Terminal\+Session}} + + +Inheritance diagram for core\+:\+:Terminal\+Session\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=248pt]{classcore_1_1_terminal_session__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for core\+:\+:Terminal\+Session\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{classcore_1_1_terminal_session__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{classcore_1_1_terminal_session_ae4f7e59eae3830b0506d83b1d00c9798}\label{classcore_1_1_terminal_session_ae4f7e59eae3830b0506d83b1d00c9798}} +{\bfseries Terminal\+Session} (\hyperlink{classcore_1_1_e_poll}{E\+Poll} \&e\+Poll, \hyperlink{classcore_1_1_t_c_p_server_socket}{T\+C\+P\+Server\+Socket} \&server) +\item +\mbox{\Hypertarget{classcore_1_1_terminal_session_a0df0106164a7f213acf2e814e725c576}\label{classcore_1_1_terminal_session_a0df0106164a7f213acf2e814e725c576}} +int {\bfseries get\+Lines} () +\item +\mbox{\Hypertarget{classcore_1_1_terminal_session_a42bb06857891220a831da04248233935}\label{classcore_1_1_terminal_session_a42bb06857891220a831da04248233935}} +void {\bfseries clear} () +\item +\mbox{\Hypertarget{classcore_1_1_terminal_session_aa660768eed03b0b996a749e8a146446c}\label{classcore_1_1_terminal_session_aa660768eed03b0b996a749e8a146446c}} +void {\bfseries clear\+E\+OL} () +\item +\mbox{\Hypertarget{classcore_1_1_terminal_session_aa9939cbe36c08e1a0b8413a96ca251fa}\label{classcore_1_1_terminal_session_aa9939cbe36c08e1a0b8413a96ca251fa}} +void {\bfseries set\+Cursor\+Location} (int x, int y) +\item +\mbox{\Hypertarget{classcore_1_1_terminal_session_abb104a3743f52c8237afc25c9abd3815}\label{classcore_1_1_terminal_session_abb104a3743f52c8237afc25c9abd3815}} +void {\bfseries set\+Color} (int color) +\item +\mbox{\Hypertarget{classcore_1_1_terminal_session_a96c909e28a87f2e5b64fe2ca7ab79ca7}\label{classcore_1_1_terminal_session_a96c909e28a87f2e5b64fe2ca7ab79ca7}} +void {\bfseries set\+Back\+Color} (int color) +\item +\mbox{\Hypertarget{classcore_1_1_terminal_session_a930de98aea34eca4723a1efbc0272223}\label{classcore_1_1_terminal_session_a930de98aea34eca4723a1efbc0272223}} +void {\bfseries save\+Cursor} () +\item +\mbox{\Hypertarget{classcore_1_1_terminal_session_afc89dc99e1b104bee7717b0cda2f9b37}\label{classcore_1_1_terminal_session_afc89dc99e1b104bee7717b0cda2f9b37}} +void {\bfseries restore\+Cursor} () +\item +\mbox{\Hypertarget{classcore_1_1_terminal_session_a21f8ec433bcb4c7f55807cdcbc929134}\label{classcore_1_1_terminal_session_a21f8ec433bcb4c7f55807cdcbc929134}} +void {\bfseries Next\+Line} (int lines) +\item +\mbox{\Hypertarget{classcore_1_1_terminal_session_aea2f243e65074cb174ddf8844c9126ff}\label{classcore_1_1_terminal_session_aea2f243e65074cb174ddf8844c9126ff}} +void {\bfseries Previous\+Line} (int lines) +\item +\mbox{\Hypertarget{classcore_1_1_terminal_session_a2305ddd73d1ccb8a303abd718cd6e7b0}\label{classcore_1_1_terminal_session_a2305ddd73d1ccb8a303abd718cd6e7b0}} +void {\bfseries scroll\+Area} (int start, int end) +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +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} diff --git a/docs/latex/classcore_1_1_terminal_session__coll__graph.md5 b/docs/latex/classcore_1_1_terminal_session__coll__graph.md5 new file mode 100644 index 0000000..bf8624e --- /dev/null +++ b/docs/latex/classcore_1_1_terminal_session__coll__graph.md5 @@ -0,0 +1 @@ +9dc3eee684b8a91578b9b8bfc73ae84e \ 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 new file mode 100644 index 0000000..e8d01a0 Binary files /dev/null and b/docs/latex/classcore_1_1_terminal_session__coll__graph.pdf differ diff --git a/docs/latex/classcore_1_1_terminal_session__inherit__graph.md5 b/docs/latex/classcore_1_1_terminal_session__inherit__graph.md5 new file mode 100644 index 0000000..712d3ed --- /dev/null +++ b/docs/latex/classcore_1_1_terminal_session__inherit__graph.md5 @@ -0,0 +1 @@ +bd50de2df0da084614b68dbd88c81ccf \ No newline at end of file diff --git a/docs/latex/classcore_1_1_terminal_session__inherit__graph.pdf b/docs/latex/classcore_1_1_terminal_session__inherit__graph.pdf new file mode 100644 index 0000000..a2aefa2 Binary files /dev/null and b/docs/latex/classcore_1_1_terminal_session__inherit__graph.pdf differ diff --git a/docs/latex/classcore_1_1_thread.tex b/docs/latex/classcore_1_1_thread.tex new file mode 100644 index 0000000..cf4f0cb --- /dev/null +++ b/docs/latex/classcore_1_1_thread.tex @@ -0,0 +1,68 @@ +\hypertarget{classcore_1_1_thread}{}\section{core\+:\+:Thread Class Reference} +\label{classcore_1_1_thread}\index{core\+::\+Thread@{core\+::\+Thread}} + + +{\ttfamily \#include $<$Thread.\+h$>$} + + + +Inheritance diagram for core\+:\+:Thread\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=151pt]{classcore_1_1_thread__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for core\+:\+:Thread\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=151pt]{classcore_1_1_thread__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{classcore_1_1_thread_acf8e7e682431fa6a4a3a77ce9b33aefc}\label{classcore_1_1_thread_acf8e7e682431fa6a4a3a77ce9b33aefc}} +{\bfseries Thread} (\hyperlink{classcore_1_1_e_poll}{E\+Poll} \&e\+Poll) +\item +void \hyperlink{classcore_1_1_thread_ae6885df9a9b9503669e5776518b19054}{start} () +\item +\mbox{\Hypertarget{classcore_1_1_thread_a9ba3b9a5127dcfa0ee2c5f315d6a648d}\label{classcore_1_1_thread_a9ba3b9a5127dcfa0ee2c5f315d6a648d}} +void {\bfseries join} () +\item +\mbox{\Hypertarget{classcore_1_1_thread_a0b5d8efe9bf913e06a7768cb5ef75c8a}\label{classcore_1_1_thread_a0b5d8efe9bf913e06a7768cb5ef75c8a}} +std\+::string {\bfseries get\+Status} () +\item +\mbox{\Hypertarget{classcore_1_1_thread_adddf5bccd9189cbd81eeadf0311dbdd6}\label{classcore_1_1_thread_adddf5bccd9189cbd81eeadf0311dbdd6}} +pid\+\_\+t {\bfseries get\+Thread\+Id} () +\item +\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) +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +\subsection{Detailed Description} +\hyperlink{classcore_1_1_thread}{Thread} + +This thread object is designed to be the thread processor for the \hyperlink{classcore_1_1_e_poll}{E\+Poll} object. It wraps the thread object to allow maintaining a status value for monitoring the thread activity. \hyperlink{classcore_1_1_e_poll}{E\+Poll} will instantiate a \hyperlink{classcore_1_1_thread}{Thread} object for each thread specified in the \hyperlink{classcore_1_1_e_poll}{E\+Poll}\textquotesingle{}s start method. + +\subsection{Member Function Documentation} +\mbox{\Hypertarget{classcore_1_1_thread_ae6885df9a9b9503669e5776518b19054}\label{classcore_1_1_thread_ae6885df9a9b9503669e5776518b19054}} +\index{core\+::\+Thread@{core\+::\+Thread}!start@{start}} +\index{start@{start}!core\+::\+Thread@{core\+::\+Thread}} +\subsubsection{\texorpdfstring{start()}{start()}} +{\footnotesize\ttfamily void core\+::\+Thread\+::start (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +Start the thread object. This will cause the epoll scheduler to commence reading the epoll queue. + +The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} +\item +/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} diff --git a/docs/latex/classcore_1_1_thread__coll__graph.md5 b/docs/latex/classcore_1_1_thread__coll__graph.md5 new file mode 100644 index 0000000..daf5158 --- /dev/null +++ b/docs/latex/classcore_1_1_thread__coll__graph.md5 @@ -0,0 +1 @@ +e74fbc0466e793358e4bcbf4c18ccef1 \ No newline at end of file diff --git a/docs/latex/classcore_1_1_thread__coll__graph.pdf b/docs/latex/classcore_1_1_thread__coll__graph.pdf new file mode 100644 index 0000000..8c92331 Binary files /dev/null and b/docs/latex/classcore_1_1_thread__coll__graph.pdf differ diff --git a/docs/latex/classcore_1_1_thread__inherit__graph.md5 b/docs/latex/classcore_1_1_thread__inherit__graph.md5 new file mode 100644 index 0000000..a4fadc8 --- /dev/null +++ b/docs/latex/classcore_1_1_thread__inherit__graph.md5 @@ -0,0 +1 @@ +6b0d0b500328b76e40595bf89beb877e \ No newline at end of file diff --git a/docs/latex/classcore_1_1_thread__inherit__graph.pdf b/docs/latex/classcore_1_1_thread__inherit__graph.pdf new file mode 100644 index 0000000..8c92331 Binary files /dev/null and b/docs/latex/classcore_1_1_thread__inherit__graph.pdf differ diff --git a/docs/latex/classcore_1_1_timer.tex b/docs/latex/classcore_1_1_timer.tex new file mode 100644 index 0000000..9c25738 --- /dev/null +++ b/docs/latex/classcore_1_1_timer.tex @@ -0,0 +1,94 @@ +\hypertarget{classcore_1_1_timer}{}\section{core\+:\+:Timer Class Reference} +\label{classcore_1_1_timer}\index{core\+::\+Timer@{core\+::\+Timer}} + + +{\ttfamily \#include $<$Timer.\+h$>$} + + + +Inheritance diagram for core\+:\+:Timer\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=248pt]{classcore_1_1_timer__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for core\+:\+:Timer\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=302pt]{classcore_1_1_timer__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{classcore_1_1_timer_aa12f319bab9c7a350244c4d47fe59de9}\label{classcore_1_1_timer_aa12f319bab9c7a350244c4d47fe59de9}} +{\bfseries Timer} (\hyperlink{classcore_1_1_e_poll}{E\+Poll} \&e\+Poll) +\item +\mbox{\Hypertarget{classcore_1_1_timer_a6ba8de81f8e3b26fd132e29230646024}\label{classcore_1_1_timer_a6ba8de81f8e3b26fd132e29230646024}} +{\bfseries Timer} (\hyperlink{classcore_1_1_e_poll}{E\+Poll} \&e\+Poll, double delay) +\item +void \hyperlink{classcore_1_1_timer_ac0a642cdcb76b7f995137162050d3d0b}{set\+Timer} (double delay) +\item +void \hyperlink{classcore_1_1_timer_a8e063f46e89dac04364871e909ab940a}{clear\+Timer} () +\item +double \hyperlink{classcore_1_1_timer_a0df7f1ffc05529b45d6e13713bbc0209}{get\+Elapsed} () +\item +\mbox{\Hypertarget{classcore_1_1_timer_afee1c871ce74e6b594bd6e64ad3cb576}\label{classcore_1_1_timer_afee1c871ce74e6b594bd6e64ad3cb576}} +double {\bfseries get\+Epoch} () +\end{DoxyCompactItemize} +\subsection*{Protected Member Functions} +\begin{DoxyCompactItemize} +\item +virtual void \hyperlink{classcore_1_1_timer_ae51704ff08d985bbc30e3ff4c9b3c6ca}{on\+Timeout} ()=0 +\end{DoxyCompactItemize} + + +\subsection{Detailed Description} +\hyperlink{classcore_1_1_timer}{Timer} + +Set and trigger callback upon specified timeout. + +The \hyperlink{classcore_1_1_timer}{Timer} is used to establish a timer using the timer socket interface. It cannot be instantiated directly but must be extended. + +\subsection{Member Function Documentation} +\mbox{\Hypertarget{classcore_1_1_timer_a8e063f46e89dac04364871e909ab940a}\label{classcore_1_1_timer_a8e063f46e89dac04364871e909ab940a}} +\index{core\+::\+Timer@{core\+::\+Timer}!clear\+Timer@{clear\+Timer}} +\index{clear\+Timer@{clear\+Timer}!core\+::\+Timer@{core\+::\+Timer}} +\subsubsection{\texorpdfstring{clear\+Timer()}{clearTimer()}} +{\footnotesize\ttfamily void core\+::\+Timer\+::clear\+Timer (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +Use the \hyperlink{classcore_1_1_timer_a8e063f46e89dac04364871e909ab940a}{clear\+Timer()} to unset the timer and return the timer to an idle state. \mbox{\Hypertarget{classcore_1_1_timer_a0df7f1ffc05529b45d6e13713bbc0209}\label{classcore_1_1_timer_a0df7f1ffc05529b45d6e13713bbc0209}} +\index{core\+::\+Timer@{core\+::\+Timer}!get\+Elapsed@{get\+Elapsed}} +\index{get\+Elapsed@{get\+Elapsed}!core\+::\+Timer@{core\+::\+Timer}} +\subsubsection{\texorpdfstring{get\+Elapsed()}{getElapsed()}} +{\footnotesize\ttfamily double core\+::\+Timer\+::get\+Elapsed (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +Use the \hyperlink{classcore_1_1_timer_a0df7f1ffc05529b45d6e13713bbc0209}{get\+Elapsed()} method to obtain the amount of time that has elapsed since the timer was set. \mbox{\Hypertarget{classcore_1_1_timer_ae51704ff08d985bbc30e3ff4c9b3c6ca}\label{classcore_1_1_timer_ae51704ff08d985bbc30e3ff4c9b3c6ca}} +\index{core\+::\+Timer@{core\+::\+Timer}!on\+Timeout@{on\+Timeout}} +\index{on\+Timeout@{on\+Timeout}!core\+::\+Timer@{core\+::\+Timer}} +\subsubsection{\texorpdfstring{on\+Timeout()}{onTimeout()}} +{\footnotesize\ttfamily virtual void core\+::\+Timer\+::on\+Timeout (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [pure virtual]}} + +This method is called when the time out occurs. \mbox{\Hypertarget{classcore_1_1_timer_ac0a642cdcb76b7f995137162050d3d0b}\label{classcore_1_1_timer_ac0a642cdcb76b7f995137162050d3d0b}} +\index{core\+::\+Timer@{core\+::\+Timer}!set\+Timer@{set\+Timer}} +\index{set\+Timer@{set\+Timer}!core\+::\+Timer@{core\+::\+Timer}} +\subsubsection{\texorpdfstring{set\+Timer()}{setTimer()}} +{\footnotesize\ttfamily void core\+::\+Timer\+::set\+Timer (\begin{DoxyParamCaption}\item[{double}]{delay }\end{DoxyParamCaption})} + +Use the \hyperlink{classcore_1_1_timer_ac0a642cdcb76b7f995137162050d3d0b}{set\+Timer()} method to set the time out value for timer. Setting the timer also starts the timer countdown. The \hyperlink{classcore_1_1_timer_a8e063f46e89dac04364871e909ab940a}{clear\+Timer()} method can be used to reset the timer without triggering the \hyperlink{classcore_1_1_timer_ae51704ff08d985bbc30e3ff4c9b3c6ca}{on\+Timeout()} callback. + + +\begin{DoxyParams}{Parameters} +{\em delay} & the amount of time in seconds to wait before trigering the on\+Timeout function. \\ +\hline +\end{DoxyParams} + + +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} diff --git a/docs/latex/classcore_1_1_timer__coll__graph.md5 b/docs/latex/classcore_1_1_timer__coll__graph.md5 new file mode 100644 index 0000000..7d068a1 --- /dev/null +++ b/docs/latex/classcore_1_1_timer__coll__graph.md5 @@ -0,0 +1 @@ +a057ab1f1029fc9c45fe24c230b6eede \ No newline at end of file diff --git a/docs/latex/classcore_1_1_timer__coll__graph.pdf b/docs/latex/classcore_1_1_timer__coll__graph.pdf new file mode 100644 index 0000000..a7e031a Binary files /dev/null and b/docs/latex/classcore_1_1_timer__coll__graph.pdf differ diff --git a/docs/latex/classcore_1_1_timer__inherit__graph.md5 b/docs/latex/classcore_1_1_timer__inherit__graph.md5 new file mode 100644 index 0000000..ac4d3a1 --- /dev/null +++ b/docs/latex/classcore_1_1_timer__inherit__graph.md5 @@ -0,0 +1 @@ +45f8efac6284b415e53d20ee17b968ae \ No newline at end of file diff --git a/docs/latex/classcore_1_1_timer__inherit__graph.pdf b/docs/latex/classcore_1_1_timer__inherit__graph.pdf new file mode 100644 index 0000000..aeda5b4 Binary files /dev/null and b/docs/latex/classcore_1_1_timer__inherit__graph.pdf differ 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 new file mode 100644 index 0000000..639ab78 --- /dev/null +++ b/docs/latex/classcore_1_1_u_d_p_server_socket.tex @@ -0,0 +1,80 @@ +\hypertarget{classcore_1_1_u_d_p_server_socket}{}\section{core\+:\+:U\+D\+P\+Server\+Socket Class Reference} +\label{classcore_1_1_u_d_p_server_socket}\index{core\+::\+U\+D\+P\+Server\+Socket@{core\+::\+U\+D\+P\+Server\+Socket}} + + +{\ttfamily \#include $<$U\+D\+P\+Server\+Socket.\+h$>$} + + + +Inheritance diagram for core\+:\+:U\+D\+P\+Server\+Socket\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=278pt]{classcore_1_1_u_d_p_server_socket__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for core\+:\+:U\+D\+P\+Server\+Socket\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=333pt]{classcore_1_1_u_d_p_server_socket__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{classcore_1_1_u_d_p_server_socket_a6fee7bc6dc2f94d48734c07cbc918734}\label{classcore_1_1_u_d_p_server_socket_a6fee7bc6dc2f94d48734c07cbc918734}} +{\bfseries U\+D\+P\+Server\+Socket} (\hyperlink{classcore_1_1_e_poll}{E\+Poll} \&e\+Poll, std\+::string url, short int port, std\+::string command\+Name) +\end{DoxyCompactItemize} +\subsection*{Protected Member Functions} +\begin{DoxyCompactItemize} +\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) +\end{DoxyCompactItemize} +\subsection*{Protected Attributes} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{classcore_1_1_u_d_p_server_socket_a83362532c66271699c4e60d1da2a41bc}\label{classcore_1_1_u_d_p_server_socket_a83362532c66271699c4e60d1da2a41bc}} +std\+::vector$<$ \hyperlink{classcore_1_1_session}{Session} $\ast$ $>$ {\bfseries sessions} +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +\subsection{Detailed Description} +\hyperlink{classcore_1_1_u_d_p_socket}{U\+D\+P\+Socket} + +Manage a socket connection as a U\+DP server type. Connections to the socket are processed through the session list functionality. A list of sessions is maintained in a vector object. + +\subsection{Member Function Documentation} +\mbox{\Hypertarget{classcore_1_1_u_d_p_server_socket_a41933ca153c854a800e3d047ab18313e}\label{classcore_1_1_u_d_p_server_socket_a41933ca153c854a800e3d047ab18313e}} +\index{core\+::\+U\+D\+P\+Server\+Socket@{core\+::\+U\+D\+P\+Server\+Socket}!on\+Data\+Received@{on\+Data\+Received}} +\index{on\+Data\+Received@{on\+Data\+Received}!core\+::\+U\+D\+P\+Server\+Socket@{core\+::\+U\+D\+P\+Server\+Socket}} +\subsubsection{\texorpdfstring{on\+Data\+Received()}{onDataReceived()}} +{\footnotesize\ttfamily void core\+::\+U\+D\+P\+Server\+Socket\+::on\+Data\+Received (\begin{DoxyParamCaption}\item[{std\+::string}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [protected]}, {\ttfamily [virtual]}} + + + +Called when data is received from the socket. + +The on\+Data\+Received method is called when the socket has received an event from epoll and there is data ready to be read from the socket. The default handler will pull the data and put it into the streambuf for the socket. E\+P\+O\+L\+L\+IN + + +\begin{DoxyParams}{Parameters} +{\em data} & the data that has been received from the socket. \\ +\hline +\end{DoxyParams} + + +Implements \hyperlink{classcore_1_1_socket_add22bdee877319a372db2fd707dc5a1c}{core\+::\+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/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} diff --git a/docs/latex/classcore_1_1_u_d_p_server_socket__coll__graph.md5 b/docs/latex/classcore_1_1_u_d_p_server_socket__coll__graph.md5 new file mode 100644 index 0000000..36b2fe7 --- /dev/null +++ b/docs/latex/classcore_1_1_u_d_p_server_socket__coll__graph.md5 @@ -0,0 +1 @@ +e9e030f16cea4fd69ad27931d3b9f40e \ No newline at end of file diff --git a/docs/latex/classcore_1_1_u_d_p_server_socket__coll__graph.pdf b/docs/latex/classcore_1_1_u_d_p_server_socket__coll__graph.pdf new file mode 100644 index 0000000..989fc0b Binary files /dev/null and b/docs/latex/classcore_1_1_u_d_p_server_socket__coll__graph.pdf differ diff --git a/docs/latex/classcore_1_1_u_d_p_server_socket__inherit__graph.md5 b/docs/latex/classcore_1_1_u_d_p_server_socket__inherit__graph.md5 new file mode 100644 index 0000000..53e6f28 --- /dev/null +++ b/docs/latex/classcore_1_1_u_d_p_server_socket__inherit__graph.md5 @@ -0,0 +1 @@ +63429a41344d60ba111a0cbc3d9d3928 \ No newline at end of file diff --git a/docs/latex/classcore_1_1_u_d_p_server_socket__inherit__graph.pdf b/docs/latex/classcore_1_1_u_d_p_server_socket__inherit__graph.pdf new file mode 100644 index 0000000..b59b17d Binary files /dev/null and b/docs/latex/classcore_1_1_u_d_p_server_socket__inherit__graph.pdf differ diff --git a/docs/latex/classcore_1_1_u_d_p_socket.tex b/docs/latex/classcore_1_1_u_d_p_socket.tex new file mode 100644 index 0000000..578afb2 --- /dev/null +++ b/docs/latex/classcore_1_1_u_d_p_socket.tex @@ -0,0 +1,33 @@ +\hypertarget{classcore_1_1_u_d_p_socket}{}\section{core\+:\+:U\+D\+P\+Socket Class Reference} +\label{classcore_1_1_u_d_p_socket}\index{core\+::\+U\+D\+P\+Socket@{core\+::\+U\+D\+P\+Socket}} + + +Inheritance diagram for core\+:\+:U\+D\+P\+Socket\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=248pt]{classcore_1_1_u_d_p_socket__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for core\+:\+:U\+D\+P\+Socket\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=302pt]{classcore_1_1_u_d_p_socket__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{classcore_1_1_u_d_p_socket_a9dcbe1203fea9c25400a391d3430e976}\label{classcore_1_1_u_d_p_socket_a9dcbe1203fea9c25400a391d3430e976}} +{\bfseries U\+D\+P\+Socket} (\hyperlink{classcore_1_1_e_poll}{E\+Poll} \&e\+Poll) +\end{DoxyCompactItemize} +\subsection*{Additional Inherited Members} + + +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} diff --git a/docs/latex/classcore_1_1_u_d_p_socket__coll__graph.md5 b/docs/latex/classcore_1_1_u_d_p_socket__coll__graph.md5 new file mode 100644 index 0000000..3538663 --- /dev/null +++ b/docs/latex/classcore_1_1_u_d_p_socket__coll__graph.md5 @@ -0,0 +1 @@ +8d99de66c44249c2ba29c06812850450 \ No newline at end of file diff --git a/docs/latex/classcore_1_1_u_d_p_socket__coll__graph.pdf b/docs/latex/classcore_1_1_u_d_p_socket__coll__graph.pdf new file mode 100644 index 0000000..745e472 Binary files /dev/null and b/docs/latex/classcore_1_1_u_d_p_socket__coll__graph.pdf differ diff --git a/docs/latex/classcore_1_1_u_d_p_socket__inherit__graph.md5 b/docs/latex/classcore_1_1_u_d_p_socket__inherit__graph.md5 new file mode 100644 index 0000000..a921d06 --- /dev/null +++ b/docs/latex/classcore_1_1_u_d_p_socket__inherit__graph.md5 @@ -0,0 +1 @@ +2485181c1b143b49bad42229464ac18c \ No newline at end of file diff --git a/docs/latex/classcore_1_1_u_d_p_socket__inherit__graph.pdf b/docs/latex/classcore_1_1_u_d_p_socket__inherit__graph.pdf new file mode 100644 index 0000000..f3a87dc Binary files /dev/null and b/docs/latex/classcore_1_1_u_d_p_socket__inherit__graph.pdf differ diff --git a/docs/latex/doxygen.sty b/docs/latex/doxygen.sty new file mode 100644 index 0000000..e457acc --- /dev/null +++ b/docs/latex/doxygen.sty @@ -0,0 +1,503 @@ +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{doxygen} + +% Packages used by this style file +\RequirePackage{alltt} +\RequirePackage{array} +\RequirePackage{calc} +\RequirePackage{float} +\RequirePackage{ifthen} +\RequirePackage{verbatim} +\RequirePackage[table]{xcolor} +\RequirePackage{longtable} +\RequirePackage{tabu} +\RequirePackage{tabularx} +\RequirePackage{multirow} + +%---------- Internal commands used in this style file ---------------- + +\newcommand{\ensurespace}[1]{% + \begingroup% + \setlength{\dimen@}{#1}% + \vskip\z@\@plus\dimen@% + \penalty -100\vskip\z@\@plus -\dimen@% + \vskip\dimen@% + \penalty 9999% + \vskip -\dimen@% + \vskip\z@skip% hide the previous |\vskip| from |\addvspace| + \endgroup% +} + +\newcommand{\DoxyLabelFont}{} +\newcommand{\entrylabel}[1]{% + {% + \parbox[b]{\labelwidth-4pt}{% + \makebox[0pt][l]{\DoxyLabelFont#1}% + \vspace{1.5\baselineskip}% + }% + }% +} + +\newenvironment{DoxyDesc}[1]{% + \ensurespace{4\baselineskip}% + \begin{list}{}{% + \settowidth{\labelwidth}{20pt}% + \setlength{\parsep}{0pt}% + \setlength{\itemsep}{0pt}% + \setlength{\leftmargin}{\labelwidth+\labelsep}% + \renewcommand{\makelabel}{\entrylabel}% + }% + \item[#1]% +}{% + \end{list}% +} + +\newsavebox{\xrefbox} +\newlength{\xreflength} +\newcommand{\xreflabel}[1]{% + \sbox{\xrefbox}{#1}% + \setlength{\xreflength}{\wd\xrefbox}% + \ifthenelse{\xreflength>\labelwidth}{% + \begin{minipage}{\textwidth}% + \setlength{\parindent}{0pt}% + \hangindent=15pt\bfseries #1\vspace{1.2\itemsep}% + \end{minipage}% + }{% + \parbox[b]{\labelwidth}{\makebox[0pt][l]{\textbf{#1}}}% + }% +} + +%---------- Commands used by doxygen LaTeX output generator ---------- + +% Used by
     ... 
    +\newenvironment{DoxyPre}{% + \small% + \begin{alltt}% +}{% + \end{alltt}% + \normalsize% +} + +% Used by @code ... @endcode +\newenvironment{DoxyCode}{% + \par% + \scriptsize% + \begin{alltt}% +}{% + \end{alltt}% + \normalsize% +} + +% Used by @example, @include, @includelineno and @dontinclude +\newenvironment{DoxyCodeInclude}{% + \DoxyCode% +}{% + \endDoxyCode% +} + +% Used by @verbatim ... @endverbatim +\newenvironment{DoxyVerb}{% + \footnotesize% + \verbatim% +}{% + \endverbatim% + \normalsize% +} + +% Used by @verbinclude +\newenvironment{DoxyVerbInclude}{% + \DoxyVerb% +}{% + \endDoxyVerb% +} + +% Used by numbered lists (using '-#' or
      ...
    ) +\newenvironment{DoxyEnumerate}{% + \enumerate% +}{% + \endenumerate% +} + +% Used by bullet lists (using '-', @li, @arg, or
      ...
    ) +\newenvironment{DoxyItemize}{% + \itemize% +}{% + \enditemize% +} + +% Used by description lists (using
    ...
    ) +\newenvironment{DoxyDescription}{% + \description% +}{% + \enddescription% +} + +% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc +% (only if caption is specified) +\newenvironment{DoxyImage}{% + \begin{figure}[H]% + \begin{center}% +}{% + \end{center}% + \end{figure}% +} + +% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc +% (only if no caption is specified) +\newenvironment{DoxyImageNoCaption}{% + \begin{center}% +}{% + \end{center}% +} + +% Used by @attention +\newenvironment{DoxyAttention}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @author and @authors +\newenvironment{DoxyAuthor}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @date +\newenvironment{DoxyDate}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @invariant +\newenvironment{DoxyInvariant}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @note +\newenvironment{DoxyNote}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @post +\newenvironment{DoxyPostcond}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @pre +\newenvironment{DoxyPrecond}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @copyright +\newenvironment{DoxyCopyright}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @remark +\newenvironment{DoxyRemark}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @return and @returns +\newenvironment{DoxyReturn}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @since +\newenvironment{DoxySince}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @see +\newenvironment{DoxySeeAlso}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @version +\newenvironment{DoxyVersion}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @warning +\newenvironment{DoxyWarning}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @internal +\newenvironment{DoxyInternal}[1]{% + \paragraph*{#1}% +}{% +} + +% Used by @par and @paragraph +\newenvironment{DoxyParagraph}[1]{% + \begin{list}{}{% + \settowidth{\labelwidth}{40pt}% + \setlength{\leftmargin}{\labelwidth}% + \setlength{\parsep}{0pt}% + \setlength{\itemsep}{-4pt}% + \renewcommand{\makelabel}{\entrylabel}% + }% + \item[#1]% +}{% + \end{list}% +} + +% Used by parameter lists +\newenvironment{DoxyParams}[2][]{% + \tabulinesep=1mm% + \par% + \ifthenelse{\equal{#1}{}}% + {\begin{longtabu} spread 0pt [l]{|X[-1,l]|X[-1,l]|}}% name + description + {\ifthenelse{\equal{#1}{1}}% + {\begin{longtabu} spread 0pt [l]{|X[-1,l]|X[-1,l]|X[-1,l]|}}% in/out + name + desc + {\begin{longtabu} spread 0pt [l]{|X[-1,l]|X[-1,l]|X[-1,l]|X[-1,l]|}}% in/out + type + name + desc + } + \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]% + \hline% + \endfirsthead% + \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]% + \hline% + \endhead% +}{% + \end{longtabu}% + \vspace{6pt}% +} + +% Used for fields of simple structs +\newenvironment{DoxyFields}[1]{% + \tabulinesep=1mm% + \par% + \begin{longtabu} spread 0pt [l]{|X[-1,r]|X[-1,l]|X[-1,l]|}% + \multicolumn{3}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% + \hline% + \endfirsthead% + \multicolumn{3}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% + \hline% + \endhead% +}{% + \end{longtabu}% + \vspace{6pt}% +} + +% Used for fields simple class style enums +\newenvironment{DoxyEnumFields}[1]{% + \tabulinesep=1mm% + \par% + \begin{longtabu} spread 0pt [l]{|X[-1,r]|X[-1,l]|}% + \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% + \hline% + \endfirsthead% + \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% + \hline% + \endhead% +}{% + \end{longtabu}% + \vspace{6pt}% +} + +% Used for parameters within a detailed function description +\newenvironment{DoxyParamCaption}{% + \renewcommand{\item}[2][]{\\ \hspace*{2.0cm} ##1 {\em ##2}}% +}{% +} + +% Used by return value lists +\newenvironment{DoxyRetVals}[1]{% + \tabulinesep=1mm% + \par% + \begin{longtabu} spread 0pt [l]{|X[-1,r]|X[-1,l]|}% + \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% + \hline% + \endfirsthead% + \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% + \hline% + \endhead% +}{% + \end{longtabu}% + \vspace{6pt}% +} + +% Used by exception lists +\newenvironment{DoxyExceptions}[1]{% + \tabulinesep=1mm% + \par% + \begin{longtabu} spread 0pt [l]{|X[-1,r]|X[-1,l]|}% + \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% + \hline% + \endfirsthead% + \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% + \hline% + \endhead% +}{% + \end{longtabu}% + \vspace{6pt}% +} + +% Used by template parameter lists +\newenvironment{DoxyTemplParams}[1]{% + \tabulinesep=1mm% + \par% + \begin{longtabu} spread 0pt [l]{|X[-1,r]|X[-1,l]|}% + \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% + \hline% + \endfirsthead% + \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% + \hline% + \endhead% +}{% + \end{longtabu}% + \vspace{6pt}% +} + +% Used for member lists +\newenvironment{DoxyCompactItemize}{% + \begin{itemize}% + \setlength{\itemsep}{-3pt}% + \setlength{\parsep}{0pt}% + \setlength{\topsep}{0pt}% + \setlength{\partopsep}{0pt}% +}{% + \end{itemize}% +} + +% Used for member descriptions +\newenvironment{DoxyCompactList}{% + \begin{list}{}{% + \setlength{\leftmargin}{0.5cm}% + \setlength{\itemsep}{0pt}% + \setlength{\parsep}{0pt}% + \setlength{\topsep}{0pt}% + \renewcommand{\makelabel}{\hfill}% + }% +}{% + \end{list}% +} + +% Used for reference lists (@bug, @deprecated, @todo, etc.) +\newenvironment{DoxyRefList}{% + \begin{list}{}{% + \setlength{\labelwidth}{10pt}% + \setlength{\leftmargin}{\labelwidth}% + \addtolength{\leftmargin}{\labelsep}% + \renewcommand{\makelabel}{\xreflabel}% + }% +}{% + \end{list}% +} + +% Used by @bug, @deprecated, @todo, etc. +\newenvironment{DoxyRefDesc}[1]{% + \begin{list}{}{% + \renewcommand\makelabel[1]{\textbf{##1}}% + \settowidth\labelwidth{\makelabel{#1}}% + \setlength\leftmargin{\labelwidth+\labelsep}% + }% +}{% + \end{list}% +} + +% Used by parameter lists and simple sections +\newenvironment{Desc} +{\begin{list}{}{% + \settowidth{\labelwidth}{20pt}% + \setlength{\parsep}{0pt}% + \setlength{\itemsep}{0pt}% + \setlength{\leftmargin}{\labelwidth+\labelsep}% + \renewcommand{\makelabel}{\entrylabel}% + } +}{% + \end{list}% +} + +% Used by tables +\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}% +\newenvironment{TabularC}[1]% +{\tabulinesep=1mm +\begin{longtabu} spread 0pt [c]{*#1{|X[-1]}|}}% +{\end{longtabu}\par}% + +\newenvironment{TabularNC}[1]% +{\begin{tabu} spread 0pt [l]{*#1{|X[-1]}|}}% +{\end{tabu}\par}% + +% Used for member group headers +\newenvironment{Indent}{% + \begin{list}{}{% + \setlength{\leftmargin}{0.5cm}% + }% + \item[]\ignorespaces% +}{% + \unskip% + \end{list}% +} + +% Used when hyperlinks are turned off +\newcommand{\doxyref}[3]{% + \textbf{#1} (\textnormal{#2}\,\pageref{#3})% +} + +% Used to link to a table when hyperlinks are turned on +\newcommand{\doxytablelink}[2]{% + \ref{#1}% +} + +% Used to link to a table when hyperlinks are turned off +\newcommand{\doxytableref}[3]{% + \ref{#3}% +} + +% Used by @addindex +\newcommand{\lcurly}{\{} +\newcommand{\rcurly}{\}} + +% Colors used for syntax highlighting +\definecolor{comment}{rgb}{0.5,0.0,0.0} +\definecolor{keyword}{rgb}{0.0,0.5,0.0} +\definecolor{keywordtype}{rgb}{0.38,0.25,0.125} +\definecolor{keywordflow}{rgb}{0.88,0.5,0.0} +\definecolor{preprocessor}{rgb}{0.5,0.38,0.125} +\definecolor{stringliteral}{rgb}{0.0,0.125,0.25} +\definecolor{charliteral}{rgb}{0.0,0.5,0.5} +\definecolor{vhdldigit}{rgb}{1.0,0.0,1.0} +\definecolor{vhdlkeyword}{rgb}{0.43,0.0,0.43} +\definecolor{vhdllogic}{rgb}{1.0,0.0,0.0} +\definecolor{vhdlchar}{rgb}{0.0,0.0,0.0} + +% Color used for table heading +\newcommand{\tableheadbgcolor}{lightgray}% + +% Version of hypertarget with correct landing location +\newcommand{\Hypertarget}[1]{\Hy@raisedlink{\hypertarget{#1}{}}} + +% Define caption that is also suitable in a table +\makeatletter +\def\doxyfigcaption{% +\refstepcounter{figure}% +\@dblarg{\@caption{figure}}} +\makeatother diff --git a/docs/latex/files.tex b/docs/latex/files.tex new file mode 100644 index 0000000..53a14ac --- /dev/null +++ b/docs/latex/files.tex @@ -0,0 +1,56 @@ +\section{File List} +Here is a list of all files with brief descriptions\+:\begin{DoxyCompactList} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_authenticate_8cpp}{B\+M\+A\+Authenticate.\+cpp} }{\pageref{_b_m_a_authenticate_8cpp}}{} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_authenticate_8h}{B\+M\+A\+Authenticate.\+h} }{\pageref{_b_m_a_authenticate_8h}}{} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_console_8cpp}{B\+M\+A\+Console.\+cpp} }{\pageref{_b_m_a_console_8cpp}}{} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_console_8h}{B\+M\+A\+Console.\+h} }{\pageref{_b_m_a_console_8h}}{} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_console_command_8cpp}{B\+M\+A\+Console\+Command.\+cpp} }{\pageref{_b_m_a_console_command_8cpp}}{} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_console_command_8h}{B\+M\+A\+Console\+Command.\+h} }{\pageref{_b_m_a_console_command_8h}}{} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_console_session_8cpp}{B\+M\+A\+Console\+Session.\+cpp} }{\pageref{_b_m_a_console_session_8cpp}}{} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_console_session_8h}{B\+M\+A\+Console\+Session.\+h} }{\pageref{_b_m_a_console_session_8h}}{} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_e_poll_8cpp}{B\+M\+A\+E\+Poll.\+cpp} }{\pageref{_b_m_a_e_poll_8cpp}}{} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_e_poll_8h}{B\+M\+A\+E\+Poll.\+h} }{\pageref{_b_m_a_e_poll_8h}}{} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_event_8cpp}{B\+M\+A\+Event.\+cpp} }{\pageref{_b_m_a_event_8cpp}}{} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_event_8h}{B\+M\+A\+Event.\+h} }{\pageref{_b_m_a_event_8h}}{} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_file_8cpp}{B\+M\+A\+File.\+cpp} }{\pageref{_b_m_a_file_8cpp}}{} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_file_8h}{B\+M\+A\+File.\+h} }{\pageref{_b_m_a_file_8h}}{} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_header_8cpp}{B\+M\+A\+Header.\+cpp} }{\pageref{_b_m_a_header_8cpp}}{} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_header_8h}{B\+M\+A\+Header.\+h} }{\pageref{_b_m_a_header_8h}}{} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_h_t_t_p_request_handler_8cpp}{B\+M\+A\+H\+T\+T\+P\+Request\+Handler.\+cpp} }{\pageref{_b_m_a_h_t_t_p_request_handler_8cpp}}{} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_h_t_t_p_request_handler_8h}{B\+M\+A\+H\+T\+T\+P\+Request\+Handler.\+h} }{\pageref{_b_m_a_h_t_t_p_request_handler_8h}}{} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_h_t_t_p_server_8cpp}{B\+M\+A\+H\+T\+T\+P\+Server.\+cpp} }{\pageref{_b_m_a_h_t_t_p_server_8cpp}}{} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_h_t_t_p_server_8h}{B\+M\+A\+H\+T\+T\+P\+Server.\+h} }{\pageref{_b_m_a_h_t_t_p_server_8h}}{} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_h_t_t_p_session_8cpp}{B\+M\+A\+H\+T\+T\+P\+Session.\+cpp} }{\pageref{_b_m_a_h_t_t_p_session_8cpp}}{} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_h_t_t_p_session_8h}{B\+M\+A\+H\+T\+T\+P\+Session.\+h} }{\pageref{_b_m_a_h_t_t_p_session_8h}}{} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_log_8cpp}{B\+M\+A\+Log.\+cpp} }{\pageref{_b_m_a_log_8cpp}}{} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_log_8h}{B\+M\+A\+Log.\+h} }{\pageref{_b_m_a_log_8h}}{} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_m_p3_file_8cpp}{B\+M\+A\+M\+P3\+File.\+cpp} }{\pageref{_b_m_a_m_p3_file_8cpp}}{} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_m_p3_file_8h}{B\+M\+A\+M\+P3\+File.\+h} }{\pageref{_b_m_a_m_p3_file_8h}}{} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_m_p3_stream_content_provider_8h}{B\+M\+A\+M\+P3\+Stream\+Content\+Provider.\+h} }{\pageref{_b_m_a_m_p3_stream_content_provider_8h}}{} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_m_p3_stream_frame_8cpp}{B\+M\+A\+M\+P3\+Stream\+Frame.\+cpp} }{\pageref{_b_m_a_m_p3_stream_frame_8cpp}}{} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_m_p3_stream_frame_8h}{B\+M\+A\+M\+P3\+Stream\+Frame.\+h} }{\pageref{_b_m_a_m_p3_stream_frame_8h}}{} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_parse_header_8h}{B\+M\+A\+Parse\+Header.\+h} }{\pageref{_b_m_a_parse_header_8h}}{} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_property_8h}{B\+M\+A\+Property.\+h} }{\pageref{_b_m_a_property_8h}}{} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_protocol_manager_8h}{B\+M\+A\+Protocol\+Manager.\+h} }{\pageref{_b_m_a_protocol_manager_8h}}{} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_socket_8cpp}{B\+M\+A\+Socket.\+cpp} }{\pageref{_b_m_a_socket_8cpp}}{} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_socket_8h}{B\+M\+A\+Socket.\+h} }{\pageref{_b_m_a_socket_8h}}{} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_stream_content_provider_8cpp}{B\+M\+A\+Stream\+Content\+Provider.\+cpp} }{\pageref{_b_m_a_stream_content_provider_8cpp}}{} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_stream_content_provider_8h}{B\+M\+A\+Stream\+Content\+Provider.\+h} }{\pageref{_b_m_a_stream_content_provider_8h}}{} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_stream_frame_8cpp}{B\+M\+A\+Stream\+Frame.\+cpp} }{\pageref{_b_m_a_stream_frame_8cpp}}{} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_stream_frame_8h}{B\+M\+A\+Stream\+Frame.\+h} }{\pageref{_b_m_a_stream_frame_8h}}{} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_stream_server_8cpp}{B\+M\+A\+Stream\+Server.\+cpp} }{\pageref{_b_m_a_stream_server_8cpp}}{} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_stream_server_8h}{B\+M\+A\+Stream\+Server.\+h} }{\pageref{_b_m_a_stream_server_8h}}{} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_stream_socket_8cpp}{B\+M\+A\+Stream\+Socket.\+cpp} }{\pageref{_b_m_a_stream_socket_8cpp}}{} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_stream_socket_8h}{B\+M\+A\+Stream\+Socket.\+h} }{\pageref{_b_m_a_stream_socket_8h}}{} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_t_c_p_server_socket_8cpp}{B\+M\+A\+T\+C\+P\+Server\+Socket.\+cpp} }{\pageref{_b_m_a_t_c_p_server_socket_8cpp}}{} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_t_c_p_server_socket_8h}{B\+M\+A\+T\+C\+P\+Server\+Socket.\+h} }{\pageref{_b_m_a_t_c_p_server_socket_8h}}{} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_t_c_p_socket_8cpp}{B\+M\+A\+T\+C\+P\+Socket.\+cpp} }{\pageref{_b_m_a_t_c_p_socket_8cpp}}{} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_t_c_p_socket_8h}{B\+M\+A\+T\+C\+P\+Socket.\+h} }{\pageref{_b_m_a_t_c_p_socket_8h}}{} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_thread_8cpp}{B\+M\+A\+Thread.\+cpp} }{\pageref{_b_m_a_thread_8cpp}}{} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_thread_8h}{B\+M\+A\+Thread.\+h} }{\pageref{_b_m_a_thread_8h}}{} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_timer_8cpp}{B\+M\+A\+Timer.\+cpp} }{\pageref{_b_m_a_timer_8cpp}}{} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_timer_8h}{B\+M\+A\+Timer.\+h} }{\pageref{_b_m_a_timer_8h}}{} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_u_d_p_socket_8cpp}{B\+M\+A\+U\+D\+P\+Socket.\+cpp} }{\pageref{_b_m_a_u_d_p_socket_8cpp}}{} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{_b_m_a_u_d_p_socket_8h}{B\+M\+A\+U\+D\+P\+Socket.\+h} }{\pageref{_b_m_a_u_d_p_socket_8h}}{} +\item\contentsline{section}{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/\hyperlink{main_8cpp}{main.\+cpp} }{\pageref{main_8cpp}}{} +\end{DoxyCompactList} diff --git a/docs/latex/hierarchy.tex b/docs/latex/hierarchy.tex new file mode 100644 index 0000000..42166a9 --- /dev/null +++ b/docs/latex/hierarchy.tex @@ -0,0 +1,51 @@ +\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\+:\+: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\+:\+: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}}{} +\item \contentsline{section}{core\+:\+:T\+L\+S\+Server\+Socket}{\pageref{classcore_1_1_t_l_s_server_socket}}{} +\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\+:\+:Session\+Filter}{\pageref{classcore_1_1_session_filter}}{} +\item \contentsline{section}{core\+:\+:Socket}{\pageref{classcore_1_1_socket}}{} +\begin{DoxyCompactList} +\item \contentsline{section}{core\+:\+:T\+C\+P\+Socket}{\pageref{classcore_1_1_t_c_p_socket}}{} +\begin{DoxyCompactList} +\item \contentsline{section}{core\+:\+:Session}{\pageref{classcore_1_1_session}}{} +\begin{DoxyCompactList} +\item \contentsline{section}{core\+:\+:Terminal\+Session}{\pageref{classcore_1_1_terminal_session}}{} +\begin{DoxyCompactList} +\item \contentsline{section}{core\+:\+:Console\+Session}{\pageref{classcore_1_1_console_session}}{} +\end{DoxyCompactList} +\item \contentsline{section}{core\+:\+:T\+L\+S\+Session}{\pageref{classcore_1_1_t_l_s_session}}{} +\end{DoxyCompactList} +\item \contentsline{section}{core\+:\+:T\+C\+P\+Server\+Socket}{\pageref{classcore_1_1_t_c_p_server_socket}}{} +\end{DoxyCompactList} +\item \contentsline{section}{core\+:\+:Timer}{\pageref{classcore_1_1_timer}}{} +\item \contentsline{section}{core\+:\+:U\+D\+P\+Socket}{\pageref{classcore_1_1_u_d_p_socket}}{} +\begin{DoxyCompactList} +\item \contentsline{section}{core\+:\+:U\+D\+P\+Server\+Socket}{\pageref{classcore_1_1_u_d_p_server_socket}}{} +\end{DoxyCompactList} +\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} +\end{DoxyCompactList} diff --git a/docs/latex/main_8cpp.tex b/docs/latex/main_8cpp.tex new file mode 100644 index 0000000..910384e --- /dev/null +++ b/docs/latex/main_8cpp.tex @@ -0,0 +1,35 @@ +\hypertarget{main_8cpp}{}\section{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/main.cpp File Reference} +\label{main_8cpp}\index{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/main.\+cpp@{/home/barant/\+Documents/\+Development/\+B\+M\+A\+Sockets/main.\+cpp}} +{\ttfamily \#include \char`\"{}includes\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+E\+Poll.\+h\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+M\+P3\+File.\+h\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+Console.\+h\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+T\+C\+P\+Server\+Socket.\+h\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+Stream\+Server.\+h\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+H\+T\+T\+P\+Server.\+h\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+H\+T\+T\+P\+Request\+Handler.\+h\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+M\+P3\+Stream\+Content\+Provider.\+h\char`\"{}}\\* +{\ttfamily \#include \char`\"{}B\+M\+A\+Timer.\+h\char`\"{}}\\* +Include dependency graph for main.\+cpp\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{main_8cpp__incl} +\end{center} +\end{figure} +\subsection*{Functions} +\begin{DoxyCompactItemize} +\item +int \hyperlink{main_8cpp_a3c04138a5bfe5d72780bb7e82a18e627}{main} (int argc, char $\ast$$\ast$argv) +\end{DoxyCompactItemize} + + +\subsection{Function Documentation} +\index{main.\+cpp@{main.\+cpp}!main@{main}} +\index{main@{main}!main.\+cpp@{main.\+cpp}} +\subsubsection[{\texorpdfstring{main(int argc, char $\ast$$\ast$argv)}{main(int argc, char **argv)}}]{\setlength{\rightskip}{0pt plus 5cm}int main ( +\begin{DoxyParamCaption} +\item[{int}]{argc, } +\item[{char $\ast$$\ast$}]{argv} +\end{DoxyParamCaption} +)}\hypertarget{main_8cpp_a3c04138a5bfe5d72780bb7e82a18e627}{}\label{main_8cpp_a3c04138a5bfe5d72780bb7e82a18e627} diff --git a/docs/latex/main_8cpp__incl.md5 b/docs/latex/main_8cpp__incl.md5 new file mode 100644 index 0000000..18f7b92 --- /dev/null +++ b/docs/latex/main_8cpp__incl.md5 @@ -0,0 +1 @@ +8bddd4fdabb8c193bac3a1927eb9abcc \ No newline at end of file diff --git a/docs/latex/main_8cpp__incl.pdf b/docs/latex/main_8cpp__incl.pdf new file mode 100644 index 0000000..d469a0e Binary files /dev/null and b/docs/latex/main_8cpp__incl.pdf differ diff --git a/docs/latex/namespacecore.tex b/docs/latex/namespacecore.tex new file mode 100644 index 0000000..3e3b2db --- /dev/null +++ b/docs/latex/namespacecore.tex @@ -0,0 +1,65 @@ +\hypertarget{namespacecore}{}\section{core Namespace Reference} +\label{namespacecore}\index{core@{core}} +\subsection*{Classes} +\begin{DoxyCompactItemize} +\item +class \hyperlink{classcore_1_1_command}{Command} +\item +class \hyperlink{classcore_1_1_command_list}{Command\+List} +\item +class \hyperlink{classcore_1_1_console_server}{Console\+Server} +\item +class \hyperlink{classcore_1_1_console_session}{Console\+Session} +\item +class \hyperlink{classcore_1_1_e_poll}{E\+Poll} +\item +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_log}{Log} +\item +class \hyperlink{classcore_1_1_object}{Object} +\item +class \hyperlink{classcore_1_1_response}{Response} +\item +class \hyperlink{classcore_1_1_session}{Session} +\item +class \hyperlink{classcore_1_1_session_filter}{Session\+Filter} +\item +class \hyperlink{classcore_1_1_socket}{Socket} +\item +class \hyperlink{classcore_1_1_t_c_p_server_socket}{T\+C\+P\+Server\+Socket} +\item +class \hyperlink{classcore_1_1_t_c_p_socket}{T\+C\+P\+Socket} +\item +class \hyperlink{classcore_1_1_terminal_session}{Terminal\+Session} +\item +class \hyperlink{classcore_1_1_thread}{Thread} +\item +class \hyperlink{classcore_1_1_timer}{Timer} +\item +class \hyperlink{classcore_1_1_t_l_s_server_socket}{T\+L\+S\+Server\+Socket} +\item +class \hyperlink{classcore_1_1_t_l_s_session}{T\+L\+S\+Session} +\item +class \hyperlink{classcore_1_1_u_d_p_server_socket}{U\+D\+P\+Server\+Socket} +\item +class \hyperlink{classcore_1_1_u_d_p_socket}{U\+D\+P\+Socket} +\end{DoxyCompactItemize} +\subsection*{Functions} +\begin{DoxyCompactItemize} +\item +\mbox{\Hypertarget{namespacecore_a6f26c612337e851e7c17a19836e0509b}\label{namespacecore_a6f26c612337e851e7c17a19836e0509b}} +void {\bfseries handshake\+\_\+complete} (const S\+SL $\ast$ssl, int where, int ret) +\end{DoxyCompactItemize} + + +\subsection{Detailed Description} +\hyperlink{classcore_1_1_file}{File} + +\hyperlink{classcore_1_1_file}{File} abstraction class for accessing local file system files. \ No newline at end of file diff --git a/docs/latex/namespaces.tex b/docs/latex/namespaces.tex new file mode 100644 index 0000000..2200bfb --- /dev/null +++ b/docs/latex/namespaces.tex @@ -0,0 +1,4 @@ +\section{Namespace List} +Here is a list of all documented namespaces with brief descriptions\+:\begin{DoxyCompactList} +\item\contentsline{section}{\hyperlink{namespacecore}{core} }{\pageref{namespacecore}}{} +\end{DoxyCompactList} diff --git a/docs/latex/refman.aux b/docs/latex/refman.aux new file mode 100644 index 0000000..f241f15 --- /dev/null +++ b/docs/latex/refman.aux @@ -0,0 +1,306 @@ +\relax +\providecommand\hyper@newdestlabel[2]{} +\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument} +\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined +\global\let\oldcontentsline\contentsline +\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}} +\global\let\oldnewlabel\newlabel +\gdef\newlabel#1#2{\newlabelxx{#1}#2} +\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}} +\AtEndDocument{\ifx\hyper@anchor\@undefined +\let\contentsline\oldcontentsline +\let\newlabel\oldnewlabel +\fi} +\fi} +\global\let\hyper@last\relax +\gdef\HyperFirstAtBeginDocument#1{#1} +\providecommand\HyField@AuxAddToFields[1]{} +\providecommand\HyField@AuxAddToCoFields[2]{} +\providecommand \oddpage@label [2]{} +\@writefile{toc}{\contentsline {chapter}{\numberline {1}Hierarchical Index}{1}{chapter.1}} +\@writefile{lof}{\addvspace {10\p@ }} +\@writefile{lot}{\addvspace {10\p@ }} +\@writefile{toc}{\contentsline {section}{\numberline {1.1}Class Hierarchy}{1}{section.1.1}} +\@writefile{toc}{\contentsline {chapter}{\numberline {2}Class Index}{3}{chapter.2}} +\@writefile{lof}{\addvspace {10\p@ }} +\@writefile{lot}{\addvspace {10\p@ }} +\@writefile{toc}{\contentsline {section}{\numberline {2.1}Class List}{3}{section.2.1}} +\@writefile{toc}{\contentsline {chapter}{\numberline {3}Class Documentation}{5}{chapter.3}} +\@writefile{lof}{\addvspace {10\p@ }} +\@writefile{lot}{\addvspace {10\p@ }} +\@writefile{toc}{\contentsline {section}{\numberline {3.1}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Account Class Reference}{5}{section.3.1}} +\newlabel{class_b_m_a_account}{{3.1}{5}{B\+M\+A\+Account Class Reference}{section.3.1}{}} +\newlabel{class_b_m_a_account_acdcaaf6a9fedf15d6ee90c2d1f9d2a97}{{3.1}{6}{Public Member Functions}{section*.4}{}} +\newlabel{class_b_m_a_account_a7062aa89e22f1b11ae30a79091166381}{{3.1}{6}{Public Member Functions}{section*.4}{}} +\newlabel{class_b_m_a_account_af83294d09c8b84373e98962f7bd4ab7e}{{3.1}{6}{Public Member Functions}{section*.4}{}} +\newlabel{class_b_m_a_account_a31ee9351a201acb7925d8c38553756d2}{{3.1}{6}{Public Member Functions}{section*.4}{}} +\newlabel{class_b_m_a_account_ab7b9ba2663dcf94219ea2ceb1a8828a2}{{3.1}{6}{Public Attributes}{section*.5}{}} +\@writefile{toc}{\contentsline {section}{\numberline {3.2}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Authenticate Class Reference}{6}{section.3.2}} +\newlabel{class_b_m_a_authenticate}{{3.2}{6}{B\+M\+A\+Authenticate Class Reference}{section.3.2}{}} +\newlabel{class_b_m_a_authenticate_a2acd6bf9aea96a672168dae0c5bd50f1}{{3.2}{7}{Public Member Functions}{section*.8}{}} +\newlabel{class_b_m_a_authenticate_a755008a6a07bd70bafc47d6407a8605a}{{3.2}{7}{Public Member Functions}{section*.8}{}} +\newlabel{class_b_m_a_authenticate_ae7ebe776ce594736a04798027c99c7c4}{{3.2}{7}{Public Member Functions}{section*.8}{}} +\newlabel{class_b_m_a_authenticate_aa69fdaed4e769f5b1d9aff3da54eaa79}{{3.2}{7}{Public Member Functions}{section*.8}{}} +\@writefile{toc}{\contentsline {section}{\numberline {3.3}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Command Class Reference}{7}{section.3.3}} +\newlabel{class_b_m_a_command}{{3.3}{7}{B\+M\+A\+Command Class Reference}{section.3.3}{}} +\newlabel{class_b_m_a_command_a99873e43fd8b067ed358fdea9269518a}{{3.3}{8}{Public Member Functions}{section*.12}{}} +\newlabel{class_b_m_a_command_ac99309bf4f9c1a98eda85b17c7160ee4}{{3.3}{8}{Public Member Functions}{section*.12}{}} +\newlabel{class_b_m_a_command_a919e1d8451d9b145aa2ae81b51070736}{{3.3}{8}{Public Attributes}{section*.13}{}} +\@writefile{toc}{\contentsline {section}{\numberline {3.4}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Console\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Server Class Reference}{8}{section.3.4}} +\newlabel{class_b_m_a_console_server}{{3.4}{8}{B\+M\+A\+Console\+Server Class Reference}{section.3.4}{}} +\newlabel{class_b_m_a_console_server_ac9fc1d451b766c81f1c4f1bd805f320c}{{3.4}{9}{Public Member Functions}{section*.16}{}} +\newlabel{class_b_m_a_console_server_a6affcd7bd92d12973e66cbc0b8ec2827}{{3.4}{9}{Public Member Functions}{section*.16}{}} +\newlabel{class_b_m_a_console_server_a587d9606f601e2bf1f1ab835b706284d}{{3.4}{9}{Public Member Functions}{section*.16}{}} +\newlabel{class_b_m_a_console_server_a97d97798a1e1b034ab3d80e17d78c3dc}{{3.4}{9}{Public Member Functions}{section*.16}{}} +\newlabel{class_b_m_a_console_server_a7a4f30ac15fbe7ffa91cf010dfa4f123}{{3.4}{9}{Public Attributes}{section*.17}{}} +\@writefile{toc}{\contentsline {section}{\numberline {3.5}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Console\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Session Class Reference}{10}{section.3.5}} +\newlabel{class_b_m_a_console_session}{{3.5}{10}{B\+M\+A\+Console\+Session Class Reference}{section.3.5}{}} +\newlabel{class_b_m_a_console_session_a8733cc143a3b2eefc2cf8e057d024d1f}{{3.5}{11}{Public Member Functions}{section*.21}{}} +\newlabel{class_b_m_a_console_session_a87369ca5cf534c3c1736cd197933b0d9}{{3.5}{11}{Protected Member Functions}{section*.22}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.5.1}Detailed Description}{11}{subsection.3.5.1}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.5.2}Member Function Documentation}{11}{subsection.3.5.2}} +\newlabel{class_b_m_a_console_session_a38fee4b41375c4c14b4be42fd0a23669}{{3.5.2}{11}{Member Function Documentation}{subsection.3.5.2}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.2.1}output()}{12}{subsubsection.3.5.2.1}} +\@writefile{toc}{\contentsline {section}{\numberline {3.6}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}E\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Poll Class Reference}{12}{section.3.6}} +\newlabel{class_b_m_a_e_poll}{{3.6}{12}{B\+M\+A\+E\+Poll Class Reference}{section.3.6}{}} +\newlabel{class_b_m_a_e_poll_af47f8a2e6b6945ac0cd9b507d085759b}{{3.6}{13}{Public Member Functions}{section*.26}{}} +\newlabel{class_b_m_a_e_poll_a86db128e32aceb4203258900dce9cb9f}{{3.6}{13}{Public Member Functions}{section*.26}{}} +\newlabel{class_b_m_a_e_poll_a0cb441876d88e2d483eca02958836649}{{3.6}{13}{Public Member Functions}{section*.26}{}} +\newlabel{class_b_m_a_e_poll_ad2feb77e1283f3245c516b585bd7ce42}{{3.6}{13}{Public Member Functions}{section*.26}{}} +\newlabel{class_b_m_a_e_poll_ae740718bff5544929664b35dd89ac69f}{{3.6}{13}{Public Member Functions}{section*.26}{}} +\newlabel{class_b_m_a_e_poll_ad95e44649fb029c8bbdccfa952109fe8}{{3.6}{13}{Public Attributes}{section*.27}{}} +\newlabel{class_b_m_a_e_poll_a07e83e4b9fdad9550c7b383b0ee2d437}{{3.6}{13}{Public Attributes}{section*.27}{}} +\newlabel{class_b_m_a_e_poll_ac18fcf68c61333d86955dc83443bfefc}{{3.6}{13}{Public Attributes}{section*.27}{}} +\gdef \LT@i {\LT@entry + {3}{38.44968pt}\LT@entry + {3}{121.63078pt}} +\gdef \LT@ii {\LT@entry + {3}{38.44968pt}\LT@entry + {3}{131.6386pt}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.6.1}Detailed Description}{14}{subsection.3.6.1}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.6.2}Member Function Documentation}{14}{subsection.3.6.2}} +\newlabel{class_b_m_a_e_poll_a3eaabc21ed4f292346b708ebe5e70601}{{3.6.2}{14}{Member Function Documentation}{subsection.3.6.2}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.2.1}register\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Socket()}{14}{subsubsection.3.6.2.1}} +\newlabel{class_b_m_a_e_poll_a791e51a702810e36f2f4220528ee998d}{{3.6.2.1}{14}{\texorpdfstring {register\+Socket()}{registerSocket()}}{table.3.1}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.2.2}unregister\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Socket()}{14}{subsubsection.3.6.2.2}} +\@writefile{toc}{\contentsline {section}{\numberline {3.7}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}File Class Reference}{15}{section.3.7}} +\newlabel{class_b_m_a_file}{{3.7}{15}{B\+M\+A\+File Class Reference}{section.3.7}{}} +\newlabel{class_b_m_a_file_a0fc501b25aa5802620e0a00872fd5a09}{{3.7}{15}{Public Member Functions}{section*.29}{}} +\newlabel{class_b_m_a_file_a638a2fdf9e90aecc90d20028203f9094}{{3.7}{15}{Public Member Functions}{section*.29}{}} +\newlabel{class_b_m_a_file_a0f5fe9196f887e465997b87f3ad45efc}{{3.7}{15}{Public Member Functions}{section*.29}{}} +\newlabel{class_b_m_a_file_ab15e09e076166c5bb514a2cadd6b9dbf}{{3.7}{15}{Public Attributes}{section*.30}{}} +\newlabel{class_b_m_a_file_ae57b53f5e14e9bd0a5082946e53c292e}{{3.7}{15}{Public Attributes}{section*.30}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.7.1}Detailed Description}{15}{subsection.3.7.1}} +\@writefile{toc}{\contentsline {section}{\numberline {3.8}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Header Class Reference}{16}{section.3.8}} +\newlabel{class_b_m_a_header}{{3.8}{16}{B\+M\+A\+Header Class Reference}{section.3.8}{}} +\newlabel{class_b_m_a_header_af1855cf4b98690190e94bef81ca2c1a9}{{3.8}{16}{Public Member Functions}{section*.33}{}} +\newlabel{class_b_m_a_header_aa09b5818984a2cace6c888c110118781}{{3.8}{16}{Public Member Functions}{section*.33}{}} +\newlabel{class_b_m_a_header_a17b7c2981a73f2da91d2dc9afb89b75c}{{3.8}{16}{Public Member Functions}{section*.33}{}} +\newlabel{class_b_m_a_header_a34056833977a78115dc8eec4a0821419}{{3.8}{16}{Public Attributes}{section*.34}{}} +\@writefile{toc}{\contentsline {section}{\numberline {3.9}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}H\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}T\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}T\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}P\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Request\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Handler Class Reference}{17}{section.3.9}} +\newlabel{class_b_m_a_h_t_t_p_request_handler}{{3.9}{17}{B\+M\+A\+H\+T\+T\+P\+Request\+Handler Class Reference}{section.3.9}{}} +\newlabel{class_b_m_a_h_t_t_p_request_handler_a66aab795b5ad8dbad0c93037a6154b8b}{{3.9}{17}{Public Member Functions}{section*.37}{}} +\newlabel{class_b_m_a_h_t_t_p_request_handler_a11a7dd0c9ac073b3df06bf289af930ec}{{3.9}{17}{Public Member Functions}{section*.37}{}} +\@writefile{toc}{\contentsline {section}{\numberline {3.10}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}H\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}T\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}T\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}P\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Server Class Reference}{18}{section.3.10}} +\newlabel{class_b_m_a_h_t_t_p_server}{{3.10}{18}{B\+M\+A\+H\+T\+T\+P\+Server Class Reference}{section.3.10}{}} +\newlabel{class_b_m_a_h_t_t_p_server_a3c87f61bd95e6b6b7063767107be888f}{{3.10}{19}{Public Member Functions}{section*.41}{}} +\newlabel{class_b_m_a_h_t_t_p_server_af96543117f0ac993e6739671b0fd2cce}{{3.10}{19}{Public Member Functions}{section*.41}{}} +\newlabel{class_b_m_a_h_t_t_p_server_a52503f63c721e256c215f365c248c684}{{3.10}{19}{Public Member Functions}{section*.41}{}} +\newlabel{class_b_m_a_h_t_t_p_server_a97d50eaf2bbfdc82df19a13233e986b8}{{3.10}{19}{Public Member Functions}{section*.41}{}} +\newlabel{class_b_m_a_h_t_t_p_server_a9769e9ff4c6dc4b662f1332daa0801d0}{{3.10}{19}{Public Attributes}{section*.42}{}} +\newlabel{class_b_m_a_h_t_t_p_server_a0131e030bf8ee9850059e33f4d160a88}{{3.10}{19}{Protected Member Functions}{section*.43}{}} +\@writefile{toc}{\contentsline {section}{\numberline {3.11}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}H\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}T\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}T\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}P\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Session Class Reference}{20}{section.3.11}} +\newlabel{class_b_m_a_h_t_t_p_session}{{3.11}{20}{B\+M\+A\+H\+T\+T\+P\+Session Class Reference}{section.3.11}{}} +\newlabel{class_b_m_a_h_t_t_p_session_ae8fc4ff1379c124378f0aa3306733582}{{3.11}{21}{Public Member Functions}{section*.47}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.11.1}Member Function Documentation}{21}{subsection.3.11.1}} +\newlabel{class_b_m_a_h_t_t_p_session_a286e62fb76240b2c1c9dd95aa055bdc1}{{3.11.1}{21}{Member Function Documentation}{subsection.3.11.1}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.11.1.1}on\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Data\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Received()}{22}{subsubsection.3.11.1.1}} +\@writefile{toc}{\contentsline {section}{\numberline {3.12}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Log Class Reference}{22}{section.3.12}} +\newlabel{class_b_m_a_log}{{3.12}{22}{B\+M\+A\+Log Class Reference}{section.3.12}{}} +\newlabel{class_b_m_a_log_af5e7c9307853910db81bda2bd6beb648}{{3.12}{22}{Public Member Functions}{section*.50}{}} +\newlabel{class_b_m_a_log_a4585462cb35053b43fe4408627758bb2}{{3.12}{22}{Public Member Functions}{section*.50}{}} +\newlabel{class_b_m_a_log_a15390b2f11c86acd18adf54265933c68}{{3.12}{22}{Protected Attributes}{section*.51}{}} +\@writefile{toc}{\contentsline {section}{\numberline {3.13}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}P3\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}File Class Reference}{22}{section.3.13}} +\newlabel{class_b_m_a_m_p3_file}{{3.13}{22}{B\+M\+A\+M\+P3\+File Class Reference}{section.3.13}{}} +\newlabel{class_b_m_a_m_p3_file_af3ef02c8a1c57d5050979b69e5c81527}{{3.13}{23}{Public Member Functions}{section*.54}{}} +\@writefile{toc}{\contentsline {section}{\numberline {3.14}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}P3\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Stream\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Content\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Provider Class Reference}{23}{section.3.14}} +\newlabel{class_b_m_a_m_p3_stream_content_provider}{{3.14}{23}{B\+M\+A\+M\+P3\+Stream\+Content\+Provider Class Reference}{section.3.14}{}} +\newlabel{class_b_m_a_m_p3_stream_content_provider_afc7ad357bbf07a8099a0ff7982b05b05}{{3.14}{24}{Public Member Functions}{section*.58}{}} +\newlabel{class_b_m_a_m_p3_stream_content_provider_ac2d0a4c0f53f539b350a14d716dbba05}{{3.14}{24}{Public Member Functions}{section*.58}{}} +\@writefile{toc}{\contentsline {section}{\numberline {3.15}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}P3\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Stream\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Frame Class Reference}{24}{section.3.15}} +\newlabel{class_b_m_a_m_p3_stream_frame}{{3.15}{24}{B\+M\+A\+M\+P3\+Stream\+Frame Class Reference}{section.3.15}{}} +\newlabel{class_b_m_a_m_p3_stream_frame_a5b11e66e8391b33310c1883a7fc8dca6}{{3.15}{25}{Public Member Functions}{section*.62}{}} +\newlabel{class_b_m_a_m_p3_stream_frame_afd7a44b65e7c4d14a5ae292bd2c6e6b1}{{3.15}{25}{Public Member Functions}{section*.62}{}} +\newlabel{class_b_m_a_m_p3_stream_frame_a05f80355dbaaaff53b78d6a6235f0a22}{{3.15}{25}{Public Member Functions}{section*.62}{}} +\newlabel{class_b_m_a_m_p3_stream_frame_a25078af894af1cee647bbf95d4027180}{{3.15}{25}{Public Member Functions}{section*.62}{}} +\newlabel{class_b_m_a_m_p3_stream_frame_a6c4e0c1861ac3b4e6e3c7205b871d010}{{3.15}{25}{Public Member Functions}{section*.62}{}} +\newlabel{class_b_m_a_m_p3_stream_frame_ae635c402b39b4f055f557a6cfecdbe85}{{3.15}{25}{Public Member Functions}{section*.62}{}} +\newlabel{class_b_m_a_m_p3_stream_frame_a23dd3cf1289f0a7ed4c9745754f1baed}{{3.15}{25}{Public Member Functions}{section*.62}{}} +\newlabel{class_b_m_a_m_p3_stream_frame_a3e45284a7c806f41e0229d121b63b274}{{3.15}{25}{Public Member Functions}{section*.62}{}} +\newlabel{class_b_m_a_m_p3_stream_frame_a0570cfb188709b1eeab2a4f2af68aae4}{{3.15}{25}{Public Member Functions}{section*.62}{}} +\newlabel{class_b_m_a_m_p3_stream_frame_af75f5b80a34ea8f7e76527014d93d0c9}{{3.15}{25}{Protected Attributes}{section*.63}{}} +\newlabel{class_b_m_a_m_p3_stream_frame_a4c570bcdc77665c207d84d1ed046abbf}{{3.15}{25}{Protected Attributes}{section*.63}{}} +\@writefile{toc}{\contentsline {section}{\numberline {3.16}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Object Class Reference}{26}{section.3.16}} +\newlabel{class_b_m_a_object}{{3.16}{26}{B\+M\+A\+Object Class Reference}{section.3.16}{}} +\newlabel{class_b_m_a_object_aedf39fba0d2dda8c3d9048746c1b8957}{{3.16}{26}{Public Attributes}{section*.66}{}} +\newlabel{class_b_m_a_object_acc0e38c2263588ba9ff1792b17d64f6e}{{3.16}{26}{Public Attributes}{section*.66}{}} +\@writefile{toc}{\contentsline {section}{\numberline {3.17}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Parse\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Header Class Reference}{26}{section.3.17}} +\newlabel{class_b_m_a_parse_header}{{3.17}{26}{B\+M\+A\+Parse\+Header Class Reference}{section.3.17}{}} +\@writefile{toc}{\contentsline {section}{\numberline {3.18}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Property$<$ T $>$ Class Template Reference}{26}{section.3.18}} +\newlabel{class_b_m_a_property}{{3.18}{26}{B\+M\+A\+Property$<$ T $>$ Class Template Reference}{section.3.18}{}} +\newlabel{class_b_m_a_property_ace93e2bf5d7e9931213019bb8e3a10e7}{{3.18}{26}{Public Member Functions}{section*.67}{}} +\newlabel{class_b_m_a_property_aee5ee1d866a247257b243b1ad3c7fa52}{{3.18}{26}{Public Member Functions}{section*.67}{}} +\newlabel{class_b_m_a_property_abf0982ca4a88c38d3b61b52661dc50f0}{{3.18}{27}{Protected Attributes}{section*.68}{}} +\@writefile{toc}{\contentsline {section}{\numberline {3.19}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Session Class Reference}{27}{section.3.19}} +\newlabel{class_b_m_a_session}{{3.19}{27}{B\+M\+A\+Session Class Reference}{section.3.19}{}} +\newlabel{class_b_m_a_session_a21391b7697a52fe8adca0b124d91260d}{{3.19}{28}{Public Member Functions}{section*.71}{}} +\newlabel{class_b_m_a_session_a3a63e1fb3a64bc4922654aa0d8462364}{{3.19}{28}{Public Attributes}{section*.72}{}} +\newlabel{class_b_m_a_session_a258007030bcebbf172f38b028063773a}{{3.19}{28}{Public Attributes}{section*.72}{}} +\newlabel{class_b_m_a_session_a790eff4b5d8bf2870c00547131c2fc1a}{{3.19}{28}{Protected Member Functions}{section*.73}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.19.1}Detailed Description}{28}{subsection.3.19.1}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.19.2}Member Function Documentation}{28}{subsection.3.19.2}} +\newlabel{class_b_m_a_session_a0d382f77e98c53e966119c2563cbfef5}{{3.19.2}{28}{Member Function Documentation}{subsection.3.19.2}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.19.2.1}on\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Connected()}{28}{subsubsection.3.19.2.1}} +\newlabel{class_b_m_a_session_a5813c378c254e9ec2c516ffd15e334e6}{{3.19.2.1}{28}{\texorpdfstring {on\+Connected()}{onConnected()}}{subsubsection.3.19.2.1}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.19.2.2}on\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Data\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Received()}{29}{subsubsection.3.19.2.2}} +\newlabel{class_b_m_a_session_a9400cb2731b687d6717dcefda749a31c}{{3.19.2.2}{29}{\texorpdfstring {on\+Data\+Received()}{onDataReceived()}}{subsubsection.3.19.2.2}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.19.2.3}output()}{29}{subsubsection.3.19.2.3}} +\@writefile{toc}{\contentsline {section}{\numberline {3.20}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}S\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}I\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}P\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}I\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}N\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}V\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}I\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}TE Class Reference}{29}{section.3.20}} +\newlabel{class_b_m_a_s_i_p_i_n_v_i_t_e}{{3.20}{29}{B\+M\+A\+S\+I\+P\+I\+N\+V\+I\+TE Class Reference}{section.3.20}{}} +\newlabel{class_b_m_a_s_i_p_i_n_v_i_t_e_a336c75edbb990afc5f7c23a9e9526ab6}{{3.20}{30}{Public Member Functions}{section*.77}{}} +\newlabel{class_b_m_a_s_i_p_i_n_v_i_t_e_afddfa168dc18d636cd77fb6347ceb9f0}{{3.20}{30}{Public Member Functions}{section*.77}{}} +\@writefile{toc}{\contentsline {section}{\numberline {3.21}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}S\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}I\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}P\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}R\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}E\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}G\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}I\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}S\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}T\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}ER Class Reference}{30}{section.3.21}} +\newlabel{class_b_m_a_s_i_p_r_e_g_i_s_t_e_r}{{3.21}{30}{B\+M\+A\+S\+I\+P\+R\+E\+G\+I\+S\+T\+ER Class Reference}{section.3.21}{}} +\newlabel{class_b_m_a_s_i_p_r_e_g_i_s_t_e_r_ad47b3f2be59334c8c3dc25ba11c1425f}{{3.21}{31}{Public Member Functions}{section*.81}{}} +\newlabel{class_b_m_a_s_i_p_r_e_g_i_s_t_e_r_a996ec80f279fcebf8101280928cb4593}{{3.21}{31}{Public Member Functions}{section*.81}{}} +\@writefile{toc}{\contentsline {section}{\numberline {3.22}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}S\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}I\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}P\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Request\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Handler Class Reference}{31}{section.3.22}} +\newlabel{class_b_m_a_s_i_p_request_handler}{{3.22}{31}{B\+M\+A\+S\+I\+P\+Request\+Handler Class Reference}{section.3.22}{}} +\newlabel{class_b_m_a_s_i_p_request_handler_af1c7197ea97c4bd03a9d96fc544111d5}{{3.22}{32}{Public Member Functions}{section*.85}{}} +\newlabel{class_b_m_a_s_i_p_request_handler_a52f44d394c70dafa17a2ef19974703de}{{3.22}{32}{Public Member Functions}{section*.85}{}} +\@writefile{toc}{\contentsline {section}{\numberline {3.23}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}S\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}I\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}P\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Server Class Reference}{33}{section.3.23}} +\newlabel{class_b_m_a_s_i_p_server}{{3.23}{33}{B\+M\+A\+S\+I\+P\+Server Class Reference}{section.3.23}{}} +\newlabel{class_b_m_a_s_i_p_server_ae196b9426443d3d155fc15eca55efb72}{{3.23}{34}{Public Member Functions}{section*.89}{}} +\newlabel{class_b_m_a_s_i_p_server_a5a137ffb4a5e6465ed56bfbea3d31529}{{3.23}{34}{Public Member Functions}{section*.89}{}} +\newlabel{class_b_m_a_s_i_p_server_a89024135ffa80f3423e5623ae0720728}{{3.23}{34}{Public Member Functions}{section*.89}{}} +\newlabel{class_b_m_a_s_i_p_server_a5279cc6f08b3d8b87ec3ca5c2345cabd}{{3.23}{34}{Public Member Functions}{section*.89}{}} +\newlabel{class_b_m_a_s_i_p_server_a6b19c46961b603bcad6b268761d0e2ed}{{3.23}{34}{Protected Member Functions}{section*.90}{}} +\@writefile{toc}{\contentsline {section}{\numberline {3.24}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}S\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}I\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}P\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Session Class Reference}{35}{section.3.24}} +\newlabel{class_b_m_a_s_i_p_session}{{3.24}{35}{B\+M\+A\+S\+I\+P\+Session Class Reference}{section.3.24}{}} +\newlabel{class_b_m_a_s_i_p_session_a5c81150e2d965d70c25d84c95734b0a7}{{3.24}{36}{Public Member Functions}{section*.94}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.24.1}Member Function Documentation}{36}{subsection.3.24.1}} +\newlabel{class_b_m_a_s_i_p_session_a7eda33cab36e5794744819673f1d9d47}{{3.24.1}{36}{Member Function Documentation}{subsection.3.24.1}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.24.1.1}on\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Data\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Received()}{37}{subsubsection.3.24.1.1}} +\@writefile{toc}{\contentsline {section}{\numberline {3.25}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Socket Class Reference}{37}{section.3.25}} +\newlabel{class_b_m_a_socket}{{3.25}{37}{B\+M\+A\+Socket Class Reference}{section.3.25}{}} +\newlabel{class_b_m_a_socket_adb2a05588a86a3f8b595ecd8e12b1c51}{{3.25}{38}{Public Member Functions}{section*.99}{}} +\newlabel{class_b_m_a_socket_a67e45d5eeeb26964e3509d58abe7762a}{{3.25}{38}{Public Member Functions}{section*.99}{}} +\newlabel{class_b_m_a_socket_aaf06616205d8bc97d305d77c94996cb0}{{3.25}{38}{Public Member Functions}{section*.99}{}} +\newlabel{class_b_m_a_socket_a525cbedfa4b3f62e81f34734a69110ab}{{3.25}{38}{Public Member Functions}{section*.99}{}} +\newlabel{class_b_m_a_socket_ace059125ad6036f1d628169afdc3c891}{{3.25}{38}{Public Member Functions}{section*.99}{}} +\newlabel{class_b_m_a_socket_a2f9f17ca8819f2b1b11bf5b09ff2bb37}{{3.25}{38}{Public Attributes}{section*.100}{}} +\newlabel{class_b_m_a_socket_a0ab8695ad43d7c0a7999673ea023fda4}{{3.25}{38}{Protected Member Functions}{section*.101}{}} +\newlabel{class_b_m_a_socket_a6a8f431adc915983ad25bd25523d40dd}{{3.25}{39}{Protected Attributes}{section*.102}{}} +\newlabel{class_b_m_a_socket_acfd4416961ce5ad1f25d0a0f35a574d2}{{3.25}{39}{Protected Attributes}{section*.102}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.25.1}Constructor \& Destructor Documentation}{39}{subsection.3.25.1}} +\newlabel{class_b_m_a_socket_ae07ca3bf2bdf294e256f4fd1a3cff896}{{3.25.1}{39}{Constructor \& Destructor Documentation}{subsection.3.25.1}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.25.1.1}$\sim $\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Socket()}{39}{subsubsection.3.25.1.1}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.25.2}Member Function Documentation}{39}{subsection.3.25.2}} +\newlabel{class_b_m_a_socket_ac1e63c2e54aff72c18cadc5f3bc9001f}{{3.25.2}{39}{Member Function Documentation}{subsection.3.25.2}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.25.2.1}event\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Received()}{39}{subsubsection.3.25.2.1}} +\newlabel{class_b_m_a_socket_ac2206da05ab857ec64c5d4addb04a4bf}{{3.25.2.1}{39}{\texorpdfstring {event\+Received()}{eventReceived()}}{subsubsection.3.25.2.1}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.25.2.2}on\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Connected()}{39}{subsubsection.3.25.2.2}} +\newlabel{class_b_m_a_socket_a06c18fd08fa4b32d4e436425c64262ff}{{3.25.2.2}{39}{\texorpdfstring {on\+Connected()}{onConnected()}}{subsubsection.3.25.2.2}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.25.2.3}on\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Data\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Received()}{40}{subsubsection.3.25.2.3}} +\newlabel{class_b_m_a_socket_acde955606cbe6ded534a08dff158796d}{{3.25.2.3}{40}{\texorpdfstring {on\+Data\+Received()}{onDataReceived()}}{subsubsection.3.25.2.3}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.25.2.4}on\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Registered()}{40}{subsubsection.3.25.2.4}} +\@writefile{toc}{\contentsline {section}{\numberline {3.26}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Stream\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Content\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Provider Class Reference}{40}{section.3.26}} +\newlabel{class_b_m_a_stream_content_provider}{{3.26}{40}{B\+M\+A\+Stream\+Content\+Provider Class Reference}{section.3.26}{}} +\newlabel{class_b_m_a_stream_content_provider_a591402a921437be32b4c5212a370529d}{{3.26}{40}{Public Member Functions}{section*.104}{}} +\newlabel{class_b_m_a_stream_content_provider_aad23c59e622ce1adcf17444648d517ad}{{3.26}{40}{Public Member Functions}{section*.104}{}} +\newlabel{class_b_m_a_stream_content_provider_aa883b991dcb2b8876deb45f47c9804d4}{{3.26}{40}{Public Member Functions}{section*.104}{}} +\newlabel{class_b_m_a_stream_content_provider_a1ade88dfec2372bdd3733dd99669a3a6}{{3.26}{41}{Public Attributes}{section*.105}{}} +\newlabel{class_b_m_a_stream_content_provider_a79befceb5147af3910ae1bc57db8b934}{{3.26}{41}{Public Attributes}{section*.105}{}} +\newlabel{class_b_m_a_stream_content_provider_aec7f301261d2ed2915aa082c65165657}{{3.26}{41}{Public Attributes}{section*.105}{}} +\@writefile{toc}{\contentsline {section}{\numberline {3.27}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Stream\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Frame Class Reference}{41}{section.3.27}} +\newlabel{class_b_m_a_stream_frame}{{3.27}{41}{B\+M\+A\+Stream\+Frame Class Reference}{section.3.27}{}} +\newlabel{class_b_m_a_stream_frame_a7f5a4fd691993ef0ba72b8d176df0da1}{{3.27}{41}{Public Member Functions}{section*.107}{}} +\newlabel{class_b_m_a_stream_frame_a137a0bc0232b1988e1592b5eb7edad2d}{{3.27}{41}{Public Member Functions}{section*.107}{}} +\newlabel{class_b_m_a_stream_frame_a9028c15407e7c86bbd513610c5d1d37d}{{3.27}{41}{Public Member Functions}{section*.107}{}} +\newlabel{class_b_m_a_stream_frame_a42767d408575fb59a37f398d867f51a7}{{3.27}{41}{Public Attributes}{section*.108}{}} +\newlabel{class_b_m_a_stream_frame_a2f790b9f525141edec746b18843a2169}{{3.27}{41}{Public Attributes}{section*.108}{}} +\@writefile{toc}{\contentsline {section}{\numberline {3.28}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Stream\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Server Class Reference}{42}{section.3.28}} +\newlabel{class_b_m_a_stream_server}{{3.28}{42}{B\+M\+A\+Stream\+Server Class Reference}{section.3.28}{}} +\newlabel{class_b_m_a_stream_server_a53088bc75ca8a77ace2045f88dc5daec}{{3.28}{43}{Public Member Functions}{section*.111}{}} +\newlabel{class_b_m_a_stream_server_ac6cdba284f178898a73c928ea7d32dac}{{3.28}{43}{Public Member Functions}{section*.111}{}} +\newlabel{class_b_m_a_stream_server_a1359cfb8a98edc68a0eea88e9c8e94ca}{{3.28}{43}{Public Member Functions}{section*.111}{}} +\newlabel{class_b_m_a_stream_server_a91e16f2a0e42e6875c7746f1d344619e}{{3.28}{43}{Public Member Functions}{section*.111}{}} +\newlabel{class_b_m_a_stream_server_a49786d83fb2231f4f26d01ee515707dd}{{3.28}{43}{Public Member Functions}{section*.111}{}} +\newlabel{class_b_m_a_stream_server_a6dc57637a87aa9fc963a1c887277583e}{{3.28}{43}{Public Member Functions}{section*.111}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.28.1}Detailed Description}{43}{subsection.3.28.1}} +\@writefile{toc}{\contentsline {section}{\numberline {3.29}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Stream\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Session Class Reference}{44}{section.3.29}} +\newlabel{class_b_m_a_stream_session}{{3.29}{44}{B\+M\+A\+Stream\+Session Class Reference}{section.3.29}{}} +\newlabel{class_b_m_a_stream_session_a2d9cbb3811f5ffc816cd8d1f7aa945c5}{{3.29}{45}{Public Member Functions}{section*.115}{}} +\newlabel{class_b_m_a_stream_session_a5bee25cf2cc4412e553fa5ff482e2d09}{{3.29}{45}{Public Member Functions}{section*.115}{}} +\newlabel{class_b_m_a_stream_session_a18e858e8be7d175f0be6b78e7a2d176f}{{3.29}{45}{Protected Member Functions}{section*.116}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.29.1}Member Function Documentation}{45}{subsection.3.29.1}} +\newlabel{class_b_m_a_stream_session_a3cdbd3fec1e12da366bcb31de15274e9}{{3.29.1}{45}{Member Function Documentation}{subsection.3.29.1}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.29.1.1}on\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Data\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Received()}{46}{subsubsection.3.29.1.1}} +\@writefile{toc}{\contentsline {section}{\numberline {3.30}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}T\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}C\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}P\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Server\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Socket Class Reference}{46}{section.3.30}} +\newlabel{class_b_m_a_t_c_p_server_socket}{{3.30}{46}{B\+M\+A\+T\+C\+P\+Server\+Socket Class Reference}{section.3.30}{}} +\newlabel{class_b_m_a_t_c_p_server_socket_a48e6fa160a86accb51f81724c3af51fd}{{3.30}{47}{Public Member Functions}{section*.120}{}} +\newlabel{class_b_m_a_t_c_p_server_socket_a4784820c3098af2d9debde61a417c82d}{{3.30}{47}{Protected Member Functions}{section*.121}{}} +\newlabel{class_b_m_a_t_c_p_server_socket_a9004558c1152d4f8662531970250defc}{{3.30}{47}{Protected Member Functions}{section*.121}{}} +\newlabel{class_b_m_a_t_c_p_server_socket_a8719aeb1b87b9f0d7e0b38aa28ab9a35}{{3.30}{47}{Protected Attributes}{section*.122}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.30.1}Detailed Description}{47}{subsection.3.30.1}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.30.2}Member Function Documentation}{48}{subsection.3.30.2}} +\newlabel{class_b_m_a_t_c_p_server_socket_a3ef3f70a0ffeaf1c56e74b22a2337959}{{3.30.2}{48}{Member Function Documentation}{subsection.3.30.2}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.30.2.1}accept()}{48}{subsubsection.3.30.2.1}} +\newlabel{class_b_m_a_t_c_p_server_socket_a0f70ff512174afe7be50b523234d45df}{{3.30.2.1}{48}{\texorpdfstring {accept()}{accept()}}{subsubsection.3.30.2.1}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.30.2.2}on\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Data\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Received()}{48}{subsubsection.3.30.2.2}} +\@writefile{toc}{\contentsline {section}{\numberline {3.31}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}T\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}C\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}P\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Socket Class Reference}{48}{section.3.31}} +\newlabel{class_b_m_a_t_c_p_socket}{{3.31}{48}{B\+M\+A\+T\+C\+P\+Socket Class Reference}{section.3.31}{}} +\newlabel{class_b_m_a_t_c_p_socket_a3e553a95ec29cb931c828b750f6ab524}{{3.31}{49}{Public Member Functions}{section*.126}{}} +\newlabel{class_b_m_a_t_c_p_socket_abf6b5c7be1ed054bf40994b94e1da67b}{{3.31}{49}{Public Member Functions}{section*.126}{}} +\newlabel{class_b_m_a_t_c_p_socket_ad730b3ef80d884a2490f0e07f783ef2d}{{3.31}{49}{Public Member Functions}{section*.126}{}} +\newlabel{class_b_m_a_t_c_p_socket_a50761b35bd02d8785240c5e3be3ceb07}{{3.31}{49}{Public Member Functions}{section*.126}{}} +\newlabel{class_b_m_a_t_c_p_socket_a637e5fe1fffa09f6cc89e2b3389e731e}{{3.31}{49}{Public Attributes}{section*.127}{}} +\newlabel{class_b_m_a_t_c_p_socket_afc155f5a4961f54c77ed92acd852488a}{{3.31}{49}{Public Attributes}{section*.127}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.31.1}Detailed Description}{49}{subsection.3.31.1}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.31.2}Member Function Documentation}{50}{subsection.3.31.2}} +\newlabel{class_b_m_a_t_c_p_socket_a0acd8f2fd367a5f3a42027979a0dc14b}{{3.31.2}{50}{Member Function Documentation}{subsection.3.31.2}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.31.2.1}on\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Connected()}{50}{subsubsection.3.31.2.1}} +\newlabel{class_b_m_a_t_c_p_socket_a017112b916d42b9e86b39da747c364c1}{{3.31.2.1}{50}{\texorpdfstring {on\+Connected()}{onConnected()}}{subsubsection.3.31.2.1}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.31.2.2}output()}{50}{subsubsection.3.31.2.2}} +\@writefile{toc}{\contentsline {section}{\numberline {3.32}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Thread Class Reference}{50}{section.3.32}} +\newlabel{class_b_m_a_thread}{{3.32}{50}{B\+M\+A\+Thread Class Reference}{section.3.32}{}} +\newlabel{class_b_m_a_thread_aa7e0a54fa8b787d94dc7ed8f7f320ba6}{{3.32}{50}{Public Member Functions}{section*.129}{}} +\newlabel{class_b_m_a_thread_a71945ff6553b22563f2140f8eafc2413}{{3.32}{50}{Public Member Functions}{section*.129}{}} +\newlabel{class_b_m_a_thread_a3b2d129bf06d98080b618099b901057d}{{3.32}{50}{Public Member Functions}{section*.129}{}} +\newlabel{class_b_m_a_thread_ae1136fec7fc4fa071ea51d4b5422ab4f}{{3.32}{50}{Public Member Functions}{section*.129}{}} +\newlabel{class_b_m_a_thread_a3c13d1a99e7cfe8d1466fabd2f0133ae}{{3.32}{50}{Public Member Functions}{section*.129}{}} +\newlabel{class_b_m_a_thread_ab093e79785c0cf389ec2ea1f39839112}{{3.32}{50}{Public Member Functions}{section*.129}{}} +\newlabel{class_b_m_a_thread_aad5d1046c39a26074aa86722db964423}{{3.32}{50}{Public Member Functions}{section*.129}{}} +\@writefile{toc}{\contentsline {section}{\numberline {3.33}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Timer Class Reference}{51}{section.3.33}} +\newlabel{class_b_m_a_timer}{{3.33}{51}{B\+M\+A\+Timer Class Reference}{section.3.33}{}} +\newlabel{class_b_m_a_timer_a23b70762f6bca2ec9eee5642cda6e915}{{3.33}{51}{Public Member Functions}{section*.132}{}} +\newlabel{class_b_m_a_timer_a52096d26eabfb5a938091d6160705b43}{{3.33}{52}{Public Member Functions}{section*.132}{}} +\newlabel{class_b_m_a_timer_acbfec79cd4b7834e35c05cab6ffdf0b1}{{3.33}{52}{Public Member Functions}{section*.132}{}} +\newlabel{class_b_m_a_timer_abc80e4ca7b8820ffe50e48e51f625b6b}{{3.33}{52}{Public Member Functions}{section*.132}{}} +\newlabel{class_b_m_a_timer_a506c954ebdddc111f87e59717d40edef}{{3.33}{52}{Protected Member Functions}{section*.133}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.33.1}Detailed Description}{52}{subsection.3.33.1}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.33.2}Member Function Documentation}{52}{subsection.3.33.2}} +\newlabel{class_b_m_a_timer_a64c71fecfafad873712b6f0051de6546}{{3.33.2}{52}{Member Function Documentation}{subsection.3.33.2}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.33.2.1}on\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Data\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Received()}{52}{subsubsection.3.33.2.1}} +\@writefile{toc}{\contentsline {section}{\numberline {3.34}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}U\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}D\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}P\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Server\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Socket Class Reference}{53}{section.3.34}} +\newlabel{class_b_m_a_u_d_p_server_socket}{{3.34}{53}{B\+M\+A\+U\+D\+P\+Server\+Socket Class Reference}{section.3.34}{}} +\newlabel{class_b_m_a_u_d_p_server_socket_a7f32b0ee1fe9d6b7707f0c7742c5b370}{{3.34}{54}{Public Member Functions}{section*.136}{}} +\newlabel{class_b_m_a_u_d_p_server_socket_a3db066aff261a9109fe28d5db137e01c}{{3.34}{54}{Protected Member Functions}{section*.137}{}} +\newlabel{class_b_m_a_u_d_p_server_socket_a546c253f0e165daef0dc9f60651a23f7}{{3.34}{54}{Protected Attributes}{section*.138}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.34.1}Detailed Description}{54}{subsection.3.34.1}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.34.2}Member Function Documentation}{54}{subsection.3.34.2}} +\newlabel{class_b_m_a_u_d_p_server_socket_a9700a1c3fb775596d562f750bd08ebe7}{{3.34.2}{54}{Member Function Documentation}{subsection.3.34.2}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.34.2.1}on\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Data\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Received()}{54}{subsubsection.3.34.2.1}} +\@writefile{toc}{\contentsline {section}{\numberline {3.35}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}U\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}D\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}P\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Socket Class Reference}{55}{section.3.35}} +\newlabel{class_b_m_a_u_d_p_socket}{{3.35}{55}{B\+M\+A\+U\+D\+P\+Socket Class Reference}{section.3.35}{}} +\newlabel{class_b_m_a_u_d_p_socket_a1526f880001526ef7c5180b3a2124f38}{{3.35}{55}{Public Member Functions}{section*.142}{}} +\@writefile{toc}{\contentsline {chapter}{Index}{57}{section*.144}} diff --git a/docs/latex/refman.idx b/docs/latex/refman.idx new file mode 100644 index 0000000..8ba6f3b --- /dev/null +++ b/docs/latex/refman.idx @@ -0,0 +1,75 @@ +\indexentry{B\+M\+A\+Account@{B\+M\+A\+Account}|hyperpage}{5} +\indexentry{B\+M\+A\+Authenticate@{B\+M\+A\+Authenticate}|hyperpage}{6} +\indexentry{B\+M\+A\+Command@{B\+M\+A\+Command}|hyperpage}{7} +\indexentry{B\+M\+A\+Console\+Server@{B\+M\+A\+Console\+Server}|hyperpage}{8} +\indexentry{B\+M\+A\+Console\+Session@{B\+M\+A\+Console\+Session}|hyperpage}{10} +\indexentry{B\+M\+A\+Console\+Session@{B\+M\+A\+Console\+Session}!output@{output}|hyperpage}{11} +\indexentry{output@{output}!B\+M\+A\+Console\+Session@{B\+M\+A\+Console\+Session}|hyperpage}{11} +\indexentry{B\+M\+A\+E\+Poll@{B\+M\+A\+E\+Poll}|hyperpage}{12} +\indexentry{B\+M\+A\+E\+Poll@{B\+M\+A\+E\+Poll}!register\+Socket@{register\+Socket}|hyperpage}{14} +\indexentry{register\+Socket@{register\+Socket}!B\+M\+A\+E\+Poll@{B\+M\+A\+E\+Poll}|hyperpage}{14} +\indexentry{B\+M\+A\+E\+Poll@{B\+M\+A\+E\+Poll}!unregister\+Socket@{unregister\+Socket}|hyperpage}{14} +\indexentry{unregister\+Socket@{unregister\+Socket}!B\+M\+A\+E\+Poll@{B\+M\+A\+E\+Poll}|hyperpage}{14} +\indexentry{B\+M\+A\+File@{B\+M\+A\+File}|hyperpage}{15} +\indexentry{B\+M\+A\+Header@{B\+M\+A\+Header}|hyperpage}{16} +\indexentry{B\+M\+A\+H\+T\+T\+P\+Request\+Handler@{B\+M\+A\+H\+T\+T\+P\+Request\+Handler}|hyperpage}{17} +\indexentry{B\+M\+A\+H\+T\+T\+P\+Server@{B\+M\+A\+H\+T\+T\+P\+Server}|hyperpage}{18} +\indexentry{B\+M\+A\+H\+T\+T\+P\+Session@{B\+M\+A\+H\+T\+T\+P\+Session}|hyperpage}{20} +\indexentry{B\+M\+A\+H\+T\+T\+P\+Session@{B\+M\+A\+H\+T\+T\+P\+Session}!on\+Data\+Received@{on\+Data\+Received}|hyperpage}{21} +\indexentry{on\+Data\+Received@{on\+Data\+Received}!B\+M\+A\+H\+T\+T\+P\+Session@{B\+M\+A\+H\+T\+T\+P\+Session}|hyperpage}{21} +\indexentry{B\+M\+A\+Log@{B\+M\+A\+Log}|hyperpage}{22} +\indexentry{B\+M\+A\+M\+P3\+File@{B\+M\+A\+M\+P3\+File}|hyperpage}{22} +\indexentry{B\+M\+A\+M\+P3\+Stream\+Content\+Provider@{B\+M\+A\+M\+P3\+Stream\+Content\+Provider}|hyperpage}{23} +\indexentry{B\+M\+A\+M\+P3\+Stream\+Frame@{B\+M\+A\+M\+P3\+Stream\+Frame}|hyperpage}{24} +\indexentry{B\+M\+A\+Object@{B\+M\+A\+Object}|hyperpage}{26} +\indexentry{B\+M\+A\+Parse\+Header@{B\+M\+A\+Parse\+Header}|hyperpage}{26} +\indexentry{B\+M\+A\+Property$<$ T $>$@{B\+M\+A\+Property$<$ T $>$}|hyperpage}{26} +\indexentry{B\+M\+A\+Session@{B\+M\+A\+Session}|hyperpage}{27} +\indexentry{B\+M\+A\+Session@{B\+M\+A\+Session}!on\+Connected@{on\+Connected}|hyperpage}{28} +\indexentry{on\+Connected@{on\+Connected}!B\+M\+A\+Session@{B\+M\+A\+Session}|hyperpage}{28} +\indexentry{B\+M\+A\+Session@{B\+M\+A\+Session}!on\+Data\+Received@{on\+Data\+Received}|hyperpage}{28} +\indexentry{on\+Data\+Received@{on\+Data\+Received}!B\+M\+A\+Session@{B\+M\+A\+Session}|hyperpage}{28} +\indexentry{B\+M\+A\+Session@{B\+M\+A\+Session}!output@{output}|hyperpage}{29} +\indexentry{output@{output}!B\+M\+A\+Session@{B\+M\+A\+Session}|hyperpage}{29} +\indexentry{B\+M\+A\+S\+I\+P\+I\+N\+V\+I\+TE@{B\+M\+A\+S\+I\+P\+I\+N\+V\+I\+TE}|hyperpage}{29} +\indexentry{B\+M\+A\+S\+I\+P\+R\+E\+G\+I\+S\+T\+ER@{B\+M\+A\+S\+I\+P\+R\+E\+G\+I\+S\+T\+ER}|hyperpage}{30} +\indexentry{B\+M\+A\+S\+I\+P\+Request\+Handler@{B\+M\+A\+S\+I\+P\+Request\+Handler}|hyperpage}{31} +\indexentry{B\+M\+A\+S\+I\+P\+Server@{B\+M\+A\+S\+I\+P\+Server}|hyperpage}{33} +\indexentry{B\+M\+A\+S\+I\+P\+Session@{B\+M\+A\+S\+I\+P\+Session}|hyperpage}{35} +\indexentry{B\+M\+A\+S\+I\+P\+Session@{B\+M\+A\+S\+I\+P\+Session}!on\+Data\+Received@{on\+Data\+Received}|hyperpage}{36} +\indexentry{on\+Data\+Received@{on\+Data\+Received}!B\+M\+A\+S\+I\+P\+Session@{B\+M\+A\+S\+I\+P\+Session}|hyperpage}{36} +\indexentry{B\+M\+A\+Socket@{B\+M\+A\+Socket}|hyperpage}{37} +\indexentry{B\+M\+A\+Socket@{B\+M\+A\+Socket}!````~B\+M\+A\+Socket@{$\sim$\+B\+M\+A\+Socket}|hyperpage}{39} +\indexentry{````~B\+M\+A\+Socket@{$\sim$\+B\+M\+A\+Socket}!B\+M\+A\+Socket@{B\+M\+A\+Socket}|hyperpage}{39} +\indexentry{B\+M\+A\+Socket@{B\+M\+A\+Socket}!event\+Received@{event\+Received}|hyperpage}{39} +\indexentry{event\+Received@{event\+Received}!B\+M\+A\+Socket@{B\+M\+A\+Socket}|hyperpage}{39} +\indexentry{B\+M\+A\+Socket@{B\+M\+A\+Socket}!on\+Connected@{on\+Connected}|hyperpage}{39} +\indexentry{on\+Connected@{on\+Connected}!B\+M\+A\+Socket@{B\+M\+A\+Socket}|hyperpage}{39} +\indexentry{B\+M\+A\+Socket@{B\+M\+A\+Socket}!on\+Data\+Received@{on\+Data\+Received}|hyperpage}{39} +\indexentry{on\+Data\+Received@{on\+Data\+Received}!B\+M\+A\+Socket@{B\+M\+A\+Socket}|hyperpage}{39} +\indexentry{B\+M\+A\+Socket@{B\+M\+A\+Socket}!on\+Registered@{on\+Registered}|hyperpage}{40} +\indexentry{on\+Registered@{on\+Registered}!B\+M\+A\+Socket@{B\+M\+A\+Socket}|hyperpage}{40} +\indexentry{B\+M\+A\+Stream\+Content\+Provider@{B\+M\+A\+Stream\+Content\+Provider}|hyperpage}{40} +\indexentry{B\+M\+A\+Stream\+Frame@{B\+M\+A\+Stream\+Frame}|hyperpage}{41} +\indexentry{B\+M\+A\+Stream\+Server@{B\+M\+A\+Stream\+Server}|hyperpage}{42} +\indexentry{B\+M\+A\+Stream\+Session@{B\+M\+A\+Stream\+Session}|hyperpage}{44} +\indexentry{B\+M\+A\+Stream\+Session@{B\+M\+A\+Stream\+Session}!on\+Data\+Received@{on\+Data\+Received}|hyperpage}{45} +\indexentry{on\+Data\+Received@{on\+Data\+Received}!B\+M\+A\+Stream\+Session@{B\+M\+A\+Stream\+Session}|hyperpage}{45} +\indexentry{B\+M\+A\+T\+C\+P\+Server\+Socket@{B\+M\+A\+T\+C\+P\+Server\+Socket}|hyperpage}{46} +\indexentry{B\+M\+A\+T\+C\+P\+Server\+Socket@{B\+M\+A\+T\+C\+P\+Server\+Socket}!accept@{accept}|hyperpage}{48} +\indexentry{accept@{accept}!B\+M\+A\+T\+C\+P\+Server\+Socket@{B\+M\+A\+T\+C\+P\+Server\+Socket}|hyperpage}{48} +\indexentry{B\+M\+A\+T\+C\+P\+Server\+Socket@{B\+M\+A\+T\+C\+P\+Server\+Socket}!on\+Data\+Received@{on\+Data\+Received}|hyperpage}{48} +\indexentry{on\+Data\+Received@{on\+Data\+Received}!B\+M\+A\+T\+C\+P\+Server\+Socket@{B\+M\+A\+T\+C\+P\+Server\+Socket}|hyperpage}{48} +\indexentry{B\+M\+A\+T\+C\+P\+Socket@{B\+M\+A\+T\+C\+P\+Socket}|hyperpage}{48} +\indexentry{B\+M\+A\+T\+C\+P\+Socket@{B\+M\+A\+T\+C\+P\+Socket}!on\+Connected@{on\+Connected}|hyperpage}{50} +\indexentry{on\+Connected@{on\+Connected}!B\+M\+A\+T\+C\+P\+Socket@{B\+M\+A\+T\+C\+P\+Socket}|hyperpage}{50} +\indexentry{B\+M\+A\+T\+C\+P\+Socket@{B\+M\+A\+T\+C\+P\+Socket}!output@{output}|hyperpage}{50} +\indexentry{output@{output}!B\+M\+A\+T\+C\+P\+Socket@{B\+M\+A\+T\+C\+P\+Socket}|hyperpage}{50} +\indexentry{B\+M\+A\+Thread@{B\+M\+A\+Thread}|hyperpage}{50} +\indexentry{B\+M\+A\+Timer@{B\+M\+A\+Timer}|hyperpage}{51} +\indexentry{B\+M\+A\+Timer@{B\+M\+A\+Timer}!on\+Data\+Received@{on\+Data\+Received}|hyperpage}{52} +\indexentry{on\+Data\+Received@{on\+Data\+Received}!B\+M\+A\+Timer@{B\+M\+A\+Timer}|hyperpage}{52} +\indexentry{B\+M\+A\+U\+D\+P\+Server\+Socket@{B\+M\+A\+U\+D\+P\+Server\+Socket}|hyperpage}{53} +\indexentry{B\+M\+A\+U\+D\+P\+Server\+Socket@{B\+M\+A\+U\+D\+P\+Server\+Socket}!on\+Data\+Received@{on\+Data\+Received}|hyperpage}{54} +\indexentry{on\+Data\+Received@{on\+Data\+Received}!B\+M\+A\+U\+D\+P\+Server\+Socket@{B\+M\+A\+U\+D\+P\+Server\+Socket}|hyperpage}{54} +\indexentry{B\+M\+A\+U\+D\+P\+Socket@{B\+M\+A\+U\+D\+P\+Socket}|hyperpage}{55} diff --git a/docs/latex/refman.ilg b/docs/latex/refman.ilg new file mode 100644 index 0000000..463b7c8 --- /dev/null +++ b/docs/latex/refman.ilg @@ -0,0 +1,6 @@ +This is makeindex, version 2.15 [TeX Live 2017] (kpathsea + Thai support). +Scanning input file refman.idx....done (75 entries accepted, 0 rejected). +Sorting entries....done (474 comparisons). +Generating output file refman.ind....done (106 lines written, 0 warnings). +Output written in refman.ind. +Transcript written in refman.ilg. diff --git a/docs/latex/refman.ind b/docs/latex/refman.ind new file mode 100644 index 0000000..e3bea10 --- /dev/null +++ b/docs/latex/refman.ind @@ -0,0 +1,106 @@ +\begin{theindex} + + \item {$\sim$\+B\+M\+A\+Socket} + \subitem {B\+M\+A\+Socket}, \hyperpage{39} + + \indexspace + + \item {accept} + \subitem {B\+M\+A\+T\+C\+P\+Server\+Socket}, \hyperpage{48} + + \indexspace + + \item {B\+M\+A\+Account}, \hyperpage{5} + \item {B\+M\+A\+Authenticate}, \hyperpage{6} + \item {B\+M\+A\+Command}, \hyperpage{7} + \item {B\+M\+A\+Console\+Server}, \hyperpage{8} + \item {B\+M\+A\+Console\+Session}, \hyperpage{10} + \subitem {output}, \hyperpage{11} + \item {B\+M\+A\+E\+Poll}, \hyperpage{12} + \subitem {register\+Socket}, \hyperpage{14} + \subitem {unregister\+Socket}, \hyperpage{14} + \item {B\+M\+A\+File}, \hyperpage{15} + \item {B\+M\+A\+H\+T\+T\+P\+Request\+Handler}, \hyperpage{17} + \item {B\+M\+A\+H\+T\+T\+P\+Server}, \hyperpage{18} + \item {B\+M\+A\+H\+T\+T\+P\+Session}, \hyperpage{20} + \subitem {on\+Data\+Received}, \hyperpage{21} + \item {B\+M\+A\+Header}, \hyperpage{16} + \item {B\+M\+A\+Log}, \hyperpage{22} + \item {B\+M\+A\+M\+P3\+File}, \hyperpage{22} + \item {B\+M\+A\+M\+P3\+Stream\+Content\+Provider}, \hyperpage{23} + \item {B\+M\+A\+M\+P3\+Stream\+Frame}, \hyperpage{24} + \item {B\+M\+A\+Object}, \hyperpage{26} + \item {B\+M\+A\+Parse\+Header}, \hyperpage{26} + \item {B\+M\+A\+Property$<$ T $>$}, \hyperpage{26} + \item {B\+M\+A\+S\+I\+P\+I\+N\+V\+I\+TE}, \hyperpage{29} + \item {B\+M\+A\+S\+I\+P\+R\+E\+G\+I\+S\+T\+ER}, \hyperpage{30} + \item {B\+M\+A\+S\+I\+P\+Request\+Handler}, \hyperpage{31} + \item {B\+M\+A\+S\+I\+P\+Server}, \hyperpage{33} + \item {B\+M\+A\+S\+I\+P\+Session}, \hyperpage{35} + \subitem {on\+Data\+Received}, \hyperpage{36} + \item {B\+M\+A\+Session}, \hyperpage{27} + \subitem {on\+Connected}, \hyperpage{28} + \subitem {on\+Data\+Received}, \hyperpage{28} + \subitem {output}, \hyperpage{29} + \item {B\+M\+A\+Socket}, \hyperpage{37} + \subitem {$\sim$\+B\+M\+A\+Socket}, \hyperpage{39} + \subitem {event\+Received}, \hyperpage{39} + \subitem {on\+Connected}, \hyperpage{39} + \subitem {on\+Data\+Received}, \hyperpage{39} + \subitem {on\+Registered}, \hyperpage{40} + \item {B\+M\+A\+Stream\+Content\+Provider}, \hyperpage{40} + \item {B\+M\+A\+Stream\+Frame}, \hyperpage{41} + \item {B\+M\+A\+Stream\+Server}, \hyperpage{42} + \item {B\+M\+A\+Stream\+Session}, \hyperpage{44} + \subitem {on\+Data\+Received}, \hyperpage{45} + \item {B\+M\+A\+T\+C\+P\+Server\+Socket}, \hyperpage{46} + \subitem {accept}, \hyperpage{48} + \subitem {on\+Data\+Received}, \hyperpage{48} + \item {B\+M\+A\+T\+C\+P\+Socket}, \hyperpage{48} + \subitem {on\+Connected}, \hyperpage{50} + \subitem {output}, \hyperpage{50} + \item {B\+M\+A\+Thread}, \hyperpage{50} + \item {B\+M\+A\+Timer}, \hyperpage{51} + \subitem {on\+Data\+Received}, \hyperpage{52} + \item {B\+M\+A\+U\+D\+P\+Server\+Socket}, \hyperpage{53} + \subitem {on\+Data\+Received}, \hyperpage{54} + \item {B\+M\+A\+U\+D\+P\+Socket}, \hyperpage{55} + + \indexspace + + \item {event\+Received} + \subitem {B\+M\+A\+Socket}, \hyperpage{39} + + \indexspace + + \item {on\+Connected} + \subitem {B\+M\+A\+Session}, \hyperpage{28} + \subitem {B\+M\+A\+Socket}, \hyperpage{39} + \subitem {B\+M\+A\+T\+C\+P\+Socket}, \hyperpage{50} + \item {on\+Data\+Received} + \subitem {B\+M\+A\+H\+T\+T\+P\+Session}, \hyperpage{21} + \subitem {B\+M\+A\+S\+I\+P\+Session}, \hyperpage{36} + \subitem {B\+M\+A\+Session}, \hyperpage{28} + \subitem {B\+M\+A\+Socket}, \hyperpage{39} + \subitem {B\+M\+A\+Stream\+Session}, \hyperpage{45} + \subitem {B\+M\+A\+T\+C\+P\+Server\+Socket}, \hyperpage{48} + \subitem {B\+M\+A\+Timer}, \hyperpage{52} + \subitem {B\+M\+A\+U\+D\+P\+Server\+Socket}, \hyperpage{54} + \item {on\+Registered} + \subitem {B\+M\+A\+Socket}, \hyperpage{40} + \item {output} + \subitem {B\+M\+A\+Console\+Session}, \hyperpage{11} + \subitem {B\+M\+A\+Session}, \hyperpage{29} + \subitem {B\+M\+A\+T\+C\+P\+Socket}, \hyperpage{50} + + \indexspace + + \item {register\+Socket} + \subitem {B\+M\+A\+E\+Poll}, \hyperpage{14} + + \indexspace + + \item {unregister\+Socket} + \subitem {B\+M\+A\+E\+Poll}, \hyperpage{14} + +\end{theindex} diff --git a/docs/latex/refman.log b/docs/latex/refman.log new file mode 100644 index 0000000..73daa4a --- /dev/null +++ b/docs/latex/refman.log @@ -0,0 +1,1884 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017/Debian) (preloaded format=pdflatex 2018.4.10) 19 APR 2018 10:45 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**refman +(./refman.tex +LaTeX2e <2017-04-15> +Babel <3.18> and hyphenation patterns for 3 language(s) loaded. +(/usr/share/texlive/texmf-dist/tex/latex/base/book.cls +Document Class: book 2014/09/29 v1.4h Standard LaTeX document class +(/usr/share/texlive/texmf-dist/tex/latex/base/bk10.clo +File: bk10.clo 2014/09/29 v1.4h Standard LaTeX file (size option) +) +\c@part=\count79 +\c@chapter=\count80 +\c@section=\count81 +\c@subsection=\count82 +\c@subsubsection=\count83 +\c@paragraph=\count84 +\c@subparagraph=\count85 +\c@figure=\count86 +\c@table=\count87 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) +(/usr/share/texlive/texmf-dist/tex/latex/base/fixltx2e.sty +Package: fixltx2e 2016/12/29 v2.1a fixes to LaTeX (obsolete) +Applying: [2015/01/01] Old fixltx2e package on input line 46. + + +Package fixltx2e Warning: fixltx2e is not required with releases after 2015 +(fixltx2e) All fixes are now in the LaTeX kernel. +(fixltx2e) See the latexrelease package for details. + +Already applied: [0000/00/00] Old fixltx2e package on input line 53. +) (/usr/share/texlive/texmf-dist/tex/latex/tools/calc.sty +Package: calc 2014/10/28 v4.3 Infix arithmetic (KKT,FJ) +\calc@Acount=\count88 +\calc@Bcount=\count89 +\calc@Adimen=\dimen103 +\calc@Bdimen=\dimen104 +\calc@Askip=\skip43 +\calc@Bskip=\skip44 +LaTeX Info: Redefining \setlength on input line 80. +LaTeX Info: Redefining \addtolength on input line 81. +\calc@Ccount=\count90 +\calc@Cskip=\skip45 +) (./doxygen.sty +Package: doxygen + +(/usr/share/texlive/texmf-dist/tex/latex/base/alltt.sty +Package: alltt 1997/06/16 v2.0g defines alltt environment +) +(/usr/share/texlive/texmf-dist/tex/latex/tools/array.sty +Package: array 2016/10/06 v2.4d Tabular extension package (FMi) +\col@sep=\dimen105 +\extrarowheight=\dimen106 +\NC@list=\toks14 +\extratabsurround=\skip46 +\backup@length=\skip47 +) +(/usr/share/texlive/texmf-dist/tex/latex/float/float.sty +Package: float 2001/11/08 v1.3d Float enhancements (AL) +\c@float@type=\count91 +\float@exts=\toks15 +\float@box=\box26 +\@float@everytoks=\toks16 +\@floatcapt=\box27 +) +(/usr/share/texlive/texmf-dist/tex/latex/base/ifthen.sty +Package: ifthen 2014/09/29 v1.1c Standard LaTeX ifthen package (DPC) +) +(/usr/share/texlive/texmf-dist/tex/latex/tools/verbatim.sty +Package: verbatim 2014/10/28 v1.5q LaTeX2e package for verbatim enhancements +\every@verbatim=\toks17 +\verbatim@line=\toks18 +\verbatim@in@stream=\read1 +) +(/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty +Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package xcolor Info: Driver file: pdftex.def on input line 225. + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2018/01/08 v1.0l Graphics/color driver for pdftex +) +(/usr/share/texlive/texmf-dist/tex/latex/colortbl/colortbl.sty +Package: colortbl 2012/02/13 v1.0a Color table columns (DPC) +\everycr=\toks19 +\minrowclearance=\skip48 +) +\rownum=\count92 +Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. +Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1352. +Package xcolor Info: Model `RGB' extended on input line 1364. +Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. +Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. +Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368. +Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369. +Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370. +Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371. +) +(/usr/share/texlive/texmf-dist/tex/latex/tools/longtable.sty +Package: longtable 2014/10/28 v4.11 Multi-page Table package (DPC) +\LTleft=\skip49 +\LTright=\skip50 +\LTpre=\skip51 +\LTpost=\skip52 +\LTchunksize=\count93 +\LTcapwidth=\dimen107 +\LT@head=\box28 +\LT@firsthead=\box29 +\LT@foot=\box30 +\LT@lastfoot=\box31 +\LT@cols=\count94 +\LT@rows=\count95 +\c@LT@tables=\count96 +\c@LT@chunks=\count97 +\LT@p@ftn=\toks20 +) +(/usr/share/texlive/texmf-dist/tex/latex/tabu/tabu.sty +Package: tabu 2011/02/26 v2.8 - flexible LaTeX tabulars (FC) + +(/usr/share/texlive/texmf-dist/tex/latex/varwidth/varwidth.sty +Package: varwidth 2009/03/30 ver 0.92; Variable-width minipages +\@vwid@box=\box32 +\sift@deathcycles=\count98 +\@vwid@loff=\dimen108 +\@vwid@roff=\dimen109 +) +\c@taburow=\count99 +\tabu@nbcols=\count100 +\tabu@cnt=\count101 +\tabu@Xcol=\count102 +\tabu@alloc=\count103 +\tabu@nested=\count104 +\tabu@target=\dimen110 +\tabu@spreadtarget=\dimen111 +\tabu@naturalX=\dimen112 +\tabucolX=\dimen113 +\tabu@Xsum=\dimen114 +\extrarowdepth=\dimen115 +\abovetabulinesep=\dimen116 +\belowtabulinesep=\dimen117 +\tabustrutrule=\dimen118 +\tabu@thebody=\toks21 +\tabu@footnotes=\toks22 +\tabu@box=\box33 +\tabu@arstrutbox=\box34 +\tabu@hleads=\box35 +\tabu@vleads=\box36 +\tabu@cellskip=\skip53 +) +(/usr/share/texlive/texmf-dist/tex/latex/tools/tabularx.sty +Package: tabularx 2016/02/03 v2.11 `tabularx' package (DPC) +\TX@col@width=\dimen119 +\TX@old@table=\dimen120 +\TX@old@col=\dimen121 +\TX@target=\dimen122 +\TX@delta=\dimen123 +\TX@cols=\count105 +\TX@ftn=\toks23 +) +(/usr/share/texlive/texmf-dist/tex/latex/multirow/multirow.sty +Package: multirow 2016/11/25 v2.2 Span multiple rows of a table +\multirow@colwidth=\skip54 +\multirow@cntb=\count106 +\multirow@dima=\skip55 +\bigstrutjot=\dimen124 +) +\xrefbox=\box37 +\xreflength=\skip56 +) +(/usr/share/texlive/texmf-dist/tex/latex/adjustbox/adjustbox.sty +Package: adjustbox 2012/05/21 v1.0 Adjusting TeX boxes (trim, clip, ...) + +(/usr/share/texlive/texmf-dist/tex/latex/xkeyval/xkeyval.sty +Package: xkeyval 2014/12/03 v2.7a package option processing (HA) + +(/usr/share/texlive/texmf-dist/tex/generic/xkeyval/xkeyval.tex +(/usr/share/texlive/texmf-dist/tex/generic/xkeyval/xkvutils.tex +\XKV@toks=\toks24 +\XKV@tempa@toks=\toks25 + +(/usr/share/texlive/texmf-dist/tex/generic/xkeyval/keyval.tex)) +\XKV@depth=\count107 +File: xkeyval.tex 2014/12/03 v2.7a key=value parser (HA) +)) +(/usr/share/texlive/texmf-dist/tex/latex/adjustbox/adjcalc.sty +Package: adjcalc 2012/05/16 v1.1 Provides advanced setlength with multiple back +-ends (calc, etex, pgfmath) +) +(/usr/share/texlive/texmf-dist/tex/latex/adjustbox/trimclip.sty +Package: trimclip 2012/05/16 v1.0 Trim and clip general TeX material + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2017/06/01 v1.1a Enhanced LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2017/06/25 v1.2c Standard LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: pdftex.def on input line 99. +) +\Gin@req@height=\dimen125 +\Gin@req@width=\dimen126 +) +(/usr/share/texlive/texmf-dist/tex/latex/collectbox/collectbox.sty +Package: collectbox 2012/05/17 v0.4b Collect macro arguments as boxes +\collectedbox=\box38 +) +\tc@llx=\dimen127 +\tc@lly=\dimen128 +\tc@urx=\dimen129 +\tc@ury=\dimen130 +Package trimclip Info: Using driver 'tc-pdftex.def'. + +(/usr/share/texlive/texmf-dist/tex/latex/adjustbox/tc-pdftex.def +File: tc-pdftex.def 2012/05/13 v1.0 Clipping driver for pdftex +)) +\adjbox@Width=\dimen131 +\adjbox@Height=\dimen132 +\adjbox@Depth=\dimen133 +\adjbox@Totalheight=\dimen134 + +(/usr/share/texlive/texmf-dist/tex/latex/ifoddpage/ifoddpage.sty +Package: ifoddpage 2016/04/23 v1.1 Conditionals for odd/even page detection +\c@checkoddpage=\count108 +)) +(/usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty +Package: inputenc 2015/03/17 v1.2c Input encoding file +\inpenc@prehook=\toks26 +\inpenc@posthook=\toks27 + +(/usr/share/texlive/texmf-dist/tex/latex/base/utf8.def +File: utf8.def 2017/01/28 v1.1t UTF-8 support for inputenc +Now handling font encoding OML ... +... no UTF-8 mapping file for font encoding OML +Now handling font encoding T1 ... +... processing UTF-8 mapping file for font encoding T1 + +(/usr/share/texlive/texmf-dist/tex/latex/base/t1enc.dfu +File: t1enc.dfu 2017/01/28 v1.1t UTF-8 support for inputenc + defining Unicode char U+00A0 (decimal 160) + defining Unicode char U+00A1 (decimal 161) + defining Unicode char U+00A3 (decimal 163) + defining Unicode char U+00AB (decimal 171) + defining Unicode char U+00AD (decimal 173) + defining Unicode char U+00BB (decimal 187) + defining Unicode char U+00BF (decimal 191) + defining Unicode char U+00C0 (decimal 192) + defining Unicode char U+00C1 (decimal 193) + defining Unicode char U+00C2 (decimal 194) + defining Unicode char U+00C3 (decimal 195) + defining Unicode char U+00C4 (decimal 196) + defining Unicode char U+00C5 (decimal 197) + defining Unicode char U+00C6 (decimal 198) + defining Unicode char U+00C7 (decimal 199) + defining Unicode char U+00C8 (decimal 200) + defining Unicode char U+00C9 (decimal 201) + defining Unicode char U+00CA (decimal 202) + defining Unicode char U+00CB (decimal 203) + defining Unicode char U+00CC (decimal 204) + defining Unicode char U+00CD (decimal 205) + defining Unicode char U+00CE (decimal 206) + defining Unicode char U+00CF (decimal 207) + defining Unicode char U+00D0 (decimal 208) + defining Unicode char U+00D1 (decimal 209) + defining Unicode char U+00D2 (decimal 210) + defining Unicode char U+00D3 (decimal 211) + defining Unicode char U+00D4 (decimal 212) + defining Unicode char U+00D5 (decimal 213) + defining Unicode char U+00D6 (decimal 214) + defining Unicode char U+00D8 (decimal 216) + defining Unicode char U+00D9 (decimal 217) + defining Unicode char U+00DA (decimal 218) + defining Unicode char U+00DB (decimal 219) + defining Unicode char U+00DC (decimal 220) + defining Unicode char U+00DD (decimal 221) + defining Unicode char U+00DE (decimal 222) + defining Unicode char U+00DF (decimal 223) + defining Unicode char U+00E0 (decimal 224) + defining Unicode char U+00E1 (decimal 225) + defining Unicode char U+00E2 (decimal 226) + defining Unicode char U+00E3 (decimal 227) + defining Unicode char U+00E4 (decimal 228) + defining Unicode char U+00E5 (decimal 229) + defining Unicode char U+00E6 (decimal 230) + defining Unicode char U+00E7 (decimal 231) + defining Unicode char U+00E8 (decimal 232) + defining Unicode char U+00E9 (decimal 233) + defining Unicode char U+00EA (decimal 234) + defining Unicode char U+00EB (decimal 235) + defining Unicode char U+00EC (decimal 236) + defining Unicode char U+00ED (decimal 237) + defining Unicode char U+00EE (decimal 238) + defining Unicode char U+00EF (decimal 239) + defining Unicode char U+00F0 (decimal 240) + defining Unicode char U+00F1 (decimal 241) + defining Unicode char U+00F2 (decimal 242) + defining Unicode char U+00F3 (decimal 243) + defining Unicode char U+00F4 (decimal 244) + defining Unicode char U+00F5 (decimal 245) + defining Unicode char U+00F6 (decimal 246) + defining Unicode char U+00F8 (decimal 248) + defining Unicode char U+00F9 (decimal 249) + defining Unicode char U+00FA (decimal 250) + defining Unicode char U+00FB (decimal 251) + defining Unicode char U+00FC (decimal 252) + defining Unicode char U+00FD (decimal 253) + defining Unicode char U+00FE (decimal 254) + defining Unicode char U+00FF (decimal 255) + defining Unicode char U+0100 (decimal 256) + defining Unicode char U+0101 (decimal 257) + defining Unicode char U+0102 (decimal 258) + defining Unicode char U+0103 (decimal 259) + defining Unicode char U+0104 (decimal 260) + defining Unicode char U+0105 (decimal 261) + defining Unicode char U+0106 (decimal 262) + defining Unicode char U+0107 (decimal 263) + defining Unicode char U+0108 (decimal 264) + defining Unicode char U+0109 (decimal 265) + defining Unicode char U+010A (decimal 266) + defining Unicode char U+010B (decimal 267) + defining Unicode char U+010C (decimal 268) + defining Unicode char U+010D (decimal 269) + defining Unicode char U+010E (decimal 270) + defining Unicode char U+010F (decimal 271) + defining Unicode char U+0110 (decimal 272) + defining Unicode char U+0111 (decimal 273) + defining Unicode char U+0112 (decimal 274) + defining Unicode char U+0113 (decimal 275) + defining Unicode char U+0114 (decimal 276) + defining Unicode char U+0115 (decimal 277) + defining Unicode char U+0116 (decimal 278) + defining Unicode char U+0117 (decimal 279) + defining Unicode char U+0118 (decimal 280) + defining Unicode char U+0119 (decimal 281) + defining Unicode char U+011A (decimal 282) + defining Unicode char U+011B (decimal 283) + defining Unicode char U+011C (decimal 284) + defining Unicode char U+011D (decimal 285) + defining Unicode char U+011E (decimal 286) + defining Unicode char U+011F (decimal 287) + defining Unicode char U+0120 (decimal 288) + defining Unicode char U+0121 (decimal 289) + defining Unicode char U+0122 (decimal 290) + defining Unicode char U+0123 (decimal 291) + defining Unicode char U+0124 (decimal 292) + defining Unicode char U+0125 (decimal 293) + defining Unicode char U+0128 (decimal 296) + defining Unicode char U+0129 (decimal 297) + defining Unicode char U+012A (decimal 298) + defining Unicode char U+012B (decimal 299) + defining Unicode char U+012C (decimal 300) + defining Unicode char U+012D (decimal 301) + defining Unicode char U+012E (decimal 302) + defining Unicode char U+012F (decimal 303) + defining Unicode char U+0130 (decimal 304) + defining Unicode char U+0131 (decimal 305) + defining Unicode char U+0132 (decimal 306) + defining Unicode char U+0133 (decimal 307) + defining Unicode char U+0134 (decimal 308) + defining Unicode char U+0135 (decimal 309) + defining Unicode char U+0136 (decimal 310) + defining Unicode char U+0137 (decimal 311) + defining Unicode char U+0139 (decimal 313) + defining Unicode char U+013A (decimal 314) + defining Unicode char U+013B (decimal 315) + defining Unicode char U+013C (decimal 316) + defining Unicode char U+013D (decimal 317) + defining Unicode char U+013E (decimal 318) + defining Unicode char U+0141 (decimal 321) + defining Unicode char U+0142 (decimal 322) + defining Unicode char U+0143 (decimal 323) + defining Unicode char U+0144 (decimal 324) + defining Unicode char U+0145 (decimal 325) + defining Unicode char U+0146 (decimal 326) + defining Unicode char U+0147 (decimal 327) + defining Unicode char U+0148 (decimal 328) + defining Unicode char U+014A (decimal 330) + defining Unicode char U+014B (decimal 331) + defining Unicode char U+014C (decimal 332) + defining Unicode char U+014D (decimal 333) + defining Unicode char U+014E (decimal 334) + defining Unicode char U+014F (decimal 335) + defining Unicode char U+0150 (decimal 336) + defining Unicode char U+0151 (decimal 337) + defining Unicode char U+0152 (decimal 338) + defining Unicode char U+0153 (decimal 339) + defining Unicode char U+0154 (decimal 340) + defining Unicode char U+0155 (decimal 341) + defining Unicode char U+0156 (decimal 342) + defining Unicode char U+0157 (decimal 343) + defining Unicode char U+0158 (decimal 344) + defining Unicode char U+0159 (decimal 345) + defining Unicode char U+015A (decimal 346) + defining Unicode char U+015B (decimal 347) + defining Unicode char U+015C (decimal 348) + defining Unicode char U+015D (decimal 349) + defining Unicode char U+015E (decimal 350) + defining Unicode char U+015F (decimal 351) + defining Unicode char U+0160 (decimal 352) + defining Unicode char U+0161 (decimal 353) + defining Unicode char U+0162 (decimal 354) + defining Unicode char U+0163 (decimal 355) + defining Unicode char U+0164 (decimal 356) + defining Unicode char U+0165 (decimal 357) + defining Unicode char U+0168 (decimal 360) + defining Unicode char U+0169 (decimal 361) + defining Unicode char U+016A (decimal 362) + defining Unicode char U+016B (decimal 363) + defining Unicode char U+016C (decimal 364) + defining Unicode char U+016D (decimal 365) + defining Unicode char U+016E (decimal 366) + defining Unicode char U+016F (decimal 367) + defining Unicode char U+0170 (decimal 368) + defining Unicode char U+0171 (decimal 369) + defining Unicode char U+0172 (decimal 370) + defining Unicode char U+0173 (decimal 371) + defining Unicode char U+0174 (decimal 372) + defining Unicode char U+0175 (decimal 373) + defining Unicode char U+0176 (decimal 374) + defining Unicode char U+0177 (decimal 375) + defining Unicode char U+0178 (decimal 376) + defining Unicode char U+0179 (decimal 377) + defining Unicode char U+017A (decimal 378) + defining Unicode char U+017B (decimal 379) + defining Unicode char U+017C (decimal 380) + defining Unicode char U+017D (decimal 381) + defining Unicode char U+017E (decimal 382) + defining Unicode char U+01CD (decimal 461) + defining Unicode char U+01CE (decimal 462) + defining Unicode char U+01CF (decimal 463) + defining Unicode char U+01D0 (decimal 464) + defining Unicode char U+01D1 (decimal 465) + defining Unicode char U+01D2 (decimal 466) + defining Unicode char U+01D3 (decimal 467) + defining Unicode char U+01D4 (decimal 468) + defining Unicode char U+01E2 (decimal 482) + defining Unicode char U+01E3 (decimal 483) + defining Unicode char U+01E6 (decimal 486) + defining Unicode char U+01E7 (decimal 487) + defining Unicode char U+01E8 (decimal 488) + defining Unicode char U+01E9 (decimal 489) + defining Unicode char U+01EA (decimal 490) + defining Unicode char U+01EB (decimal 491) + defining Unicode char U+01F0 (decimal 496) + defining Unicode char U+01F4 (decimal 500) + defining Unicode char U+01F5 (decimal 501) + defining Unicode char U+0218 (decimal 536) + defining Unicode char U+0219 (decimal 537) + defining Unicode char U+021A (decimal 538) + defining Unicode char U+021B (decimal 539) + defining Unicode char U+0232 (decimal 562) + defining Unicode char U+0233 (decimal 563) + defining Unicode char U+1E02 (decimal 7682) + defining Unicode char U+1E03 (decimal 7683) + defining Unicode char U+200C (decimal 8204) + defining Unicode char U+2010 (decimal 8208) + defining Unicode char U+2011 (decimal 8209) + defining Unicode char U+2012 (decimal 8210) + defining Unicode char U+2013 (decimal 8211) + defining Unicode char U+2014 (decimal 8212) + defining Unicode char U+2015 (decimal 8213) + defining Unicode char U+2018 (decimal 8216) + defining Unicode char U+2019 (decimal 8217) + defining Unicode char U+201A (decimal 8218) + defining Unicode char U+201C (decimal 8220) + defining Unicode char U+201D (decimal 8221) + defining Unicode char U+201E (decimal 8222) + defining Unicode char U+2030 (decimal 8240) + defining Unicode char U+2031 (decimal 8241) + defining Unicode char U+2039 (decimal 8249) + defining Unicode char U+203A (decimal 8250) + defining Unicode char U+2423 (decimal 9251) + defining Unicode char U+1E20 (decimal 7712) + defining Unicode char U+1E21 (decimal 7713) +) +Now handling font encoding OT1 ... +... processing UTF-8 mapping file for font encoding OT1 + +(/usr/share/texlive/texmf-dist/tex/latex/base/ot1enc.dfu +File: ot1enc.dfu 2017/01/28 v1.1t UTF-8 support for inputenc + defining Unicode char U+00A0 (decimal 160) + defining Unicode char U+00A1 (decimal 161) + defining Unicode char U+00A3 (decimal 163) + defining Unicode char U+00AD (decimal 173) + defining Unicode char U+00B8 (decimal 184) + defining Unicode char U+00BF (decimal 191) + defining Unicode char U+00C5 (decimal 197) + defining Unicode char U+00C6 (decimal 198) + defining Unicode char U+00D8 (decimal 216) + defining Unicode char U+00DF (decimal 223) + defining Unicode char U+00E6 (decimal 230) + defining Unicode char U+00EC (decimal 236) + defining Unicode char U+00ED (decimal 237) + defining Unicode char U+00EE (decimal 238) + defining Unicode char U+00EF (decimal 239) + defining Unicode char U+00F8 (decimal 248) + defining Unicode char U+0131 (decimal 305) + defining Unicode char U+0141 (decimal 321) + defining Unicode char U+0142 (decimal 322) + defining Unicode char U+0152 (decimal 338) + defining Unicode char U+0153 (decimal 339) + defining Unicode char U+0174 (decimal 372) + defining Unicode char U+0175 (decimal 373) + defining Unicode char U+0176 (decimal 374) + defining Unicode char U+0177 (decimal 375) + defining Unicode char U+0218 (decimal 536) + defining Unicode char U+0219 (decimal 537) + defining Unicode char U+021A (decimal 538) + defining Unicode char U+021B (decimal 539) + defining Unicode char U+2013 (decimal 8211) + defining Unicode char U+2014 (decimal 8212) + defining Unicode char U+2018 (decimal 8216) + defining Unicode char U+2019 (decimal 8217) + defining Unicode char U+201C (decimal 8220) + defining Unicode char U+201D (decimal 8221) +) +Now handling font encoding OMS ... +... processing UTF-8 mapping file for font encoding OMS + +(/usr/share/texlive/texmf-dist/tex/latex/base/omsenc.dfu +File: omsenc.dfu 2017/01/28 v1.1t UTF-8 support for inputenc + defining Unicode char U+00A7 (decimal 167) + defining Unicode char U+00B6 (decimal 182) + defining Unicode char U+00B7 (decimal 183) + defining Unicode char U+2020 (decimal 8224) + defining Unicode char U+2021 (decimal 8225) + defining Unicode char U+2022 (decimal 8226) +) +Now handling font encoding OMX ... +... no UTF-8 mapping file for font encoding OMX +Now handling font encoding U ... +... no UTF-8 mapping file for font encoding U + defining Unicode char U+00A9 (decimal 169) + defining Unicode char U+00AA (decimal 170) + defining Unicode char U+00AE (decimal 174) + defining Unicode char U+00BA (decimal 186) + defining Unicode char U+02C6 (decimal 710) + defining Unicode char U+02DC (decimal 732) + defining Unicode char U+200C (decimal 8204) + defining Unicode char U+2026 (decimal 8230) + defining Unicode char U+2122 (decimal 8482) + defining Unicode char U+2423 (decimal 9251) +)) +(/usr/share/texlive/texmf-dist/tex/latex/base/makeidx.sty +Package: makeidx 2014/09/29 v1.0m Standard LaTeX package +) +(/usr/share/texlive/texmf-dist/tex/latex/tools/multicol.sty +Package: multicol 2017/04/11 v1.8q multicolumn formatting (FMi) +\c@tracingmulticols=\count109 +\mult@box=\box39 +\multicol@leftmargin=\dimen135 +\c@unbalance=\count110 +\c@collectmore=\count111 +\doublecol@number=\count112 +\multicoltolerance=\count113 +\multicolpretolerance=\count114 +\full@width=\dimen136 +\page@free=\dimen137 +\premulticols=\dimen138 +\postmulticols=\dimen139 +\multicolsep=\skip57 +\multicolbaselineskip=\skip58 +\partial@page=\box40 +\last@line=\box41 +\maxbalancingoverflow=\dimen140 +\mult@rightbox=\box42 +\mult@grightbox=\box43 +\mult@gfirstbox=\box44 +\mult@firstbox=\box45 +\@tempa=\box46 +\@tempa=\box47 +\@tempa=\box48 +\@tempa=\box49 +\@tempa=\box50 +\@tempa=\box51 +\@tempa=\box52 +\@tempa=\box53 +\@tempa=\box54 +\@tempa=\box55 +\@tempa=\box56 +\@tempa=\box57 +\@tempa=\box58 +\@tempa=\box59 +\@tempa=\box60 +\@tempa=\box61 +\@tempa=\box62 +\c@columnbadness=\count115 +\c@finalcolumnbadness=\count116 +\last@try=\dimen141 +\multicolovershoot=\dimen142 +\multicolundershoot=\dimen143 +\mult@nat@firstbox=\box63 +\colbreak@box=\box64 +\mc@col@check@num=\count117 +) +(/usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty +Package: textcomp 2017/04/05 v2.0i Standard LaTeX package +Package textcomp Info: Sub-encoding information: +(textcomp) 5 = only ISO-Adobe without \textcurrency +(textcomp) 4 = 5 + \texteuro +(textcomp) 3 = 4 + \textohm +(textcomp) 2 = 3 + \textestimated + \textcurrency +(textcomp) 1 = TS1 - \textcircled - \t +(textcomp) 0 = TS1 (full) +(textcomp) Font families with sub-encoding setting implement +(textcomp) only a restricted character set as indicated. +(textcomp) Family '?' is the default used for unknown fonts. +(textcomp) See the documentation for details. +Package textcomp Info: Setting ? sub-encoding to TS1/1 on input line 79. + +(/usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.def +File: ts1enc.def 2001/06/05 v3.0e (jk/car/fm) Standard LaTeX file +Now handling font encoding TS1 ... +... processing UTF-8 mapping file for font encoding TS1 + +(/usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.dfu +File: ts1enc.dfu 2017/01/28 v1.1t UTF-8 support for inputenc + defining Unicode char U+00A2 (decimal 162) + defining Unicode char U+00A3 (decimal 163) + defining Unicode char U+00A4 (decimal 164) + defining Unicode char U+00A5 (decimal 165) + defining Unicode char U+00A6 (decimal 166) + defining Unicode char U+00A7 (decimal 167) + defining Unicode char U+00A8 (decimal 168) + defining Unicode char U+00A9 (decimal 169) + defining Unicode char U+00AA (decimal 170) + defining Unicode char U+00AC (decimal 172) + defining Unicode char U+00AE (decimal 174) + defining Unicode char U+00AF (decimal 175) + defining Unicode char U+00B0 (decimal 176) + defining Unicode char U+00B1 (decimal 177) + defining Unicode char U+00B2 (decimal 178) + defining Unicode char U+00B3 (decimal 179) + defining Unicode char U+00B4 (decimal 180) + defining Unicode char U+00B5 (decimal 181) + defining Unicode char U+00B6 (decimal 182) + defining Unicode char U+00B7 (decimal 183) + defining Unicode char U+00B9 (decimal 185) + defining Unicode char U+00BA (decimal 186) + defining Unicode char U+00BC (decimal 188) + defining Unicode char U+00BD (decimal 189) + defining Unicode char U+00BE (decimal 190) + defining Unicode char U+00D7 (decimal 215) + defining Unicode char U+00F7 (decimal 247) + defining Unicode char U+0192 (decimal 402) + defining Unicode char U+02C7 (decimal 711) + defining Unicode char U+02D8 (decimal 728) + defining Unicode char U+02DD (decimal 733) + defining Unicode char U+0E3F (decimal 3647) + defining Unicode char U+2016 (decimal 8214) + defining Unicode char U+2020 (decimal 8224) + defining Unicode char U+2021 (decimal 8225) + defining Unicode char U+2022 (decimal 8226) + defining Unicode char U+2030 (decimal 8240) + defining Unicode char U+2031 (decimal 8241) + defining Unicode char U+203B (decimal 8251) + defining Unicode char U+203D (decimal 8253) + defining Unicode char U+2044 (decimal 8260) + defining Unicode char U+204E (decimal 8270) + defining Unicode char U+2052 (decimal 8274) + defining Unicode char U+20A1 (decimal 8353) + defining Unicode char U+20A4 (decimal 8356) + defining Unicode char U+20A6 (decimal 8358) + defining Unicode char U+20A9 (decimal 8361) + defining Unicode char U+20AB (decimal 8363) + defining Unicode char U+20AC (decimal 8364) + defining Unicode char U+20B1 (decimal 8369) + defining Unicode char U+2103 (decimal 8451) + defining Unicode char U+2116 (decimal 8470) + defining Unicode char U+2117 (decimal 8471) + defining Unicode char U+211E (decimal 8478) + defining Unicode char U+2120 (decimal 8480) + defining Unicode char U+2122 (decimal 8482) + defining Unicode char U+2126 (decimal 8486) + defining Unicode char U+2127 (decimal 8487) + defining Unicode char U+212E (decimal 8494) + defining Unicode char U+2190 (decimal 8592) + defining Unicode char U+2191 (decimal 8593) + defining Unicode char U+2192 (decimal 8594) + defining Unicode char U+2193 (decimal 8595) + defining Unicode char U+2329 (decimal 9001) + defining Unicode char U+232A (decimal 9002) + defining Unicode char U+2422 (decimal 9250) + defining Unicode char U+25E6 (decimal 9702) + defining Unicode char U+25EF (decimal 9711) + defining Unicode char U+266A (decimal 9834) +)) +LaTeX Info: Redefining \oldstylenums on input line 334. +Package textcomp Info: Setting cmr sub-encoding to TS1/0 on input line 349. +Package textcomp Info: Setting cmss sub-encoding to TS1/0 on input line 350. +Package textcomp Info: Setting cmtt sub-encoding to TS1/0 on input line 351. +Package textcomp Info: Setting cmvtt sub-encoding to TS1/0 on input line 352. +Package textcomp Info: Setting cmbr sub-encoding to TS1/0 on input line 353. +Package textcomp Info: Setting cmtl sub-encoding to TS1/0 on input line 354. +Package textcomp Info: Setting ccr sub-encoding to TS1/0 on input line 355. +Package textcomp Info: Setting ptm sub-encoding to TS1/4 on input line 356. +Package textcomp Info: Setting pcr sub-encoding to TS1/4 on input line 357. +Package textcomp Info: Setting phv sub-encoding to TS1/4 on input line 358. +Package textcomp Info: Setting ppl sub-encoding to TS1/3 on input line 359. +Package textcomp Info: Setting pag sub-encoding to TS1/4 on input line 360. +Package textcomp Info: Setting pbk sub-encoding to TS1/4 on input line 361. +Package textcomp Info: Setting pnc sub-encoding to TS1/4 on input line 362. +Package textcomp Info: Setting pzc sub-encoding to TS1/4 on input line 363. +Package textcomp Info: Setting bch sub-encoding to TS1/4 on input line 364. +Package textcomp Info: Setting put sub-encoding to TS1/5 on input line 365. +Package textcomp Info: Setting uag sub-encoding to TS1/5 on input line 366. +Package textcomp Info: Setting ugq sub-encoding to TS1/5 on input line 367. +Package textcomp Info: Setting ul8 sub-encoding to TS1/4 on input line 368. +Package textcomp Info: Setting ul9 sub-encoding to TS1/4 on input line 369. +Package textcomp Info: Setting augie sub-encoding to TS1/5 on input line 370. +Package textcomp Info: Setting dayrom sub-encoding to TS1/3 on input line 371. +Package textcomp Info: Setting dayroms sub-encoding to TS1/3 on input line 372. + +Package textcomp Info: Setting pxr sub-encoding to TS1/0 on input line 373. +Package textcomp Info: Setting pxss sub-encoding to TS1/0 on input line 374. +Package textcomp Info: Setting pxtt sub-encoding to TS1/0 on input line 375. +Package textcomp Info: Setting txr sub-encoding to TS1/0 on input line 376. +Package textcomp Info: Setting txss sub-encoding to TS1/0 on input line 377. +Package textcomp Info: Setting txtt sub-encoding to TS1/0 on input line 378. +Package textcomp Info: Setting lmr sub-encoding to TS1/0 on input line 379. +Package textcomp Info: Setting lmdh sub-encoding to TS1/0 on input line 380. +Package textcomp Info: Setting lmss sub-encoding to TS1/0 on input line 381. +Package textcomp Info: Setting lmssq sub-encoding to TS1/0 on input line 382. +Package textcomp Info: Setting lmvtt sub-encoding to TS1/0 on input line 383. +Package textcomp Info: Setting lmtt sub-encoding to TS1/0 on input line 384. +Package textcomp Info: Setting qhv sub-encoding to TS1/0 on input line 385. +Package textcomp Info: Setting qag sub-encoding to TS1/0 on input line 386. +Package textcomp Info: Setting qbk sub-encoding to TS1/0 on input line 387. +Package textcomp Info: Setting qcr sub-encoding to TS1/0 on input line 388. +Package textcomp Info: Setting qcs sub-encoding to TS1/0 on input line 389. +Package textcomp Info: Setting qpl sub-encoding to TS1/0 on input line 390. +Package textcomp Info: Setting qtm sub-encoding to TS1/0 on input line 391. +Package textcomp Info: Setting qzc sub-encoding to TS1/0 on input line 392. +Package textcomp Info: Setting qhvc sub-encoding to TS1/0 on input line 393. +Package textcomp Info: Setting futs sub-encoding to TS1/4 on input line 394. +Package textcomp Info: Setting futx sub-encoding to TS1/4 on input line 395. +Package textcomp Info: Setting futj sub-encoding to TS1/4 on input line 396. +Package textcomp Info: Setting hlh sub-encoding to TS1/3 on input line 397. +Package textcomp Info: Setting hls sub-encoding to TS1/3 on input line 398. +Package textcomp Info: Setting hlst sub-encoding to TS1/3 on input line 399. +Package textcomp Info: Setting hlct sub-encoding to TS1/5 on input line 400. +Package textcomp Info: Setting hlx sub-encoding to TS1/5 on input line 401. +Package textcomp Info: Setting hlce sub-encoding to TS1/5 on input line 402. +Package textcomp Info: Setting hlcn sub-encoding to TS1/5 on input line 403. +Package textcomp Info: Setting hlcw sub-encoding to TS1/5 on input line 404. +Package textcomp Info: Setting hlcf sub-encoding to TS1/5 on input line 405. +Package textcomp Info: Setting pplx sub-encoding to TS1/3 on input line 406. +Package textcomp Info: Setting pplj sub-encoding to TS1/3 on input line 407. +Package textcomp Info: Setting ptmx sub-encoding to TS1/4 on input line 408. +Package textcomp Info: Setting ptmj sub-encoding to TS1/4 on input line 409. +) +(/usr/share/texlive/texmf-dist/tex/latex/wasysym/wasysym.sty +Package: wasysym 2003/10/30 v2.0 Wasy-2 symbol support package +\symwasy=\mathgroup4 +LaTeX Font Info: Overwriting symbol font `wasy' in version `bold' +(Font) U/wasy/m/n --> U/wasy/b/n on input line 90. +) +(/usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty +Package: fontenc 2017/04/05 v2.0i Standard LaTeX package + +(/usr/share/texlive/texmf-dist/tex/latex/base/t1enc.def +File: t1enc.def 2017/04/05 v2.0i Standard LaTeX file +LaTeX Font Info: Redeclaring font encoding T1 on input line 48. +)) +(/usr/share/texlive/texmf-dist/tex/latex/psnfss/helvet.sty +Package: helvet 2005/04/12 PSNFSS-v9.2a (WaS) +) +(/usr/share/texlive/texmf-dist/tex/latex/psnfss/courier.sty +Package: courier 2005/04/12 PSNFSS-v9.2a (WaS) +) +(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty +Package: amssymb 2013/01/14 v3.01 AMS font symbols + +(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty +Package: amsfonts 2013/01/14 v3.01 Basic AMSFonts support +\@emptytoks=\toks28 +\symAMSa=\mathgroup5 +\symAMSb=\mathgroup6 +LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold' +(Font) U/euf/m/n --> U/euf/b/n on input line 106. +)) +(/usr/share/texlive/texmf-dist/tex/latex/sectsty/sectsty.sty +Package: sectsty 2002/02/25 v2.0.2 Commands to change all sectional heading sty +les +) +(/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty +Package: geometry 2010/09/12 v5.6 Page Geometry + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2017/03/15 v3.2 Provides the ifpdf switch +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifvtex.sty +Package: ifvtex 2016/05/16 v1.6 Detect VTeX and its facilities (HO) +Package ifvtex Info: VTeX not detected. +) +(/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty +Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional +) +\Gm@cnth=\count118 +\Gm@cntv=\count119 +\c@Gm@tempcnt=\count120 +\Gm@bindingoffset=\dimen144 +\Gm@wd@mp=\dimen145 +\Gm@odd@mp=\dimen146 +\Gm@even@mp=\dimen147 +\Gm@layoutwidth=\dimen148 +\Gm@layoutheight=\dimen149 +\Gm@layouthoffset=\dimen150 +\Gm@layoutvoffset=\dimen151 +\Gm@dimlist=\toks29 +) +(/usr/share/texlive/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty +Package: fancyhdr 2017/06/30 v3.9a Extensive control of page headers and footer +s +\f@nch@headwidth=\skip59 +\f@nch@O@elh=\skip60 +\f@nch@O@erh=\skip61 +\f@nch@O@olh=\skip62 +\f@nch@O@orh=\skip63 +\f@nch@O@elf=\skip64 +\f@nch@O@erf=\skip65 +\f@nch@O@olf=\skip66 +\f@nch@O@orf=\skip67 +) +(/usr/share/texlive/texmf-dist/tex/latex/natbib/natbib.sty +Package: natbib 2010/09/13 8.31b (PWD, AO) +\bibhang=\skip68 +\bibsep=\skip69 +LaTeX Info: Redefining \cite on input line 694. +\c@NAT@ctr=\count121 +) +(/usr/share/texlive/texmf-dist/tex/latex/tocloft/tocloft.sty +Package: tocloft 2017/08/31 v2.3i parameterised ToC, etc., typesetting +Package tocloft Info: The document has chapter divisions on input line 51. +\cftparskip=\skip70 +\cftbeforetoctitleskip=\skip71 +\cftaftertoctitleskip=\skip72 +\cftbeforepartskip=\skip73 +\cftpartnumwidth=\skip74 +\cftpartindent=\skip75 +\cftbeforechapskip=\skip76 +\cftchapindent=\skip77 +\cftchapnumwidth=\skip78 +\cftbeforesecskip=\skip79 +\cftsecindent=\skip80 +\cftsecnumwidth=\skip81 +\cftbeforesubsecskip=\skip82 +\cftsubsecindent=\skip83 +\cftsubsecnumwidth=\skip84 +\cftbeforesubsubsecskip=\skip85 +\cftsubsubsecindent=\skip86 +\cftsubsubsecnumwidth=\skip87 +\cftbeforeparaskip=\skip88 +\cftparaindent=\skip89 +\cftparanumwidth=\skip90 +\cftbeforesubparaskip=\skip91 +\cftsubparaindent=\skip92 +\cftsubparanumwidth=\skip93 +\cftbeforeloftitleskip=\skip94 +\cftafterloftitleskip=\skip95 +\cftbeforefigskip=\skip96 +\cftfigindent=\skip97 +\cftfignumwidth=\skip98 +\c@lofdepth=\count122 +\c@lotdepth=\count123 +\cftbeforelottitleskip=\skip99 +\cftafterlottitleskip=\skip100 +\cftbeforetabskip=\skip101 +\cfttabindent=\skip102 +\cfttabnumwidth=\skip103 +) +\@indexfile=\write3 +\openout3 = `refman.idx'. + + +Writing index file refman.idx +(/usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty +Package: hyperref 2018/02/06 v6.86b Hypertext links for LaTeX + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty +Package: hobsub-hyperref 2016/05/16 v1.14 Bundle oberdiek, subset hyperref (HO) + + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty +Package: hobsub-generic 2016/05/16 v1.14 Bundle oberdiek, subset generic (HO) +Package: hobsub 2016/05/16 v1.14 Construct package bundles (HO) +Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) +Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) +Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) +Package ifluatex Info: LuaTeX not detected. +Package hobsub Info: Skipping package `ifvtex' (already loaded). +Package: intcalc 2016/05/16 v1.2 Expandable calculations with integers (HO) +Package hobsub Info: Skipping package `ifpdf' (already loaded). +Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) +Package etexcmds Info: Could not find \expanded. +(etexcmds) That can mean that you are not using pdfTeX 1.50 or +(etexcmds) that some package has redefined \expanded. +(etexcmds) In the latter case, load this package earlier. +Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) +Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO) +Package: pdftexcmds 2018/01/21 v0.26 Utility functions of pdfTeX for LuaTeX (HO +) +Package pdftexcmds Info: LuaTeX not detected. +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode found. +Package: pdfescape 2016/05/16 v1.14 Implements pdfTeX's escape features (HO) +Package: bigintcalc 2016/05/16 v1.4 Expandable calculations on big integers (HO +) +Package: bitset 2016/05/16 v1.2 Handle bit-vector datatype (HO) +Package: uniquecounter 2016/05/16 v1.3 Provide unlimited unique counter (HO) +) +Package hobsub Info: Skipping package `hobsub' (already loaded). +Package: letltxmacro 2016/05/16 v1.5 Let assignment for LaTeX macros (HO) +Package: hopatch 2016/05/16 v1.3 Wrapper for package hooks (HO) +Package: xcolor-patch 2016/05/16 xcolor patch +Package: atveryend 2016/05/16 v1.9 Hooks at the very end of document (HO) +Package atveryend Info: \enddocument detected (standard20110627). +Package: atbegshi 2016/06/09 v1.18 At begin shipout hook (HO) +Package: refcount 2016/05/16 v3.5 Data extraction from label references (HO) +Package: hycolor 2016/05/16 v1.8 Color options for hyperref/bookmark (HO) +) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/auxhook.sty +Package: auxhook 2016/05/16 v1.4 Hooks for auxiliary files (HO) +) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty +Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO) +) +\@linkdim=\dimen152 +\Hy@linkcounter=\count124 +\Hy@pagecounter=\count125 + +(/usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def +File: pd1enc.def 2018/02/06 v6.86b Hyperref: PDFDocEncoding definition (HO) +Now handling font encoding PD1 ... +... no UTF-8 mapping file for font encoding PD1 +) +\Hy@SavedSpaceFactor=\count126 + +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/hyperref.cfg +File: hyperref.cfg 2002/06/06 v1.2 hyperref configuration of TeXLive +) +Package hyperref Info: Hyper figures OFF on input line 4509. +Package hyperref Info: Link nesting OFF on input line 4514. +Package hyperref Info: Hyper index ON on input line 4517. +Package hyperref Info: Plain pages OFF on input line 4524. +Package hyperref Info: Backreferencing ON on input line 4527. +Package hyperref Info: Implicit mode ON; LaTeX internals redefined. +Package hyperref Info: Bookmarks ON on input line 4762. + +(/usr/share/texlive/texmf-dist/tex/latex/hyperref/backref.sty +Package: backref 2016/05/21 v1.39 Bibliographical back referencing + +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty +Package: rerunfilecheck 2016/05/16 v1.8 Rerun checks for auxiliary files (HO) +Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2 +82. +)) +\c@Hy@tempcnt=\count127 + +(/usr/share/texlive/texmf-dist/tex/latex/url/url.sty +\Urlmuskip=\muskip10 +Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc. +) +LaTeX Info: Redefining \url on input line 5115. +\XeTeXLinkMargin=\dimen153 +\Fld@menulength=\count128 +\Field@Width=\dimen154 +\Fld@charsize=\dimen155 +Package hyperref Info: Hyper figures OFF on input line 6369. +Package hyperref Info: Link nesting OFF on input line 6374. +Package hyperref Info: Hyper index ON on input line 6377. +Package hyperref Info: backreferencing ON on input line 6382. +Package hyperref Info: Link coloring OFF on input line 6389. +Package hyperref Info: Link coloring with OCG OFF on input line 6394. +Package hyperref Info: PDF/A mode OFF on input line 6399. +LaTeX Info: Redefining \ref on input line 6439. +LaTeX Info: Redefining \pageref on input line 6443. +\Hy@abspage=\count129 +\c@Item=\count130 +\c@Hfootnote=\count131 +) +Package hyperref Info: Driver: hpdftex. + +(/usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def +File: hpdftex.def 2018/02/06 v6.86b Hyperref driver for pdfTeX +\Fld@listcount=\count132 +\c@bookmark@seq@number=\count133 +\Hy@SectionHShift=\skip104 +) +Package hyperref Info: Option `colorlinks' set `true' on input line 105. +Package hyperref Info: Option `unicode' set `true' on input line 105. + +(/usr/share/texlive/texmf-dist/tex/latex/hyperref/puenc.def +File: puenc.def 2018/02/06 v6.86b Hyperref: PDF Unicode definition (HO) +Now handling font encoding PU ... +... no UTF-8 mapping file for font encoding PU +) +(/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty +Package: caption 2016/02/21 v3.3-144 Customizing captions (AR) + +(/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty +Package: caption3 2016/05/22 v1.7-166 caption3 kernel (AR) +Package caption3 Info: TeX engine: e-TeX on input line 67. +\captionmargin=\dimen156 +\captionmargin@=\dimen157 +\captionwidth=\dimen158 +\caption@tempdima=\dimen159 +\caption@indent=\dimen160 +\caption@parindent=\dimen161 +\caption@hangindent=\dimen162 +) +\c@ContinuedFloat=\count134 +Package caption Info: float package is loaded. +Package caption Info: hyperref package is loaded. +Package caption Info: longtable package is loaded. + +(/usr/share/texlive/texmf-dist/tex/latex/caption/ltcaption.sty +Package: ltcaption 2013/06/09 v1.4-94 longtable captions (AR) +)) (./refman.aux) +\openout1 = `refman.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 117. +LaTeX Font Info: ... okay on input line 117. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 117. +LaTeX Font Info: ... okay on input line 117. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 117. +LaTeX Font Info: ... okay on input line 117. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 117. +LaTeX Font Info: ... okay on input line 117. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 117. +LaTeX Font Info: ... okay on input line 117. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 117. +LaTeX Font Info: ... okay on input line 117. +LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 117. +LaTeX Font Info: Try loading font information for TS1+cmr on input line 117. + +(/usr/share/texlive/texmf-dist/tex/latex/base/ts1cmr.fd +File: ts1cmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions +) +LaTeX Font Info: ... okay on input line 117. +LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 117. +LaTeX Font Info: ... okay on input line 117. +LaTeX Font Info: Checking defaults for PU/pdf/m/n on input line 117. +LaTeX Font Info: ... okay on input line 117. +LaTeX Font Info: Try loading font information for T1+phv on input line 117. + +(/usr/share/texlive/texmf-dist/tex/latex/psnfss/t1phv.fd +File: t1phv.fd 2001/06/04 scalable font definitions for T1/phv. +) +LaTeX Font Info: Font shape `T1/phv/m/n' will be +(Font) scaled to size 8.99994pt on input line 117. + +(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count135 +\scratchdimen=\dimen163 +\scratchbox=\box65 +\nofMPsegments=\count136 +\nofMParguments=\count137 +\everyMPshowfont=\toks30 +\MPscratchCnt=\count138 +\MPscratchDim=\dimen164 +\MPnumerator=\count139 +\makeMPintoPDFobject=\count140 +\everyMPtoPDFconversion=\toks31 +) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty +Package: epstopdf-base 2016/05/15 v2.6 Base part for package epstopdf + +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty +Package: grfext 2016/05/16 v1.2 Manage graphics extensions (HO) +) +Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 +38. +Package grfext Info: Graphics extension search list: +(grfext) [.pdf,.png,.jpg,.mps,.jpeg,.jbig2,.jb2,.PDF,.PNG,.JPG,.JPE +G,.JBIG2,.JB2,.eps] +(grfext) \AppendGraphicsExtensions on input line 456. + +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv +e +)) +*geometry* driver: auto-detecting +*geometry* detected driver: pdftex +*geometry* verbose mode - [ preamble ] result: +* driver: pdftex +* paper: a4paper +* layout: +* layoutoffset:(h,v)=(0.0pt,0.0pt) +* modes: twoside +* h-part:(L,W,R)=(71.13188pt, 455.24411pt, 71.13188pt) +* v-part:(T,H,B)=(71.13188pt, 702.78308pt, 71.13188pt) +* \paperwidth=597.50787pt +* \paperheight=845.04684pt +* \textwidth=455.24411pt +* \textheight=702.78308pt +* \oddsidemargin=-1.1381pt +* \evensidemargin=-1.1381pt +* \topmargin=-31.2056pt +* \headheight=12.0pt +* \headsep=18.06749pt +* \topskip=10.0pt +* \footskip=25.29494pt +* \marginparwidth=125.0pt +* \marginparsep=7.0pt +* \columnsep=10.0pt +* \skip\footins=9.0pt plus 4.0pt minus 2.0pt +* \hoffset=0.0pt +* \voffset=0.0pt +* \mag=1000 +* \@twocolumnfalse +* \@twosidetrue +* \@mparswitchtrue +* \@reversemarginfalse +* (1in=72.27pt=25.4mm, 1cm=28.453pt) + +\AtBeginShipoutBox=\box66 +Package backref Info: ** backref set up for natbib ** on input line 117. +Package hyperref Info: Link coloring ON on input line 117. +(/usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty +Package: nameref 2016/05/21 v2.44 Cross-referencing by name of section + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/gettitlestring.sty +Package: gettitlestring 2016/05/16 v1.5 Cleanup title references (HO) +) +\c@section@level=\count141 +) +LaTeX Info: Redefining \ref on input line 117. +LaTeX Info: Redefining \pageref on input line 117. +LaTeX Info: Redefining \nameref on input line 117. + +(./refman.out) (./refman.out) +\@outlinefile=\write4 +\openout4 = `refman.out'. + +Package caption Info: Begin \AtBeginDocument code. +Package caption Info: End \AtBeginDocument code. +Package hyperref Info: Option `pageanchor' set `false' on input line 123. +Package hyperref Info: Option `bookmarksnumbered' set `true' on input line 123. + +Package hyperref Info: Option `unicode' set `true' on input line 123. +LaTeX Font Info: Font shape `T1/phv/m/n' will be +(Font) scaled to size 12.9599pt on input line 128. +LaTeX Font Info: Font shape `T1/phv/m/n' will be +(Font) scaled to size 6.29996pt on input line 128. +LaTeX Font Info: Try loading font information for U+wasy on input line 128. + +(/usr/share/texlive/texmf-dist/tex/latex/wasysym/uwasy.fd +File: uwasy.fd 2003/10/30 v2.0 Wasy-2 symbol font definitions +) +LaTeX Font Info: Try loading font information for U+msa on input line 128. + +(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd +File: umsa.fd 2013/01/14 v3.01 AMS symbols A +) +LaTeX Font Info: Try loading font information for U+msb on input line 128. + +(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd +File: umsb.fd 2013/01/14 v3.01 AMS symbols B +) +LaTeX Font Info: Font shape `T1/phv/m/n' will be +(Font) scaled to size 10.79993pt on input line 130. + [1 + + +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] [2 + +] +LaTeX Font Info: Font shape `T1/phv/m/n' will be +(Font) scaled to size 22.39185pt on input line 135. +LaTeX Font Info: Font shape `T1/phv/bx/n' in size <24.88> not available +(Font) Font shape `T1/phv/b/n' tried instead on input line 135. +LaTeX Font Info: Font shape `T1/phv/b/n' will be +(Font) scaled to size 22.39185pt on input line 135. +LaTeX Font Info: Font shape `T1/phv/bc/n' will be +(Font) scaled to size 22.39185pt on input line 135. + (./refman.toc +LaTeX Font Info: Font shape `T1/phv/bx/n' in size <10> not available +(Font) Font shape `T1/phv/b/n' tried instead on input line 1. +LaTeX Font Info: Font shape `T1/phv/b/n' will be +(Font) scaled to size 8.99994pt on input line 1. + [1 + +] +LaTeX Font Info: Font shape `T1/phv/bx/n' in size <7> not available +(Font) Font shape `T1/phv/b/n' tried instead on input line 67. +LaTeX Font Info: Font shape `T1/phv/b/n' will be +(Font) scaled to size 6.29996pt on input line 67. + [2]) +\tf@toc=\write5 +\openout5 = `refman.toc'. + + [3] [4 + +] +Package hyperref Info: Option `pageanchor' set `true' on input line 138. + +Chapter 1. +LaTeX Font Info: Font shape `T1/phv/m/n' will be +(Font) scaled to size 18.66588pt on input line 141. +LaTeX Font Info: Font shape `T1/phv/bx/n' in size <20.74> not available +(Font) Font shape `T1/phv/b/n' tried instead on input line 141. +LaTeX Font Info: Font shape `T1/phv/b/n' will be +(Font) scaled to size 18.66588pt on input line 141. +LaTeX Font Info: Font shape `T1/phv/bc/n' will be +(Font) scaled to size 18.66588pt on input line 141. +(./hierarchy.tex +LaTeX Font Info: Font shape `T1/phv/bx/n' in size <14.4> not available +(Font) Font shape `T1/phv/b/n' tried instead on input line 1. +LaTeX Font Info: Font shape `T1/phv/b/n' will be +(Font) scaled to size 12.9599pt on input line 1. +LaTeX Font Info: Font shape `T1/phv/bc/n' will be +(Font) scaled to size 12.9599pt on input line 1. + [1 + +]) [2] +Chapter 2. +(./annotated.tex) [3 + +] [4 + +] +Chapter 3. +(./class_b_m_a_account.tex +LaTeX Font Info: Font shape `T1/phv/bc/n' will be +(Font) scaled to size 6.29996pt on input line 1. + +File: class_b_m_a_account__inherit__graph.pdf Graphic file (type pdf) + +Package pdftex.def Info: class_b_m_a_account__inherit__graph.pdf used on input + line 9. +(pdftex.def) Requested size: 154.0pt x 156.01357pt. + +File: class_b_m_a_account__coll__graph.pdf Graphic file (type pdf) + +Package pdftex.def Info: class_b_m_a_account__coll__graph.pdf used on input li +ne 18. +(pdftex.def) Requested size: 154.0pt x 156.01357pt. +LaTeX Font Info: Font shape `T1/phv/bx/n' in size <12> not available +(Font) Font shape `T1/phv/b/n' tried instead on input line 21. +LaTeX Font Info: Font shape `T1/phv/b/n' will be +(Font) scaled to size 10.79993pt on input line 21. +LaTeX Font Info: Font shape `T1/phv/bc/n' will be +(Font) scaled to size 10.79993pt on input line 21. +LaTeX Font Info: Try loading font information for TS1+phv on input line 24. + +(/usr/share/texlive/texmf-dist/tex/latex/psnfss/ts1phv.fd +File: ts1phv.fd 2001/06/04 scalable font definitions for TS1/phv. +) +LaTeX Font Info: Font shape `TS1/phv/m/n' will be +(Font) scaled to size 8.99994pt on input line 24. + [5 <./class_b_m_a_account__inherit__graph.pdf> <./class_b_m_a_account__coll__g +raph.pdf + +pdfTeX warning: pdflatex (file ./class_b_m_a_account__coll__graph.pdf): PDF inc +lusion: multiple pdfs with page group included in a single page +>]) (./class_b_m_a_authenticate.tex + + +File: class_b_m_a_authenticate__inherit__graph.pdf Graphic file (type pdf) + +Package pdftex.def Info: class_b_m_a_authenticate__inherit__graph.pdf used on +input line 9. +(pdftex.def) Requested size: 173.0pt x 156.0064pt. + +File: class_b_m_a_authenticate__coll__graph.pdf Graphic file (type pdf) + +Package pdftex.def Info: class_b_m_a_authenticate__coll__graph.pdf used on inp +ut line 18. +(pdftex.def) Requested size: 173.0pt x 156.0064pt. + [6 <./class_b_m_a_authenticate__inherit__graph.pdf> <./class_b_m_a_authenticat +e__coll__graph.pdf + +pdfTeX warning: pdflatex (file ./class_b_m_a_authenticate__coll__graph.pdf): PD +F inclusion: multiple pdfs with page group included in a single page +>]) (./class_b_m_a_command.tex + +File: class_b_m_a_command__inherit__graph.pdf Graphic file (type pdf) + +Package pdftex.def Info: class_b_m_a_command__inherit__graph.pdf used on input + line 9. +(pdftex.def) Requested size: 350.0pt x 183.2042pt. + +File: class_b_m_a_command__coll__graph.pdf Graphic file (type pdf) + +Package pdftex.def Info: class_b_m_a_command__coll__graph.pdf used on input li +ne 18. +(pdftex.def) Requested size: 163.0pt x 155.99922pt. + [7 <./class_b_m_a_command__inherit__graph.pdf> <./class_b_m_a_command__coll__g +raph.pdf + +pdfTeX warning: pdflatex (file ./class_b_m_a_command__coll__graph.pdf): PDF inc +lusion: multiple pdfs with page group included in a single page +>]) (./class_b_m_a_console_server.tex + +File: class_b_m_a_console_server__inherit__graph.pdf Graphic file (type pdf) + +Package pdftex.def Info: class_b_m_a_console_server__inherit__graph.pdf used o +n input line 9. +(pdftex.def) Requested size: 270.0pt x 324.0133pt. + +File: class_b_m_a_console_server__coll__graph.pdf Graphic file (type pdf) + +Package pdftex.def Info: class_b_m_a_console_server__coll__graph.pdf used on i +nput line 18. +(pdftex.def) Requested size: 350.0pt x 334.19339pt. + [8 <./class_b_m_a_console_server__inherit__graph.pdf>] +LaTeX Font Info: Font shape `T1/phv/m/n' will be +(Font) scaled to size 8.09995pt on input line 35. +LaTeX Font Info: Font shape `T1/phv/m/it' in size <9> not available +(Font) Font shape `T1/phv/m/sl' tried instead on input line 35. +LaTeX Font Info: Font shape `T1/phv/m/sl' will be +(Font) scaled to size 8.09995pt on input line 35. +) (./class_b_m_a_console_session.tex +LaTeX Font Info: Try loading font information for T1+pcr on input line 5. + +(/usr/share/texlive/texmf-dist/tex/latex/psnfss/t1pcr.fd +File: t1pcr.fd 2001/06/04 font definitions for T1/pcr. +) + +File: class_b_m_a_console_session__inherit__graph.pdf Graphic file (type pdf) + +Package pdftex.def Info: class_b_m_a_console_session__inherit__graph.pdf used +on input line 13. +(pdftex.def) Requested size: 246.0pt x 323.99841pt. + [9 <./class_b_m_a_console_server__coll__graph.pdf>] + + +File: class_b_m_a_console_session__coll__graph.pdf Graphic file (type pdf) + +Package pdftex.def Info: class_b_m_a_console_session__coll__graph.pdf used on +input line 22. +(pdftex.def) Requested size: 350.0pt x 297.25175pt. + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + [10 <./class_b_m_a_console_session__inherit__graph.pdf>] +LaTeX Font Info: Font shape `T1/phv/bc/n' will be +(Font) scaled to size 8.99994pt on input line 51. +LaTeX Font Info: Font shape `T1/phv/m/n' will be +(Font) scaled to size 7.19995pt on input line 52. +LaTeX Font Info: Font shape `T1/pcr/m/it' in size <8> not available +(Font) Font shape `T1/pcr/m/sl' tried instead on input line 52. + [11 <./class_b_m_a_console_session__coll__graph.pdf>]) (./class_b_m_a_e_poll.t +ex + +File: class_b_m_a_e_poll__inherit__graph.pdf Graphic file (type pdf) + +Package pdftex.def Info: class_b_m_a_e_poll__inherit__graph.pdf used on input +line 13. +(pdftex.def) Requested size: 163.0pt x 211.99895pt. + +File: class_b_m_a_e_poll__coll__graph.pdf Graphic file (type pdf) + +Package pdftex.def Info: class_b_m_a_e_poll__coll__graph.pdf used on input lin +e 22. +(pdftex.def) Requested size: 290.0pt x 291.02084pt. + [12 <./class_b_m_a_e_poll__inherit__graph.pdf>] +LaTeX Font Info: Font shape `T1/phv/m/it' in size <7> not available +(Font) Font shape `T1/phv/m/sl' tried instead on input line 30. +LaTeX Font Info: Font shape `T1/phv/m/sl' will be +(Font) scaled to size 6.29996pt on input line 30. + [13 <./class_b_m_a_e_poll__coll__graph.pdf>]) +(./class_b_m_a_file.tex [14] + +File: class_b_m_a_file__inherit__graph.pdf Graphic file (type pdf) + +Package pdftex.def Info: class_b_m_a_file__inherit__graph.pdf used on input li +ne 13. +(pdftex.def) Requested size: 154.0pt x 156.01357pt. +) (./class_b_m_a_header.tex + +File: class_b_m_a_header__inherit__graph.pdf Graphic file (type pdf) + +Package pdftex.def Info: class_b_m_a_header__inherit__graph.pdf used on input +line 9. +(pdftex.def) Requested size: 150.0pt x 156.01357pt. + [15 <./class_b_m_a_file__inherit__graph.pdf>] + +File: class_b_m_a_header__coll__graph.pdf Graphic file (type pdf) + +Package pdftex.def Info: class_b_m_a_header__coll__graph.pdf used on input lin +e 18. +(pdftex.def) Requested size: 150.0pt x 156.01357pt. +) (./class_b_m_a_h_t_t_p_request_handler.tex + +File: class_b_m_a_h_t_t_p_request_handler__inherit__graph.pdf Graphic file (typ +e pdf) + +Package pdftex.def Info: class_b_m_a_h_t_t_p_request_handler__inherit__graph.pd +f used on input line 9. +(pdftex.def) Requested size: 215.0pt x 156.004pt. + [16 <./class_b_m_a_header__inherit__graph.pdf> <./class_b_m_a_header__coll__gr +aph.pdf + +pdfTeX warning: pdflatex (file ./class_b_m_a_header__coll__graph.pdf): PDF incl +usion: multiple pdfs with page group included in a single page +>] + +File: class_b_m_a_h_t_t_p_request_handler__coll__graph.pdf Graphic file (type p +df) + +Package pdftex.def Info: class_b_m_a_h_t_t_p_request_handler__coll__graph.pdf +used on input line 18. +(pdftex.def) Requested size: 215.0pt x 156.004pt. +) (./class_b_m_a_h_t_t_p_server.tex + +File: class_b_m_a_h_t_t_p_server__inherit__graph.pdf Graphic file (type pdf) + +Package pdftex.def Info: class_b_m_a_h_t_t_p_server__inherit__graph.pdf used o +n input line 9. +(pdftex.def) Requested size: 270.0pt x 324.0133pt. + [17 <./class_b_m_a_h_t_t_p_request_handler__inherit__graph.pdf> <./class_b_m_a +_h_t_t_p_request_handler__coll__graph.pdf + +pdfTeX warning: pdflatex (file ./class_b_m_a_h_t_t_p_request_handler__coll__gra +ph.pdf): PDF inclusion: multiple pdfs with page group included in a single page + +>] + +File: class_b_m_a_h_t_t_p_server__coll__graph.pdf Graphic file (type pdf) + +Package pdftex.def Info: class_b_m_a_h_t_t_p_server__coll__graph.pdf used on i +nput line 18. +(pdftex.def) Requested size: 350.0pt x 334.19339pt. + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + [18 <./class_b_m_a_h_t_t_p_server__inherit__graph.pdf>]) +(./class_b_m_a_h_t_t_p_session.tex + +File: class_b_m_a_h_t_t_p_session__inherit__graph.pdf Graphic file (type pdf) + +Package pdftex.def Info: class_b_m_a_h_t_t_p_session__inherit__graph.pdf used +on input line 9. +(pdftex.def) Requested size: 246.0pt x 323.99841pt. + [19 <./class_b_m_a_h_t_t_p_server__coll__graph.pdf>] + +File: class_b_m_a_h_t_t_p_session__coll__graph.pdf Graphic file (type pdf) + +Package pdftex.def Info: class_b_m_a_h_t_t_p_session__coll__graph.pdf used on +input line 18. +(pdftex.def) Requested size: 350.0pt x 301.02046pt. + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + [20 <./class_b_m_a_h_t_t_p_session__inherit__graph.pdf>] [21 <./class_b_m_a_h_ +t_t_p_session__coll__graph.pdf>]) (./class_b_m_a_log.tex) (./class_b_m_a_m_p3_f +ile.tex + +File: class_b_m_a_m_p3_file__inherit__graph.pdf Graphic file (type pdf) + +Package pdftex.def Info: class_b_m_a_m_p3_file__inherit__graph.pdf used on inp +ut line 9. +(pdftex.def) Requested size: 292.0pt x 155.99922pt. + +File: class_b_m_a_m_p3_file__coll__graph.pdf Graphic file (type pdf) + +Package pdftex.def Info: class_b_m_a_m_p3_file__coll__graph.pdf used on input +line 18. +(pdftex.def) Requested size: 292.0pt x 155.99922pt. + +[22 <./class_b_m_a_m_p3_file__inherit__graph.pdf>]) +(./class_b_m_a_m_p3_stream_content_provider.tex + +File: class_b_m_a_m_p3_stream_content_provider__inherit__graph.pdf Graphic file + (type pdf) + +Package pdftex.def Info: class_b_m_a_m_p3_stream_content_provider__inherit__gra +ph.pdf used on input line 9. +(pdftex.def) Requested size: 241.0pt x 156.0064pt. + +File: class_b_m_a_m_p3_stream_content_provider__coll__graph.pdf Graphic file (t +ype pdf) + +Package pdftex.def Info: class_b_m_a_m_p3_stream_content_provider__coll__graph. +pdf used on input line 18. +(pdftex.def) Requested size: 241.0pt x 156.0064pt. + [23 <./class_b_m_a_m_p3_file__coll__graph.pdf> <./class_b_m_a_m_p3_stream_cont +ent_provider__inherit__graph.pdf + +pdfTeX warning: pdflatex (file ./class_b_m_a_m_p3_stream_content_provider__inhe +rit__graph.pdf): PDF inclusion: multiple pdfs with page group included in a sin +gle page +>]) (./class_b_m_a_m_p3_stream_frame.tex + +File: class_b_m_a_m_p3_stream_frame__inherit__graph.pdf Graphic file (type pdf) + + +Package pdftex.def Info: class_b_m_a_m_p3_stream_frame__inherit__graph.pdf use +d on input line 9. +(pdftex.def) Requested size: 198.0pt x 156.004pt. + +File: class_b_m_a_m_p3_stream_frame__coll__graph.pdf Graphic file (type pdf) + +Package pdftex.def Info: class_b_m_a_m_p3_stream_frame__coll__graph.pdf used o +n input line 18. +(pdftex.def) Requested size: 198.0pt x 156.004pt. + [24 <./class_b_m_a_m_p3_stream_content_provider__coll__graph.pdf> <./class_b_m +_a_m_p3_stream_frame__inherit__graph.pdf + +pdfTeX warning: pdflatex (file ./class_b_m_a_m_p3_stream_frame__inherit__graph. +pdf): PDF inclusion: multiple pdfs with page group included in a single page +>]) (./class_b_m_a_object.tex + +File: class_b_m_a_object__inherit__graph.pdf Graphic file (type pdf) + +Package pdftex.def Info: class_b_m_a_object__inherit__graph.pdf used on input +line 10. +(pdftex.def) Requested size: 350.0pt x 190.15462pt. + [25 <./class_b_m_a_m_p3_stream_frame__coll__graph.pdf>]) (./class_b_m_a_parse_ +header.tex) (./class_b_m_a_property.tex + +Package hyperref Warning: Token not allowed in a PDF string (Unicode): +(hyperref) removing `math shift' on input line 1. + + +Package hyperref Warning: Token not allowed in a PDF string (Unicode): +(hyperref) removing `math shift' on input line 1. + + +Package hyperref Warning: Token not allowed in a PDF string (Unicode): +(hyperref) removing `math shift' on input line 1. + + +Package hyperref Warning: Token not allowed in a PDF string (Unicode): +(hyperref) removing `math shift' on input line 1. + +) (./class_b_m_a_session.tex + +File: class_b_m_a_session__inherit__graph.pdf Graphic file (type pdf) + +Package pdftex.def Info: class_b_m_a_session__inherit__graph.pdf used on input + line 13. +(pdftex.def) Requested size: 350.0pt x 210.0077pt. + [26 <./class_b_m_a_object__inherit__graph.pdf>] + +File: class_b_m_a_session__coll__graph.pdf Graphic file (type pdf) + +Package pdftex.def Info: class_b_m_a_session__coll__graph.pdf used on input li +ne 22. +(pdftex.def) Requested size: 350.0pt x 254.13867pt. + +[27 <./class_b_m_a_session__inherit__graph.pdf> <./class_b_m_a_session__coll__g +raph.pdf + +pdfTeX warning: pdflatex (file ./class_b_m_a_session__coll__graph.pdf): PDF inc +lusion: multiple pdfs with page group included in a single page +>] [28]) (./class_b_m_a_s_i_p_i_n_v_i_t_e.tex + +File: class_b_m_a_s_i_p_i_n_v_i_t_e__inherit__graph.pdf Graphic file (type pdf) + + +Package pdftex.def Info: class_b_m_a_s_i_p_i_n_v_i_t_e__inherit__graph.pdf use +d on input line 10. +(pdftex.def) Requested size: 205.0pt x 212.0022pt. + +File: class_b_m_a_s_i_p_i_n_v_i_t_e__coll__graph.pdf Graphic file (type pdf) + +Package pdftex.def Info: class_b_m_a_s_i_p_i_n_v_i_t_e__coll__graph.pdf used o +n input line 20. +(pdftex.def) Requested size: 205.0pt x 212.0022pt. + [29 <./class_b_m_a_s_i_p_i_n_v_i_t_e__inherit__graph.pdf>]) (./class_b_m_a_s_i +_p_r_e_g_i_s_t_e_r.tex + +File: class_b_m_a_s_i_p_r_e_g_i_s_t_e_r__inherit__graph.pdf Graphic file (type +pdf) + +Package pdftex.def Info: class_b_m_a_s_i_p_r_e_g_i_s_t_e_r__inherit__graph.pdf + used on input line 9. +(pdftex.def) Requested size: 205.0pt x 212.0022pt. + +File: class_b_m_a_s_i_p_r_e_g_i_s_t_e_r__coll__graph.pdf Graphic file (type pdf +) + +Package pdftex.def Info: class_b_m_a_s_i_p_r_e_g_i_s_t_e_r__coll__graph.pdf us +ed on input line 18. +(pdftex.def) Requested size: 205.0pt x 212.0022pt. + [30 <./class_b_m_a_s_i_p_i_n_v_i_t_e__coll__graph.pdf> <./class_b_m_a_s_i_p_r_ +e_g_i_s_t_e_r__inherit__graph.pdf + +pdfTeX warning: pdflatex (file ./class_b_m_a_s_i_p_r_e_g_i_s_t_e_r__inherit__gr +aph.pdf): PDF inclusion: multiple pdfs with page group included in a single pag +e +>]) (./class_b_m_a_s_i_p_request_handler.tex + +File: class_b_m_a_s_i_p_request_handler__inherit__graph.pdf Graphic file (type +pdf) + +Package pdftex.def Info: class_b_m_a_s_i_p_request_handler__inherit__graph.pdf + used on input line 10. +(pdftex.def) Requested size: 293.0pt x 212.0022pt. + +File: class_b_m_a_s_i_p_request_handler__coll__graph.pdf Graphic file (type pdf +) + +Package pdftex.def Info: class_b_m_a_s_i_p_request_handler__coll__graph.pdf us +ed on input line 20. +(pdftex.def) Requested size: 205.0pt x 156.00162pt. + [31 <./class_b_m_a_s_i_p_r_e_g_i_s_t_e_r__coll__graph.pdf> <./class_b_m_a_s_i_ +p_request_handler__inherit__graph.pdf + +pdfTeX warning: pdflatex (file ./class_b_m_a_s_i_p_request_handler__inherit__gr +aph.pdf): PDF inclusion: multiple pdfs with page group included in a single pag +e +>]) (./class_b_m_a_s_i_p_server.tex + + +File: class_b_m_a_s_i_p_server__inherit__graph.pdf Graphic file (type pdf) + +Package pdftex.def Info: class_b_m_a_s_i_p_server__inherit__graph.pdf used on +input line 9. +(pdftex.def) Requested size: 270.0pt x 324.0133pt. + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + [32 <./class_b_m_a_s_i_p_request_handler__coll__graph.pdf>] + +File: class_b_m_a_s_i_p_server__coll__graph.pdf Graphic file (type pdf) + +Package pdftex.def Info: class_b_m_a_s_i_p_server__coll__graph.pdf used on inp +ut line 18. +(pdftex.def) Requested size: 350.0pt x 334.19339pt. + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + [33 <./class_b_m_a_s_i_p_server__inherit__graph.pdf>]) (./class_b_m_a_s_i_p_se +ssion.tex + +File: class_b_m_a_s_i_p_session__inherit__graph.pdf Graphic file (type pdf) + +Package pdftex.def Info: class_b_m_a_s_i_p_session__inherit__graph.pdf used on + input line 9. +(pdftex.def) Requested size: 246.0pt x 323.99841pt. + +[34 <./class_b_m_a_s_i_p_server__coll__graph.pdf>] + +File: class_b_m_a_s_i_p_session__coll__graph.pdf Graphic file (type pdf) + +Package pdftex.def Info: class_b_m_a_s_i_p_session__coll__graph.pdf used on in +put line 18. +(pdftex.def) Requested size: 350.0pt x 304.90825pt. + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + [35 <./class_b_m_a_s_i_p_session__inherit__graph.pdf>] [36 <./class_b_m_a_s_i_ +p_session__coll__graph.pdf>]) (./class_b_m_a_socket.tex + +File: class_b_m_a_socket__inherit__graph.pdf Graphic file (type pdf) + +Package pdftex.def Info: class_b_m_a_socket__inherit__graph.pdf used on input +line 9. +(pdftex.def) Requested size: 350.0pt x 198.9874pt. + +File: class_b_m_a_socket__coll__graph.pdf Graphic file (type pdf) + +Package pdftex.def Info: class_b_m_a_socket__coll__graph.pdf used on input lin +e 18. +(pdftex.def) Requested size: 323.0pt x 224.01262pt. + [37 <./class_b_m_a_socket__inherit__graph.pdf>] [38 <./class_b_m_a_socket__col +l__graph.pdf>] [39]) +(./class_b_m_a_stream_content_provider.tex + +File: class_b_m_a_stream_content_provider__inherit__graph.pdf Graphic file (typ +e pdf) + +Package pdftex.def Info: class_b_m_a_stream_content_provider__inherit__graph.pd +f used on input line 9. +(pdftex.def) Requested size: 334.0pt x 155.99922pt. + [40 <./class_b_m_a_stream_content_provider__inherit__graph.pdf>]) (./class_b_m +_a_stream_frame.tex + + +File: class_b_m_a_stream_frame__inherit__graph.pdf Graphic file (type pdf) + +Package pdftex.def Info: class_b_m_a_stream_frame__inherit__graph.pdf used on +input line 9. +(pdftex.def) Requested size: 198.0pt x 156.004pt. +) +(./class_b_m_a_stream_server.tex + +File: class_b_m_a_stream_server__inherit__graph.pdf Graphic file (type pdf) + +Package pdftex.def Info: class_b_m_a_stream_server__inherit__graph.pdf used on + input line 13. +(pdftex.def) Requested size: 330.0pt x 324.0133pt. + [41 <./class_b_m_a_stream_frame__inherit__graph.pdf>] + +File: class_b_m_a_stream_server__coll__graph.pdf Graphic file (type pdf) + +Package pdftex.def Info: class_b_m_a_stream_server__coll__graph.pdf used on in +put line 22. +(pdftex.def) Requested size: 350.0pt x 275.82874pt. + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + [42 <./class_b_m_a_stream_server__inherit__graph.pdf>]) (./class_b_m_a_stream_ +session.tex + +File: class_b_m_a_stream_session__inherit__graph.pdf Graphic file (type pdf) + +Package pdftex.def Info: class_b_m_a_stream_session__inherit__graph.pdf used o +n input line 9. +(pdftex.def) Requested size: 246.0pt x 323.99841pt. +[43 <./class_b_m_a_stream_server__coll__graph.pdf>] + +File: class_b_m_a_stream_session__coll__graph.pdf Graphic file (type pdf) + +Package pdftex.def Info: class_b_m_a_stream_session__coll__graph.pdf used on i +nput line 18. +(pdftex.def) Requested size: 350.0pt x 299.49849pt. + +Underfull \vbox (badness 10000) has occurred while \output is active [] + + [44 <./class_b_m_a_stream_session__inherit__graph.pdf>] [45 <./class_b_m_a_str +eam_session__coll__graph.pdf>]) (./class_b_m_a_t_c_p_server_socket.tex + +File: class_b_m_a_t_c_p_server_socket__inherit__graph.pdf Graphic file (type pd +f) + +Package pdftex.def Info: class_b_m_a_t_c_p_server_socket__inherit__graph.pdf u +sed on input line 13. +(pdftex.def) Requested size: 350.0pt x 221.48567pt. + +File: class_b_m_a_t_c_p_server_socket__coll__graph.pdf Graphic file (type pdf) + +Package pdftex.def Info: class_b_m_a_t_c_p_server_socket__coll__graph.pdf used + on input line 22. +(pdftex.def) Requested size: 350.0pt x 277.83534pt. + [46 <./class_b_m_a_t_c_p_server_socket__inherit__graph.pdf>] [47 <./class_b_m_ +a_t_c_p_server_socket__coll__graph.pdf>]) (./class_b_m_a_t_c_p_socket.tex + +File: class_b_m_a_t_c_p_socket__inherit__graph.pdf Graphic file (type pdf) + +Package pdftex.def Info: class_b_m_a_t_c_p_socket__inherit__graph.pdf used on +input line 13. +(pdftex.def) Requested size: 350.0pt x 185.65337pt. + +File: class_b_m_a_t_c_p_socket__coll__graph.pdf Graphic file (type pdf) + +Package pdftex.def Info: class_b_m_a_t_c_p_socket__coll__graph.pdf used on inp +ut line 22. +(pdftex.def) Requested size: 350.0pt x 202.58742pt. + [48 <./class_b_m_a_t_c_p_socket__inherit__graph.pdf>] [49 <./class_b_m_a_t_c_p +_socket__coll__graph.pdf>]) (./class_b_m_a_thread.tex) (./class_b_m_a_timer.tex + +File: class_b_m_a_timer__inherit__graph.pdf Graphic file (type pdf) + +Package pdftex.def Info: class_b_m_a_timer__inherit__graph.pdf used on input l +ine 13. +(pdftex.def) Requested size: 246.0pt x 267.99867pt. + [50] + +File: class_b_m_a_timer__coll__graph.pdf Graphic file (type pdf) + +Package pdftex.def Info: class_b_m_a_timer__coll__graph.pdf used on input line + 22. +(pdftex.def) Requested size: 350.0pt x 209.63766pt. + [51 <./class_b_m_a_timer__inherit__graph.pdf> <./class_b_m_a_timer__coll__grap +h.pdf + +pdfTeX warning: pdflatex (file ./class_b_m_a_timer__coll__graph.pdf): PDF inclu +sion: multiple pdfs with page group included in a single page +>]) (./class_b_m_a_u_d_p_server_socket.tex + +File: class_b_m_a_u_d_p_server_socket__inherit__graph.pdf Graphic file (type pd +f) + +Package pdftex.def Info: class_b_m_a_u_d_p_server_socket__inherit__graph.pdf u +sed on input line 13. +(pdftex.def) Requested size: 272.0pt x 268.01509pt. + [52] + +File: class_b_m_a_u_d_p_server_socket__coll__graph.pdf Graphic file (type pdf) + +Package pdftex.def Info: class_b_m_a_u_d_p_server_socket__coll__graph.pdf used + on input line 22. +(pdftex.def) Requested size: 350.0pt x 277.05205pt. + [53 <./class_b_m_a_u_d_p_server_socket__inherit__graph.pdf> <./class_b_m_a_u_d +_p_server_socket__coll__graph.pdf + +pdfTeX warning: pdflatex (file ./class_b_m_a_u_d_p_server_socket__coll__graph.p +df): PDF inclusion: multiple pdfs with page group included in a single page +>]) (./class_b_m_a_u_d_p_socket.tex + + +File: class_b_m_a_u_d_p_socket__inherit__graph.pdf Graphic file (type pdf) + +Package pdftex.def Info: class_b_m_a_u_d_p_socket__inherit__graph.pdf used on +input line 9. +(pdftex.def) Requested size: 246.0pt x 267.99867pt. + [54] + +File: class_b_m_a_u_d_p_socket__coll__graph.pdf Graphic file (type pdf) + +Package pdftex.def Info: class_b_m_a_u_d_p_socket__coll__graph.pdf used on inp +ut line 18. +(pdftex.def) Requested size: 350.0pt x 202.06937pt. + [55 <./class_b_m_a_u_d_p_socket__inherit__graph.pdf> <./class_b_m_a_u_d_p_sock +et__coll__graph.pdf + +pdfTeX warning: pdflatex (file ./class_b_m_a_u_d_p_socket__coll__graph.pdf): PD +F inclusion: multiple pdfs with page group included in a single page +>]) [56] (./refman.ind [57 + + + +]) +Package atveryend Info: Empty hook `BeforeClearDocument' on input line 191. +Package atveryend Info: Empty hook `AfterLastShipout' on input line 191. + (./refman.aux) +Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 191. +Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 191. +Package rerunfilecheck Info: File `refman.out' has not changed. +(rerunfilecheck) Checksum: 2C849180BC5920A18DC5FFB13575487F;17904. +Package atveryend Info: Empty hook `AtVeryVeryEnd' on input line 191. + ) +Here is how much of TeX's memory you used: + 15909 strings out of 494923 + 251521 string characters out of 6180742 + 319588 words of memory out of 5000000 + 18369 multiletter control sequences out of 15000+600000 + 67105 words of font info for 90 fonts, out of 8000000 for 9000 + 14 hyphenation exceptions out of 8191 + 53i,16n,92p,1496b,580s stack positions out of 5000i,500n,10000p,200000b,80000s +{/usr/share/texlive/texmf-dist/fonts/enc/dvips/base/8r.enc}< +/usr/share/texlive/texmf-dist/fonts/type1/urw/helvetic/uhvb8ac.pfb> +Output written on refman.pdf (63 pages, 332551 bytes). +PDF statistics: + 1915 PDF objects out of 2073 (max. 8388607) + 1702 compressed objects within 18 object streams + 478 named destinations out of 1000 (max. 500000) + 947 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/docs/latex/refman.out b/docs/latex/refman.out new file mode 100644 index 0000000..2ff95e8 --- /dev/null +++ b/docs/latex/refman.out @@ -0,0 +1,82 @@ +\BOOKMARK [0][-]{chapter.1}{\376\377\0001\000\040\000H\000i\000e\000r\000a\000r\000c\000h\000i\000c\000a\000l\000\040\000I\000n\000d\000e\000x}{}% 1 +\BOOKMARK [1][-]{section.1.1}{\376\377\0001\000.\0001\000\040\000C\000l\000a\000s\000s\000\040\000H\000i\000e\000r\000a\000r\000c\000h\000y}{chapter.1}% 2 +\BOOKMARK [0][-]{chapter.2}{\376\377\0002\000\040\000C\000l\000a\000s\000s\000\040\000I\000n\000d\000e\000x}{}% 3 +\BOOKMARK [1][-]{section.2.1}{\376\377\0002\000.\0001\000\040\000C\000l\000a\000s\000s\000\040\000L\000i\000s\000t}{chapter.2}% 4 +\BOOKMARK [0][-]{chapter.3}{\376\377\0003\000\040\000C\000l\000a\000s\000s\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n}{}% 5 +\BOOKMARK [1][-]{section.3.1}{\376\377\0003\000.\0001\000\040\000B\000M\000A\000A\000c\000c\000o\000u\000n\000t\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e}{chapter.3}% 6 +\BOOKMARK [1][-]{section.3.2}{\376\377\0003\000.\0002\000\040\000B\000M\000A\000A\000u\000t\000h\000e\000n\000t\000i\000c\000a\000t\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e}{chapter.3}% 7 +\BOOKMARK [1][-]{section.3.3}{\376\377\0003\000.\0003\000\040\000B\000M\000A\000C\000o\000m\000m\000a\000n\000d\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e}{chapter.3}% 8 +\BOOKMARK [1][-]{section.3.4}{\376\377\0003\000.\0004\000\040\000B\000M\000A\000C\000o\000n\000s\000o\000l\000e\000S\000e\000r\000v\000e\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e}{chapter.3}% 9 +\BOOKMARK [1][-]{section.3.5}{\376\377\0003\000.\0005\000\040\000B\000M\000A\000C\000o\000n\000s\000o\000l\000e\000S\000e\000s\000s\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e}{chapter.3}% 10 +\BOOKMARK [2][-]{subsection.3.5.1}{\376\377\0003\000.\0005\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n}{section.3.5}% 11 +\BOOKMARK [2][-]{subsection.3.5.2}{\376\377\0003\000.\0005\000.\0002\000\040\000M\000e\000m\000b\000e\000r\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n}{section.3.5}% 12 +\BOOKMARK [3][-]{subsubsection.3.5.2.1}{\376\377\0003\000.\0005\000.\0002\000.\0001\000\040\000o\000u\000t\000p\000u\000t\000\050\000\051}{subsection.3.5.2}% 13 +\BOOKMARK [1][-]{section.3.6}{\376\377\0003\000.\0006\000\040\000B\000M\000A\000E\000P\000o\000l\000l\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e}{chapter.3}% 14 +\BOOKMARK [2][-]{subsection.3.6.1}{\376\377\0003\000.\0006\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n}{section.3.6}% 15 +\BOOKMARK [2][-]{subsection.3.6.2}{\376\377\0003\000.\0006\000.\0002\000\040\000M\000e\000m\000b\000e\000r\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n}{section.3.6}% 16 +\BOOKMARK [3][-]{subsubsection.3.6.2.1}{\376\377\0003\000.\0006\000.\0002\000.\0001\000\040\000r\000e\000g\000i\000s\000t\000e\000r\000S\000o\000c\000k\000e\000t\000\050\000\051}{subsection.3.6.2}% 17 +\BOOKMARK [3][-]{subsubsection.3.6.2.2}{\376\377\0003\000.\0006\000.\0002\000.\0002\000\040\000u\000n\000r\000e\000g\000i\000s\000t\000e\000r\000S\000o\000c\000k\000e\000t\000\050\000\051}{subsection.3.6.2}% 18 +\BOOKMARK [1][-]{section.3.7}{\376\377\0003\000.\0007\000\040\000B\000M\000A\000F\000i\000l\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e}{chapter.3}% 19 +\BOOKMARK [2][-]{subsection.3.7.1}{\376\377\0003\000.\0007\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n}{section.3.7}% 20 +\BOOKMARK [1][-]{section.3.8}{\376\377\0003\000.\0008\000\040\000B\000M\000A\000H\000e\000a\000d\000e\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e}{chapter.3}% 21 +\BOOKMARK [1][-]{section.3.9}{\376\377\0003\000.\0009\000\040\000B\000M\000A\000H\000T\000T\000P\000R\000e\000q\000u\000e\000s\000t\000H\000a\000n\000d\000l\000e\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e}{chapter.3}% 22 +\BOOKMARK [1][-]{section.3.10}{\376\377\0003\000.\0001\0000\000\040\000B\000M\000A\000H\000T\000T\000P\000S\000e\000r\000v\000e\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e}{chapter.3}% 23 +\BOOKMARK [1][-]{section.3.11}{\376\377\0003\000.\0001\0001\000\040\000B\000M\000A\000H\000T\000T\000P\000S\000e\000s\000s\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e}{chapter.3}% 24 +\BOOKMARK [2][-]{subsection.3.11.1}{\376\377\0003\000.\0001\0001\000.\0001\000\040\000M\000e\000m\000b\000e\000r\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n}{section.3.11}% 25 +\BOOKMARK [3][-]{subsubsection.3.11.1.1}{\376\377\0003\000.\0001\0001\000.\0001\000.\0001\000\040\000o\000n\000D\000a\000t\000a\000R\000e\000c\000e\000i\000v\000e\000d\000\050\000\051}{subsection.3.11.1}% 26 +\BOOKMARK [1][-]{section.3.12}{\376\377\0003\000.\0001\0002\000\040\000B\000M\000A\000L\000o\000g\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e}{chapter.3}% 27 +\BOOKMARK [1][-]{section.3.13}{\376\377\0003\000.\0001\0003\000\040\000B\000M\000A\000M\000P\0003\000F\000i\000l\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e}{chapter.3}% 28 +\BOOKMARK [1][-]{section.3.14}{\376\377\0003\000.\0001\0004\000\040\000B\000M\000A\000M\000P\0003\000S\000t\000r\000e\000a\000m\000C\000o\000n\000t\000e\000n\000t\000P\000r\000o\000v\000i\000d\000e\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e}{chapter.3}% 29 +\BOOKMARK [1][-]{section.3.15}{\376\377\0003\000.\0001\0005\000\040\000B\000M\000A\000M\000P\0003\000S\000t\000r\000e\000a\000m\000F\000r\000a\000m\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e}{chapter.3}% 30 +\BOOKMARK [1][-]{section.3.16}{\376\377\0003\000.\0001\0006\000\040\000B\000M\000A\000O\000b\000j\000e\000c\000t\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e}{chapter.3}% 31 +\BOOKMARK [1][-]{section.3.17}{\376\377\0003\000.\0001\0007\000\040\000B\000M\000A\000P\000a\000r\000s\000e\000H\000e\000a\000d\000e\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e}{chapter.3}% 32 +\BOOKMARK [1][-]{section.3.18}{\376\377\0003\000.\0001\0008\000\040\000B\000M\000A\000P\000r\000o\000p\000e\000r\000t\000y\000<\000\040\000T\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e}{chapter.3}% 33 +\BOOKMARK [1][-]{section.3.19}{\376\377\0003\000.\0001\0009\000\040\000B\000M\000A\000S\000e\000s\000s\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e}{chapter.3}% 34 +\BOOKMARK [2][-]{subsection.3.19.1}{\376\377\0003\000.\0001\0009\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n}{section.3.19}% 35 +\BOOKMARK [2][-]{subsection.3.19.2}{\376\377\0003\000.\0001\0009\000.\0002\000\040\000M\000e\000m\000b\000e\000r\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n}{section.3.19}% 36 +\BOOKMARK [3][-]{subsubsection.3.19.2.1}{\376\377\0003\000.\0001\0009\000.\0002\000.\0001\000\040\000o\000n\000C\000o\000n\000n\000e\000c\000t\000e\000d\000\050\000\051}{subsection.3.19.2}% 37 +\BOOKMARK [3][-]{subsubsection.3.19.2.2}{\376\377\0003\000.\0001\0009\000.\0002\000.\0002\000\040\000o\000n\000D\000a\000t\000a\000R\000e\000c\000e\000i\000v\000e\000d\000\050\000\051}{subsection.3.19.2}% 38 +\BOOKMARK [3][-]{subsubsection.3.19.2.3}{\376\377\0003\000.\0001\0009\000.\0002\000.\0003\000\040\000o\000u\000t\000p\000u\000t\000\050\000\051}{subsection.3.19.2}% 39 +\BOOKMARK [1][-]{section.3.20}{\376\377\0003\000.\0002\0000\000\040\000B\000M\000A\000S\000I\000P\000I\000N\000V\000I\000T\000E\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e}{chapter.3}% 40 +\BOOKMARK [1][-]{section.3.21}{\376\377\0003\000.\0002\0001\000\040\000B\000M\000A\000S\000I\000P\000R\000E\000G\000I\000S\000T\000E\000R\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e}{chapter.3}% 41 +\BOOKMARK [1][-]{section.3.22}{\376\377\0003\000.\0002\0002\000\040\000B\000M\000A\000S\000I\000P\000R\000e\000q\000u\000e\000s\000t\000H\000a\000n\000d\000l\000e\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e}{chapter.3}% 42 +\BOOKMARK [1][-]{section.3.23}{\376\377\0003\000.\0002\0003\000\040\000B\000M\000A\000S\000I\000P\000S\000e\000r\000v\000e\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e}{chapter.3}% 43 +\BOOKMARK [1][-]{section.3.24}{\376\377\0003\000.\0002\0004\000\040\000B\000M\000A\000S\000I\000P\000S\000e\000s\000s\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e}{chapter.3}% 44 +\BOOKMARK [2][-]{subsection.3.24.1}{\376\377\0003\000.\0002\0004\000.\0001\000\040\000M\000e\000m\000b\000e\000r\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n}{section.3.24}% 45 +\BOOKMARK [3][-]{subsubsection.3.24.1.1}{\376\377\0003\000.\0002\0004\000.\0001\000.\0001\000\040\000o\000n\000D\000a\000t\000a\000R\000e\000c\000e\000i\000v\000e\000d\000\050\000\051}{subsection.3.24.1}% 46 +\BOOKMARK [1][-]{section.3.25}{\376\377\0003\000.\0002\0005\000\040\000B\000M\000A\000S\000o\000c\000k\000e\000t\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e}{chapter.3}% 47 +\BOOKMARK [2][-]{subsection.3.25.1}{\376\377\0003\000.\0002\0005\000.\0001\000\040\000C\000o\000n\000s\000t\000r\000u\000c\000t\000o\000r\000\040\000\046\000\040\000D\000e\000s\000t\000r\000u\000c\000t\000o\000r\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n}{section.3.25}% 48 +\BOOKMARK [3][-]{subsubsection.3.25.1.1}{\376\377\0003\000.\0002\0005\000.\0001\000.\0001\000\040\000\040\000B\000M\000A\000S\000o\000c\000k\000e\000t\000\050\000\051}{subsection.3.25.1}% 49 +\BOOKMARK [2][-]{subsection.3.25.2}{\376\377\0003\000.\0002\0005\000.\0002\000\040\000M\000e\000m\000b\000e\000r\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n}{section.3.25}% 50 +\BOOKMARK [3][-]{subsubsection.3.25.2.1}{\376\377\0003\000.\0002\0005\000.\0002\000.\0001\000\040\000e\000v\000e\000n\000t\000R\000e\000c\000e\000i\000v\000e\000d\000\050\000\051}{subsection.3.25.2}% 51 +\BOOKMARK [3][-]{subsubsection.3.25.2.2}{\376\377\0003\000.\0002\0005\000.\0002\000.\0002\000\040\000o\000n\000C\000o\000n\000n\000e\000c\000t\000e\000d\000\050\000\051}{subsection.3.25.2}% 52 +\BOOKMARK [3][-]{subsubsection.3.25.2.3}{\376\377\0003\000.\0002\0005\000.\0002\000.\0003\000\040\000o\000n\000D\000a\000t\000a\000R\000e\000c\000e\000i\000v\000e\000d\000\050\000\051}{subsection.3.25.2}% 53 +\BOOKMARK [3][-]{subsubsection.3.25.2.4}{\376\377\0003\000.\0002\0005\000.\0002\000.\0004\000\040\000o\000n\000R\000e\000g\000i\000s\000t\000e\000r\000e\000d\000\050\000\051}{subsection.3.25.2}% 54 +\BOOKMARK [1][-]{section.3.26}{\376\377\0003\000.\0002\0006\000\040\000B\000M\000A\000S\000t\000r\000e\000a\000m\000C\000o\000n\000t\000e\000n\000t\000P\000r\000o\000v\000i\000d\000e\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e}{chapter.3}% 55 +\BOOKMARK [1][-]{section.3.27}{\376\377\0003\000.\0002\0007\000\040\000B\000M\000A\000S\000t\000r\000e\000a\000m\000F\000r\000a\000m\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e}{chapter.3}% 56 +\BOOKMARK [1][-]{section.3.28}{\376\377\0003\000.\0002\0008\000\040\000B\000M\000A\000S\000t\000r\000e\000a\000m\000S\000e\000r\000v\000e\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e}{chapter.3}% 57 +\BOOKMARK [2][-]{subsection.3.28.1}{\376\377\0003\000.\0002\0008\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n}{section.3.28}% 58 +\BOOKMARK [1][-]{section.3.29}{\376\377\0003\000.\0002\0009\000\040\000B\000M\000A\000S\000t\000r\000e\000a\000m\000S\000e\000s\000s\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e}{chapter.3}% 59 +\BOOKMARK [2][-]{subsection.3.29.1}{\376\377\0003\000.\0002\0009\000.\0001\000\040\000M\000e\000m\000b\000e\000r\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n}{section.3.29}% 60 +\BOOKMARK [3][-]{subsubsection.3.29.1.1}{\376\377\0003\000.\0002\0009\000.\0001\000.\0001\000\040\000o\000n\000D\000a\000t\000a\000R\000e\000c\000e\000i\000v\000e\000d\000\050\000\051}{subsection.3.29.1}% 61 +\BOOKMARK [1][-]{section.3.30}{\376\377\0003\000.\0003\0000\000\040\000B\000M\000A\000T\000C\000P\000S\000e\000r\000v\000e\000r\000S\000o\000c\000k\000e\000t\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e}{chapter.3}% 62 +\BOOKMARK [2][-]{subsection.3.30.1}{\376\377\0003\000.\0003\0000\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n}{section.3.30}% 63 +\BOOKMARK [2][-]{subsection.3.30.2}{\376\377\0003\000.\0003\0000\000.\0002\000\040\000M\000e\000m\000b\000e\000r\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n}{section.3.30}% 64 +\BOOKMARK [3][-]{subsubsection.3.30.2.1}{\376\377\0003\000.\0003\0000\000.\0002\000.\0001\000\040\000a\000c\000c\000e\000p\000t\000\050\000\051}{subsection.3.30.2}% 65 +\BOOKMARK [3][-]{subsubsection.3.30.2.2}{\376\377\0003\000.\0003\0000\000.\0002\000.\0002\000\040\000o\000n\000D\000a\000t\000a\000R\000e\000c\000e\000i\000v\000e\000d\000\050\000\051}{subsection.3.30.2}% 66 +\BOOKMARK [1][-]{section.3.31}{\376\377\0003\000.\0003\0001\000\040\000B\000M\000A\000T\000C\000P\000S\000o\000c\000k\000e\000t\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e}{chapter.3}% 67 +\BOOKMARK [2][-]{subsection.3.31.1}{\376\377\0003\000.\0003\0001\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n}{section.3.31}% 68 +\BOOKMARK [2][-]{subsection.3.31.2}{\376\377\0003\000.\0003\0001\000.\0002\000\040\000M\000e\000m\000b\000e\000r\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n}{section.3.31}% 69 +\BOOKMARK [3][-]{subsubsection.3.31.2.1}{\376\377\0003\000.\0003\0001\000.\0002\000.\0001\000\040\000o\000n\000C\000o\000n\000n\000e\000c\000t\000e\000d\000\050\000\051}{subsection.3.31.2}% 70 +\BOOKMARK [3][-]{subsubsection.3.31.2.2}{\376\377\0003\000.\0003\0001\000.\0002\000.\0002\000\040\000o\000u\000t\000p\000u\000t\000\050\000\051}{subsection.3.31.2}% 71 +\BOOKMARK [1][-]{section.3.32}{\376\377\0003\000.\0003\0002\000\040\000B\000M\000A\000T\000h\000r\000e\000a\000d\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e}{chapter.3}% 72 +\BOOKMARK [1][-]{section.3.33}{\376\377\0003\000.\0003\0003\000\040\000B\000M\000A\000T\000i\000m\000e\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e}{chapter.3}% 73 +\BOOKMARK [2][-]{subsection.3.33.1}{\376\377\0003\000.\0003\0003\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n}{section.3.33}% 74 +\BOOKMARK [2][-]{subsection.3.33.2}{\376\377\0003\000.\0003\0003\000.\0002\000\040\000M\000e\000m\000b\000e\000r\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n}{section.3.33}% 75 +\BOOKMARK [3][-]{subsubsection.3.33.2.1}{\376\377\0003\000.\0003\0003\000.\0002\000.\0001\000\040\000o\000n\000D\000a\000t\000a\000R\000e\000c\000e\000i\000v\000e\000d\000\050\000\051}{subsection.3.33.2}% 76 +\BOOKMARK [1][-]{section.3.34}{\376\377\0003\000.\0003\0004\000\040\000B\000M\000A\000U\000D\000P\000S\000e\000r\000v\000e\000r\000S\000o\000c\000k\000e\000t\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e}{chapter.3}% 77 +\BOOKMARK [2][-]{subsection.3.34.1}{\376\377\0003\000.\0003\0004\000.\0001\000\040\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n}{section.3.34}% 78 +\BOOKMARK [2][-]{subsection.3.34.2}{\376\377\0003\000.\0003\0004\000.\0002\000\040\000M\000e\000m\000b\000e\000r\000\040\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n}{section.3.34}% 79 +\BOOKMARK [3][-]{subsubsection.3.34.2.1}{\376\377\0003\000.\0003\0004\000.\0002\000.\0001\000\040\000o\000n\000D\000a\000t\000a\000R\000e\000c\000e\000i\000v\000e\000d\000\050\000\051}{subsection.3.34.2}% 80 +\BOOKMARK [1][-]{section.3.35}{\376\377\0003\000.\0003\0005\000\040\000B\000M\000A\000U\000D\000P\000S\000o\000c\000k\000e\000t\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e}{chapter.3}% 81 +\BOOKMARK [0][-]{section*.144}{\376\377\000I\000n\000d\000e\000x}{}% 82 diff --git a/docs/latex/refman.pdf b/docs/latex/refman.pdf new file mode 100644 index 0000000..24b2dbc Binary files /dev/null and b/docs/latex/refman.pdf differ diff --git a/docs/latex/refman.tex b/docs/latex/refman.tex new file mode 100644 index 0000000..3aa8bb3 --- /dev/null +++ b/docs/latex/refman.tex @@ -0,0 +1,184 @@ +\documentclass[twoside]{book} + +% Packages required by doxygen +\usepackage{fixltx2e} +\usepackage{calc} +\usepackage{doxygen} +\usepackage[export]{adjustbox} % also loads graphicx +\usepackage{graphicx} +\usepackage[utf8]{inputenc} +\usepackage{makeidx} +\usepackage{multicol} +\usepackage{multirow} +\PassOptionsToPackage{warn}{textcomp} +\usepackage{textcomp} +\usepackage[nointegrals]{wasysym} +\usepackage[table]{xcolor} + +% Font selection +\usepackage[T1]{fontenc} +\usepackage[scaled=.90]{helvet} +\usepackage{courier} +\usepackage{amssymb} +\usepackage{sectsty} +\renewcommand{\familydefault}{\sfdefault} +\allsectionsfont{% + \fontseries{bc}\selectfont% + \color{darkgray}% +} +\renewcommand{\DoxyLabelFont}{% + \fontseries{bc}\selectfont% + \color{darkgray}% +} +\newcommand{\+}{\discretionary{\mbox{\scriptsize$\hookleftarrow$}}{}{}} + +% Page & text layout +\usepackage{geometry} +\geometry{% + a4paper,% + top=2.5cm,% + bottom=2.5cm,% + left=2.5cm,% + right=2.5cm% +} +\tolerance=750 +\hfuzz=15pt +\hbadness=750 +\setlength{\emergencystretch}{15pt} +\setlength{\parindent}{0cm} +\setlength{\parskip}{3ex plus 2ex minus 2ex} +\makeatletter +\renewcommand{\paragraph}{% + \@startsection{paragraph}{4}{0ex}{-1.0ex}{1.0ex}{% + \normalfont\normalsize\bfseries\SS@parafont% + }% +} +\renewcommand{\subparagraph}{% + \@startsection{subparagraph}{5}{0ex}{-1.0ex}{1.0ex}{% + \normalfont\normalsize\bfseries\SS@subparafont% + }% +} +\makeatother + +% Headers & footers +\usepackage{fancyhdr} +\pagestyle{fancyplain} +\fancyhead[LE]{\fancyplain{}{\bfseries\thepage}} +\fancyhead[CE]{\fancyplain{}{}} +\fancyhead[RE]{\fancyplain{}{\bfseries\leftmark}} +\fancyhead[LO]{\fancyplain{}{\bfseries\rightmark}} +\fancyhead[CO]{\fancyplain{}{}} +\fancyhead[RO]{\fancyplain{}{\bfseries\thepage}} +\fancyfoot[LE]{\fancyplain{}{}} +\fancyfoot[CE]{\fancyplain{}{}} +\fancyfoot[RE]{\fancyplain{}{\bfseries\scriptsize Generated by Doxygen }} +\fancyfoot[LO]{\fancyplain{}{\bfseries\scriptsize Generated by Doxygen }} +\fancyfoot[CO]{\fancyplain{}{}} +\fancyfoot[RO]{\fancyplain{}{}} +\renewcommand{\footrulewidth}{0.4pt} +\renewcommand{\chaptermark}[1]{% + \markboth{#1}{}% +} +\renewcommand{\sectionmark}[1]{% + \markright{\thesection\ #1}% +} + +% Indices & bibliography +\usepackage{natbib} +\usepackage[titles]{tocloft} +\setcounter{tocdepth}{3} +\setcounter{secnumdepth}{5} +\makeindex + +% Hyperlinks (required, but should be loaded last) +\usepackage{ifpdf} +\ifpdf + \usepackage[pdftex,pagebackref=true]{hyperref} +\else + \usepackage[ps2pdf,pagebackref=true]{hyperref} +\fi +\hypersetup{% + colorlinks=true,% + linkcolor=blue,% + citecolor=blue,% + unicode% +} + +% Custom commands +\newcommand{\clearemptydoublepage}{% + \newpage{\pagestyle{empty}\cleardoublepage}% +} + +\usepackage{caption} +\captionsetup{labelsep=space,justification=centering,font={bf},singlelinecheck=off,skip=4pt,position=top} + +%===== C O N T E N T S ===== + +\begin{document} + +% Titlepage & ToC +\hypersetup{pageanchor=false, + bookmarksnumbered=true, + pdfencoding=unicode + } +\pagenumbering{alph} +\begin{titlepage} +\vspace*{7cm} +\begin{center}% +{\Large B\+MA Server Framework }\\ +\vspace*{1cm} +{\large Generated by Doxygen 1.8.13}\\ +\end{center} +\end{titlepage} +\clearemptydoublepage +\pagenumbering{roman} +\tableofcontents +\clearemptydoublepage +\pagenumbering{arabic} +\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_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_object} +\input{classcore_1_1_response} +\input{classcore_1_1_session} +\input{classcore_1_1_session_filter} +\input{classcore_1_1_socket} +\input{classcore_1_1_t_c_p_server_socket} +\input{classcore_1_1_t_c_p_socket} +\input{classcore_1_1_terminal_session} +\input{classcore_1_1_thread} +\input{classcore_1_1_timer} +\input{classcore_1_1_t_l_s_server_socket} +\input{classcore_1_1_t_l_s_session} +\input{classcore_1_1_u_d_p_server_socket} +\input{classcore_1_1_u_d_p_socket} +%--- End generated contents --- + +% Index +\backmatter +\newpage +\phantomsection +\clearemptydoublepage +\addcontentsline{toc}{chapter}{Index} +\printindex + +\end{document} diff --git a/docs/latex/refman.toc b/docs/latex/refman.toc new file mode 100644 index 0000000..aa6e2cd --- /dev/null +++ b/docs/latex/refman.toc @@ -0,0 +1,82 @@ +\contentsline {chapter}{\numberline {1}Hierarchical Index}{1}{chapter.1} +\contentsline {section}{\numberline {1.1}Class Hierarchy}{1}{section.1.1} +\contentsline {chapter}{\numberline {2}Class Index}{3}{chapter.2} +\contentsline {section}{\numberline {2.1}Class List}{3}{section.2.1} +\contentsline {chapter}{\numberline {3}Class Documentation}{5}{chapter.3} +\contentsline {section}{\numberline {3.1}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Account Class Reference}{5}{section.3.1} +\contentsline {section}{\numberline {3.2}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Authenticate Class Reference}{6}{section.3.2} +\contentsline {section}{\numberline {3.3}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Command Class Reference}{7}{section.3.3} +\contentsline {section}{\numberline {3.4}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Console\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Server Class Reference}{8}{section.3.4} +\contentsline {section}{\numberline {3.5}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Console\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Session Class Reference}{10}{section.3.5} +\contentsline {subsection}{\numberline {3.5.1}Detailed Description}{11}{subsection.3.5.1} +\contentsline {subsection}{\numberline {3.5.2}Member Function Documentation}{11}{subsection.3.5.2} +\contentsline {subsubsection}{\numberline {3.5.2.1}output()}{12}{subsubsection.3.5.2.1} +\contentsline {section}{\numberline {3.6}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}E\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Poll Class Reference}{12}{section.3.6} +\contentsline {subsection}{\numberline {3.6.1}Detailed Description}{14}{subsection.3.6.1} +\contentsline {subsection}{\numberline {3.6.2}Member Function Documentation}{14}{subsection.3.6.2} +\contentsline {subsubsection}{\numberline {3.6.2.1}register\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Socket()}{14}{subsubsection.3.6.2.1} +\contentsline {subsubsection}{\numberline {3.6.2.2}unregister\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Socket()}{14}{subsubsection.3.6.2.2} +\contentsline {section}{\numberline {3.7}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}File Class Reference}{15}{section.3.7} +\contentsline {subsection}{\numberline {3.7.1}Detailed Description}{15}{subsection.3.7.1} +\contentsline {section}{\numberline {3.8}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Header Class Reference}{16}{section.3.8} +\contentsline {section}{\numberline {3.9}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}H\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}T\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}T\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}P\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Request\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Handler Class Reference}{17}{section.3.9} +\contentsline {section}{\numberline {3.10}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}H\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}T\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}T\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}P\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Server Class Reference}{18}{section.3.10} +\contentsline {section}{\numberline {3.11}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}H\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}T\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}T\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}P\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Session Class Reference}{20}{section.3.11} +\contentsline {subsection}{\numberline {3.11.1}Member Function Documentation}{21}{subsection.3.11.1} +\contentsline {subsubsection}{\numberline {3.11.1.1}on\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Data\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Received()}{22}{subsubsection.3.11.1.1} +\contentsline {section}{\numberline {3.12}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Log Class Reference}{22}{section.3.12} +\contentsline {section}{\numberline {3.13}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}P3\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}File Class Reference}{22}{section.3.13} +\contentsline {section}{\numberline {3.14}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}P3\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Stream\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Content\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Provider Class Reference}{23}{section.3.14} +\contentsline {section}{\numberline {3.15}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}P3\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Stream\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Frame Class Reference}{24}{section.3.15} +\contentsline {section}{\numberline {3.16}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Object Class Reference}{26}{section.3.16} +\contentsline {section}{\numberline {3.17}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Parse\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Header Class Reference}{26}{section.3.17} +\contentsline {section}{\numberline {3.18}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Property$<$ T $>$ Class Template Reference}{26}{section.3.18} +\contentsline {section}{\numberline {3.19}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Session Class Reference}{27}{section.3.19} +\contentsline {subsection}{\numberline {3.19.1}Detailed Description}{28}{subsection.3.19.1} +\contentsline {subsection}{\numberline {3.19.2}Member Function Documentation}{28}{subsection.3.19.2} +\contentsline {subsubsection}{\numberline {3.19.2.1}on\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Connected()}{28}{subsubsection.3.19.2.1} +\contentsline {subsubsection}{\numberline {3.19.2.2}on\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Data\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Received()}{29}{subsubsection.3.19.2.2} +\contentsline {subsubsection}{\numberline {3.19.2.3}output()}{29}{subsubsection.3.19.2.3} +\contentsline {section}{\numberline {3.20}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}S\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}I\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}P\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}I\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}N\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}V\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}I\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}TE Class Reference}{29}{section.3.20} +\contentsline {section}{\numberline {3.21}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}S\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}I\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}P\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}R\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}E\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}G\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}I\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}S\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}T\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}ER Class Reference}{30}{section.3.21} +\contentsline {section}{\numberline {3.22}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}S\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}I\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}P\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Request\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Handler Class Reference}{31}{section.3.22} +\contentsline {section}{\numberline {3.23}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}S\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}I\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}P\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Server Class Reference}{33}{section.3.23} +\contentsline {section}{\numberline {3.24}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}S\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}I\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}P\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Session Class Reference}{35}{section.3.24} +\contentsline {subsection}{\numberline {3.24.1}Member Function Documentation}{36}{subsection.3.24.1} +\contentsline {subsubsection}{\numberline {3.24.1.1}on\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Data\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Received()}{37}{subsubsection.3.24.1.1} +\contentsline {section}{\numberline {3.25}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Socket Class Reference}{37}{section.3.25} +\contentsline {subsection}{\numberline {3.25.1}Constructor \& Destructor Documentation}{39}{subsection.3.25.1} +\contentsline {subsubsection}{\numberline {3.25.1.1}$\sim $\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Socket()}{39}{subsubsection.3.25.1.1} +\contentsline {subsection}{\numberline {3.25.2}Member Function Documentation}{39}{subsection.3.25.2} +\contentsline {subsubsection}{\numberline {3.25.2.1}event\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Received()}{39}{subsubsection.3.25.2.1} +\contentsline {subsubsection}{\numberline {3.25.2.2}on\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Connected()}{39}{subsubsection.3.25.2.2} +\contentsline {subsubsection}{\numberline {3.25.2.3}on\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Data\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Received()}{40}{subsubsection.3.25.2.3} +\contentsline {subsubsection}{\numberline {3.25.2.4}on\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Registered()}{40}{subsubsection.3.25.2.4} +\contentsline {section}{\numberline {3.26}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Stream\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Content\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Provider Class Reference}{40}{section.3.26} +\contentsline {section}{\numberline {3.27}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Stream\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Frame Class Reference}{41}{section.3.27} +\contentsline {section}{\numberline {3.28}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Stream\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Server Class Reference}{42}{section.3.28} +\contentsline {subsection}{\numberline {3.28.1}Detailed Description}{43}{subsection.3.28.1} +\contentsline {section}{\numberline {3.29}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Stream\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Session Class Reference}{44}{section.3.29} +\contentsline {subsection}{\numberline {3.29.1}Member Function Documentation}{45}{subsection.3.29.1} +\contentsline {subsubsection}{\numberline {3.29.1.1}on\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Data\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Received()}{46}{subsubsection.3.29.1.1} +\contentsline {section}{\numberline {3.30}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}T\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}C\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}P\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Server\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Socket Class Reference}{46}{section.3.30} +\contentsline {subsection}{\numberline {3.30.1}Detailed Description}{47}{subsection.3.30.1} +\contentsline {subsection}{\numberline {3.30.2}Member Function Documentation}{48}{subsection.3.30.2} +\contentsline {subsubsection}{\numberline {3.30.2.1}accept()}{48}{subsubsection.3.30.2.1} +\contentsline {subsubsection}{\numberline {3.30.2.2}on\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Data\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Received()}{48}{subsubsection.3.30.2.2} +\contentsline {section}{\numberline {3.31}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}T\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}C\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}P\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Socket Class Reference}{48}{section.3.31} +\contentsline {subsection}{\numberline {3.31.1}Detailed Description}{49}{subsection.3.31.1} +\contentsline {subsection}{\numberline {3.31.2}Member Function Documentation}{50}{subsection.3.31.2} +\contentsline {subsubsection}{\numberline {3.31.2.1}on\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Connected()}{50}{subsubsection.3.31.2.1} +\contentsline {subsubsection}{\numberline {3.31.2.2}output()}{50}{subsubsection.3.31.2.2} +\contentsline {section}{\numberline {3.32}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Thread Class Reference}{50}{section.3.32} +\contentsline {section}{\numberline {3.33}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Timer Class Reference}{51}{section.3.33} +\contentsline {subsection}{\numberline {3.33.1}Detailed Description}{52}{subsection.3.33.1} +\contentsline {subsection}{\numberline {3.33.2}Member Function Documentation}{52}{subsection.3.33.2} +\contentsline {subsubsection}{\numberline {3.33.2.1}on\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Data\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Received()}{52}{subsubsection.3.33.2.1} +\contentsline {section}{\numberline {3.34}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}U\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}D\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}P\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Server\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Socket Class Reference}{53}{section.3.34} +\contentsline {subsection}{\numberline {3.34.1}Detailed Description}{54}{subsection.3.34.1} +\contentsline {subsection}{\numberline {3.34.2}Member Function Documentation}{54}{subsection.3.34.2} +\contentsline {subsubsection}{\numberline {3.34.2.1}on\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Data\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Received()}{54}{subsubsection.3.34.2.1} +\contentsline {section}{\numberline {3.35}B\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}M\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}A\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}U\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}D\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}P\discretionary {\unhbox \voidb@x \hbox {\relax \fontsize {7}{8}\selectfont $\leftarrow \joinrel \rhook $}}{}{}Socket Class Reference}{55}{section.3.35} +\contentsline {chapter}{Index}{57}{section*.144} diff --git a/doxygen/Doxyfile b/doxygen/Doxyfile new file mode 100644 index 0000000..3dd0fa4 --- /dev/null +++ b/doxygen/Doxyfile @@ -0,0 +1,2493 @@ +# Doxyfile 1.8.13 + +# This file describes the settings to be used by the documentation system +# doxygen (www.doxygen.org) for a project. +# +# All text after a double hash (##) is considered a comment and is placed in +# front of the TAG it is preceding. +# +# All text after a single hash (#) is considered a comment and will be ignored. +# The format is: +# TAG = value [value, ...] +# For lists, items can also be appended using: +# TAG += value [value, ...] +# Values that contain spaces should be placed between quotes (\" \"). + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- + +# This tag specifies the encoding used for all characters in the config file +# that follow. The default is UTF-8 which is also the encoding used for all text +# before the first occurrence of this tag. Doxygen uses libiconv (or the iconv +# built into libc) for the transcoding. See http://www.gnu.org/software/libiconv +# for the list of possible encodings. +# The default value is: UTF-8. + +DOXYFILE_ENCODING = UTF-8 + +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded by +# double-quotes, unless you are using Doxywizard) that should identify the +# project for which the documentation is generated. This name is used in the +# title of most generated pages and in a few other places. +# The default value is: My Project. + +PROJECT_NAME = "BMA Server Framework" + +# The PROJECT_NUMBER tag can be used to enter a project or revision number. This +# could be handy for archiving the generated documentation or if some version +# control system is used. + +PROJECT_NUMBER = + +# Using the PROJECT_BRIEF tag one can provide an optional one line description +# for a project that appears at the top of each page and should give viewer a +# quick idea about the purpose of the project. Keep the description short. + +PROJECT_BRIEF = + +# With the PROJECT_LOGO tag one can specify a logo or an icon that is included +# in the documentation. The maximum height of the logo should not exceed 55 +# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy +# the logo to the output directory. + +PROJECT_LOGO = + +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path +# into which the generated documentation will be written. If a relative path is +# 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 + +# 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 +# will distribute the generated files over these directories. Enabling this +# option can be useful when feeding doxygen a huge amount of source files, where +# putting all generated files in the same directory would otherwise causes +# performance problems for the file system. +# The default value is: NO. + +CREATE_SUBDIRS = NO + +# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII +# characters to appear in the names of generated files. If set to NO, non-ASCII +# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode +# U+3044. +# The default value is: NO. + +ALLOW_UNICODE_NAMES = NO + +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese, +# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States), +# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian, +# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages), +# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian, +# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian, +# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish, +# Ukrainian and Vietnamese. +# The default value is: English. + +OUTPUT_LANGUAGE = English + +# If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member +# descriptions after the members that are listed in the file and class +# documentation (similar to Javadoc). Set to NO to disable this. +# The default value is: YES. + +BRIEF_MEMBER_DESC = YES + +# If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief +# description of a member or function before the detailed description +# +# Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# brief descriptions will be completely suppressed. +# The default value is: YES. + +REPEAT_BRIEF = YES + +# This tag implements a quasi-intelligent brief description abbreviator that is +# used to form the text in various listings. Each string in this list, if found +# as the leading text of the brief description, will be stripped from the text +# and the result, after processing the whole list, is used as the annotated +# text. Otherwise, the brief description is used as-is. If left blank, the +# following values are used ($name is automatically replaced with the name of +# the entity):The $name class, The $name widget, The $name file, is, provides, +# specifies, contains, represents, a, an and the. + +ABBREVIATE_BRIEF = "The $name class" \ + "The $name widget" \ + "The $name file" \ + is \ + provides \ + specifies \ + contains \ + represents \ + a \ + an \ + the + +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# doxygen will generate a detailed section even if there is only a brief +# description. +# The default value is: NO. + +ALWAYS_DETAILED_SEC = NO + +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all +# inherited members of a class in the documentation of that class as if those +# members were ordinary class members. Constructors, destructors and assignment +# operators of the base classes will not be shown. +# The default value is: NO. + +INLINE_INHERITED_MEMB = NO + +# If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path +# before files name in the file list and in the header files. If set to NO the +# shortest path that makes the file name unique will be used +# The default value is: YES. + +FULL_PATH_NAMES = YES + +# The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path. +# Stripping is only done if one of the specified strings matches the left-hand +# part of the path. The tag can be used to show relative paths in the file list. +# If left blank the directory from which doxygen is run is used as the path to +# strip. +# +# Note that you can specify absolute paths here, but also relative paths, which +# will be relative from the directory where doxygen is started. +# This tag requires that the tag FULL_PATH_NAMES is set to YES. + +STRIP_FROM_PATH = + +# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the +# path mentioned in the documentation of a class, which tells the reader which +# header file to include in order to use a class. If left blank only the name of +# the header file containing the class definition is used. Otherwise one should +# specify the list of include paths that are normally passed to the compiler +# using the -I flag. + +STRIP_FROM_INC_PATH = + +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but +# less readable) file names. This can be useful is your file systems doesn't +# support long names like on DOS, Mac, or CD-ROM. +# The default value is: NO. + +SHORT_NAMES = NO + +# If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the +# first line (until the first dot) of a Javadoc-style comment as the brief +# description. If set to NO, the Javadoc-style will behave just like regular Qt- +# style comments (thus requiring an explicit @brief command for a brief +# description.) +# The default value is: NO. + +JAVADOC_AUTOBRIEF = NO + +# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first +# line (until the first dot) of a Qt-style comment as the brief description. If +# set to NO, the Qt-style will behave just like regular Qt-style comments (thus +# requiring an explicit \brief command for a brief description.) +# The default value is: NO. + +QT_AUTOBRIEF = NO + +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a +# multi-line C++ special comment block (i.e. a block of //! or /// comments) as +# a brief description. This used to be the default behavior. The new default is +# to treat a multi-line C++ comment block as a detailed description. Set this +# tag to YES if you prefer the old behavior instead. +# +# Note that setting this tag to YES also means that rational rose comments are +# not recognized any more. +# The default value is: NO. + +MULTILINE_CPP_IS_BRIEF = NO + +# If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the +# documentation from any documented member that it re-implements. +# The default value is: YES. + +INHERIT_DOCS = YES + +# If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new +# page for each member. If set to NO, the documentation of a member will be part +# of the file/class/namespace that contains it. +# The default value is: NO. + +SEPARATE_MEMBER_PAGES = NO + +# The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen +# uses this value to replace tabs by spaces in code fragments. +# Minimum value: 1, maximum value: 16, default value: 4. + +TAB_SIZE = 4 + +# This tag can be used to specify a number of aliases that act as commands in +# the documentation. An alias has the form: +# name=value +# For example adding +# "sideeffect=@par Side Effects:\n" +# will allow you to put the command \sideeffect (or @sideeffect) in the +# documentation, which will result in a user-defined paragraph with heading +# "Side Effects:". You can put \n's in the value part of an alias to insert +# newlines. + +ALIASES = + +# This tag can be used to specify a number of word-keyword mappings (TCL only). +# A mapping has the form "name=value". For example adding "class=itcl::class" +# will allow you to use the command class in the itcl::class meaning. + +TCL_SUBST = + +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources +# only. Doxygen will then generate output that is more tailored for C. For +# instance, some of the names that are used will be different. The list of all +# members will be omitted, etc. +# The default value is: NO. + +OPTIMIZE_OUTPUT_FOR_C = NO + +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or +# Python sources only. Doxygen will then generate output that is more tailored +# for that language. For instance, namespaces will be presented as packages, +# qualified scopes will look different, etc. +# The default value is: NO. + +OPTIMIZE_OUTPUT_JAVA = NO + +# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran +# sources. Doxygen will then generate output that is tailored for Fortran. +# The default value is: NO. + +OPTIMIZE_FOR_FORTRAN = NO + +# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL +# sources. Doxygen will then generate output that is tailored for VHDL. +# The default value is: NO. + +OPTIMIZE_OUTPUT_VHDL = NO + +# Doxygen selects the parser to use depending on the extension of the files it +# parses. With this tag you can assign which parser to use for a given +# extension. Doxygen has a built-in mapping, but you can override or extend it +# using this tag. The format is ext=language, where ext is a file extension, and +# language is one of the parsers supported by doxygen: IDL, Java, Javascript, +# C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran: +# FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran: +# Fortran. In the later case the parser tries to guess whether the code is fixed +# or free formatted code, this is the default for Fortran type files), VHDL. For +# instance to make doxygen treat .inc files as Fortran files (default is PHP), +# and .f files as C (default is Fortran), use: inc=Fortran f=C. +# +# Note: For files without extension you can use no_extension as a placeholder. +# +# Note that for custom extensions you also need to set FILE_PATTERNS otherwise +# the files are not read by doxygen. + +EXTENSION_MAPPING = + +# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments +# according to the Markdown format, which allows for more readable +# documentation. See http://daringfireball.net/projects/markdown/ for details. +# The output of markdown processing is further processed by doxygen, so you can +# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in +# case of backward compatibilities issues. +# The default value is: YES. + +MARKDOWN_SUPPORT = YES + +# When the TOC_INCLUDE_HEADINGS tag is set to a non-zero value, all headings up +# to that level are automatically included in the table of contents, even if +# they do not have an id attribute. +# Note: This feature currently applies only to Markdown headings. +# Minimum value: 0, maximum value: 99, default value: 0. +# This tag requires that the tag MARKDOWN_SUPPORT is set to YES. + +TOC_INCLUDE_HEADINGS = 0 + +# When enabled doxygen tries to link words that correspond to documented +# classes, or namespaces to their corresponding documentation. Such a link can +# be prevented in individual cases by putting a % sign in front of the word or +# globally by setting AUTOLINK_SUPPORT to NO. +# The default value is: YES. + +AUTOLINK_SUPPORT = YES + +# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want +# to include (a tag file for) the STL sources as input, then you should set this +# tag to YES in order to let doxygen match functions declarations and +# definitions whose arguments contain STL classes (e.g. func(std::string); +# versus func(std::string) {}). This also make the inheritance and collaboration +# diagrams that involve STL classes more complete and accurate. +# The default value is: NO. + +BUILTIN_STL_SUPPORT = NO + +# If you use Microsoft's C++/CLI language, you should set this option to YES to +# enable parsing support. +# The default value is: NO. + +CPP_CLI_SUPPORT = NO + +# Set the SIP_SUPPORT tag to YES if your project consists of sip (see: +# http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen +# will parse them like normal C++ but will assume all classes use public instead +# of private inheritance when no explicit protection keyword is present. +# The default value is: NO. + +SIP_SUPPORT = NO + +# For Microsoft's IDL there are propget and propput attributes to indicate +# getter and setter methods for a property. Setting this option to YES will make +# doxygen to replace the get and set methods by a property in the documentation. +# This will only work if the methods are indeed getting or setting a simple +# type. If this is not the case, or you want to show the methods anyway, you +# should set this option to NO. +# The default value is: YES. + +IDL_PROPERTY_SUPPORT = YES + +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default +# all members of a group must be documented explicitly. +# The default value is: NO. + +DISTRIBUTE_GROUP_DOC = NO + +# If one adds a struct or class to a group and this option is enabled, then also +# any nested class or struct is added to the same group. By default this option +# is disabled and one has to add nested compounds explicitly via \ingroup. +# The default value is: NO. + +GROUP_NESTED_COMPOUNDS = NO + +# Set the SUBGROUPING tag to YES to allow class member groups of the same type +# (for instance a group of public functions) to be put as a subgroup of that +# type (e.g. under the Public Functions section). Set it to NO to prevent +# subgrouping. Alternatively, this can be done per class using the +# \nosubgrouping command. +# The default value is: YES. + +SUBGROUPING = YES + +# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions +# are shown inside the group in which they are included (e.g. using \ingroup) +# instead of on a separate page (for HTML and Man pages) or section (for LaTeX +# and RTF). +# +# Note that this feature does not work in combination with +# SEPARATE_MEMBER_PAGES. +# The default value is: NO. + +INLINE_GROUPED_CLASSES = NO + +# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions +# with only public data fields or simple typedef fields will be shown inline in +# the documentation of the scope in which they are defined (i.e. file, +# namespace, or group documentation), provided this scope is documented. If set +# to NO, structs, classes, and unions are shown on a separate page (for HTML and +# Man pages) or section (for LaTeX and RTF). +# The default value is: NO. + +INLINE_SIMPLE_STRUCTS = NO + +# When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or +# enum is documented as struct, union, or enum with the name of the typedef. So +# typedef struct TypeS {} TypeT, will appear in the documentation as a struct +# with name TypeT. When disabled the typedef will appear as a member of a file, +# namespace, or class. And the struct will be named TypeS. This can typically be +# useful for C code in case the coding convention dictates that all compound +# types are typedef'ed and only the typedef is referenced, never the tag name. +# The default value is: NO. + +TYPEDEF_HIDES_STRUCT = NO + +# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This +# cache is used to resolve symbols given their name and scope. Since this can be +# an expensive process and often the same symbol appears multiple times in the +# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small +# doxygen will become slower. If the cache is too large, memory is wasted. The +# cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range +# is 0..9, the default is 0, corresponding to a cache size of 2^16=65536 +# symbols. At the end of a run doxygen will report the cache usage and suggest +# the optimal cache size from a speed point of view. +# Minimum value: 0, maximum value: 9, default value: 0. + +LOOKUP_CACHE_SIZE = 0 + +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- + +# If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in +# documentation are documented, even if no documentation was available. Private +# class members and static file members will be hidden unless the +# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES. +# Note: This will also disable the warnings about undocumented members that are +# normally produced when WARNINGS is set to YES. +# The default value is: NO. + +EXTRACT_ALL = NO + +# If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will +# be included in the documentation. +# The default value is: NO. + +EXTRACT_PRIVATE = NO + +# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal +# scope will be included in the documentation. +# The default value is: NO. + +EXTRACT_PACKAGE = NO + +# If the EXTRACT_STATIC tag is set to YES, all static members of a file will be +# included in the documentation. +# The default value is: NO. + +EXTRACT_STATIC = NO + +# If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined +# locally in source files will be included in the documentation. If set to NO, +# only classes defined in header files are included. Does not have any effect +# for Java sources. +# The default value is: YES. + +EXTRACT_LOCAL_CLASSES = YES + +# This flag is only useful for Objective-C code. If set to YES, local methods, +# which are defined in the implementation section but not in the interface are +# included in the documentation. If set to NO, only methods in the interface are +# included. +# The default value is: NO. + +EXTRACT_LOCAL_METHODS = NO + +# If this flag is set to YES, the members of anonymous namespaces will be +# extracted and appear in the documentation as a namespace called +# 'anonymous_namespace{file}', where file will be replaced with the base name of +# the file that contains the anonymous namespace. By default anonymous namespace +# are hidden. +# The default value is: NO. + +EXTRACT_ANON_NSPACES = NO + +# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all +# undocumented members inside documented classes or files. If set to NO these +# members will be included in the various overviews, but no documentation +# section is generated. This option has no effect if EXTRACT_ALL is enabled. +# The default value is: NO. + +HIDE_UNDOC_MEMBERS = NO + +# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. If set +# to NO, these classes will be included in the various overviews. This option +# has no effect if EXTRACT_ALL is enabled. +# The default value is: NO. + +HIDE_UNDOC_CLASSES = NO + +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend +# (class|struct|union) declarations. If set to NO, these declarations will be +# included in the documentation. +# The default value is: NO. + +HIDE_FRIEND_COMPOUNDS = NO + +# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any +# documentation blocks found inside the body of a function. If set to NO, these +# blocks will be appended to the function's detailed documentation block. +# The default value is: NO. + +HIDE_IN_BODY_DOCS = NO + +# The INTERNAL_DOCS tag determines if documentation that is typed after a +# \internal command is included. If the tag is set to NO then the documentation +# will be excluded. Set it to YES to include the internal documentation. +# The default value is: NO. + +INTERNAL_DOCS = NO + +# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file +# names in lower-case letters. If set to YES, upper-case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows +# and Mac users are advised to set this option to NO. +# The default value is: system dependent. + +CASE_SENSE_NAMES = NO + +# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with +# their full class and namespace scopes in the documentation. If set to YES, the +# scope will be hidden. +# The default value is: NO. + +HIDE_SCOPE_NAMES = NO + +# If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will +# append additional text to a page's title, such as Class Reference. If set to +# YES the compound reference will be hidden. +# The default value is: NO. + +HIDE_COMPOUND_REFERENCE= NO + +# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of +# the files that are included by a file in the documentation of that file. +# The default value is: YES. + +SHOW_INCLUDE_FILES = YES + +# If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each +# grouped member an include statement to the documentation, telling the reader +# which file to include in order to use the member. +# The default value is: NO. + +SHOW_GROUPED_MEMB_INC = NO + +# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include +# files with double quotes in the documentation rather than with sharp brackets. +# The default value is: NO. + +FORCE_LOCAL_INCLUDES = NO + +# If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the +# documentation for inline members. +# The default value is: YES. + +INLINE_INFO = YES + +# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the +# (detailed) documentation of file and class members alphabetically by member +# name. If set to NO, the members will appear in declaration order. +# The default value is: YES. + +SORT_MEMBER_DOCS = YES + +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief +# descriptions of file, namespace and class members alphabetically by member +# name. If set to NO, the members will appear in declaration order. Note that +# this will also influence the order of the classes in the class list. +# The default value is: NO. + +SORT_BRIEF_DOCS = NO + +# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the +# (brief and detailed) documentation of class members so that constructors and +# destructors are listed first. If set to NO the constructors will appear in the +# respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS. +# Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief +# member documentation. +# Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting +# detailed member documentation. +# The default value is: NO. + +SORT_MEMBERS_CTORS_1ST = NO + +# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy +# of group names into alphabetical order. If set to NO the group names will +# appear in their defined order. +# The default value is: NO. + +SORT_GROUP_NAMES = NO + +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by +# fully-qualified names, including namespaces. If set to NO, the class list will +# be sorted only by class name, not including the namespace part. +# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. +# Note: This option applies only to the class list, not to the alphabetical +# list. +# The default value is: NO. + +SORT_BY_SCOPE_NAME = NO + +# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper +# type resolution of all parameters of a function it will reject a match between +# the prototype and the implementation of a member function even if there is +# only one candidate or it is obvious which candidate to choose by doing a +# simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still +# accept a match between prototype and implementation in such cases. +# The default value is: NO. + +STRICT_PROTO_MATCHING = NO + +# The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo +# list. This list is created by putting \todo commands in the documentation. +# The default value is: YES. + +GENERATE_TODOLIST = YES + +# The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test +# list. This list is created by putting \test commands in the documentation. +# The default value is: YES. + +GENERATE_TESTLIST = YES + +# The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug +# list. This list is created by putting \bug commands in the documentation. +# The default value is: YES. + +GENERATE_BUGLIST = YES + +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO) +# the deprecated list. This list is created by putting \deprecated commands in +# the documentation. +# The default value is: YES. + +GENERATE_DEPRECATEDLIST= YES + +# The ENABLED_SECTIONS tag can be used to enable conditional documentation +# sections, marked by \if ... \endif and \cond +# ... \endcond blocks. + +ENABLED_SECTIONS = + +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the +# initial value of a variable or macro / define can have for it to appear in the +# documentation. If the initializer consists of more lines than specified here +# it will be hidden. Use a value of 0 to hide initializers completely. The +# appearance of the value of individual variables and macros / defines can be +# controlled using \showinitializer or \hideinitializer command in the +# documentation regardless of this setting. +# Minimum value: 0, maximum value: 10000, default value: 30. + +MAX_INITIALIZER_LINES = 30 + +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated at +# the bottom of the documentation of classes and structs. If set to YES, the +# list will mention the files that were used to generate the documentation. +# The default value is: YES. + +SHOW_USED_FILES = YES + +# Set the SHOW_FILES tag to NO to disable the generation of the Files page. This +# will remove the Files entry from the Quick Index and from the Folder Tree View +# (if specified). +# The default value is: YES. + +SHOW_FILES = YES + +# Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces +# page. This will remove the Namespaces entry from the Quick Index and from the +# Folder Tree View (if specified). +# The default value is: YES. + +SHOW_NAMESPACES = YES + +# The FILE_VERSION_FILTER tag can be used to specify a program or script that +# doxygen should invoke to get the current version for each file (typically from +# the version control system). Doxygen will invoke the program by executing (via +# popen()) the command command input-file, where command is the value of the +# FILE_VERSION_FILTER tag, and input-file is the name of an input file provided +# by doxygen. Whatever the program writes to standard output is used as the file +# version. For an example see the documentation. + +FILE_VERSION_FILTER = + +# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed +# by doxygen. The layout file controls the global structure of the generated +# output files in an output format independent way. To create the layout file +# that represents doxygen's defaults, run doxygen with the -l option. You can +# optionally specify a file name after the option, if omitted DoxygenLayout.xml +# will be used as the name of the layout file. +# +# Note that if you run doxygen from a directory containing a file called +# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE +# tag is left empty. + +LAYOUT_FILE = + +# The CITE_BIB_FILES tag can be used to specify one or more bib files containing +# the reference definitions. This must be a list of .bib files. The .bib +# extension is automatically appended if omitted. This requires the bibtex tool +# to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info. +# For LaTeX the style of the bibliography can be controlled using +# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the +# search path. See also \cite for info how to create references. + +CITE_BIB_FILES = + +#--------------------------------------------------------------------------- +# Configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +# The QUIET tag can be used to turn on/off the messages that are generated to +# standard output by doxygen. If QUIET is set to YES this implies that the +# messages are off. +# The default value is: NO. + +QUIET = NO + +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated to standard error (stderr) by doxygen. If WARNINGS is set to YES +# this implies that the warnings are on. +# +# Tip: Turn warnings on while writing the documentation. +# The default value is: YES. + +WARNINGS = YES + +# If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate +# warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag +# will automatically be disabled. +# The default value is: YES. + +WARN_IF_UNDOCUMENTED = YES + +# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some parameters +# in a documented function, or documenting parameters that don't exist or using +# markup commands wrongly. +# The default value is: YES. + +WARN_IF_DOC_ERROR = YES + +# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that +# are documented, but have no documentation for their parameters or return +# value. If set to NO, doxygen will only warn about wrong or incomplete +# parameter documentation, but not about the absence of documentation. +# The default value is: NO. + +WARN_NO_PARAMDOC = NO + +# If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when +# a warning is encountered. +# The default value is: NO. + +WARN_AS_ERROR = NO + +# The WARN_FORMAT tag determines the format of the warning messages that doxygen +# can produce. The string should contain the $file, $line, and $text tags, which +# will be replaced by the file and line number from which the warning originated +# and the warning text. Optionally the format may contain $version, which will +# be replaced by the version of the file (if it could be obtained via +# FILE_VERSION_FILTER) +# The default value is: $file:$line: $text. + +WARN_FORMAT = "$file:$line: $text" + +# The WARN_LOGFILE tag can be used to specify a file to which warning and error +# messages should be written. If left blank the output is written to standard +# error (stderr). + +WARN_LOGFILE = + +#--------------------------------------------------------------------------- +# Configuration options related to the input files +#--------------------------------------------------------------------------- + +# The INPUT tag is used to specify the files and/or directories that contain +# documented source files. You may enter file names like myfile.cpp or +# directories like /usr/src/myproject. Separate the files or directories with +# 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 + +# 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 +# libiconv (or the iconv built into libc) for the transcoding. See the libiconv +# documentation (see: http://www.gnu.org/software/libiconv) for the list of +# possible encodings. +# The default value is: UTF-8. + +INPUT_ENCODING = UTF-8 + +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and +# *.h) to filter out the source-files in the directories. +# +# Note that for custom extensions or not directly supported extensions you also +# need to set EXTENSION_MAPPING for the extension otherwise the files are not +# read by doxygen. +# +# If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp, +# *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, +# *.hh, *.hxx, *.hpp, *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, +# *.m, *.markdown, *.md, *.mm, *.dox, *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, +# *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf and *.qsf. + +FILE_PATTERNS = *.c \ + *.cc \ + *.cxx \ + *.cpp \ + *.c++ \ + *.java \ + *.ii \ + *.ixx \ + *.ipp \ + *.i++ \ + *.inl \ + *.idl \ + *.ddl \ + *.odl \ + *.h \ + *.hh \ + *.hxx \ + *.hpp \ + *.h++ \ + *.cs \ + *.d \ + *.php \ + *.php4 \ + *.php5 \ + *.phtml \ + *.inc \ + *.m \ + *.markdown \ + *.md \ + *.mm \ + *.dox \ + *.py \ + *.pyw \ + *.f90 \ + *.f \ + *.for \ + *.tcl \ + *.vhd \ + *.vhdl \ + *.ucf \ + *.qsf \ + *.as \ + *.js + +# The RECURSIVE tag can be used to specify whether or not subdirectories should +# be searched for input files as well. +# The default value is: NO. + +RECURSIVE = NO + +# The EXCLUDE tag can be used to specify files and/or directories that should be +# excluded from the INPUT source files. This way you can easily exclude a +# subdirectory from a directory tree whose root is specified with the INPUT tag. +# +# Note that relative paths are relative to the directory from which doxygen is +# run. + +EXCLUDE = + +# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or +# directories that are symbolic links (a Unix file system feature) are excluded +# from the input. +# The default value is: NO. + +EXCLUDE_SYMLINKS = NO + +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# certain files from those directories. +# +# Note that the wildcards are matched against the file with absolute path, so to +# exclude all test directories for example use the pattern */test/* + +EXCLUDE_PATTERNS = + +# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names +# (namespaces, classes, functions, etc.) that should be excluded from the +# output. The symbol name can be a fully qualified name, a word, or if the +# wildcard * is used, a substring. Examples: ANamespace, AClass, +# AClass::ANamespace, ANamespace::*Test +# +# Note that the wildcards are matched against the file with absolute path, so to +# exclude all test directories use the pattern */test/* + +EXCLUDE_SYMBOLS = + +# The EXAMPLE_PATH tag can be used to specify one or more files or directories +# that contain example code fragments that are included (see the \include +# command). + +EXAMPLE_PATH = + +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and +# *.h) to filter out the source-files in the directories. If left blank all +# files are included. + +EXAMPLE_PATTERNS = * + +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude commands +# irrespective of the value of the RECURSIVE tag. +# The default value is: NO. + +EXAMPLE_RECURSIVE = NO + +# The IMAGE_PATH tag can be used to specify one or more files or directories +# that contain images that are to be included in the documentation (see the +# \image command). + +IMAGE_PATH = + +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command: +# +# +# +# where is the value of the INPUT_FILTER tag, and is the +# name of an input file. Doxygen will then use the output that the filter +# program writes to standard output. If FILTER_PATTERNS is specified, this tag +# will be ignored. +# +# Note that the filter must not add or remove lines; it is applied before the +# code is scanned, but not when the output code is generated. If lines are added +# or removed, the anchors will not be placed correctly. +# +# Note that for custom extensions or not directly supported extensions you also +# need to set EXTENSION_MAPPING for the extension otherwise the files are not +# properly processed by doxygen. + +INPUT_FILTER = + +# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern +# basis. Doxygen will compare the file name with each pattern and apply the +# filter if there is a match. The filters are a list of the form: pattern=filter +# (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how +# filters are used. If the FILTER_PATTERNS tag is empty or if none of the +# patterns match the file name, INPUT_FILTER is applied. +# +# Note that for custom extensions or not directly supported extensions you also +# need to set EXTENSION_MAPPING for the extension otherwise the files are not +# properly processed by doxygen. + +FILTER_PATTERNS = + +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will also be used to filter the input files that are used for +# producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES). +# The default value is: NO. + +FILTER_SOURCE_FILES = NO + +# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file +# pattern. A pattern will override the setting for FILTER_PATTERN (if any) and +# it is also possible to disable source filtering for a specific pattern using +# *.ext= (so without naming a filter). +# This tag requires that the tag FILTER_SOURCE_FILES is set to YES. + +FILTER_SOURCE_PATTERNS = + +# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that +# is part of the input, its contents will be placed on the main page +# (index.html). This can be useful if you have a project on for instance GitHub +# and want to reuse the introduction page also for the doxygen output. + +USE_MDFILE_AS_MAINPAGE = + +#--------------------------------------------------------------------------- +# Configuration options related to source browsing +#--------------------------------------------------------------------------- + +# If the SOURCE_BROWSER tag is set to YES then a list of source files will be +# generated. Documented entities will be cross-referenced with these sources. +# +# Note: To get rid of all source code in the generated output, make sure that +# also VERBATIM_HEADERS is set to NO. +# The default value is: NO. + +SOURCE_BROWSER = NO + +# Setting the INLINE_SOURCES tag to YES will include the body of functions, +# classes and enums directly into the documentation. +# The default value is: NO. + +INLINE_SOURCES = NO + +# Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any +# special comment blocks from generated source code fragments. Normal C, C++ and +# Fortran comments will always remain visible. +# The default value is: YES. + +STRIP_CODE_COMMENTS = YES + +# If the REFERENCED_BY_RELATION tag is set to YES then for each documented +# function all documented functions referencing it will be listed. +# The default value is: NO. + +REFERENCED_BY_RELATION = NO + +# If the REFERENCES_RELATION tag is set to YES then for each documented function +# all documented entities called/used by that function will be listed. +# The default value is: NO. + +REFERENCES_RELATION = NO + +# If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set +# to YES then the hyperlinks from functions in REFERENCES_RELATION and +# REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will +# link to the documentation. +# The default value is: YES. + +REFERENCES_LINK_SOURCE = YES + +# If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the +# source code will show a tooltip with additional information such as prototype, +# brief description and links to the definition and documentation. Since this +# will make the HTML file larger and loading of large files a bit slower, you +# can opt to disable this feature. +# The default value is: YES. +# This tag requires that the tag SOURCE_BROWSER is set to YES. + +SOURCE_TOOLTIPS = YES + +# If the USE_HTAGS tag is set to YES then the references to source code will +# point to the HTML generated by the htags(1) tool instead of doxygen built-in +# source browser. The htags tool is part of GNU's global source tagging system +# (see http://www.gnu.org/software/global/global.html). You will need version +# 4.8.6 or higher. +# +# To use it do the following: +# - Install the latest version of global +# - Enable SOURCE_BROWSER and USE_HTAGS in the config file +# - Make sure the INPUT points to the root of the source tree +# - Run doxygen as normal +# +# Doxygen will invoke htags (and that will in turn invoke gtags), so these +# tools must be available from the command line (i.e. in the search path). +# +# The result: instead of the source browser generated by doxygen, the links to +# source code will now point to the output of htags. +# The default value is: NO. +# This tag requires that the tag SOURCE_BROWSER is set to YES. + +USE_HTAGS = NO + +# If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a +# verbatim copy of the header file for each class for which an include is +# specified. Set to NO to disable this. +# See also: Section \class. +# The default value is: YES. + +VERBATIM_HEADERS = YES + +# If the CLANG_ASSISTED_PARSING tag is set to YES then doxygen will use the +# clang parser (see: http://clang.llvm.org/) for more accurate parsing at the +# cost of reduced performance. This can be particularly helpful with template +# rich C++ code for which doxygen's built-in parser lacks the necessary type +# information. +# Note: The availability of this option depends on whether or not doxygen was +# generated with the -Duse-libclang=ON option for CMake. +# The default value is: NO. + +CLANG_ASSISTED_PARSING = NO + +# If clang assisted parsing is enabled you can provide the compiler with command +# line options that you would normally use when invoking the compiler. Note that +# the include paths will already be set by doxygen for the files and directories +# specified with INPUT and INCLUDE_PATH. +# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES. + +CLANG_OPTIONS = + +#--------------------------------------------------------------------------- +# Configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all +# compounds will be generated. Enable this if the project contains a lot of +# classes, structs, unions or interfaces. +# The default value is: YES. + +ALPHABETICAL_INDEX = YES + +# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in +# which the alphabetical index list will be split. +# Minimum value: 1, maximum value: 20, default value: 5. +# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. + +COLS_IN_ALPHA_INDEX = 5 + +# In case all classes in a project start with a common prefix, all classes will +# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag +# can be used to specify a prefix (or a list of prefixes) that should be ignored +# while generating the index headers. +# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. + +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# Configuration options related to the HTML output +#--------------------------------------------------------------------------- + +# If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output +# The default value is: YES. + +GENERATE_HTML = YES + +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a +# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of +# it. +# The default directory is: html. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_OUTPUT = html + +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each +# generated HTML page (for example: .htm, .php, .asp). +# The default value is: .html. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_FILE_EXTENSION = .html + +# The HTML_HEADER tag can be used to specify a user-defined HTML header file for +# each generated HTML page. If the tag is left blank doxygen will generate a +# standard header. +# +# To get valid HTML the header file that includes any scripts and style sheets +# that doxygen needs, which is dependent on the configuration options used (e.g. +# the setting GENERATE_TREEVIEW). It is highly recommended to start with a +# default header using +# doxygen -w html new_header.html new_footer.html new_stylesheet.css +# YourConfigFile +# and then modify the file new_header.html. See also section "Doxygen usage" +# for information on how to generate the default header that doxygen normally +# uses. +# Note: The header is subject to change so you typically have to regenerate the +# default header when upgrading to a newer version of doxygen. For a description +# of the possible markers and block names see the documentation. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_HEADER = + +# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each +# generated HTML page. If the tag is left blank doxygen will generate a standard +# footer. See HTML_HEADER for more information on how to generate a default +# footer and what special commands can be used inside the footer. See also +# section "Doxygen usage" for information on how to generate the default footer +# that doxygen normally uses. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_FOOTER = + +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style +# sheet that is used by each HTML page. It can be used to fine-tune the look of +# the HTML output. If left blank doxygen will generate a default style sheet. +# See also section "Doxygen usage" for information on how to generate the style +# sheet that doxygen normally uses. +# Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as +# it is more robust and this tag (HTML_STYLESHEET) will in the future become +# obsolete. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_STYLESHEET = + +# The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined +# cascading style sheets that are included after the standard style sheets +# created by doxygen. Using this option one can overrule certain style aspects. +# This is preferred over using HTML_STYLESHEET since it does not replace the +# standard style sheet and is therefore more robust against future updates. +# Doxygen will copy the style sheet files to the output directory. +# Note: The order of the extra style sheet files is of importance (e.g. the last +# style sheet in the list overrules the setting of the previous ones in the +# list). For an example see the documentation. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_EXTRA_STYLESHEET = + +# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or +# other source files which should be copied to the HTML output directory. Note +# that these files will be copied to the base HTML output directory. Use the +# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these +# files. In the HTML_STYLESHEET file, use the file name only. Also note that the +# files will be copied as-is; there are no commands or markers available. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_EXTRA_FILES = + +# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen +# will adjust the colors in the style sheet and background images according to +# this color. Hue is specified as an angle on a colorwheel, see +# http://en.wikipedia.org/wiki/Hue for more information. For instance the value +# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300 +# purple, and 360 is red again. +# Minimum value: 0, maximum value: 359, default value: 220. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_COLORSTYLE_HUE = 220 + +# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors +# in the HTML output. For a value of 0 the output will use grayscales only. A +# value of 255 will produce the most vivid colors. +# Minimum value: 0, maximum value: 255, default value: 100. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_COLORSTYLE_SAT = 100 + +# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the +# luminance component of the colors in the HTML output. Values below 100 +# gradually make the output lighter, whereas values above 100 make the output +# darker. The value divided by 100 is the actual gamma applied, so 80 represents +# a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not +# change the gamma. +# Minimum value: 40, maximum value: 240, default value: 80. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_COLORSTYLE_GAMMA = 80 + +# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML +# page will contain the date and time when the page was generated. Setting this +# to YES can help to show when doxygen was last run and thus if the +# documentation is up to date. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_TIMESTAMP = NO + +# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML +# documentation will contain sections that can be hidden and shown after the +# page has loaded. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_DYNAMIC_SECTIONS = NO + +# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries +# shown in the various tree structured indices initially; the user can expand +# and collapse entries dynamically later on. Doxygen will expand the tree to +# such a level that at most the specified number of entries are visible (unless +# a fully collapsed tree already exceeds this amount). So setting the number of +# entries 1 will produce a full collapsed tree by default. 0 is a special value +# representing an infinite number of entries and will result in a full expanded +# tree by default. +# Minimum value: 0, maximum value: 9999, default value: 100. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_INDEX_NUM_ENTRIES = 100 + +# If the GENERATE_DOCSET tag is set to YES, additional index files will be +# generated that can be used as input for Apple's Xcode 3 integrated development +# environment (see: http://developer.apple.com/tools/xcode/), introduced with +# OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a +# Makefile in the HTML output directory. Running make will produce the docset in +# that directory and running make install will install the docset in +# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at +# startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html +# for more information. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_DOCSET = NO + +# This tag determines the name of the docset feed. A documentation feed provides +# an umbrella under which multiple documentation sets from a single provider +# (such as a company or product suite) can be grouped. +# The default value is: Doxygen generated docs. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_FEEDNAME = "Doxygen generated docs" + +# This tag specifies a string that should uniquely identify the documentation +# set bundle. This should be a reverse domain-name style string, e.g. +# com.mycompany.MyDocSet. Doxygen will append .docset to the name. +# The default value is: org.doxygen.Project. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_BUNDLE_ID = org.doxygen.Project + +# The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify +# the documentation publisher. This should be a reverse domain-name style +# string, e.g. com.mycompany.MyDocSet.documentation. +# The default value is: org.doxygen.Publisher. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_PUBLISHER_ID = org.doxygen.Publisher + +# The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher. +# The default value is: Publisher. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_PUBLISHER_NAME = Publisher + +# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three +# additional HTML index files: index.hhp, index.hhc, and index.hhk. The +# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop +# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on +# Windows. +# +# The HTML Help Workshop contains a compiler that can convert all HTML output +# generated by doxygen into a single compiled HTML file (.chm). Compiled HTML +# files are now used as the Windows 98 help format, and will replace the old +# Windows help format (.hlp) on all Windows platforms in the future. Compressed +# HTML files also contain an index, a table of contents, and you can search for +# words in the documentation. The HTML workshop also contains a viewer for +# compressed HTML files. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_HTMLHELP = NO + +# The CHM_FILE tag can be used to specify the file name of the resulting .chm +# file. You can add a path in front of the file if the result should not be +# written to the html output directory. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +CHM_FILE = + +# The HHC_LOCATION tag can be used to specify the location (absolute path +# including file name) of the HTML help compiler (hhc.exe). If non-empty, +# doxygen will try to run the HTML help compiler on the generated index.hhp. +# The file has to be specified with full path. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +HHC_LOCATION = + +# The GENERATE_CHI flag controls if a separate .chi index file is generated +# (YES) or that it should be included in the master .chm file (NO). +# The default value is: NO. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +GENERATE_CHI = NO + +# The CHM_INDEX_ENCODING is used to encode HtmlHelp index (hhk), content (hhc) +# and project file content. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +CHM_INDEX_ENCODING = + +# The BINARY_TOC flag controls whether a binary table of contents is generated +# (YES) or a normal table of contents (NO) in the .chm file. Furthermore it +# enables the Previous and Next buttons. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +BINARY_TOC = NO + +# The TOC_EXPAND flag can be set to YES to add extra items for group members to +# the table of contents of the HTML help documentation and to the tree view. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +TOC_EXPAND = NO + +# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and +# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that +# can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help +# (.qch) of the generated HTML documentation. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_QHP = NO + +# If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify +# the file name of the resulting .qch file. The path specified is relative to +# the HTML output folder. +# This tag requires that the tag GENERATE_QHP is set to YES. + +QCH_FILE = + +# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help +# Project output. For more information please see Qt Help Project / Namespace +# (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace). +# The default value is: org.doxygen.Project. +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_NAMESPACE = org.doxygen.Project + +# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt +# Help Project output. For more information please see Qt Help Project / Virtual +# Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual- +# folders). +# The default value is: doc. +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_VIRTUAL_FOLDER = doc + +# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom +# filter to add. For more information please see Qt Help Project / Custom +# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- +# filters). +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_CUST_FILTER_NAME = + +# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the +# custom filter to add. For more information please see Qt Help Project / Custom +# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- +# filters). +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_CUST_FILTER_ATTRS = + +# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this +# project's filter section matches. Qt Help Project / Filter Attributes (see: +# http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes). +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_SECT_FILTER_ATTRS = + +# The QHG_LOCATION tag can be used to specify the location of Qt's +# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the +# generated .qhp file. +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHG_LOCATION = + +# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be +# generated, together with the HTML files, they form an Eclipse help plugin. To +# install this plugin and make it available under the help contents menu in +# Eclipse, the contents of the directory containing the HTML and XML files needs +# to be copied into the plugins directory of eclipse. The name of the directory +# within the plugins directory should be the same as the ECLIPSE_DOC_ID value. +# After copying Eclipse needs to be restarted before the help appears. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_ECLIPSEHELP = NO + +# A unique identifier for the Eclipse help plugin. When installing the plugin +# the directory name containing the HTML and XML files should also have this +# name. Each documentation set should have its own identifier. +# The default value is: org.doxygen.Project. +# This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES. + +ECLIPSE_DOC_ID = org.doxygen.Project + +# If you want full control over the layout of the generated HTML pages it might +# be necessary to disable the index and replace it with your own. The +# DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top +# of each HTML page. A value of NO enables the index and the value YES disables +# it. Since the tabs in the index contain the same information as the navigation +# tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +DISABLE_INDEX = NO + +# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index +# structure should be generated to display hierarchical information. If the tag +# value is set to YES, a side panel will be generated containing a tree-like +# index structure (just like the one that is generated for HTML Help). For this +# to work a browser that supports JavaScript, DHTML, CSS and frames is required +# (i.e. any modern browser). Windows users are probably better off using the +# HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can +# further fine-tune the look of the index. As an example, the default style +# sheet generated by doxygen has an example that shows how to put an image at +# the root of the tree instead of the PROJECT_NAME. Since the tree basically has +# the same information as the tab index, you could consider setting +# DISABLE_INDEX to YES when enabling this option. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_TREEVIEW = NO + +# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that +# doxygen will group on one line in the generated HTML documentation. +# +# Note that a value of 0 will completely suppress the enum values from appearing +# in the overview section. +# Minimum value: 0, maximum value: 20, default value: 4. +# This tag requires that the tag GENERATE_HTML is set to YES. + +ENUM_VALUES_PER_LINE = 4 + +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used +# to set the initial width (in pixels) of the frame in which the tree is shown. +# Minimum value: 0, maximum value: 1500, default value: 250. +# This tag requires that the tag GENERATE_HTML is set to YES. + +TREEVIEW_WIDTH = 250 + +# If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to +# external symbols imported via tag files in a separate window. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +EXT_LINKS_IN_WINDOW = NO + +# Use this tag to change the font size of LaTeX formulas included as images in +# the HTML documentation. When you change the font size after a successful +# doxygen run you need to manually remove any form_*.png images from the HTML +# output directory to force them to be regenerated. +# Minimum value: 8, maximum value: 50, default value: 10. +# This tag requires that the tag GENERATE_HTML is set to YES. + +FORMULA_FONTSIZE = 10 + +# Use the FORMULA_TRANPARENT tag to determine whether or not the images +# generated for formulas are transparent PNGs. Transparent PNGs are not +# supported properly for IE 6.0, but are supported on all modern browsers. +# +# Note that when changing this option you need to delete any form_*.png files in +# the HTML output directory before the changes have effect. +# The default value is: YES. +# This tag requires that the tag GENERATE_HTML is set to YES. + +FORMULA_TRANSPARENT = YES + +# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see +# http://www.mathjax.org) which uses client side Javascript for the rendering +# instead of using pre-rendered bitmaps. Use this if you do not have LaTeX +# installed or if you want to formulas look prettier in the HTML output. When +# enabled you may also need to install MathJax separately and configure the path +# to it using the MATHJAX_RELPATH option. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +USE_MATHJAX = NO + +# When MathJax is enabled you can set the default output format to be used for +# the MathJax output. See the MathJax site (see: +# http://docs.mathjax.org/en/latest/output.html) for more details. +# Possible values are: HTML-CSS (which is slower, but has the best +# compatibility), NativeMML (i.e. MathML) and SVG. +# The default value is: HTML-CSS. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_FORMAT = HTML-CSS + +# When MathJax is enabled you need to specify the location relative to the HTML +# output directory using the MATHJAX_RELPATH option. The destination directory +# should contain the MathJax.js script. For instance, if the mathjax directory +# is located at the same level as the HTML output directory, then +# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax +# Content Delivery Network so you can quickly see the result without installing +# MathJax. However, it is strongly recommended to install a local copy of +# MathJax from http://www.mathjax.org before deployment. +# The default value is: http://cdn.mathjax.org/mathjax/latest. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest + +# The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax +# extension names that should be enabled during MathJax rendering. For example +# MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_EXTENSIONS = + +# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces +# of code that will be used on startup of the MathJax code. See the MathJax site +# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an +# example see the documentation. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_CODEFILE = + +# When the SEARCHENGINE tag is enabled doxygen will generate a search box for +# the HTML output. The underlying search engine uses javascript and DHTML and +# should work on any modern browser. Note that when using HTML help +# (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET) +# there is already a search function so this one should typically be disabled. +# For large projects the javascript based search engine can be slow, then +# enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to +# search using the keyboard; to jump to the search box use + S +# (what the is depends on the OS and browser, but it is typically +# , /