diff --git a/Packets/DefaultBundle/Doxyfile b/Packets/DefaultBundle/Doxyfile index 2e8aec2b41e2db2c426ae31aa104d8721f3440cb..c221a91ceb18e89c2543a3f0259dc2fd77f94441 100644 --- a/Packets/DefaultBundle/Doxyfile +++ b/Packets/DefaultBundle/Doxyfile @@ -1,6 +1,6 @@ @INCLUDE = "$(TOPDIR)/doclib/Doxyfile.global" -PROJECT_NAME = libPackets/DefaultBundle +PROJECT_NAME = DefaultBundle TAGFILES = "$(TOPDIR)/Utils/doc/Utils.tag" "$(TOPDIR)/Packets/doc/Packets.tag" GENERATE_TAGFILE = doc/DefaultBundle.tag INPUT = . diff --git a/Packets/Doxyfile b/Packets/Doxyfile index 931a153ab5ef0720ce98c33ee5296470ea4bbf53..b9e5c088ac0757ab63265284e7c543a72965cd97 100644 --- a/Packets/Doxyfile +++ b/Packets/Doxyfile @@ -3,7 +3,6 @@ PROJECT_NAME = libPackets TAGFILES = "$(TOPDIR)/Utils/doc/Utils.tag" GENERATE_TAGFILE = doc/Packets.tag -#INPUT = . DefaultBundle MPEG_DVBBundle INPUT = . -#EXAMPLE_PATH = . DefaultBundle +EXAMPLE_PATH = . DefaultBundle diff --git a/Packets/MPEGDVBBundle/Doxyfile b/Packets/MPEGDVBBundle/Doxyfile index 9e3a960338d0021659a300d5e57ec1b07057bffa..db2a4692c3307552fb31442b6094c60e5231cb97 100644 --- a/Packets/MPEGDVBBundle/Doxyfile +++ b/Packets/MPEGDVBBundle/Doxyfile @@ -1,6 +1,6 @@ @INCLUDE = "$(TOPDIR)/doclib/Doxyfile.global" -PROJECT_NAME = libPackets/MPEGDVBBundle +PROJECT_NAME = MPEGDVBBundle TAGFILES = "$(TOPDIR)/Utils/doc/Utils.tag" "$(TOPDIR)/Packets/doc/Packets.tag" GENERATE_TAGFILE = doc/MPEGDVBBundle.tag INPUT = . diff --git a/Socket/ClientSocketHandle.hh b/Socket/ClientSocketHandle.hh index 2b6f4250a92dda1f3c386e50b38ac3e9d34ca731..07f20693057c1a9f0e96dd5dfc86ab7b5c8bb22c 100644 --- a/Socket/ClientSocketHandle.hh +++ b/Socket/ClientSocketHandle.hh @@ -46,20 +46,23 @@ namespace senf { This class provides the client side policy interface of the socket abstraction. ClientSocketHandle defines the complete policy interface. It does not implement - any functionality itself however. All calls are forward to the following policy classes: + any functionality itself however. The following table shows, to which policy members each + group of ClientSocketHandle members is forwardd. The last collumn shows, on which other + policies this member-group depends <em>in the default policy classes</em>. If you define + your own policy classes, the dependencies are up to you. <table class="senf"> - <tr><th>ClientSocketHandle member</th> <th>Policy member</th></tr> - <tr><td>read()</td> <td>ReadPolicy::read (\ref senf::ReadPolicyBase)</td></tr> - <tr><td>readfrom()</td> <td>ReadPolicy::readfrom (\ref senf::ReadPolicyBase)</td></tr> - <tr><td>write()</td> <td>WritePolicy::write (\ref senf::WritePolicyBase)</td></tr> - <tr><td>writeto()</td> <td>WritePolicy::writeto (\ref senf::WritePolicyBase)</td></tr> - <tr><td>connect()</td> <td>AddressingPolicy::connect (\ref senf::AddressingPolicyBase)</td></tr> - <tr><td>bind()</td> <td>AddressingPolicy::bind (\ref senf::AddressingPolicyBase)</td></tr> - <tr><td>peer()</td> <td>AddressingPolicy::peer (\ref senf::AddressingPolicyBase)</td></tr> - <tr><td>local()</td> <td>AddressingPolicy::local (\ref senf::AddressingPolicyBase)</td></tr> - <tr><td>rcvbuf()</td> <td>BufferingPolicy::sndbuf (\ref senf::BufferingPolicyBase)</td></tr> - <tr><td>sndbuf()</td> <td>BufferingPolicy::rcvbuf (\ref senf::BufferingPolicyBase)</td></tr> + <tr><th>ClientSocketHandle member</th> <th>Policy member</th> <th>Other policies</th></tr> + <tr><td>read()</td> <td>ReadPolicy::read (\ref senf::ReadPolicyBase)</td> <td></td></tr> + <tr><td>readfrom()</td> <td>ReadPolicy::readfrom (\ref senf::ReadPolicyBase)</td> <td>UnconnectedCommunicationPolicy</td></tr> + <tr><td>write()</td> <td>WritePolicy::write (\ref senf::WritePolicyBase)</td> <td>ConnectedCommunicationPolicy</td></tr> + <tr><td>writeto()</td> <td>WritePolicy::writeto (\ref senf::WritePolicyBase)</td> <td>UnconnectedCommunicationPolicy</td></tr> + <tr><td>connect()</td> <td>AddressingPolicy::connect (\ref senf::AddressingPolicyBase)</td> <td></td></tr> + <tr><td>bind()</td> <td>AddressingPolicy::bind (\ref senf::AddressingPolicyBase)</td> <td></td></tr> + <tr><td>peer()</td> <td>AddressingPolicy::peer (\ref senf::AddressingPolicyBase)</td> <td></td></tr> + <tr><td>local()</td> <td>AddressingPolicy::local (\ref senf::AddressingPolicyBase)</td> <td></td></tr> + <tr><td>rcvbuf()</td> <td>BufferingPolicy::sndbuf (\ref senf::BufferingPolicyBase)</td> <td></td></tr> + <tr><td>sndbuf()</td> <td>BufferingPolicy::rcvbuf (\ref senf::BufferingPolicyBase)</td> <td></td></tr> </table> It is important to note, that not all members are always accessible. Which are depends on diff --git a/doclib/SConscript b/doclib/SConscript index 61b7eba64372d5701bfa4a9aa5c390a4e89ec59b..e72656b9faa09f2f2f0441efbea5969e5e8e9e6a 100644 --- a/doclib/SConscript +++ b/doclib/SConscript @@ -8,16 +8,37 @@ import SENFSCons import yaptu def modules(): + # Naja ... etwas rumgehackt aber was solls ... global EXTRA_MODULES - rv = [] + mods = {} ix = len(env.Dir('#').abspath)+1 ex = dict((env.Dir(p).abspath,True) for n,p in EXTRA_MODULES) for module in env.Alias('all_docs')[0].sources: if module.name != 'html.stamp' : continue if not ex.get(module.dir.abspath): - rv.append(('lib%s' % module.dir.dir.dir.name, module.dir.abspath[ix:])) - rv.sort() - return [ (name, env.Dir(path).abspath[ix:]) for name,path in EXTRA_MODULES ] + rv + mods[module.dir.dir.dir.abspath] = [ module.dir.dir.dir.name, module.dir.abspath[ix:], 0 ] + rv = [] + keys = mods.keys() + keys.sort() + for mod in keys: + i = 0 + while i < len(rv): + if mod.startswith(rv[i] + '/'): + level = mods[rv[i]][2] + 1 + i += 1 + while i < len(rv) and mods[rv[i]][2] >= level: + i += 1 + rv[i:i] = [ mod ] + mods[mod][2] = level + break + i += 1 + if i == len(rv): + rv.append(mod) + return [ (name, env.Dir(path).abspath[ix:], 0) for name,path in EXTRA_MODULES + ] + [ ( (((not mods[mod][2]) and 'lib') or '') + mods[mod][0], + mods[mod][1], + mods[mod][2]) + for mod in rv ] def indices(): ix = len(env.Dir('#').abspath)+1 @@ -79,8 +100,8 @@ div.tabs ul li.$projectname a { background-color: #EDE497; } <div id="content2"> <div class="tabs menu"> <ul> -{{ for name, path in modules(): - <li class="${name}"><a href="@TOPDIR@/${path}/index.html">${name}</a></li> +{{ for name, path, level in modules(): + <li class="${name} level${level}"><a href="@TOPDIR@/${path}/index.html">${name}</a></li> }} </ul> </div>""" diff --git a/doclib/senf.css b/doclib/senf.css index 4263f8f81769cf890d4c3c6a6431f52b94a07568..2df0ed65b569aee941df737b8a4a2b7bd9e5e8c6 100644 --- a/doclib/senf.css +++ b/doclib/senf.css @@ -190,6 +190,11 @@ div.tabs ul li a:hover, div.tabs ul li.current a { background-color: #EDE497; } +div.tabs ul li.level1 a { + padding-left: 2em; + font-size: 90%; +} + #footer { clear: both; padding: 4px 10px 4px 142px;