Major changes to socket scheduling in EPoll.
10
Command.cpp
@ -1,4 +1,5 @@
|
||||
#include "Command.h"
|
||||
#include "Log.h"
|
||||
|
||||
namespace core {
|
||||
|
||||
@ -7,15 +8,12 @@ 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()))
|
||||
if(request.size() > 0)
|
||||
if(request == name)
|
||||
if(name.length() > 0)
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
void Command::setName(std::string name) {
|
||||
this->name = name;
|
||||
|
@ -4,6 +4,7 @@
|
||||
#include "includes"
|
||||
#include "Object.h"
|
||||
#include "TCPSession.h"
|
||||
#include "PString.h"
|
||||
|
||||
namespace core {
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
#include "CommandList.h"\
|
||||
#include "CommandList.h"
|
||||
#include "Log.h"
|
||||
|
||||
namespace core {
|
||||
|
||||
@ -12,13 +13,29 @@ namespace core {
|
||||
}
|
||||
|
||||
bool CommandList::processRequest(std::string request, TCPSession *session, std::stringstream &data) {
|
||||
for(auto *command : commands) {
|
||||
if(command->check(request)) {
|
||||
command->processCommand(request, session, data);
|
||||
std::stringstream input = std::stringstream(request);
|
||||
while(!input.eof()) {
|
||||
std::string requests;
|
||||
std::getline(input, requests);
|
||||
if(session->grab != NULL)
|
||||
session->grab->processCommand(requests, session, data);
|
||||
else {
|
||||
int pos = requests.find(" ");
|
||||
std::string function = pos == requests.npos ? requests: requests.substr(0, pos);
|
||||
for(auto *command : commands)
|
||||
if(command->check(function))
|
||||
command->processCommand(requests, session, data);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool CommandList::grabInput(TCPSession *session, Command &command) {
|
||||
session->grab = &command;
|
||||
}
|
||||
return false;
|
||||
|
||||
void CommandList::clearGrab(TCPSession *session) {
|
||||
session->grab = NULL;
|
||||
}
|
||||
|
||||
int CommandList::processCommand(std::string request, TCPSession *session, std::stringstream &data) {
|
||||
@ -26,6 +43,8 @@ namespace core {
|
||||
data << command->getName() << std::endl;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -25,13 +25,47 @@ namespace core {
|
||||
|
||||
void add(Command &command, std::string name = "");
|
||||
|
||||
///
|
||||
/// Remove a command object from the command list.
|
||||
///
|
||||
|
||||
void remove(Command &command);
|
||||
|
||||
///
|
||||
/// Use this method to apply a parsed PString to the command set and execute
|
||||
/// the matching parameter. The selected command will return a true on a call
|
||||
/// to check(). If there is a handler that has a grab on the process handler
|
||||
/// then control is given to the process handler holding the grab on the input.
|
||||
///
|
||||
|
||||
bool processRequest(std::string request, TCPSession *session, std::stringstream &data);
|
||||
|
||||
///
|
||||
/// Use grabInput() within a Command object to force the requesting handler to receive
|
||||
/// all further input from the socket. Use releaseGrab() method to release the session
|
||||
/// back to normal command processing.
|
||||
///
|
||||
|
||||
bool grabInput(TCPSession *session, Command &command);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
void clearGrab(TCPSession *session);
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
|
||||
int processCommand(std::string request, TCPSession *session, std::stringstream &data);
|
||||
|
||||
protected:
|
||||
|
||||
///
|
||||
/// The vector of all registered commands.
|
||||
///
|
||||
|
||||
std::vector<Command *> commands;
|
||||
|
||||
};
|
||||
|
@ -9,7 +9,7 @@ namespace core {
|
||||
|
||||
ConsoleSession::~ConsoleSession() {}
|
||||
|
||||
void ConsoleSession::protocol(std::string data = "") {
|
||||
void ConsoleSession::protocol(std::stringstream &out, std::string data = "") {
|
||||
|
||||
switch (status) {
|
||||
|
||||
@ -23,25 +23,23 @@ namespace core {
|
||||
setCursorLocation(2, 1);
|
||||
setBackColor(BG_BLACK);
|
||||
status = LOGIN;
|
||||
protocol();
|
||||
protocol(out);
|
||||
break;
|
||||
|
||||
case LOGIN:
|
||||
setCursorLocation(3, 3);
|
||||
out << "Enter User Profile: ";
|
||||
send();
|
||||
status = WAIT_USER_PROFILE;
|
||||
break;
|
||||
|
||||
case WAIT_USER_PROFILE:
|
||||
status = PASSWORD;
|
||||
protocol();
|
||||
protocol(out);
|
||||
break;
|
||||
|
||||
case PASSWORD:
|
||||
setCursorLocation(4, 7);
|
||||
out << "Enter Password: ";
|
||||
send();
|
||||
status = WAIT_PASSWORD;
|
||||
break;
|
||||
|
||||
@ -56,14 +54,13 @@ namespace core {
|
||||
setBackColor(BG_BLACK);
|
||||
scrollArea(2, 16);
|
||||
status = PROMPT;
|
||||
protocol();
|
||||
protocol(out);
|
||||
break;
|
||||
|
||||
case PROMPT:
|
||||
setCursorLocation(17, 1);
|
||||
clearEOL();
|
||||
out << ("--> ");
|
||||
send();
|
||||
status = INPUT;
|
||||
break;
|
||||
|
||||
@ -71,13 +68,13 @@ namespace core {
|
||||
command = std::string(data);
|
||||
command.erase(command.find_last_not_of("\r\n\t") + 1);
|
||||
status = PROCESS;
|
||||
protocol();
|
||||
protocol(out);
|
||||
break;
|
||||
|
||||
case PROCESS:
|
||||
doCommand(command);
|
||||
status = (command == "exit")? DONE: PROMPT;
|
||||
protocol();
|
||||
protocol(out);
|
||||
break;
|
||||
|
||||
case DONE:
|
||||
@ -93,18 +90,18 @@ namespace core {
|
||||
void ConsoleSession::writeLog(std::string data) {
|
||||
saveCursor();
|
||||
setCursorLocation(16, 1);
|
||||
out << data;
|
||||
restoreCursor();
|
||||
send();
|
||||
send(data);
|
||||
}
|
||||
|
||||
void ConsoleSession::doCommand(std::string request) {
|
||||
saveCursor();
|
||||
setCursorLocation(16, 1);
|
||||
std::stringstream out;
|
||||
out << "--> " << request << std::endl;
|
||||
server.commands.processRequest(request, this, out);
|
||||
restoreCursor();
|
||||
send();
|
||||
send(out.str());
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -24,7 +24,7 @@ namespace core {
|
||||
void writeLog(std::string data);
|
||||
|
||||
protected:
|
||||
void protocol(std::string data) override;
|
||||
void protocol(std::stringstream &out, std::string data) override;
|
||||
|
||||
private:
|
||||
enum Status {WELCOME, LOGIN, WAIT_USER_PROFILE, PASSWORD, WAIT_PASSWORD, PROMPT, INPUT, PROCESS, DONE};
|
||||
|
53
EPoll.cpp
@ -69,20 +69,23 @@ namespace core {
|
||||
}
|
||||
|
||||
bool EPoll::registerSocket(Socket *socket) {
|
||||
lock.lock();
|
||||
coreutils::Log(coreutils::LOG_DEBUG_2) << "0001-" << socket->getDescriptor();
|
||||
std::map<int, Socket *>::iterator temp = sockets.find(socket->getDescriptor());
|
||||
coreutils::Log(coreutils::LOG_DEBUG_2) << "0002-" << socket->getDescriptor();
|
||||
if(temp != sockets.end())
|
||||
throw coreutils::Exception("Attempt to register socket that is already registered.");
|
||||
coreutils::Log(coreutils::LOG_DEBUG_2) << "0003-" << socket->getDescriptor();
|
||||
coreutils::Log(coreutils::LOG_DEBUG_3) << "Registering socket " << socket->getDescriptor() << ".";
|
||||
sockets.insert(std::pair<int, Socket *>(socket->getDescriptor(), socket));
|
||||
lock.unlock();
|
||||
socket->enable(true);
|
||||
coreutils::Log(coreutils::LOG_DEBUG_2) << "0004-" << socket->getDescriptor();
|
||||
enableSocket(socket);
|
||||
coreutils::Log(coreutils::LOG_DEBUG_2) << "0005-" << socket->getDescriptor();
|
||||
return true;
|
||||
}
|
||||
|
||||
bool EPoll::unregisterSocket(Socket *socket /**< The Socket to unregister. */) {
|
||||
lock.lock();
|
||||
socket->enable(false);
|
||||
disableSocket(socket);
|
||||
coreutils::Log(coreutils::LOG_DEBUG_3) << "Unregistering socket " << socket->getDescriptor() << ".";
|
||||
std::map<int, Socket *>::iterator temp = sockets.find(socket->getDescriptor());
|
||||
if(temp == sockets.end())
|
||||
@ -93,16 +96,17 @@ namespace core {
|
||||
}
|
||||
|
||||
void EPoll::eventReceived(struct epoll_event event) {
|
||||
lock.lock();
|
||||
std::map<int, Socket *>::iterator socket = sockets.find(event.data.fd);
|
||||
lock.unlock();
|
||||
if(socket != sockets.end()) {
|
||||
(socket->second)->eventReceived(event);
|
||||
} else {
|
||||
coreutils::Log(coreutils::LOG_WARN) << "System problem. Reference to socket " << event.data.fd << " that has no object.";
|
||||
throw coreutils::Exception("System problem occurred.");
|
||||
if(socket->second->eventReceived(event)) {
|
||||
coreutils::Log(coreutils::LOG_DEBUG_4) << "resetSocket from eventReceived.";
|
||||
resetSocket(socket->second);
|
||||
}
|
||||
}
|
||||
else
|
||||
throw coreutils::Exception("Reference to socket that has no object.");
|
||||
|
||||
}
|
||||
|
||||
int EPoll::getDescriptor() {
|
||||
return epfd;
|
||||
@ -115,7 +119,36 @@ namespace core {
|
||||
threadx.output(data);
|
||||
data << "|" << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
void EPoll::enableSocket(Socket *socket) {
|
||||
struct epoll_event event;
|
||||
event.data.fd = socket->getDescriptor();
|
||||
event.events = EPOLLIN | EPOLLONESHOT | EPOLLRDHUP | EPOLLET;
|
||||
if(socket->needsToWrite())
|
||||
event.events |= EPOLLWRNORM;
|
||||
epoll_ctl(epfd, EPOLL_CTL_ADD, event.data.fd, &event);
|
||||
socket->active = true;
|
||||
coreutils::Log(coreutils::LOG_DEBUG_4) << "Enabling socket " << socket->getDescriptor() << " for events.";
|
||||
}
|
||||
|
||||
void EPoll::disableSocket(Socket *socket) {
|
||||
epoll_ctl(epfd, EPOLL_CTL_DEL, socket->getDescriptor(), NULL);
|
||||
socket->active = false;
|
||||
coreutils::Log(coreutils::LOG_DEBUG_4) << "Disabling socket " << socket->getDescriptor() << " from events.";
|
||||
}
|
||||
|
||||
void EPoll::resetSocket(Socket *socket) {
|
||||
if(!socket->active)
|
||||
return;
|
||||
coreutils::Log(coreutils::LOG_DEBUG_4) << "ResetSocket " << socket;
|
||||
struct epoll_event event;
|
||||
event.data.fd = socket->getDescriptor();
|
||||
event.events = EPOLLIN | EPOLLONESHOT | EPOLLRDHUP | EPOLLET;
|
||||
if(socket->needsToWrite())
|
||||
event.events |= EPOLLWRNORM;
|
||||
epoll_ctl(epfd, EPOLL_CTL_MOD, event.data.fd, &event);
|
||||
coreutils::Log(coreutils::LOG_DEBUG_4) << "Resetting socket " << socket->getDescriptor() << " for events.";
|
||||
}
|
||||
|
||||
}
|
||||
|
4
EPoll.h
@ -112,6 +112,8 @@ namespace core {
|
||||
|
||||
int processCommand(std::string command, TCPSession *session, std::stringstream &data) override; ///<Output the threads array to the console.
|
||||
|
||||
void resetSocket(Socket *socket);
|
||||
|
||||
private:
|
||||
|
||||
int epfd;
|
||||
@ -120,6 +122,8 @@ namespace core {
|
||||
std::vector<Thread> threads;
|
||||
volatile bool terminateThreads;
|
||||
std::mutex lock;
|
||||
void enableSocket(Socket *socket);
|
||||
void disableSocket(Socket *socket);
|
||||
|
||||
};
|
||||
|
||||
|
58
INotify.cpp
Normal file
@ -0,0 +1,58 @@
|
||||
#include "INotify.h"
|
||||
#include "Log.h"
|
||||
|
||||
namespace core {
|
||||
|
||||
INotify::INotify(EPoll &ePoll) : Socket(ePoll, "INotify") {
|
||||
setDescriptor(inotify_init());
|
||||
}
|
||||
|
||||
INotify::~INotify() {
|
||||
shutdown();
|
||||
}
|
||||
|
||||
int INotify::addWatch(std::string watch) {
|
||||
return inotify_add_watch(getDescriptor(), watch.c_str(), IN_ALL_EVENTS);
|
||||
}
|
||||
|
||||
void INotify::removeWatch(int wd) {
|
||||
inotify_rm_watch(getDescriptor(), wd);
|
||||
}
|
||||
|
||||
void INotify::onDataReceived(char *buffer, int len) {
|
||||
const struct inotify_event *event;
|
||||
char *ptr;
|
||||
for (ptr = buffer; ptr < buffer + len;
|
||||
ptr += sizeof(struct inotify_event) + event->len) {
|
||||
event = (const struct inotify_event *) ptr;
|
||||
|
||||
if(event->mask & IN_ACCESS)
|
||||
inAccess(std::string(event->name));
|
||||
if(event->mask & IN_ATTRIB)
|
||||
inAttrib(std::string(event->name));
|
||||
if(event->mask & IN_CLOSE_WRITE)
|
||||
inCloseWrite(std::string(event->name));
|
||||
if(event->mask & IN_CLOSE_NOWRITE)
|
||||
inCloseNoWrite(std::string(event->name));
|
||||
if(event->mask & IN_CREATE)
|
||||
inCreate(std::string(event->name));
|
||||
if(event->mask & IN_DELETE)
|
||||
inDelete(std::string(event->name));
|
||||
if(event->mask & IN_DELETE_SELF)
|
||||
inDeleteSelf(std::string(event->name));
|
||||
if(event->mask & IN_MODIFY)
|
||||
inModify(std::string(event->name));
|
||||
if(event->mask & IN_MOVE_SELF)
|
||||
inMoveSelf(std::string(event->name));
|
||||
if(event->mask & IN_MOVED_FROM)
|
||||
inMovedFrom(std::string(event->name));
|
||||
if(event->mask & IN_MOVED_TO)
|
||||
inMovedTo(std::string(event->name));
|
||||
if(event->mask & IN_OPEN)
|
||||
inOpen(std::string(event->name));
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
37
INotify.h
Normal file
@ -0,0 +1,37 @@
|
||||
#ifndef __INotify_h__
|
||||
# define __INotify_h__
|
||||
|
||||
#include "includes"
|
||||
#include "Socket.h"
|
||||
|
||||
namespace core {
|
||||
|
||||
class INotify : Socket {
|
||||
|
||||
public:
|
||||
INotify(EPoll &ePoll);
|
||||
~INotify();
|
||||
|
||||
int addWatch(std::string watch);
|
||||
void removeWatch(int wd);
|
||||
|
||||
void onDataReceived(char *buffer, int len) override;
|
||||
|
||||
virtual void inAccess(std::string name) {}
|
||||
virtual void inAttrib(std::string name) {}
|
||||
virtual void inCloseWrite(std::string name) {}
|
||||
virtual void inCloseNoWrite(std::string name) {}
|
||||
virtual void inCreate(std::string name) {}
|
||||
virtual void inDelete(std::string name) {}
|
||||
virtual void inDeleteSelf(std::string name) {}
|
||||
virtual void inModify(std::string name) {}
|
||||
virtual void inMoveSelf(std::string name) {}
|
||||
virtual void inMovedFrom(std::string name) {}
|
||||
virtual void inMovedTo(std::string name) {}
|
||||
virtual void inOpen(std::string name) {}
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
@ -1,49 +0,0 @@
|
||||
#ifndef __ParseString_h__
|
||||
#define __ParseString_h__
|
||||
|
||||
#include "includes"
|
||||
|
||||
namespace core {
|
||||
|
||||
class ParseString : std::string {
|
||||
|
||||
public:
|
||||
ParseString() {}
|
||||
ParseString(std::string value) : std::string(value) {}
|
||||
ParseString(std::string value, char delimiter) : std::string(value) {
|
||||
|
||||
}
|
||||
|
||||
void setDelimiter(char delimiter) {
|
||||
this->delimiter = delimiter;
|
||||
parse();
|
||||
}
|
||||
|
||||
private:
|
||||
char delimiter;
|
||||
|
||||
void parse() {
|
||||
|
||||
std::stringstream sstring((std::string)*this);
|
||||
|
||||
sstring.imbue(std::locale(sstring.getloc(), new isDelimiter(':')));
|
||||
|
||||
|
||||
}
|
||||
|
||||
struct isDelimiter : std::ctype<char> {
|
||||
char chr;
|
||||
isDelimiter(char chr) : std::ctype<char>(get_table()) {
|
||||
this->chr = chr;
|
||||
}
|
||||
static mask const* get_table() {
|
||||
static mask rc[table_size];
|
||||
rc[*chr] = std::ctype_base::space;
|
||||
rc['\n'] = std::ctype_base::space;
|
||||
return &rc[0];
|
||||
}
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
#endif
|
@ -1 +0,0 @@
|
||||
|
@ -1,18 +0,0 @@
|
||||
Release/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:
|
@ -1,21 +0,0 @@
|
||||
Release/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:
|
@ -1,40 +0,0 @@
|
||||
Release/ConsoleServer.cpp.o: ConsoleServer.cpp ConsoleServer.h includes \
|
||||
TCPServerSocket.h Socket.h Object.h TCPSocket.h IPAddress.h Service.h \
|
||||
CommandList.h Session.h SessionFilter.h Command.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:
|
||||
|
||||
Service.h:
|
||||
|
||||
CommandList.h:
|
||||
|
||||
Session.h:
|
||||
|
||||
SessionFilter.h:
|
||||
|
||||
Command.h:
|
||||
|
||||
EPoll.h:
|
||||
|
||||
Log.h:
|
||||
|
||||
File.h:
|
||||
|
||||
Thread.h:
|
||||
|
||||
ConsoleSession.h:
|
||||
|
||||
TerminalSession.h:
|
@ -1,34 +0,0 @@
|
||||
Release/ConsoleSession.cpp.o: ConsoleSession.cpp ConsoleSession.h \
|
||||
TerminalSession.h includes Session.h TCPSocket.h Socket.h Object.h \
|
||||
IPAddress.h SessionFilter.h TCPServerSocket.h Service.h CommandList.h \
|
||||
Command.h Log.h File.h
|
||||
|
||||
ConsoleSession.h:
|
||||
|
||||
TerminalSession.h:
|
||||
|
||||
includes:
|
||||
|
||||
Session.h:
|
||||
|
||||
TCPSocket.h:
|
||||
|
||||
Socket.h:
|
||||
|
||||
Object.h:
|
||||
|
||||
IPAddress.h:
|
||||
|
||||
SessionFilter.h:
|
||||
|
||||
TCPServerSocket.h:
|
||||
|
||||
Service.h:
|
||||
|
||||
CommandList.h:
|
||||
|
||||
Command.h:
|
||||
|
||||
Log.h:
|
||||
|
||||
File.h:
|
@ -1,29 +0,0 @@
|
||||
Release/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:
|
@ -1,12 +0,0 @@
|
||||
Release/Exception.cpp.o: Exception.cpp Exception.h includes Log.h File.h \
|
||||
Object.h
|
||||
|
||||
Exception.h:
|
||||
|
||||
includes:
|
||||
|
||||
Log.h:
|
||||
|
||||
File.h:
|
||||
|
||||
Object.h:
|
@ -1,7 +0,0 @@
|
||||
Release/File.cpp.o: File.cpp File.h includes Exception.h
|
||||
|
||||
File.h:
|
||||
|
||||
includes:
|
||||
|
||||
Exception.h:
|
@ -1,11 +0,0 @@
|
||||
Release/Header.cpp.o: Header.cpp Header.h includes Object.h Log.h File.h
|
||||
|
||||
Header.h:
|
||||
|
||||
includes:
|
||||
|
||||
Object.h:
|
||||
|
||||
Log.h:
|
||||
|
||||
File.h:
|
@ -1,7 +0,0 @@
|
||||
Release/IPAddress.cpp.o: IPAddress.cpp IPAddress.h includes Object.h
|
||||
|
||||
IPAddress.h:
|
||||
|
||||
includes:
|
||||
|
||||
Object.h:
|
@ -1,40 +0,0 @@
|
||||
Release/Log.cpp.o: Log.cpp ConsoleSession.h TerminalSession.h includes \
|
||||
Session.h TCPSocket.h Socket.h Object.h IPAddress.h SessionFilter.h \
|
||||
TCPServerSocket.h Service.h CommandList.h Command.h Log.h File.h \
|
||||
ConsoleServer.h EPoll.h Thread.h
|
||||
|
||||
ConsoleSession.h:
|
||||
|
||||
TerminalSession.h:
|
||||
|
||||
includes:
|
||||
|
||||
Session.h:
|
||||
|
||||
TCPSocket.h:
|
||||
|
||||
Socket.h:
|
||||
|
||||
Object.h:
|
||||
|
||||
IPAddress.h:
|
||||
|
||||
SessionFilter.h:
|
||||
|
||||
TCPServerSocket.h:
|
||||
|
||||
Service.h:
|
||||
|
||||
CommandList.h:
|
||||
|
||||
Command.h:
|
||||
|
||||
Log.h:
|
||||
|
||||
File.h:
|
||||
|
||||
ConsoleServer.h:
|
||||
|
||||
EPoll.h:
|
||||
|
||||
Thread.h:
|
@ -1,12 +0,0 @@
|
||||
Release/Response.cpp.o: Response.cpp Response.h includes Object.h Log.h \
|
||||
File.h
|
||||
|
||||
Response.h:
|
||||
|
||||
includes:
|
||||
|
||||
Object.h:
|
||||
|
||||
Log.h:
|
||||
|
||||
File.h:
|
@ -1,27 +0,0 @@
|
||||
Release/Service.cpp.o: Service.cpp Service.h Object.h includes \
|
||||
CommandList.h Session.h TCPSocket.h Socket.h IPAddress.h SessionFilter.h \
|
||||
Command.h TCPServerSocket.h Exception.h
|
||||
|
||||
Service.h:
|
||||
|
||||
Object.h:
|
||||
|
||||
includes:
|
||||
|
||||
CommandList.h:
|
||||
|
||||
Session.h:
|
||||
|
||||
TCPSocket.h:
|
||||
|
||||
Socket.h:
|
||||
|
||||
IPAddress.h:
|
||||
|
||||
SessionFilter.h:
|
||||
|
||||
Command.h:
|
||||
|
||||
TCPServerSocket.h:
|
||||
|
||||
Exception.h:
|
@ -1,27 +0,0 @@
|
||||
Release/Session.cpp.o: Session.cpp Session.h TCPSocket.h includes \
|
||||
Socket.h Object.h IPAddress.h SessionFilter.h Log.h File.h Service.h \
|
||||
CommandList.h Command.h
|
||||
|
||||
Session.h:
|
||||
|
||||
TCPSocket.h:
|
||||
|
||||
includes:
|
||||
|
||||
Socket.h:
|
||||
|
||||
Object.h:
|
||||
|
||||
IPAddress.h:
|
||||
|
||||
SessionFilter.h:
|
||||
|
||||
Log.h:
|
||||
|
||||
File.h:
|
||||
|
||||
Service.h:
|
||||
|
||||
CommandList.h:
|
||||
|
||||
Command.h:
|
@ -1,29 +0,0 @@
|
||||
Release/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:
|
@ -1,36 +0,0 @@
|
||||
Release/TCPServerSocket.cpp.o: TCPServerSocket.cpp TCPServerSocket.h \
|
||||
Socket.h includes Object.h TCPSocket.h IPAddress.h Service.h \
|
||||
CommandList.h Session.h SessionFilter.h Command.h EPoll.h Log.h File.h \
|
||||
Thread.h Exception.h
|
||||
|
||||
TCPServerSocket.h:
|
||||
|
||||
Socket.h:
|
||||
|
||||
includes:
|
||||
|
||||
Object.h:
|
||||
|
||||
TCPSocket.h:
|
||||
|
||||
IPAddress.h:
|
||||
|
||||
Service.h:
|
||||
|
||||
CommandList.h:
|
||||
|
||||
Session.h:
|
||||
|
||||
SessionFilter.h:
|
||||
|
||||
Command.h:
|
||||
|
||||
EPoll.h:
|
||||
|
||||
Log.h:
|
||||
|
||||
File.h:
|
||||
|
||||
Thread.h:
|
||||
|
||||
Exception.h:
|
@ -1,29 +0,0 @@
|
||||
Release/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:
|
@ -1,42 +0,0 @@
|
||||
Release/TLSServerSocket.cpp.o: TLSServerSocket.cpp TLSServerSocket.h \
|
||||
Socket.h includes Object.h TCPServerSocket.h TCPSocket.h IPAddress.h \
|
||||
Service.h CommandList.h Session.h SessionFilter.h Command.h TLSSession.h \
|
||||
TLSService.h EPoll.h Log.h File.h Thread.h Exception.h
|
||||
|
||||
TLSServerSocket.h:
|
||||
|
||||
Socket.h:
|
||||
|
||||
includes:
|
||||
|
||||
Object.h:
|
||||
|
||||
TCPServerSocket.h:
|
||||
|
||||
TCPSocket.h:
|
||||
|
||||
IPAddress.h:
|
||||
|
||||
Service.h:
|
||||
|
||||
CommandList.h:
|
||||
|
||||
Session.h:
|
||||
|
||||
SessionFilter.h:
|
||||
|
||||
Command.h:
|
||||
|
||||
TLSSession.h:
|
||||
|
||||
TLSService.h:
|
||||
|
||||
EPoll.h:
|
||||
|
||||
Log.h:
|
||||
|
||||
File.h:
|
||||
|
||||
Thread.h:
|
||||
|
||||
Exception.h:
|
@ -1,42 +0,0 @@
|
||||
Release/TLSSession.cpp.o: TLSSession.cpp TLSSession.h includes Session.h \
|
||||
TCPSocket.h Socket.h Object.h IPAddress.h SessionFilter.h \
|
||||
TLSServerSocket.h TCPServerSocket.h Service.h CommandList.h Command.h \
|
||||
TLSService.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:
|
||||
|
||||
Service.h:
|
||||
|
||||
CommandList.h:
|
||||
|
||||
Command.h:
|
||||
|
||||
TLSService.h:
|
||||
|
||||
EPoll.h:
|
||||
|
||||
Log.h:
|
||||
|
||||
File.h:
|
||||
|
||||
Thread.h:
|
||||
|
||||
Exception.h:
|
@ -1,27 +0,0 @@
|
||||
Release/TerminalSession.cpp.o: TerminalSession.cpp TerminalSession.h \
|
||||
includes Session.h TCPSocket.h Socket.h Object.h IPAddress.h \
|
||||
SessionFilter.h TCPServerSocket.h Service.h CommandList.h Command.h
|
||||
|
||||
TerminalSession.h:
|
||||
|
||||
includes:
|
||||
|
||||
Session.h:
|
||||
|
||||
TCPSocket.h:
|
||||
|
||||
Socket.h:
|
||||
|
||||
Object.h:
|
||||
|
||||
IPAddress.h:
|
||||
|
||||
SessionFilter.h:
|
||||
|
||||
TCPServerSocket.h:
|
||||
|
||||
Service.h:
|
||||
|
||||
CommandList.h:
|
||||
|
||||
Command.h:
|
@ -1,27 +0,0 @@
|
||||
Release/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:
|
@ -1,29 +0,0 @@
|
||||
Release/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:
|
@ -1,31 +0,0 @@
|
||||
Release/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:
|
@ -1,18 +0,0 @@
|
||||
Release/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:
|
137
Socket.cpp
@ -11,14 +11,28 @@ namespace core {
|
||||
length = 4096;
|
||||
}
|
||||
|
||||
Socket::Socket(EPoll &ePoll, std::string text) : ePoll(ePoll), text(text) {
|
||||
coreutils::Log(coreutils::LOG_DEBUG_2) << "BMASocket object created [" << text << "].";
|
||||
buffer = (char *)malloc(4096);
|
||||
length = 4096;
|
||||
}
|
||||
|
||||
Socket::~Socket() {
|
||||
ePoll.unregisterSocket(this);
|
||||
close(descriptor);
|
||||
free(buffer);
|
||||
if(descriptor == -1)
|
||||
return;
|
||||
onUnregister();
|
||||
ePoll.unregisterSocket(this);
|
||||
coreutils::Log(coreutils::LOG_DEBUG_3) << "Socket destroyed for socket " << descriptor << ".";
|
||||
close(descriptor);
|
||||
}
|
||||
|
||||
void Socket::setDescriptor(int descriptor) {
|
||||
if((descriptor == -1) && (errno == 24)) {
|
||||
shutdown("Too many files open");
|
||||
coreutils::Exception("Too many files open. Refusing connection.");;
|
||||
}
|
||||
socketLock.lock();
|
||||
coreutils::Log(coreutils::LOG_DEBUG_3) << "Descriptor set to " << descriptor << " for Socket.";
|
||||
if(descriptor < 3)
|
||||
throw coreutils::Exception("Descriptor out of range", __FILE__, __LINE__);
|
||||
@ -26,6 +40,7 @@ namespace core {
|
||||
onRegister();
|
||||
ePoll.registerSocket(this);
|
||||
onRegistered();
|
||||
socketLock.unlock();
|
||||
}
|
||||
|
||||
int Socket::getDescriptor() {
|
||||
@ -43,43 +58,48 @@ namespace core {
|
||||
|
||||
void Socket::onUnregister() {}
|
||||
|
||||
void Socket::eventReceived(struct epoll_event event) {
|
||||
bool Socket::eventReceived(struct epoll_event event) {
|
||||
|
||||
coreutils::Log(coreutils::LOG_DEBUG_1) << "eventReceived on " << descriptor << "; shutDown = " << shutDown << "; active = " << active << ";";
|
||||
|
||||
socketLock.lock();
|
||||
|
||||
if(event.events & EPOLLRDHUP) {
|
||||
coreutils::Log(coreutils::LOG_DEBUG_1) << "start EPOLLRDHUP " << descriptor;
|
||||
readHangup = true;
|
||||
enable(false);
|
||||
shutdown();
|
||||
return;
|
||||
shutdown("hangup received");
|
||||
return false;
|
||||
}
|
||||
|
||||
if(event.events & EPOLLIN)
|
||||
if(event.events & EPOLLIN) {
|
||||
coreutils::Log(coreutils::LOG_DEBUG_1) << "start EPOLLIN " << descriptor;
|
||||
receiveData(buffer, length);
|
||||
}
|
||||
|
||||
if(event.events & EPOLLOUT)
|
||||
if(event.events & EPOLLWRNORM) {
|
||||
coreutils::Log(coreutils::LOG_DEBUG_1) << "start EPOLLOUT " << descriptor;
|
||||
writeSocket();
|
||||
}
|
||||
|
||||
if(event.events & EPOLLHUP) {
|
||||
coreutils::Log(coreutils::LOG_DEBUG_1) << "start EPOLLHUP " << descriptor;
|
||||
coreutils::Log(coreutils::LOG_DEBUG_1) << "end shutting down" << descriptor;
|
||||
shutdown();
|
||||
return;
|
||||
return false;
|
||||
}
|
||||
|
||||
enable(true);
|
||||
coreutils::Log(coreutils::LOG_DEBUG_1) << "end with active = " << active << " on socket " << descriptor;
|
||||
socketLock.unlock();
|
||||
|
||||
return active;
|
||||
}
|
||||
|
||||
void Socket::enable(bool mode) {
|
||||
if(mode) {
|
||||
if(fifo.empty()) {
|
||||
if(!readHangup) {
|
||||
active ? resetRead(): setRead();
|
||||
void Socket::onDataReceived(std::string data) {
|
||||
throw coreutils::Exception("Need to override onDataReceived.", __FILE__, __LINE__, -1);
|
||||
}
|
||||
}
|
||||
else {
|
||||
active ? resetReadWrite(): setReadWrite();
|
||||
}
|
||||
active = true;
|
||||
}
|
||||
else
|
||||
clear();
|
||||
|
||||
void Socket::onDataReceived(char *buffer, int len) {
|
||||
onDataReceived(std::string(buffer, len));
|
||||
}
|
||||
|
||||
void Socket::receiveData(char *buffer, int bufferLength) {
|
||||
@ -91,7 +111,7 @@ namespace core {
|
||||
int error = -1;
|
||||
|
||||
if((len = ::read(getDescriptor(), buffer, bufferLength)) >= 0)
|
||||
onDataReceived(std::string(buffer, len));
|
||||
onDataReceived(buffer, len);
|
||||
else {
|
||||
|
||||
error = errno;
|
||||
@ -114,77 +134,46 @@ namespace core {
|
||||
}
|
||||
}
|
||||
|
||||
// void Socket::onConnected() {
|
||||
// }
|
||||
|
||||
void Socket::writeSocket() {
|
||||
if(shutDown)
|
||||
return;
|
||||
|
||||
lock.lock();
|
||||
if(fifo.size() > 0) {
|
||||
::write(descriptor, fifo.front().c_str(), fifo.front().length());
|
||||
fifo.pop();
|
||||
enable(true);
|
||||
coreutils::Log(coreutils::LOG_DEBUG_4) << "reseSocket from writeSocket.";
|
||||
if(active)
|
||||
ePoll.resetSocket(this);
|
||||
}
|
||||
lock.unlock();
|
||||
}
|
||||
|
||||
void Socket::write(std::string data) {
|
||||
int Socket::write(std::string data) {
|
||||
if(!active)
|
||||
return -1;
|
||||
|
||||
lock.lock();
|
||||
fifo.emplace(data);
|
||||
enable(true);
|
||||
coreutils::Log(coreutils::LOG_DEBUG_4) << "resetSocket from write. active is " << active;
|
||||
if(active)
|
||||
ePoll.resetSocket(this);
|
||||
lock.unlock();
|
||||
return 1;
|
||||
}
|
||||
|
||||
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);
|
||||
bool Socket::needsToWrite() {
|
||||
return fifo.size() > 0;
|
||||
}
|
||||
|
||||
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() {
|
||||
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() {
|
||||
coreutils::Log(coreutils::LOG_DEBUG_2) << "Shutdown requested on socket " << descriptor << ".";
|
||||
void Socket::shutdown(std::string text) {
|
||||
coreutils::Log(coreutils::LOG_DEBUG_2) << "Shutdown requested on socket " << descriptor << " with reason " << text << ".";
|
||||
shutDown = true;
|
||||
enable(false);
|
||||
active = false;
|
||||
delete this;
|
||||
}
|
||||
|
||||
|
37
Socket.h
@ -34,11 +34,16 @@ namespace core {
|
||||
public:
|
||||
|
||||
Socket(EPoll &ePoll);
|
||||
Socket(EPoll &ePoll, std::string text);
|
||||
~Socket();
|
||||
|
||||
///
|
||||
/// Use the shutdown() method to terminate the socket connection and remove resources.
|
||||
/// This method is provided to ensure that all destructors are called for all inherited
|
||||
/// objects without a virtual destructor.
|
||||
///
|
||||
|
||||
void shutdown();
|
||||
void shutdown(std::string text = "unknown");
|
||||
|
||||
///
|
||||
/// setDescriptor establishes the file descriptor for the socket and registers the socket
|
||||
@ -68,13 +73,13 @@ namespace core {
|
||||
/// simulated.
|
||||
///
|
||||
|
||||
void eventReceived(struct epoll_event event); ///< Parse epoll event and call specified callbacks.
|
||||
bool eventReceived(struct epoll_event event); ///< Parse epoll event and call specified callbacks.
|
||||
|
||||
///
|
||||
/// Write data to the socket.
|
||||
///
|
||||
|
||||
void write(std::string data);
|
||||
int write(std::string data);
|
||||
void write(char *buffer, int length);
|
||||
|
||||
void output(std::stringstream &out);
|
||||
@ -98,7 +103,9 @@ namespace core {
|
||||
|
||||
virtual void onUnregister(); ///< 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.
|
||||
bool needsToWrite();
|
||||
|
||||
bool active = false;
|
||||
|
||||
protected:
|
||||
|
||||
@ -130,7 +137,9 @@ namespace core {
|
||||
/// @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.
|
||||
virtual void onDataReceived(std::string data); ///< Called when data is received from the socket.
|
||||
|
||||
virtual void onDataReceived(char *buffer, int len);
|
||||
|
||||
///
|
||||
/// receiveData will read the data from the socket and place it in the socket buffer.
|
||||
@ -141,23 +150,13 @@ namespace core {
|
||||
|
||||
private:
|
||||
|
||||
std::string text;
|
||||
int descriptor = -1;
|
||||
std::mutex lock;
|
||||
std::mutex socketLock;
|
||||
bool readHangup = false;
|
||||
|
||||
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();
|
||||
void clear();
|
||||
// struct epoll_event event; // Event selection construction structure.
|
||||
|
||||
//-------------------------------------------------------------------------------------
|
||||
// the writeSocket is called when epoll has received a write request for a socket.
|
||||
@ -182,8 +181,6 @@ namespace core {
|
||||
|
||||
std::queue<std::string> fifo;
|
||||
|
||||
bool active = false;
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -6,17 +6,19 @@
|
||||
|
||||
namespace core {
|
||||
|
||||
TCPServer::TCPServer(EPoll &ePoll, IPAddress address) : TCPSocket(ePoll) {
|
||||
TCPServer::TCPServer(EPoll &ePoll, IPAddress address, std::string text)
|
||||
: TCPSocket(ePoll, text) {
|
||||
setDescriptor(socket(AF_INET, SOCK_STREAM, 0));
|
||||
int yes = 1;
|
||||
setsockopt(getDescriptor(), SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(int));
|
||||
if(bind(getDescriptor(), address.getPointer(), address.addressLength) < 0)
|
||||
throw coreutils::Exception("Error on bind to socket: " + std::to_string(errno));
|
||||
if(listen(getDescriptor(), 10) < 0)
|
||||
if(listen(getDescriptor(), 20) < 0)
|
||||
throw coreutils::Exception("Error on listen to socket");
|
||||
}
|
||||
|
||||
TCPServer::~TCPServer() {
|
||||
coreutils::Log(coreutils::LOG_DEBUG_2) << "Closing server socket " << getDescriptor() << ".";
|
||||
close(getDescriptor());
|
||||
}
|
||||
|
||||
@ -52,7 +54,7 @@ namespace core {
|
||||
sessions.erase(cursor);
|
||||
}
|
||||
|
||||
void TCPServer::sessionErrorHandler(std::string errorString) {
|
||||
void TCPServer::sessionErrorHandler(std::string errorString, std::stringstream &out) {
|
||||
throw coreutils::Exception(errorString);
|
||||
}
|
||||
|
||||
@ -61,7 +63,9 @@ namespace core {
|
||||
}
|
||||
|
||||
void TCPServer::output(TCPSession *session) {
|
||||
session->out << "|" << session->ipAddress.getClientAddressAndPort();
|
||||
std::stringstream out;
|
||||
out << "|" << session->ipAddress.getClientAddressAndPort();
|
||||
session->send(out.str());
|
||||
}
|
||||
|
||||
int TCPServer::processCommand(std::string command, TCPSession *session, std::stringstream &data) {
|
||||
|
@ -35,7 +35,7 @@ namespace core {
|
||||
/// @return the instance of the BMATCPServerSocket.
|
||||
///
|
||||
|
||||
TCPServer(EPoll &ePoll, IPAddress address);
|
||||
TCPServer(EPoll &ePoll, IPAddress address, std::string text = "");
|
||||
|
||||
///
|
||||
/// The destructor for this object.
|
||||
@ -50,6 +50,7 @@ namespace core {
|
||||
///
|
||||
|
||||
IPAddressList *blackList;
|
||||
|
||||
///
|
||||
/// If not NULL the blacklist object can be assigned to this server socket and the server
|
||||
/// IP addresses connecting to the server attempting to accept a socket are contained in
|
||||
@ -60,7 +61,7 @@ namespace core {
|
||||
|
||||
void removeFromSessionList(TCPSession *session);
|
||||
|
||||
virtual void sessionErrorHandler(std::string errorString);
|
||||
virtual void sessionErrorHandler(std::string errorString, std::stringstream &out);
|
||||
|
||||
///
|
||||
/// getSocketAccept is designed to allow a polymorphic extension of this object to
|
||||
|
@ -1,11 +1,14 @@
|
||||
#include "TCPSession.h"
|
||||
#include "TCPServer.h"
|
||||
#include "Log.h"
|
||||
#include "PString.h"
|
||||
|
||||
namespace core {
|
||||
|
||||
TCPSession::TCPSession(EPoll &ePoll, TCPServer &server) : TCPSocket(ePoll), server(server) {}
|
||||
|
||||
TCPSession::TCPSession(EPoll &ePoll, TCPServer &server, std::string text) : TCPSocket(ePoll, text), server(server) {}
|
||||
|
||||
TCPSession::~TCPSession() {
|
||||
server.removeFromSessionList(this);
|
||||
}
|
||||
@ -14,43 +17,45 @@ namespace core {
|
||||
data << "|" << ipAddress.getClientAddressAndPort();
|
||||
}
|
||||
|
||||
void TCPSession::protocol(std::string data = "") {
|
||||
void TCPSession::protocol(std::stringstream &out, std::string data = "") {
|
||||
if(data.length() > 0) {
|
||||
if(!server.commands.processRequest(data, this, out))
|
||||
server.sessionErrorHandler("Invalid data received.");
|
||||
send();
|
||||
server.sessionErrorHandler("Invalid data received.", out);
|
||||
}
|
||||
else {
|
||||
onConnected(out);
|
||||
}
|
||||
}
|
||||
|
||||
void TCPSession::onRegister() {
|
||||
protocol();
|
||||
std::stringstream out;
|
||||
protocol(out);
|
||||
send(out.str());
|
||||
}
|
||||
|
||||
void TCPSession::onConnected(std::stringstream &out) {}
|
||||
|
||||
void TCPSession::onDataReceived(std::string data) {
|
||||
protocol(data);
|
||||
std::stringstream out;
|
||||
protocol(out, data);
|
||||
send(out.str());
|
||||
}
|
||||
|
||||
void TCPSession::sendToAll() {
|
||||
for(auto session : server.sessions) {
|
||||
void TCPSession::sendToAll(std::string data) {
|
||||
for(auto session : server.sessions)
|
||||
if(session != this)
|
||||
session->write(out.str());
|
||||
}
|
||||
out.str("");
|
||||
session->write(data);
|
||||
}
|
||||
|
||||
void TCPSession::sendToAll(SessionFilter filter) {
|
||||
for(auto session : server.sessions) {
|
||||
if(filter.test(*session)) {
|
||||
void TCPSession::sendToAll(SessionFilter filter, std::string data) {
|
||||
for(auto session : server.sessions)
|
||||
if(filter.test(*session))
|
||||
if(session != this)
|
||||
session->write(out.str());
|
||||
}
|
||||
}
|
||||
out.str("");
|
||||
session->write(data);
|
||||
}
|
||||
|
||||
void TCPSession::send() {
|
||||
write(out.str());
|
||||
out.str("");
|
||||
void TCPSession::send(std::string data) {
|
||||
write(data);
|
||||
}
|
||||
|
||||
}
|
||||
|
27
TCPSession.h
@ -6,6 +6,8 @@
|
||||
|
||||
namespace core {
|
||||
|
||||
class Command;
|
||||
|
||||
class TCPServer;
|
||||
|
||||
///
|
||||
@ -22,8 +24,11 @@ namespace core {
|
||||
|
||||
public:
|
||||
TCPSession(EPoll &ePoll, TCPServer &server);
|
||||
TCPSession(EPoll &ePoll, TCPServer &server, std::string text);
|
||||
~TCPSession();
|
||||
|
||||
Command *grab = NULL;
|
||||
|
||||
virtual void output(std::stringstream &data);
|
||||
|
||||
///
|
||||
@ -31,14 +36,14 @@ namespace core {
|
||||
/// to the session containing the stream.
|
||||
///
|
||||
|
||||
void send();
|
||||
void send(std::string data);
|
||||
|
||||
///
|
||||
/// 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();
|
||||
void sendToAll(std::string data);
|
||||
|
||||
///
|
||||
/// Use this sendToAll method to output the contents of the out stream
|
||||
@ -46,9 +51,7 @@ namespace core {
|
||||
/// and the entries identified by the passed in filter object.
|
||||
///
|
||||
|
||||
void sendToAll(SessionFilter filter);
|
||||
|
||||
std::stringstream out;
|
||||
void sendToAll(SessionFilter filter, std::string data);
|
||||
|
||||
TCPServer &server;
|
||||
|
||||
@ -57,6 +60,14 @@ namespace core {
|
||||
virtual void onDataReceived(std::string data) override;
|
||||
virtual void onRegister() override;
|
||||
|
||||
///
|
||||
/// This method is called from within the protocol method when protocol is called
|
||||
/// on the initial connection where the data is an empty string. Use this method
|
||||
/// to deliver a message to the connection upon connection.
|
||||
///
|
||||
|
||||
virtual void onConnected(std::stringstream &out);
|
||||
|
||||
///
|
||||
/// 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
|
||||
@ -64,7 +75,11 @@ namespace core {
|
||||
/// processRequest method on the session input.
|
||||
///
|
||||
|
||||
virtual void protocol(std::string data);
|
||||
virtual void protocol(std::stringstream &out, std::string data);
|
||||
|
||||
private:
|
||||
|
||||
std::mutex mtx;
|
||||
|
||||
};
|
||||
|
||||
|
@ -7,6 +7,8 @@ namespace core {
|
||||
|
||||
TCPSocket::TCPSocket(EPoll &ePoll) : Socket(ePoll) {}
|
||||
|
||||
TCPSocket::TCPSocket(EPoll &ePoll, std::string text) : Socket(ePoll, text) {}
|
||||
|
||||
TCPSocket::~TCPSocket() {}
|
||||
|
||||
void TCPSocket::connect(IPAddress &address) {
|
||||
|
@ -22,6 +22,7 @@ namespace core {
|
||||
public:
|
||||
|
||||
TCPSocket(EPoll &ePoll);
|
||||
TCPSocket(EPoll &ePoll, std::string text);
|
||||
~TCPSocket();
|
||||
|
||||
void connect(IPAddress &address);
|
||||
|
@ -82,7 +82,7 @@ namespace core {
|
||||
|
||||
}
|
||||
|
||||
void TLSSession::protocol(std::string data) {
|
||||
void TLSSession::protocol(std::stringstream &out, std::string data) {
|
||||
|
||||
}
|
||||
|
||||
|
@ -35,7 +35,7 @@ namespace core {
|
||||
///
|
||||
|
||||
virtual void output(std::stringstream &out);
|
||||
virtual void protocol(std::string data) override;
|
||||
virtual void protocol(std::stringstream &out, std::string data) override;
|
||||
|
||||
protected:
|
||||
void receiveData(char *buffer, int bufferLength) override;
|
||||
|
@ -46,6 +46,8 @@ namespace core {
|
||||
void PreviousLine(int lines);
|
||||
void scrollArea(int start, int end);
|
||||
|
||||
std::stringstream out;
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
12
Thread.cpp
@ -60,12 +60,12 @@ namespace core {
|
||||
} else if(rc > 0) {
|
||||
for(int ix = 0; ix < rc; ++ix) {
|
||||
++count;
|
||||
// std::cout << "Event " << events[ix].events << " on socket " << events[ix].data.fd << " on thread " << getThreadId() << ": ";
|
||||
// std::cout << ((events[ix].events & EPOLLIN) ? "EPOLLIN ": "");
|
||||
// std::cout << ((events[ix].events & EPOLLOUT) ? "EPOLLOUT ": "");
|
||||
// std::cout << ((events[ix].events & EPOLLRDHUP) ? "EPOLLRDHUP ": "");
|
||||
// std::cout << ((events[ix].events & EPOLLHUP) ? "EPOLLHUP ": "");
|
||||
// std::cout << "." << std::endl;
|
||||
std::cout << "Event " << events[ix].events << " on socket " << events[ix].data.fd << " on thread " << getThreadId() << ": ";
|
||||
std::cout << ((events[ix].events & EPOLLIN) ? "EPOLLIN ": "");
|
||||
std::cout << ((events[ix].events & EPOLLWRNORM) ? "EPOLLWRNORM ": "");
|
||||
std::cout << ((events[ix].events & EPOLLRDHUP) ? "EPOLLRDHUP ": "");
|
||||
std::cout << ((events[ix].events & EPOLLHUP) ? "EPOLLHUP ": "");
|
||||
std::cout << "." << std::endl;
|
||||
ePoll.eventReceived(events[ix]);
|
||||
}
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
namespace core {
|
||||
|
||||
Timer::Timer(EPoll &ePoll, double delay = 0.0f) : Socket(ePoll) {
|
||||
Timer::Timer(EPoll &ePoll, double delay = 0.0f) : Socket(ePoll, "Timer") {
|
||||
setDescriptor(timerfd_create(CLOCK_REALTIME, 0));
|
||||
ePoll.registerSocket(this);
|
||||
setTimer(delay);
|
||||
|
3
compile
@ -27,3 +27,6 @@ else
|
||||
exit -1
|
||||
fi
|
||||
|
||||
echo -n "Building library documentation manual..."
|
||||
doxygen docs/latex/doxygen.sty >/dev/null 2>/dev/null
|
||||
echo "OK"
|
||||
|
BIN
docs/latex/html/bc_s.png
Normal file
After Width: | Height: | Size: 676 B |
BIN
docs/latex/html/bdwn.png
Normal file
After Width: | Height: | Size: 147 B |
BIN
docs/latex/html/closed.png
Normal file
After Width: | Height: | Size: 132 B |
BIN
docs/latex/html/doc.png
Normal file
After Width: | Height: | Size: 746 B |
1596
docs/latex/html/doxygen.css
Normal file
BIN
docs/latex/html/doxygen.png
Normal file
After Width: | Height: | Size: 3.7 KiB |
97
docs/latex/html/dynsections.js
Normal file
@ -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<level+1) {
|
||||
i.removeClass('iconfopen iconfclosed').addClass('iconfopen');
|
||||
a.html('▼');
|
||||
$(this).show();
|
||||
} else if (l==level+1) {
|
||||
i.removeClass('iconfclosed iconfopen').addClass('iconfclosed');
|
||||
a.html('►');
|
||||
$(this).show();
|
||||
} else {
|
||||
$(this).hide();
|
||||
}
|
||||
});
|
||||
updateStripes();
|
||||
}
|
||||
|
||||
function toggleFolder(id)
|
||||
{
|
||||
// the clicked row
|
||||
var currentRow = $('#row_'+id);
|
||||
|
||||
// all rows after the clicked row
|
||||
var rows = currentRow.nextAll("tr");
|
||||
|
||||
var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
|
||||
|
||||
// only match elements AFTER this one (can't hide elements before)
|
||||
var childRows = rows.filter(function() { return this.id.match(re); });
|
||||
|
||||
// first row is visible we are HIDING
|
||||
if (childRows.filter(':first').is(':visible')===true) {
|
||||
// replace down arrow by right arrow for current row
|
||||
var currentRowSpans = currentRow.find("span");
|
||||
currentRowSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
|
||||
currentRowSpans.filter(".arrow").html('►');
|
||||
rows.filter("[id^=row_"+id+"]").hide(); // hide all children
|
||||
} else { // we are SHOWING
|
||||
// replace right arrow by down arrow for current row
|
||||
var currentRowSpans = currentRow.find("span");
|
||||
currentRowSpans.filter(".iconfclosed").removeClass("iconfclosed").addClass("iconfopen");
|
||||
currentRowSpans.filter(".arrow").html('▼');
|
||||
// replace down arrows by right arrows for child rows
|
||||
var childRowsSpans = childRows.find("span");
|
||||
childRowsSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
|
||||
childRowsSpans.filter(".arrow").html('►');
|
||||
childRows.show(); //show all children
|
||||
}
|
||||
updateStripes();
|
||||
}
|
||||
|
||||
|
||||
function toggleInherit(id)
|
||||
{
|
||||
var rows = $('tr.inherit.'+id);
|
||||
var img = $('tr.inherit_header.'+id+' img');
|
||||
var src = $(img).attr('src');
|
||||
if (rows.filter(':first').is(':visible')===true) {
|
||||
rows.css('display','none');
|
||||
$(img).attr('src',src.substring(0,src.length-8)+'closed.png');
|
||||
} else {
|
||||
rows.css('display','table-row'); // using show() causes jump in firefox
|
||||
$(img).attr('src',src.substring(0,src.length-10)+'open.png');
|
||||
}
|
||||
}
|
||||
|
BIN
docs/latex/html/folderclosed.png
Normal file
After Width: | Height: | Size: 616 B |
BIN
docs/latex/html/folderopen.png
Normal file
After Width: | Height: | Size: 597 B |
102
docs/latex/html/graph_legend.html
Normal file
@ -0,0 +1,102 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.13"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>My Project: Graph Legend</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">My Project
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.13 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<script type="text/javascript" src="menudata.js"></script>
|
||||
<script type="text/javascript" src="menu.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(function() {
|
||||
initMenu('',true,false,'search.php','Search');
|
||||
$(document).ready(function() { init_search(); });
|
||||
});
|
||||
</script>
|
||||
<div id="main-nav"></div>
|
||||
</div><!-- top -->
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">Graph Legend</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<p>This page explains how to interpret the graphs that are generated by doxygen.</p>
|
||||
<p>Consider the following example: </p><div class="fragment"><div class="line">/*! Invisible class because of truncation */</div><div class="line">class Invisible { };</div><div class="line"></div><div class="line">/*! Truncated class, inheritance relation is hidden */</div><div class="line">class Truncated : public Invisible { };</div><div class="line"></div><div class="line">/* Class not documented with doxygen comments */</div><div class="line">class Undocumented { };</div><div class="line"></div><div class="line">/*! Class that is inherited using public inheritance */</div><div class="line">class PublicBase : public Truncated { };</div><div class="line"></div><div class="line">/*! A template class */</div><div class="line">template<class T> class Templ { };</div><div class="line"></div><div class="line">/*! Class that is inherited using protected inheritance */</div><div class="line">class ProtectedBase { };</div><div class="line"></div><div class="line">/*! Class that is inherited using private inheritance */</div><div class="line">class PrivateBase { };</div><div class="line"></div><div class="line">/*! Class that is used by the Inherited class */</div><div class="line">class Used { };</div><div class="line"></div><div class="line">/*! Super class that inherits a number of other classes */</div><div class="line">class Inherited : public PublicBase,</div><div class="line"> protected ProtectedBase,</div><div class="line"> private PrivateBase,</div><div class="line"> public Undocumented,</div><div class="line"> public Templ<int></div><div class="line">{</div><div class="line"> private:</div><div class="line"> Used *m_usedClass;</div><div class="line">};</div></div><!-- fragment --><p> This will result in the following graph:</p>
|
||||
<center><div class="image">
|
||||
<img src="graph_legend.png"/>
|
||||
</div>
|
||||
</center><p>The boxes in the above graph have the following meaning: </p>
|
||||
<ul>
|
||||
<li>
|
||||
A filled gray box represents the struct or class for which the graph is generated. </li>
|
||||
<li>
|
||||
A box with a black border denotes a documented struct or class. </li>
|
||||
<li>
|
||||
A box with a gray border denotes an undocumented struct or class. </li>
|
||||
<li>
|
||||
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. </li>
|
||||
</ul>
|
||||
<p>The arrows have the following meaning: </p>
|
||||
<ul>
|
||||
<li>
|
||||
A dark blue arrow is used to visualize a public inheritance relation between two classes. </li>
|
||||
<li>
|
||||
A dark green arrow is used for protected inheritance. </li>
|
||||
<li>
|
||||
A dark red arrow is used for private inheritance. </li>
|
||||
<li>
|
||||
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. </li>
|
||||
<li>
|
||||
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. </li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.13
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
1
docs/latex/html/graph_legend.md5
Normal file
@ -0,0 +1 @@
|
||||
387ff8eb65306fa251338d3c9bd7bfff
|
BIN
docs/latex/html/graph_legend.png
Normal file
After Width: | Height: | Size: 20 KiB |
73
docs/latex/html/index.html
Normal file
@ -0,0 +1,73 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.13"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>My Project: Main Page</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">My Project
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.13 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<script type="text/javascript" src="menudata.js"></script>
|
||||
<script type="text/javascript" src="menu.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(function() {
|
||||
initMenu('',true,false,'search.php','Search');
|
||||
$(document).ready(function() { init_search(); });
|
||||
});
|
||||
</script>
|
||||
<div id="main-nav"></div>
|
||||
</div><!-- top -->
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">My Project Documentation</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.13
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
87
docs/latex/html/jquery.js
vendored
Normal file
26
docs/latex/html/menu.js
Normal file
@ -0,0 +1,26 @@
|
||||
function initMenu(relPath,searchEnabled,serverSide,searchPage,search) {
|
||||
function makeTree(data,relPath) {
|
||||
var result='';
|
||||
if ('children' in data) {
|
||||
result+='<ul>';
|
||||
for (var i in data.children) {
|
||||
result+='<li><a href="'+relPath+data.children[i].url+'">'+
|
||||
data.children[i].text+'</a>'+
|
||||
makeTree(data.children[i],relPath)+'</li>';
|
||||
}
|
||||
result+='</ul>';
|
||||
}
|
||||
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('<li style="float:right"><div id="MSearchBox" class="MSearchBoxInactive"><div class="left"><form id="FSearchBox" action="'+searchPage+'" method="get"><img id="MSearchSelect" src="'+relPath+'search/mag.png" alt=""/><input type="text" id="MSearchField" name="query" value="'+search+'" size="20" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)"></form></div><div class="right"></div></div></li>');
|
||||
} else {
|
||||
$('#main-menu').append('<li style="float:right"><div id="MSearchBox" class="MSearchBoxInactive"><span class="left"><img id="MSearchSelect" src="'+relPath+'search/mag_sel.png" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" alt=""/><input type="text" id="MSearchField" value="'+search+'" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)" onkeyup="searchBox.OnSearchFieldChange(event)"/></span><span class="right"><a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="'+relPath+'search/close.png" alt=""/></a></span></div></li>');
|
||||
}
|
||||
}
|
||||
$('#main-menu').smartmenus();
|
||||
}
|
2
docs/latex/html/menudata.js
Normal file
@ -0,0 +1,2 @@
|
||||
var menudata={children:[
|
||||
{text:"Main Page",url:"index.html"}]}
|
BIN
docs/latex/html/nav_f.png
Normal file
After Width: | Height: | Size: 153 B |
BIN
docs/latex/html/nav_g.png
Normal file
After Width: | Height: | Size: 95 B |
BIN
docs/latex/html/nav_h.png
Normal file
After Width: | Height: | Size: 98 B |
BIN
docs/latex/html/open.png
Normal file
After Width: | Height: | Size: 123 B |
BIN
docs/latex/html/search/close.png
Normal file
After Width: | Height: | Size: 273 B |
BIN
docs/latex/html/search/mag_sel.png
Normal file
After Width: | Height: | Size: 563 B |
12
docs/latex/html/search/nomatches.html
Normal file
@ -0,0 +1,12 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html><head><title></title>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<link rel="stylesheet" type="text/css" href="search.css"/>
|
||||
<script type="text/javascript" src="search.js"></script>
|
||||
</head>
|
||||
<body class="SRPage">
|
||||
<div id="SRIndex">
|
||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
271
docs/latex/html/search/search.css
Normal file
@ -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;
|
||||
}
|
||||
|
791
docs/latex/html/search/search.js
Normal file
@ -0,0 +1,791 @@
|
||||
function convertToId(search)
|
||||
{
|
||||
var result = '';
|
||||
for (i=0;i<search.length;i++)
|
||||
{
|
||||
var c = search.charAt(i);
|
||||
var cn = c.charCodeAt(0);
|
||||
if (c.match(/[a-z0-9\u0080-\uFFFF]/))
|
||||
{
|
||||
result+=c;
|
||||
}
|
||||
else if (cn<16)
|
||||
{
|
||||
result+="_0"+cn.toString(16);
|
||||
}
|
||||
else
|
||||
{
|
||||
result+="_"+cn.toString(16);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
function getXPos(item)
|
||||
{
|
||||
var x = 0;
|
||||
if (item.offsetWidth)
|
||||
{
|
||||
while (item && item!=document.body)
|
||||
{
|
||||
x += item.offsetLeft;
|
||||
item = item.offsetParent;
|
||||
}
|
||||
}
|
||||
return x;
|
||||
}
|
||||
|
||||
function getYPos(item)
|
||||
{
|
||||
var y = 0;
|
||||
if (item.offsetWidth)
|
||||
{
|
||||
while (item && item!=document.body)
|
||||
{
|
||||
y += item.offsetTop;
|
||||
item = item.offsetParent;
|
||||
}
|
||||
}
|
||||
return y;
|
||||
}
|
||||
|
||||
/* A class handling everything associated with the search panel.
|
||||
|
||||
Parameters:
|
||||
name - The name of the global variable that will be
|
||||
storing this instance. Is needed to be able to set timeouts.
|
||||
resultPath - path to use for external files
|
||||
*/
|
||||
function SearchBox(name, resultsPath, inFrame, label)
|
||||
{
|
||||
if (!name || !resultsPath) { alert("Missing parameters to SearchBox."); }
|
||||
|
||||
// ---------- Instance variables
|
||||
this.name = name;
|
||||
this.resultsPath = resultsPath;
|
||||
this.keyTimeout = 0;
|
||||
this.keyTimeoutLength = 500;
|
||||
this.closeSelectionTimeout = 300;
|
||||
this.lastSearchValue = "";
|
||||
this.lastResultsPage = "";
|
||||
this.hideTimeout = 0;
|
||||
this.searchIndex = 0;
|
||||
this.searchActive = false;
|
||||
this.insideFrame = inFrame;
|
||||
this.searchLabel = label;
|
||||
|
||||
// ----------- DOM Elements
|
||||
|
||||
this.DOMSearchField = function()
|
||||
{ return document.getElementById("MSearchField"); }
|
||||
|
||||
this.DOMSearchSelect = function()
|
||||
{ return document.getElementById("MSearchSelect"); }
|
||||
|
||||
this.DOMSearchSelectWindow = function()
|
||||
{ return document.getElementById("MSearchSelectWindow"); }
|
||||
|
||||
this.DOMPopupSearchResults = function()
|
||||
{ return document.getElementById("MSearchResults"); }
|
||||
|
||||
this.DOMPopupSearchResultsWindow = function()
|
||||
{ return document.getElementById("MSearchResultsWindow"); }
|
||||
|
||||
this.DOMSearchClose = function()
|
||||
{ return document.getElementById("MSearchClose"); }
|
||||
|
||||
this.DOMSearchBox = function()
|
||||
{ return document.getElementById("MSearchBox"); }
|
||||
|
||||
// ------------ Event Handlers
|
||||
|
||||
// Called when focus is added or removed from the search field.
|
||||
this.OnSearchFieldFocus = function(isActive)
|
||||
{
|
||||
this.Activate(isActive);
|
||||
}
|
||||
|
||||
this.OnSearchSelectShow = function()
|
||||
{
|
||||
var searchSelectWindow = this.DOMSearchSelectWindow();
|
||||
var searchField = this.DOMSearchSelect();
|
||||
|
||||
if (this.insideFrame)
|
||||
{
|
||||
var left = getXPos(searchField);
|
||||
var top = getYPos(searchField);
|
||||
left += searchField.offsetWidth + 6;
|
||||
top += searchField.offsetHeight;
|
||||
|
||||
// show search selection popup
|
||||
searchSelectWindow.style.display='block';
|
||||
left -= searchSelectWindow.offsetWidth;
|
||||
searchSelectWindow.style.left = left + 'px';
|
||||
searchSelectWindow.style.top = top + 'px';
|
||||
}
|
||||
else
|
||||
{
|
||||
var left = getXPos(searchField);
|
||||
var top = getYPos(searchField);
|
||||
top += searchField.offsetHeight;
|
||||
|
||||
// show search selection popup
|
||||
searchSelectWindow.style.display='block';
|
||||
searchSelectWindow.style.left = left + 'px';
|
||||
searchSelectWindow.style.top = top + 'px';
|
||||
}
|
||||
|
||||
// stop selection hide timer
|
||||
if (this.hideTimeout)
|
||||
{
|
||||
clearTimeout(this.hideTimeout);
|
||||
this.hideTimeout=0;
|
||||
}
|
||||
return false; // to avoid "image drag" default event
|
||||
}
|
||||
|
||||
this.OnSearchSelectHide = function()
|
||||
{
|
||||
this.hideTimeout = setTimeout(this.name +".CloseSelectionWindow()",
|
||||
this.closeSelectionTimeout);
|
||||
}
|
||||
|
||||
// Called when the content of the search field is changed.
|
||||
this.OnSearchFieldChange = function(evt)
|
||||
{
|
||||
if (this.keyTimeout) // kill running timer
|
||||
{
|
||||
clearTimeout(this.keyTimeout);
|
||||
this.keyTimeout = 0;
|
||||
}
|
||||
|
||||
var e = (evt) ? evt : window.event; // for IE
|
||||
if (e.keyCode==40 || e.keyCode==13)
|
||||
{
|
||||
if (e.shiftKey==1)
|
||||
{
|
||||
this.OnSearchSelectShow();
|
||||
var win=this.DOMSearchSelectWindow();
|
||||
for (i=0;i<win.childNodes.length;i++)
|
||||
{
|
||||
var child = win.childNodes[i]; // get span within a
|
||||
if (child.className=='SelectItem')
|
||||
{
|
||||
child.focus();
|
||||
return;
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
else if (window.frames.MSearchResults.searchResults)
|
||||
{
|
||||
var elem = window.frames.MSearchResults.searchResults.NavNext(0);
|
||||
if (elem) elem.focus();
|
||||
}
|
||||
}
|
||||
else if (e.keyCode==27) // Escape out of the search field
|
||||
{
|
||||
this.DOMSearchField().blur();
|
||||
this.DOMPopupSearchResultsWindow().style.display = 'none';
|
||||
this.DOMSearchClose().style.display = 'none';
|
||||
this.lastSearchValue = '';
|
||||
this.Activate(false);
|
||||
return;
|
||||
}
|
||||
|
||||
// strip whitespaces
|
||||
var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
|
||||
|
||||
if (searchValue != this.lastSearchValue) // search value has changed
|
||||
{
|
||||
if (searchValue != "") // non-empty search
|
||||
{
|
||||
// set timer for search update
|
||||
this.keyTimeout = setTimeout(this.name + '.Search()',
|
||||
this.keyTimeoutLength);
|
||||
}
|
||||
else // empty search field
|
||||
{
|
||||
this.DOMPopupSearchResultsWindow().style.display = 'none';
|
||||
this.DOMSearchClose().style.display = 'none';
|
||||
this.lastSearchValue = '';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.SelectItemCount = function(id)
|
||||
{
|
||||
var count=0;
|
||||
var win=this.DOMSearchSelectWindow();
|
||||
for (i=0;i<win.childNodes.length;i++)
|
||||
{
|
||||
var child = win.childNodes[i]; // get span within a
|
||||
if (child.className=='SelectItem')
|
||||
{
|
||||
count++;
|
||||
}
|
||||
}
|
||||
return count;
|
||||
}
|
||||
|
||||
this.SelectItemSet = function(id)
|
||||
{
|
||||
var i,j=0;
|
||||
var win=this.DOMSearchSelectWindow();
|
||||
for (i=0;i<win.childNodes.length;i++)
|
||||
{
|
||||
var child = win.childNodes[i]; // get span within a
|
||||
if (child.className=='SelectItem')
|
||||
{
|
||||
var node = child.firstChild;
|
||||
if (j==id)
|
||||
{
|
||||
node.innerHTML='•';
|
||||
}
|
||||
else
|
||||
{
|
||||
node.innerHTML=' ';
|
||||
}
|
||||
j++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Called when an search filter selection is made.
|
||||
// set item with index id as the active item
|
||||
this.OnSelectItem = function(id)
|
||||
{
|
||||
this.searchIndex = id;
|
||||
this.SelectItemSet(id);
|
||||
var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
|
||||
if (searchValue!="" && this.searchActive) // something was found -> do a search
|
||||
{
|
||||
this.Search();
|
||||
}
|
||||
}
|
||||
|
||||
this.OnSearchSelectKey = function(evt)
|
||||
{
|
||||
var e = (evt) ? evt : window.event; // for IE
|
||||
if (e.keyCode==40 && this.searchIndex<this.SelectItemCount()) // Down
|
||||
{
|
||||
this.searchIndex++;
|
||||
this.OnSelectItem(this.searchIndex);
|
||||
}
|
||||
else if (e.keyCode==38 && this.searchIndex>0) // 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 <Search()>.
|
||||
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<searchData.length; e++)
|
||||
{
|
||||
var id = searchData[e][0];
|
||||
var srResult = document.createElement('div');
|
||||
srResult.setAttribute('id','SR_'+id);
|
||||
setClassAttr(srResult,'SRResult');
|
||||
var srEntry = document.createElement('div');
|
||||
setClassAttr(srEntry,'SREntry');
|
||||
var srLink = document.createElement('a');
|
||||
srLink.setAttribute('id','Item'+e);
|
||||
setKeyActions(srLink,'return searchResults.Nav(event,'+e+')');
|
||||
setClassAttr(srLink,'SRSymbol');
|
||||
srLink.innerHTML = searchData[e][1][0];
|
||||
srEntry.appendChild(srLink);
|
||||
if (searchData[e][1].length==2) // single result
|
||||
{
|
||||
srLink.setAttribute('href',searchData[e][1][1][0]);
|
||||
if (searchData[e][1][1][1])
|
||||
{
|
||||
srLink.setAttribute('target','_parent');
|
||||
}
|
||||
var srScope = document.createElement('span');
|
||||
setClassAttr(srScope,'SRScope');
|
||||
srScope.innerHTML = searchData[e][1][1][2];
|
||||
srEntry.appendChild(srScope);
|
||||
}
|
||||
else // multiple results
|
||||
{
|
||||
srLink.setAttribute('href','javascript:searchResults.Toggle("SR_'+id+'")');
|
||||
var srChildren = document.createElement('div');
|
||||
setClassAttr(srChildren,'SRChildren');
|
||||
for (var c=0; c<searchData[e][1].length-1; c++)
|
||||
{
|
||||
var srChild = document.createElement('a');
|
||||
srChild.setAttribute('id','Item'+e+'_c'+c);
|
||||
setKeyActions(srChild,'return searchResults.NavChild(event,'+e+','+c+')');
|
||||
setClassAttr(srChild,'SRScope');
|
||||
srChild.setAttribute('href',searchData[e][1][c+1][0]);
|
||||
if (searchData[e][1][c+1][1])
|
||||
{
|
||||
srChild.setAttribute('target','_parent');
|
||||
}
|
||||
srChild.innerHTML = searchData[e][1][c+1][2];
|
||||
srChildren.appendChild(srChild);
|
||||
}
|
||||
srEntry.appendChild(srChildren);
|
||||
}
|
||||
srResult.appendChild(srEntry);
|
||||
results.appendChild(srResult);
|
||||
}
|
||||
}
|
||||
|
||||
function init_search()
|
||||
{
|
||||
var results = document.getElementById("MSearchSelectWindow");
|
||||
for (var key in indexSectionLabels)
|
||||
{
|
||||
var link = document.createElement('a');
|
||||
link.setAttribute('class','SelectItem');
|
||||
link.setAttribute('onclick','searchBox.OnSelectItem('+key+')');
|
||||
link.href='javascript:void(0)';
|
||||
link.innerHTML='<span class="SelectionMark"> </span>'+indexSectionLabels[key];
|
||||
results.appendChild(link);
|
||||
}
|
||||
searchBox.OnSelectItem(0);
|
||||
}
|
||||
|
BIN
docs/latex/html/search/search_l.png
Normal file
After Width: | Height: | Size: 604 B |
BIN
docs/latex/html/search/search_m.png
Normal file
After Width: | Height: | Size: 158 B |
BIN
docs/latex/html/search/search_r.png
Normal file
After Width: | Height: | Size: 612 B |
12
docs/latex/html/search/searchdata.js
Normal file
@ -0,0 +1,12 @@
|
||||
var indexSectionsWithContent =
|
||||
{
|
||||
};
|
||||
|
||||
var indexSectionNames =
|
||||
{
|
||||
};
|
||||
|
||||
var indexSectionLabels =
|
||||
{
|
||||
};
|
||||
|
BIN
docs/latex/html/splitbar.png
Normal file
After Width: | Height: | Size: 314 B |
BIN
docs/latex/html/sync_off.png
Normal file
After Width: | Height: | Size: 853 B |
BIN
docs/latex/html/sync_on.png
Normal file
After Width: | Height: | Size: 845 B |
BIN
docs/latex/html/tab_a.png
Normal file
After Width: | Height: | Size: 142 B |
BIN
docs/latex/html/tab_b.png
Normal file
After Width: | Height: | Size: 169 B |
BIN
docs/latex/html/tab_h.png
Normal file
After Width: | Height: | Size: 177 B |
BIN
docs/latex/html/tab_s.png
Normal file
After Width: | Height: | Size: 184 B |
1
docs/latex/html/tabs.css
Normal file
21
docs/latex/latex/Makefile
Normal file
@ -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
|
503
docs/latex/latex/doxygen.sty
Normal file
@ -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 <pre> ... </pre>
|
||||
\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 <ol> ... </ol>)
|
||||
\newenvironment{DoxyEnumerate}{%
|
||||
\enumerate%
|
||||
}{%
|
||||
\endenumerate%
|
||||
}
|
||||
|
||||
% Used by bullet lists (using '-', @li, @arg, or <ul> ... </ul>)
|
||||
\newenvironment{DoxyItemize}{%
|
||||
\itemize%
|
||||
}{%
|
||||
\enditemize%
|
||||
}
|
||||
|
||||
% Used by description lists (using <dl> ... </dl>)
|
||||
\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
|
151
docs/latex/latex/refman.tex
Normal file
@ -0,0 +1,151 @@
|
||||
\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 My Project }\\
|
||||
\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 ---
|
||||
%--- End generated contents ---
|
||||
|
||||
% Index
|
||||
\backmatter
|
||||
\newpage
|
||||
\phantomsection
|
||||
\clearemptydoublepage
|
||||
\addcontentsline{toc}{chapter}{Index}
|
||||
\printindex
|
||||
|
||||
\end{document}
|
@ -14,293 +14,9 @@
|
||||
\fi}
|
||||
\global\let\hyper@last\relax
|
||||
\gdef\HyperFirstAtBeginDocument#1{#1}
|
||||
\providecommand\HyField@AuxAddToFields[1]{}
|
||||
\providecommand\HyField@AuxAddToCoFields[2]{}
|
||||
\providecommand*\HyPL@Entry[1]{}
|
||||
\HyPL@Entry{0<</S/a>>}
|
||||
\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}}
|
||||
\HyPL@Entry{2<</S/r>>}
|
||||
\HyPL@Entry{4<</S/D>>}
|
||||
\@writefile{toc}{\contentsline {chapter}{Index}{1}{section*.2}}
|
||||
|
BIN
docs/latex/refman.dvi
Normal file
@ -1,75 +0,0 @@
|
||||
\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}
|
@ -1,11 +1,11 @@
|
||||
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
|
||||
This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017/Debian) (preloaded format=latex 2019.5.23) 5 JAN 2020 18:40
|
||||
entering extended mode
|
||||
restricted \write18 enabled.
|
||||
%&-line parsing enabled.
|
||||
**refman
|
||||
**refman.tex
|
||||
(./refman.tex
|
||||
LaTeX2e <2017-04-15>
|
||||
Babel <3.18> and hyphenation patterns for 3 language(s) loaded.
|
||||
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
|
||||
@ -83,10 +83,10 @@ 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.
|
||||
Package xcolor Info: Driver file: dvips.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/graphics-def/dvips.def
|
||||
File: dvips.def 2017/06/20 v3.1d Graphics/color driver for dvips
|
||||
)
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/colortbl/colortbl.sty
|
||||
Package: colortbl 2012/02/13 v1.0a Color table columns (DPC)
|
||||
@ -95,7 +95,6 @@ Package: colortbl 2012/02/13 v1.0a Color table columns (DPC)
|
||||
)
|
||||
\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.
|
||||
@ -209,7 +208,7 @@ 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.
|
||||
Package graphics Info: Driver file: dvips.def on input line 99.
|
||||
)
|
||||
\Gin@req@height=\dimen125
|
||||
\Gin@req@width=\dimen126
|
||||
@ -222,10 +221,10 @@ Package: collectbox 2012/05/17 v0.4b Collect macro arguments as boxes
|
||||
\tc@lly=\dimen128
|
||||
\tc@urx=\dimen129
|
||||
\tc@ury=\dimen130
|
||||
Package trimclip Info: Using driver 'tc-pdftex.def'.
|
||||
Package trimclip Info: Using driver 'tc-dvips.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
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/adjustbox/tc-dvips.def
|
||||
File: tc-dvips.def 2012/05/13 v1.0 Clipping driver for dvips
|
||||
))
|
||||
\adjbox@Width=\dimen131
|
||||
\adjbox@Height=\dimen132
|
||||
@ -916,7 +915,7 @@ 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 pdftexcmds Info: \pdfdraftmode is ignored in DVI mode.
|
||||
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
|
||||
)
|
||||
@ -993,14 +992,22 @@ LaTeX Info: Redefining \pageref on input line 6443.
|
||||
\c@Item=\count130
|
||||
\c@Hfootnote=\count131
|
||||
)
|
||||
Package hyperref Info: Driver: hpdftex.
|
||||
Package hyperref Info: Driver: hdvips.
|
||||
|
||||
(/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
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/hyperref/hdvips.def
|
||||
File: hdvips.def 2018/02/06 v6.86b Hyperref driver for dvips
|
||||
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/hyperref/pdfmark.def
|
||||
File: pdfmark.def 2018/02/06 v6.86b Hyperref definitions for pdfmark specials
|
||||
\pdf@docset=\toks30
|
||||
\pdf@box=\box65
|
||||
\pdf@toks=\toks31
|
||||
\pdf@defaulttoks=\toks32
|
||||
\HyField@AnnotCount=\count132
|
||||
\Fld@listcount=\count133
|
||||
\c@bookmark@seq@number=\count134
|
||||
\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.
|
||||
|
||||
@ -1023,7 +1030,7 @@ Package caption3 Info: TeX engine: e-TeX on input line 67.
|
||||
\caption@parindent=\dimen161
|
||||
\caption@hangindent=\dimen162
|
||||
)
|
||||
\c@ContinuedFloat=\count134
|
||||
\c@ContinuedFloat=\count135
|
||||
Package caption Info: float package is loaded.
|
||||
Package caption Info: hyperref package is loaded.
|
||||
Package caption Info: longtable package is loaded.
|
||||
@ -1064,40 +1071,10 @@ 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* detected driver: dvips
|
||||
*geometry* verbose mode - [ preamble ] result:
|
||||
* driver: pdftex
|
||||
* driver: dvips
|
||||
* paper: a4paper
|
||||
* layout: <same size as paper>
|
||||
* layoutoffset:(h,v)=(0.0pt,0.0pt)
|
||||
@ -1137,7 +1114,7 @@ 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
|
||||
\c@section@level=\count136
|
||||
)
|
||||
LaTeX Info: Redefining \ref on input line 117.
|
||||
LaTeX Info: Redefining \pageref on input line 117.
|
||||
@ -1156,28 +1133,11 @@ 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
|
||||
] [2
|
||||
|
||||
]
|
||||
LaTeX Font Info: Font shape `T1/phv/m/n' will be
|
||||
@ -1193,692 +1153,55 @@ 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: Try loading font information for U+wasy on input line 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])
|
||||
(/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 1.
|
||||
|
||||
(/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 1.
|
||||
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd
|
||||
File: umsb.fd 2013/01/14 v3.01 AMS symbols B
|
||||
))
|
||||
\tf@toc=\write5
|
||||
\openout5 = `refman.toc'.
|
||||
|
||||
[3] [4
|
||||
[1
|
||||
|
||||
] [2
|
||||
|
||||
]
|
||||
Package hyperref Info: Option `pageanchor' set `true' on input line 138.
|
||||
|
||||
Chapter 1.
|
||||
(./refman.ind
|
||||
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.
|
||||
(Font) scaled to size 6.29996pt on input line 3.
|
||||
[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.
|
||||
<class_b_m_a_account__inherit__graph.pdf, id=604, 154.5775pt x 156.585pt>
|
||||
File: class_b_m_a_account__inherit__graph.pdf Graphic file (type pdf)
|
||||
<use class_b_m_a_account__inherit__graph.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.
|
||||
<class_b_m_a_account__coll__graph.pdf, id=605, 154.5775pt x 156.585pt>
|
||||
File: class_b_m_a_account__coll__graph.pdf Graphic file (type pdf)
|
||||
<use class_b_m_a_account__coll__graph.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
|
||||
<class_b_m_a_authenticate__inherit__graph.pdf, id=626, 173.64874pt x 156.585pt>
|
||||
|
||||
File: class_b_m_a_authenticate__inherit__graph.pdf Graphic file (type pdf)
|
||||
<use class_b_m_a_authenticate__inherit__graph.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.
|
||||
<class_b_m_a_authenticate__coll__graph.pdf, id=627, 173.64874pt x 156.585pt>
|
||||
File: class_b_m_a_authenticate__coll__graph.pdf Graphic file (type pdf)
|
||||
<use class_b_m_a_authenticate__coll__graph.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
|
||||
<class_b_m_a_command__inherit__graph.pdf, id=653, 513.92pt x 269.005pt>
|
||||
File: class_b_m_a_command__inherit__graph.pdf Graphic file (type pdf)
|
||||
<use class_b_m_a_command__inherit__graph.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.
|
||||
<class_b_m_a_command__coll__graph.pdf, id=654, 163.61125pt x 156.585pt>
|
||||
File: class_b_m_a_command__coll__graph.pdf Graphic file (type pdf)
|
||||
<use class_b_m_a_command__coll__graph.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
|
||||
<class_b_m_a_console_server__inherit__graph.pdf, id=680, 271.0125pt x 325.215pt
|
||||
>
|
||||
File: class_b_m_a_console_server__inherit__graph.pdf Graphic file (type pdf)
|
||||
<use class_b_m_a_console_server__inherit__graph.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.
|
||||
<class_b_m_a_console_server__coll__graph.pdf, id=681, 355.3275pt x 339.2675pt>
|
||||
File: class_b_m_a_console_server__coll__graph.pdf Graphic file (type pdf)
|
||||
<use class_b_m_a_console_server__coll__graph.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.
|
||||
)
|
||||
<class_b_m_a_console_session__inherit__graph.pdf, id=704, 246.9225pt x 325.215p
|
||||
t>
|
||||
File: class_b_m_a_console_session__inherit__graph.pdf Graphic file (type pdf)
|
||||
<use class_b_m_a_console_session__inherit__graph.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>]
|
||||
<class_b_m_a_console_session__coll__graph.pdf, id=725, 399.4925pt x 339.2675pt>
|
||||
|
||||
File: class_b_m_a_console_session__coll__graph.pdf Graphic file (type pdf)
|
||||
<use class_b_m_a_console_session__coll__graph.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
|
||||
<class_b_m_a_e_poll__inherit__graph.pdf, id=765, 163.61125pt x 212.795pt>
|
||||
File: class_b_m_a_e_poll__inherit__graph.pdf Graphic file (type pdf)
|
||||
<use class_b_m_a_e_poll__inherit__graph.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.
|
||||
<class_b_m_a_e_poll__coll__graph.pdf, id=766, 291.0875pt x 292.09125pt>
|
||||
File: class_b_m_a_e_poll__coll__graph.pdf Graphic file (type pdf)
|
||||
<use class_b_m_a_e_poll__coll__graph.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]
|
||||
<class_b_m_a_file__inherit__graph.pdf, id=847, 154.5775pt x 156.585pt>
|
||||
File: class_b_m_a_file__inherit__graph.pdf Graphic file (type pdf)
|
||||
<use class_b_m_a_file__inherit__graph.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
|
||||
<class_b_m_a_header__inherit__graph.pdf, id=849, 150.5625pt x 156.585pt>
|
||||
File: class_b_m_a_header__inherit__graph.pdf Graphic file (type pdf)
|
||||
<use class_b_m_a_header__inherit__graph.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>]
|
||||
<class_b_m_a_header__coll__graph.pdf, id=868, 150.5625pt x 156.585pt>
|
||||
File: class_b_m_a_header__coll__graph.pdf Graphic file (type pdf)
|
||||
<use class_b_m_a_header__coll__graph.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
|
||||
<class_b_m_a_h_t_t_p_request_handler__inherit__graph.pdf, id=869, 215.80624pt x
|
||||
156.585pt>
|
||||
File: class_b_m_a_h_t_t_p_request_handler__inherit__graph.pdf Graphic file (typ
|
||||
e pdf)
|
||||
<use class_b_m_a_h_t_t_p_request_handler__inherit__graph.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
|
||||
>]
|
||||
<class_b_m_a_h_t_t_p_request_handler__coll__graph.pdf, id=893, 215.80624pt x 15
|
||||
6.585pt>
|
||||
File: class_b_m_a_h_t_t_p_request_handler__coll__graph.pdf Graphic file (type p
|
||||
df)
|
||||
<use class_b_m_a_h_t_t_p_request_handler__coll__graph.pdf>
|
||||
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
|
||||
<class_b_m_a_h_t_t_p_server__inherit__graph.pdf, id=895, 271.0125pt x 325.215pt
|
||||
>
|
||||
File: class_b_m_a_h_t_t_p_server__inherit__graph.pdf Graphic file (type pdf)
|
||||
<use class_b_m_a_h_t_t_p_server__inherit__graph.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
|
||||
|
||||
>]
|
||||
<class_b_m_a_h_t_t_p_server__coll__graph.pdf, id=917, 355.3275pt x 339.2675pt>
|
||||
File: class_b_m_a_h_t_t_p_server__coll__graph.pdf Graphic file (type pdf)
|
||||
<use class_b_m_a_h_t_t_p_server__coll__graph.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
|
||||
<class_b_m_a_h_t_t_p_session__inherit__graph.pdf, id=935, 246.9225pt x 325.215p
|
||||
t>
|
||||
File: class_b_m_a_h_t_t_p_session__inherit__graph.pdf Graphic file (type pdf)
|
||||
<use class_b_m_a_h_t_t_p_session__inherit__graph.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>]
|
||||
<class_b_m_a_h_t_t_p_session__coll__graph.pdf, id=958, 394.47375pt x 339.2675pt
|
||||
>
|
||||
File: class_b_m_a_h_t_t_p_session__coll__graph.pdf Graphic file (type pdf)
|
||||
<use class_b_m_a_h_t_t_p_session__coll__graph.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
|
||||
<class_b_m_a_m_p3_file__inherit__graph.pdf, id=991, 293.095pt x 156.585pt>
|
||||
File: class_b_m_a_m_p3_file__inherit__graph.pdf Graphic file (type pdf)
|
||||
<use class_b_m_a_m_p3_file__inherit__graph.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.
|
||||
<class_b_m_a_m_p3_file__coll__graph.pdf, id=992, 293.095pt x 156.585pt>
|
||||
File: class_b_m_a_m_p3_file__coll__graph.pdf Graphic file (type pdf)
|
||||
<use class_b_m_a_m_p3_file__coll__graph.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
|
||||
<class_b_m_a_m_p3_stream_content_provider__inherit__graph.pdf, id=1011, 241.903
|
||||
75pt x 156.585pt>
|
||||
File: class_b_m_a_m_p3_stream_content_provider__inherit__graph.pdf Graphic file
|
||||
(type pdf)
|
||||
<use class_b_m_a_m_p3_stream_content_provider__inherit__graph.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.
|
||||
<class_b_m_a_m_p3_stream_content_provider__coll__graph.pdf, id=1012, 241.90375p
|
||||
t x 156.585pt>
|
||||
File: class_b_m_a_m_p3_stream_content_provider__coll__graph.pdf Graphic file (t
|
||||
ype pdf)
|
||||
<use class_b_m_a_m_p3_stream_content_provider__coll__graph.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
|
||||
<class_b_m_a_m_p3_stream_frame__inherit__graph.pdf, id=1035, 198.7425pt x 156.5
|
||||
85pt>
|
||||
File: class_b_m_a_m_p3_stream_frame__inherit__graph.pdf Graphic file (type pdf)
|
||||
|
||||
<use class_b_m_a_m_p3_stream_frame__inherit__graph.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.
|
||||
<class_b_m_a_m_p3_stream_frame__coll__graph.pdf, id=1036, 198.7425pt x 156.585p
|
||||
t>
|
||||
File: class_b_m_a_m_p3_stream_frame__coll__graph.pdf Graphic file (type pdf)
|
||||
<use class_b_m_a_m_p3_stream_frame__coll__graph.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
|
||||
<class_b_m_a_object__inherit__graph.pdf, id=1058, 764.8575pt x 415.5525pt>
|
||||
File: class_b_m_a_object__inherit__graph.pdf Graphic file (type pdf)
|
||||
<use class_b_m_a_object__inherit__graph.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
|
||||
<class_b_m_a_session__inherit__graph.pdf, id=1086, 542.025pt x 325.215pt>
|
||||
File: class_b_m_a_session__inherit__graph.pdf Graphic file (type pdf)
|
||||
<use class_b_m_a_session__inherit__graph.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>]
|
||||
<class_b_m_a_session__coll__graph.pdf, id=1105, 388.45125pt x 282.05376pt>
|
||||
File: class_b_m_a_session__coll__graph.pdf Graphic file (type pdf)
|
||||
<use class_b_m_a_session__coll__graph.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
|
||||
<class_b_m_a_s_i_p_i_n_v_i_t_e__inherit__graph.pdf, id=1156, 205.76875pt x 212.
|
||||
795pt>
|
||||
File: class_b_m_a_s_i_p_i_n_v_i_t_e__inherit__graph.pdf Graphic file (type pdf)
|
||||
|
||||
<use class_b_m_a_s_i_p_i_n_v_i_t_e__inherit__graph.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.
|
||||
<class_b_m_a_s_i_p_i_n_v_i_t_e__coll__graph.pdf, id=1157, 205.76875pt x 212.795
|
||||
pt>
|
||||
File: class_b_m_a_s_i_p_i_n_v_i_t_e__coll__graph.pdf Graphic file (type pdf)
|
||||
<use class_b_m_a_s_i_p_i_n_v_i_t_e__coll__graph.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
|
||||
<class_b_m_a_s_i_p_r_e_g_i_s_t_e_r__inherit__graph.pdf, id=1173, 205.76875pt x
|
||||
212.795pt>
|
||||
File: class_b_m_a_s_i_p_r_e_g_i_s_t_e_r__inherit__graph.pdf Graphic file (type
|
||||
pdf)
|
||||
<use class_b_m_a_s_i_p_r_e_g_i_s_t_e_r__inherit__graph.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.
|
||||
<class_b_m_a_s_i_p_r_e_g_i_s_t_e_r__coll__graph.pdf, id=1174, 205.76875pt x 212
|
||||
.795pt>
|
||||
File: class_b_m_a_s_i_p_r_e_g_i_s_t_e_r__coll__graph.pdf Graphic file (type pdf
|
||||
)
|
||||
<use class_b_m_a_s_i_p_r_e_g_i_s_t_e_r__coll__graph.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
|
||||
<class_b_m_a_s_i_p_request_handler__inherit__graph.pdf, id=1198, 294.09875pt x
|
||||
212.795pt>
|
||||
File: class_b_m_a_s_i_p_request_handler__inherit__graph.pdf Graphic file (type
|
||||
pdf)
|
||||
<use class_b_m_a_s_i_p_request_handler__inherit__graph.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.
|
||||
<class_b_m_a_s_i_p_request_handler__coll__graph.pdf, id=1199, 205.76875pt x 156
|
||||
.585pt>
|
||||
File: class_b_m_a_s_i_p_request_handler__coll__graph.pdf Graphic file (type pdf
|
||||
)
|
||||
<use class_b_m_a_s_i_p_request_handler__coll__graph.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
|
||||
<class_b_m_a_s_i_p_server__inherit__graph.pdf, id=1223, 271.0125pt x 325.215pt>
|
||||
|
||||
File: class_b_m_a_s_i_p_server__inherit__graph.pdf Graphic file (type pdf)
|
||||
<use class_b_m_a_s_i_p_server__inherit__graph.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>]
|
||||
<class_b_m_a_s_i_p_server__coll__graph.pdf, id=1239, 355.3275pt x 339.2675pt>
|
||||
File: class_b_m_a_s_i_p_server__coll__graph.pdf Graphic file (type pdf)
|
||||
<use class_b_m_a_s_i_p_server__coll__graph.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
|
||||
<class_b_m_a_s_i_p_session__inherit__graph.pdf, id=1256, 246.9225pt x 325.215pt
|
||||
>
|
||||
File: class_b_m_a_s_i_p_session__inherit__graph.pdf Graphic file (type pdf)
|
||||
<use class_b_m_a_s_i_p_session__inherit__graph.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>]
|
||||
<class_b_m_a_s_i_p_session__coll__graph.pdf, id=1276, 389.455pt x 339.2675pt>
|
||||
File: class_b_m_a_s_i_p_session__coll__graph.pdf Graphic file (type pdf)
|
||||
<use class_b_m_a_s_i_p_session__coll__graph.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
|
||||
<class_b_m_a_socket__inherit__graph.pdf, id=1308, 695.59875pt x 395.4775pt>
|
||||
File: class_b_m_a_socket__inherit__graph.pdf Graphic file (type pdf)
|
||||
<use class_b_m_a_socket__inherit__graph.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.
|
||||
<class_b_m_a_socket__coll__graph.pdf, id=1309, 324.21124pt x 224.84pt>
|
||||
File: class_b_m_a_socket__coll__graph.pdf Graphic file (type pdf)
|
||||
<use class_b_m_a_socket__coll__graph.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
|
||||
<class_b_m_a_stream_content_provider__inherit__graph.pdf, id=1373, 335.2525pt x
|
||||
156.585pt>
|
||||
File: class_b_m_a_stream_content_provider__inherit__graph.pdf Graphic file (typ
|
||||
e pdf)
|
||||
<use class_b_m_a_stream_content_provider__inherit__graph.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
|
||||
<class_b_m_a_stream_frame__inherit__graph.pdf, id=1396, 198.7425pt x 156.585pt>
|
||||
|
||||
File: class_b_m_a_stream_frame__inherit__graph.pdf Graphic file (type pdf)
|
||||
<use class_b_m_a_stream_frame__inherit__graph.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
|
||||
<class_b_m_a_stream_server__inherit__graph.pdf, id=1397, 331.2375pt x 325.215pt
|
||||
>
|
||||
File: class_b_m_a_stream_server__inherit__graph.pdf Graphic file (type pdf)
|
||||
<use class_b_m_a_stream_server__inherit__graph.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>]
|
||||
<class_b_m_a_stream_server__coll__graph.pdf, id=1420, 454.69875pt x 358.33875pt
|
||||
>
|
||||
File: class_b_m_a_stream_server__coll__graph.pdf Graphic file (type pdf)
|
||||
<use class_b_m_a_stream_server__coll__graph.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
|
||||
<class_b_m_a_stream_session__inherit__graph.pdf, id=1437, 246.9225pt x 325.215p
|
||||
t>
|
||||
File: class_b_m_a_stream_session__inherit__graph.pdf Graphic file (type pdf)
|
||||
<use class_b_m_a_stream_session__inherit__graph.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>]
|
||||
<class_b_m_a_stream_session__coll__graph.pdf, id=1458, 396.48125pt x 339.2675pt
|
||||
>
|
||||
File: class_b_m_a_stream_session__coll__graph.pdf Graphic file (type pdf)
|
||||
<use class_b_m_a_stream_session__coll__graph.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
|
||||
<class_b_m_a_t_c_p_server_socket__inherit__graph.pdf, id=1492, 513.92pt x 325.2
|
||||
15pt>
|
||||
File: class_b_m_a_t_c_p_server_socket__inherit__graph.pdf Graphic file (type pd
|
||||
f)
|
||||
<use class_b_m_a_t_c_p_server_socket__inherit__graph.pdf>
|
||||
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.
|
||||
<class_b_m_a_t_c_p_server_socket__coll__graph.pdf, id=1493, 355.3275pt x 282.05
|
||||
376pt>
|
||||
File: class_b_m_a_t_c_p_server_socket__coll__graph.pdf Graphic file (type pdf)
|
||||
<use class_b_m_a_t_c_p_server_socket__coll__graph.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
|
||||
<class_b_m_a_t_c_p_socket__inherit__graph.pdf, id=1536, 692.5875pt x 367.3725pt
|
||||
>
|
||||
File: class_b_m_a_t_c_p_socket__inherit__graph.pdf Graphic file (type pdf)
|
||||
<use class_b_m_a_t_c_p_socket__inherit__graph.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.
|
||||
<class_b_m_a_t_c_p_socket__coll__graph.pdf, id=1537, 388.45125pt x 224.84pt>
|
||||
File: class_b_m_a_t_c_p_socket__coll__graph.pdf Graphic file (type pdf)
|
||||
<use class_b_m_a_t_c_p_socket__coll__graph.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
|
||||
<class_b_m_a_timer__inherit__graph.pdf, id=1584, 246.9225pt x 269.005pt>
|
||||
File: class_b_m_a_timer__inherit__graph.pdf Graphic file (type pdf)
|
||||
<use class_b_m_a_timer__inherit__graph.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]
|
||||
<class_b_m_a_timer__coll__graph.pdf, id=1597, 375.4025pt x 224.84pt>
|
||||
File: class_b_m_a_timer__coll__graph.pdf Graphic file (type pdf)
|
||||
<use class_b_m_a_timer__coll__graph.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
|
||||
<class_b_m_a_u_d_p_server_socket__inherit__graph.pdf, id=1624, 273.02pt x 269.0
|
||||
05pt>
|
||||
File: class_b_m_a_u_d_p_server_socket__inherit__graph.pdf Graphic file (type pd
|
||||
f)
|
||||
<use class_b_m_a_u_d_p_server_socket__inherit__graph.pdf>
|
||||
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]
|
||||
<class_b_m_a_u_d_p_server_socket__coll__graph.pdf, id=1634, 356.33125pt x 282.0
|
||||
5376pt>
|
||||
File: class_b_m_a_u_d_p_server_socket__coll__graph.pdf Graphic file (type pdf)
|
||||
<use class_b_m_a_u_d_p_server_socket__coll__graph.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
|
||||
<class_b_m_a_u_d_p_socket__inherit__graph.pdf, id=1658, 246.9225pt x 269.005pt>
|
||||
|
||||
File: class_b_m_a_u_d_p_socket__inherit__graph.pdf Graphic file (type pdf)
|
||||
<use class_b_m_a_u_d_p_socket__inherit__graph.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]
|
||||
<class_b_m_a_u_d_p_socket__coll__graph.pdf, id=1670, 389.455pt x 224.84pt>
|
||||
File: class_b_m_a_u_d_p_socket__coll__graph.pdf Graphic file (type pdf)
|
||||
<use class_b_m_a_u_d_p_socket__coll__graph.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.
|
||||
Package atveryend Info: Empty hook `BeforeClearDocument' on input line 151.
|
||||
Package atveryend Info: Empty hook `AfterLastShipout' on input line 151.
|
||||
(./refman.aux)
|
||||
Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 191.
|
||||
Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 191.
|
||||
Package atveryend Info: Empty hook `AtVeryEndDocument' on input line 151.
|
||||
Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 151.
|
||||
Package rerunfilecheck Info: File `refman.out' has not changed.
|
||||
(rerunfilecheck) Checksum: 2C849180BC5920A18DC5FFB13575487F;17904.
|
||||
Package atveryend Info: Empty hook `AtVeryVeryEnd' on input line 191.
|
||||
(rerunfilecheck) Checksum: DA7143E9C4104565666D1CA756475EF9;69.
|
||||
Package atveryend Info: Empty hook `AtVeryVeryEnd' on input line 151.
|
||||
)
|
||||
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/texliv
|
||||
e/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi10.pfb></usr/share/texlive/texm
|
||||
f-dist/fonts/type1/public/amsfonts/cm/cmmi12.pfb></usr/share/texlive/texmf-dist
|
||||
/fonts/type1/public/amsfonts/cm/cmsy10.pfb></usr/share/texlive/texmf-dist/fonts
|
||||
/type1/public/amsfonts/cm/cmsy8.pfb></usr/share/texlive/texmf-dist/fonts/type1/
|
||||
urw/courier/ucrr8a.pfb></usr/share/texlive/texmf-dist/fonts/type1/urw/courier/u
|
||||
crro8a.pfb></usr/share/texlive/texmf-dist/fonts/type1/urw/helvetic/uhvb8a.pfb><
|
||||
/usr/share/texlive/texmf-dist/fonts/type1/urw/helvetic/uhvb8ac.pfb></usr/share/
|
||||
texlive/texmf-dist/fonts/type1/urw/helvetic/uhvr8a.pfb></usr/share/texlive/texm
|
||||
f-dist/fonts/type1/urw/helvetic/uhvro8a.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)
|
||||
14229 strings out of 494881
|
||||
200893 string characters out of 6179627
|
||||
312141 words of memory out of 5000000
|
||||
17357 multiletter control sequences out of 15000+600000
|
||||
20323 words of font info for 34 fonts, out of 8000000 for 9000
|
||||
36 hyphenation exceptions out of 8191
|
||||
53i,11n,92p,296b,371s stack positions out of 5000i,500n,10000p,200000b,80000s
|
||||
|
||||
Output written on refman.dvi (5 pages, 26720 bytes).
|
||||
|
@ -1,82 +1 @@
|
||||
\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
|
||||
\BOOKMARK [0][-]{section*.2}{\376\377\000I\000n\000d\000e\000x}{}% 1
|
||||
|
@ -1,82 +1 @@
|
||||
\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}
|
||||
\contentsline {chapter}{Index}{1}{section*.2}
|
||||
|
82
html/CommandList_8h_source.html
Normal file
81
html/Command_8h_source.html
Normal file
80
html/ConsoleServer_8h_source.html
Normal file
79
html/ConsoleSession_8h_source.html
Normal file
@ -0,0 +1,79 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.13"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>My Project: ConsoleSession.h Source File</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">My Project
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.13 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<script type="text/javascript" src="menudata.js"></script>
|
||||
<script type="text/javascript" src="menu.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(function() {
|
||||
initMenu('',true,false,'search.php','Search');
|
||||
$(document).ready(function() { init_search(); });
|
||||
});
|
||||
</script>
|
||||
<div id="main-nav"></div>
|
||||
</div><!-- top -->
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">ConsoleSession.h</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef __ConsoleSession_h__</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor">#define __ConsoleSession_h__</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> </div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="preprocessor">#include "TerminalSession.h"</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="preprocessor">#include "TCPSession.h"</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="preprocessor">#include "CommandList.h"</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> </div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="keyword">namespace </span><a class="code" href="namespacecore.html">core</a> {</div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> </div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div><div class="line"><a name="l00018"></a><span class="lineno"><a class="line" href="classcore_1_1ConsoleSession.html"> 18</a></span>  <span class="keyword">class </span><a class="code" href="classcore_1_1ConsoleSession.html">ConsoleSession</a> : <span class="keyword">public</span> <a class="code" href="classcore_1_1TerminalSession.html">TerminalSession</a> {</div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>  </div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>  <a class="code" href="classcore_1_1ConsoleSession.html">ConsoleSession</a>(<a class="code" href="classcore_1_1EPoll.html">EPoll</a> &ePoll, <a class="code" href="classcore_1_1TCPServer.html">TCPServer</a> &server);</div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>  ~<a class="code" href="classcore_1_1ConsoleSession.html">ConsoleSession</a>(); </div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>  </div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>  <span class="keywordtype">void</span> writeLog(std::string data);</div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> </div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>  <span class="keyword">protected</span>:</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>  <span class="keywordtype">void</span> <a class="code" href="classcore_1_1ConsoleSession.html#a9fc306ab91d0f2a6990984040ecb3e47">protocol</a>(std::stringstream &out, std::string data) <span class="keyword">override</span>; </div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>  </div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  <span class="keyword">private</span>:</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  <span class="keyword">enum</span> Status {WELCOME, LOGIN, WAIT_USER_PROFILE, PASSWORD, WAIT_PASSWORD, PROMPT, INPUT, PROCESS, DONE};</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>  Status status = WELCOME; </div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  <span class="keywordtype">void</span> doCommand(std::string request);</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  std::string command;</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  </div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  };</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> }</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#endif</span></div><div class="ttc" id="classcore_1_1ConsoleSession_html"><div class="ttname"><a href="classcore_1_1ConsoleSession.html">core::ConsoleSession</a></div><div class="ttdef"><b>Definition:</b> ConsoleSession.h:18</div></div>
|
||||
<div class="ttc" id="namespacecore_html"><div class="ttname"><a href="namespacecore.html">core</a></div><div class="ttdef"><b>Definition:</b> Command.cpp:4</div></div>
|
||||
<div class="ttc" id="classcore_1_1EPoll_html"><div class="ttname"><a href="classcore_1_1EPoll.html">core::EPoll</a></div><div class="ttdef"><b>Definition:</b> EPoll.h:31</div></div>
|
||||
<div class="ttc" id="classcore_1_1ConsoleSession_html_a9fc306ab91d0f2a6990984040ecb3e47"><div class="ttname"><a href="classcore_1_1ConsoleSession.html#a9fc306ab91d0f2a6990984040ecb3e47">core::ConsoleSession::protocol</a></div><div class="ttdeci">void protocol(std::stringstream &out, std::string data) override</div><div class="ttdef"><b>Definition:</b> ConsoleSession.cpp:12</div></div>
|
||||
<div class="ttc" id="classcore_1_1TCPServer_html"><div class="ttname"><a href="classcore_1_1TCPServer.html">core::TCPServer</a></div><div class="ttdef"><b>Definition:</b> TCPServer.h:24</div></div>
|
||||
<div class="ttc" id="classcore_1_1TerminalSession_html"><div class="ttname"><a href="classcore_1_1TerminalSession.html">core::TerminalSession</a></div><div class="ttdef"><b>Definition:</b> TerminalSession.h:30</div></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.13
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|