var NAVTREE = [ [ "Server", "index.html", [ [ "Related Pages", "pages.html", [ [ "Todo List", "todo.html", null ] ] ], [ "Data Structures", "annotated.html", [ [ "Auth", "structAuth.html", null ], [ "AuthLdap", "structAuthLdap.html", null ], [ "Cbuf", "structCbuf.html", null ], [ "class", "structclass.html", null ], [ "conns", "structconns.html", null ], [ "Credential", "structCredential.html", null ], [ "Hash", "structHash.html", null ], [ "HashValue", "structHashValue.html", null ], [ "HttpCookie", "structHttpCookie.html", null ], [ "HttpHeader", "structHttpHeader.html", null ], [ "HttpMessage", "structHttpMessage.html", null ], [ "HttpMessageQueue", "structHttpMessageQueue.html", null ], [ "HttpParser", "structHttpParser.html", null ], [ "HttpRequest", "structHttpRequest.html", null ], [ "HttpResponse", "structHttpResponse.html", null ], [ "HttpWorker", "structHttpWorker.html", null ], [ "HttpWriter", "structHttpWriter.html", null ], [ "i_Auth", "structi__Auth.html", null ], [ "i_Class", "structi__Class.html", null ], [ "i_Hashable", "structi__Hashable.html", null ], [ "i_HttpIntro", "structi__HttpIntro.html", null ], [ "i_Logger", "structi__Logger.html", null ], [ "i_Observer", "structi__Observer.html", null ], [ "i_StreamReader", "structi__StreamReader.html", null ], [ "i_StreamWriter", "structi__StreamWriter.html", null ], [ "i_Subject", "structi__Subject.html", null ], [ "iface_impl", "structiface__impl.html", null ], [ "interface", "structinterface.html", null ], [ "Logger", "structLogger.html", null ], [ "LoggerStderr", "structLoggerStderr.html", null ], [ "LoggerSyslog", "structLoggerSyslog.html", null ], [ "randval", "structrandval.html", null ], [ "Server", "structServer.html", null ], [ "Session", "structSession.html", null ], [ "Sock", "structSock.html", null ], [ "Stream", "structStream.html", null ] ] ], [ "Data Structure Index", "classes.html", null ], [ "Data Fields", "functions.html", null ], [ "File List", "files.html", [ [ "config.h", "config_8h.html", null ], [ "include/auth.h", "auth_8h.html", null ], [ "include/cbuf.h", "cbuf_8h.html", null ], [ "include/class.h", "class_8h.html", null ], [ "include/commons.h", "commons_8h.html", null ], [ "include/hash.h", "hash_8h.html", null ], [ "include/http.h", "http_8h.html", null ], [ "include/logger.h", "logger_8h.html", null ], [ "include/server.h", "server_8h.html", null ], [ "include/session.h", "session_8h.html", null ], [ "include/socket.h", "socket_8h.html", null ], [ "include/stream.h", "stream_8h.html", null ], [ "include/auth/auth.h", "auth_2auth_8h.html", null ], [ "include/auth/credential.h", "credential_8h.html", null ], [ "include/auth/ldap.h", "ldap_8h.html", null ], [ "include/auth/interface/auth.h", "auth_2interface_2auth_8h.html", null ], [ "include/class/class.h", "class_2class_8h.html", null ], [ "include/class/interface.h", "interface_8h.html", null ], [ "include/class/interface/class.h", "class_2interface_2class_8h.html", null ], [ "include/hash/hash.h", "hash_2hash_8h.html", null ], [ "include/hash/value.h", "value_8h.html", null ], [ "include/hash/interface/hashable.h", "hashable_8h.html", null ], [ "include/http/cookie.h", "cookie_8h.html", null ], [ "include/http/header.h", "header_8h.html", null ], [ "include/http/message.h", "message_8h.html", null ], [ "include/http/parser.h", "parser_8h.html", null ], [ "include/http/request.h", "request_8h.html", null ], [ "include/http/response.h", "response_8h.html", null ], [ "include/http/worker.h", "worker_8h.html", null ], [ "include/http/writer.h", "http_2writer_8h.html", null ], [ "include/http/interface/http_intro.h", "http__intro_8h.html", null ], [ "include/http/message/queue.h", "queue_8h.html", null ], [ "include/interface/observer.h", "observer_8h.html", null ], [ "include/interface/subject.h", "subject_8h.html", null ], [ "include/logger/logger.h", "logger_2logger_8h.html", null ], [ "include/logger/interface/logger.h", "logger_2interface_2logger_8h.html", null ], [ "include/stream/stream.h", "stream_2stream_8h.html", null ], [ "include/stream/interface/reader.h", "reader_8h.html", null ], [ "include/stream/interface/writer.h", "stream_2interface_2writer_8h.html", null ], [ "include/utils/hash.h", "utils_2hash_8h.html", null ], [ "include/utils/http.h", "utils_2http_8h.html", null ], [ "include/utils/memory.h", "memory_8h.html", null ], [ "include/utils/signalHandling.h", "signalHandling_8h.html", null ], [ "src/webgameserver.c", "webgameserver_8c.html", null ], [ "src/auth/credential.c", "credential_8c.html", null ], [ "src/auth/ldap.c", "ldap_8c.html", null ], [ "src/auth/interface/auth.c", "auth_8c.html", null ], [ "src/cbuf/addr_index.c", "addr__index_8c.html", null ], [ "src/cbuf/cbuf.c", "cbuf_8c.html", null ], [ "src/cbuf/empty.c", "empty_8c.html", null ], [ "src/cbuf/get_data.c", "get__data_8c.html", null ], [ "src/cbuf/get_free.c", "get__free_8c.html", null ], [ "src/cbuf/get_line.c", "get__line_8c.html", null ], [ "src/cbuf/get_read.c", "get__read_8c.html", null ], [ "src/cbuf/get_write.c", "get__write_8c.html", null ], [ "src/cbuf/inc_read.c", "inc__read_8c.html", null ], [ "src/cbuf/inc_write.c", "inc__write_8c.html", null ], [ "src/cbuf/is_empty.c", "is__empty_8c.html", null ], [ "src/cbuf/is_locked.c", "is__locked_8c.html", null ], [ "src/cbuf/lock.c", "lock_8c.html", null ], [ "src/cbuf/memchr.c", "memchr_8c.html", null ], [ "src/cbuf/read.c", "cbuf_2read_8c.html", null ], [ "src/cbuf/release.c", "release_8c.html", null ], [ "src/cbuf/set_data.c", "set__data_8c.html", null ], [ "src/cbuf/skip_non_alpha.c", "skip__non__alpha_8c.html", null ], [ "src/cbuf/write.c", "cbuf_2write_8c.html", null ], [ "src/class/interface.c", "interface_8c.html", null ], [ "src/class/interface/i_class.c", "i__class_8c.html", null ], [ "src/hash/add.c", "hash_2add_8c.html", null ], [ "src/hash/delete.c", "hash_2delete_8c.html", null ], [ "src/hash/each.c", "each_8c.html", null ], [ "src/hash/get.c", "hash_2get_8c.html", null ], [ "src/hash/hash.c", "hash_2hash_8c.html", null ], [ "src/hash/value.c", "value_8c.html", null ], [ "src/hash/interface/hashable.c", "hashable_8c.html", null ], [ "src/http/cookie.c", "cookie_8c.html", null ], [ "src/http/header.c", "header_8c.html", null ], [ "src/http/message.c", "message_8c.html", null ], [ "src/http/parser.c", "parser_8c.html", null ], [ "src/http/request.c", "request_8c.html", null ], [ "src/http/response.c", "response_8c.html", null ], [ "src/http/worker.c", "worker_8c.html", null ], [ "src/http/writer.c", "http_2writer_8c.html", null ], [ "src/http/header/to_string.c", "to__string_8c.html", null ], [ "src/http/interface/i_http_intro.c", "i__http__intro_8c.html", null ], [ "src/http/message/get_version.c", "get__version_8c.html", null ], [ "src/http/message/has_keep_alive.c", "has__keep__alive_8c.html", null ], [ "src/http/message/has_valid_version.c", "has__valid__version_8c.html", null ], [ "src/http/message/header_size_get.c", "header__size__get_8c.html", null ], [ "src/http/message/header_to_string.c", "header__to__string_8c.html", null ], [ "src/http/message/queue.c", "queue_8c.html", null ], [ "src/http/parser/new_message.c", "new__message_8c.html", null ], [ "src/http/parser/p_body.c", "p__body_8c.html", null ], [ "src/http/parser/p_header.c", "p__header_8c.html", null ], [ "src/http/parser/p_post_vars.c", "p__post__vars_8c.html", null ], [ "src/http/parser/p_request_vars.c", "p__request__vars_8c.html", null ], [ "src/http/parser/parse.c", "parse_8c.html", null ], [ "src/http/request/has_valid_method.c", "has__valid__method_8c.html", null ], [ "src/http/response/304.c", "304_8c.html", null ], [ "src/http/response/403.c", "403_8c.html", null ], [ "src/http/response/404.c", "404_8c.html", null ], [ "src/http/response/asset.c", "asset_8c.html", null ], [ "src/http/response/login_form.c", "login__form_8c.html", null ], [ "src/http/response/randval.c", "randval_8c.html", null ], [ "src/http/response/session.c", "http_2response_2session_8c.html", null ], [ "src/http/worker/add_common_header.c", "add__common__header_8c.html", null ], [ "src/http/worker/answer.c", "answer_8c.html", null ], [ "src/http/worker/get_asset.c", "get__asset_8c.html", null ], [ "src/http/worker/process.c", "process_8c.html", null ], [ "src/http/writer/write.c", "http_2writer_2write_8c.html", null ], [ "src/interface/observer.c", "observer_8c.html", null ], [ "src/interface/subject.c", "subject_8c.html", null ], [ "src/logger/logger.c", "logger_8c.html", null ], [ "src/logger/stderr.c", "stderr_8c.html", null ], [ "src/logger/syslog.c", "syslog_8c.html", null ], [ "src/logger/interface/i_logger.c", "i__logger_8c.html", null ], [ "src/server/close_conn.c", "close__conn_8c.html", null ], [ "src/server/handle_accept.c", "handle__accept_8c.html", null ], [ "src/server/poll.c", "poll_8c.html", null ], [ "src/server/read.c", "server_2read_8c.html", null ], [ "src/server/run.c", "run_8c.html", null ], [ "src/server/server.c", "server_8c.html", null ], [ "src/server/write.c", "server_2write_8c.html", null ], [ "src/session/add.c", "session_2add_8c.html", null ], [ "src/session/delete.c", "session_2delete_8c.html", null ], [ "src/session/get.c", "session_2get_8c.html", null ], [ "src/session/session.c", "session_2session_8c.html", null ], [ "src/socket/accept.c", "accept_8c.html", null ], [ "src/socket/connect.c", "connect_8c.html", null ], [ "src/socket/listen.c", "listen_8c.html", null ], [ "src/socket/socket.c", "socket_8c.html", null ], [ "src/stream/read.c", "stream_2read_8c.html", null ], [ "src/stream/stream.c", "stream_8c.html", null ], [ "src/stream/write.c", "stream_2write_8c.html", null ], [ "src/stream/interface/reader.c", "reader_8c.html", null ], [ "src/stream/interface/writer.c", "stream_2interface_2writer_8c.html", null ], [ "src/utils/daemonize.c", "daemonize_8c.html", null ], [ "src/utils/hash.c", "utils_2hash_8c.html", null ], [ "src/utils/http.c", "http_8c.html", null ], [ "src/utils/memory.c", "memory_8c.html", null ], [ "src/utils/signalHandling.c", "signalHandling_8c.html", null ] ] ], [ "Globals", "globals.html", null ] ] ] ]; function createIndent(o,domNode,node,level) { if (node.parentNode && node.parentNode.parentNode) { createIndent(o,domNode,node.parentNode,level+1); } var imgNode = document.createElement("img"); if (level==0 && node.childrenData) { node.plus_img = imgNode; node.expandToggle = document.createElement("a"); node.expandToggle.href = "javascript:void(0)"; node.expandToggle.onclick = function() { if (node.expanded) { $(node.getChildrenUL()).slideUp("fast"); if (node.isLast) { node.plus_img.src = node.relpath+"ftv2plastnode.png"; } else { node.plus_img.src = node.relpath+"ftv2pnode.png"; } node.expanded = false; } else { expandNode(o, node, false); } } node.expandToggle.appendChild(imgNode); domNode.appendChild(node.expandToggle); } else { domNode.appendChild(imgNode); } if (level==0) { if (node.isLast) { if (node.childrenData) { imgNode.src = node.relpath+"ftv2plastnode.png"; } else { imgNode.src = node.relpath+"ftv2lastnode.png"; domNode.appendChild(imgNode); } } else { if (node.childrenData) { imgNode.src = node.relpath+"ftv2pnode.png"; } else { imgNode.src = node.relpath+"ftv2node.png"; domNode.appendChild(imgNode); } } } else { if (node.isLast) { imgNode.src = node.relpath+"ftv2blank.png"; } else { imgNode.src = node.relpath+"ftv2vertline.png"; } } imgNode.border = "0"; } function newNode(o, po, text, link, childrenData, lastNode) { var node = new Object(); node.children = Array(); node.childrenData = childrenData; node.depth = po.depth + 1; node.relpath = po.relpath; node.isLast = lastNode; node.li = document.createElement("li"); po.getChildrenUL().appendChild(node.li); node.parentNode = po; node.itemDiv = document.createElement("div"); node.itemDiv.className = "item"; node.labelSpan = document.createElement("span"); node.labelSpan.className = "label"; createIndent(o,node.itemDiv,node,0); node.itemDiv.appendChild(node.labelSpan); node.li.appendChild(node.itemDiv); var a = document.createElement("a"); node.labelSpan.appendChild(a); node.label = document.createTextNode(text); a.appendChild(node.label); if (link) { a.href = node.relpath+link; } else { if (childrenData != null) { a.className = "nolink"; a.href = "javascript:void(0)"; a.onclick = node.expandToggle.onclick; node.expanded = false; } } node.childrenUL = null; node.getChildrenUL = function() { if (!node.childrenUL) { node.childrenUL = document.createElement("ul"); node.childrenUL.className = "children_ul"; node.childrenUL.style.display = "none"; node.li.appendChild(node.childrenUL); } return node.childrenUL; }; return node; } function showRoot() { var headerHeight = $("#top").height(); var footerHeight = $("#nav-path").height(); var windowHeight = $(window).height() - headerHeight - footerHeight; navtree.scrollTo('#selected',0,{offset:-windowHeight/2}); } function expandNode(o, node, imm) { if (node.childrenData && !node.expanded) { if (!node.childrenVisited) { getNode(o, node); } if (imm) { $(node.getChildrenUL()).show(); } else { $(node.getChildrenUL()).slideDown("fast",showRoot); } if (node.isLast) { node.plus_img.src = node.relpath+"ftv2mlastnode.png"; } else { node.plus_img.src = node.relpath+"ftv2mnode.png"; } node.expanded = true; } } function getNode(o, po) { po.childrenVisited = true; var l = po.childrenData.length-1; for (var i in po.childrenData) { var nodeData = po.childrenData[i]; po.children[i] = newNode(o, po, nodeData[0], nodeData[1], nodeData[2], i==l); } } function findNavTreePage(url, data) { var nodes = data; var result = null; for (var i in nodes) { var d = nodes[i]; if (d[1] == url) { return new Array(i); } else if (d[2] != null) // array of children { result = findNavTreePage(url, d[2]); if (result != null) { return (new Array(i).concat(result)); } } } return null; } function initNavTree(toroot,relpath) { var o = new Object(); o.toroot = toroot; o.node = new Object(); o.node.li = document.getElementById("nav-tree-contents"); o.node.childrenData = NAVTREE; o.node.children = new Array(); o.node.childrenUL = document.createElement("ul"); o.node.getChildrenUL = function() { return o.node.childrenUL; }; o.node.li.appendChild(o.node.childrenUL); o.node.depth = 0; o.node.relpath = relpath; getNode(o, o.node); o.breadcrumbs = findNavTreePage(toroot, NAVTREE); if (o.breadcrumbs == null) { o.breadcrumbs = findNavTreePage("index.html",NAVTREE); } if (o.breadcrumbs != null && o.breadcrumbs.length>0) { var p = o.node; for (var i in o.breadcrumbs) { var j = o.breadcrumbs[i]; p = p.children[j]; expandNode(o,p,true); } p.itemDiv.className = p.itemDiv.className + " selected"; p.itemDiv.id = "selected"; $(window).load(showRoot); } }