CPPPATH = [ '#' ],
LIBS = [ 'iberty' ],
DOXY_XREF_TYPES = [ 'bug', 'fixme', 'todo', 'idea' ],
+ DOXY_HTML_XSL = '#/doclib/html-munge.xsl',
)
import datetime
// Free Software Foundation, Inc.,
// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-// Definition of non-inline template functions
+/** \file
+ \brief senf::ClientSocketHandle non-inline template implementation
+ */
//#include "ClientSocketHandle.ih"
// Free Software Foundation, Inc.,
// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-// Definition of inline template functions
+/** \file
+ \brief senf::ClientSocketHandle inline template implementation
+ */
//#include "ClientSocketHandle.ih"
// Free Software Foundation, Inc.,
// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+/** \file
+ \brief senf::ClientSocketHandle public header
+ */
+
#ifndef HH_ClientSocketHandle_
#define HH_ClientSocketHandle_ 1
template <class Policy> class ServerSocketHandle;
- /** \brief
+ /** \brief Generic SocketHandle with client interface
\todo Move all not template-parameter dependent code into a
non-template base class
// Free Software Foundation, Inc.,
// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-// Definition of non-inline template functions
+/** \file
+ \brief Policy Framework non-inline template implemenation
+ */
#include "SocketPolicy.ih"
// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
/** \file
- \brief SocketPolicy public header
+ \brief Policy Framework public header
\todo We should probably remove BufferingPolicy from the
interface, it does not make much sense (how did I come to include
// Free Software Foundation, Inc.,
// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+/** \file
+ \brief Policy Framework internal header
+ */
+
#ifndef IH_SocketPolicy_
#define IH_SocketPolicy_ 1
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"\r
+ version="1.0">\r
+\r
+ <xsl:output method="html" encoding="html" />\r
+\r
+ <xsl:template match="/">\r
+ <html>\r
+ <body bgcolor="#FFFFFF">\r
+ <xsl:apply-templates/>\r
+ </body>\r
+ </html>\r
+ </xsl:template>\r
+\r
+ <xsl:template match="dl[dt/b/a/text()='Bug:']">\r
+ <xsl:copy>\r
+ <xsl:for-each select="@*"><xsl:copy/></xsl:for-each>\r
+ <xsl:attribute name="class">xref-bug</xsl:attribute>\r
+ <xsl:apply-templates/>\r
+ </xsl:copy>\r
+ </xsl:template>\r
+\r
+ <xsl:template match="dl[dt/b/a/text()='Fixme:']">\r
+ <xsl:copy>\r
+ <xsl:for-each select="@*"><xsl:copy/></xsl:for-each>\r
+ <xsl:attribute name="class">xref-fixme</xsl:attribute>\r
+ <xsl:apply-templates/>\r
+ </xsl:copy>\r
+ </xsl:template>\r
+\r
+ <xsl:template match="dl[dt/b/a/text()='Todo:']">\r
+ <xsl:copy>\r
+ <xsl:for-each select="@*"><xsl:copy/></xsl:for-each>\r
+ <xsl:attribute name="class">xref-todo</xsl:attribute>\r
+ <xsl:apply-templates/>\r
+ </xsl:copy>\r
+ </xsl:template>\r
+\r
+ <xsl:template match="dl[dt/b/a/text()='Idea:']">\r
+ <xsl:copy>\r
+ <xsl:for-each select="@*"><xsl:copy/></xsl:for-each>\r
+ <xsl:attribute name="class">xref-idea</xsl:attribute>\r
+ <xsl:apply-templates/>\r
+ </xsl:copy>\r
+ </xsl:template>\r
+\r
+ <xsl:template match="*">\r
+ <xsl:copy>\r
+ <xsl:for-each select="@*"><xsl:copy/></xsl:for-each>\r
+ <xsl:apply-templates/>\r
+ </xsl:copy>\r
+ </xsl:template>\r
+\r
+</xsl:stylesheet>\r
padding: 0 10px;
}
-dl:contains("Bug:"), dl:contains("Fix:"), dl:contains("Todo:"), dl:contains("Idea:") {
+dl.xref-bug, dl.xref-fix, dl.xref-todo, dl.xref-idea {
border: 1px solid #CC8888;
- padding: 4px;
+ padding: 2px 3px;
+ margin: 4px 0;
background-color: #FFEEEE;
color: #666666;
- font-size: 6px;
- line-height: 6px;
+ font-size: 9px;
overflow: hidden;
- height: 6px;
}
-dl:contains("Bug:"):hover, dl:contains("Fix:"):hover,
-dl:contains("Todo:"):hover, dl:contains("Idea:"):hover {
- line-height: inherit;
- font-size: inherit;
- height: auto;
+dl.xref-bug dt, dl.xref-fix dt, dl.xref-todo dt, dl.xref-idea dt,
+dl.xref-bug dd, dl.xref-fix dd, dl.xref-todo dd, dl.xref-idea dd {
+ display: inline;
+ margin: 0;
+ padding: 0;
}
-dl:contains("Bug:") a, dl:contains("Fix:") a, dl:contains("Todo:") a, dl:contains("Idea:") a {
+dl.xref-bug a, dl.xref-fix a, dl.xref-todo a, dl.xref-idea a {
color: #6666FF;
}
background-color: #FFFFDD;
}
-dl:contains("Fix:") {
+dl.xref-fix {
border-color: #CCCC88;
background-color: #FFFFEE;
}
background-color: #DDFFDD;
}
-dl:contains("Todo:") {
+dl.xref-todo {
border-color: #88CC88;
background-color: #EEFFEE;
}
background-color: #EEEEEE;
}
-dl:contains("Idea:") {
+dl.xref-idea {
border-color: #CCCCCC;
background-color: #F8F8F8;
}
# ||| WITHIN THE DOXYGEN BUILDER
docs = env.Doxygen(doxyfile)[:]
xmlnode = None
+ htmlnode = None
tagnode = None
for doc in docs:
if isinstance(doc,SCons.Node.FS.Dir): continue
if doc.name == 'xml.stamp' : xmlnode = doc
- if os.path.splitext(doc.name)[1] == '.stamp' : continue # file stamp
+ if doc.name == 'html.stamp' : htmlnode = doc
+ if os.path.splitext(doc.name)[1] == '.stamp' : continue # ignore other file stamps
# otherwise it must be the tag file
tagnode = doc
# references
env.AddPostAction(
docs,
- env.Action("xsltproc -o %(target)s.temp %(template)s %(target)s && mv %(target)s.temp %(target)s"
+ env.Action("xsltproc --nonet -o %(target)s.temp %(template)s %(target)s && mv %(target)s.temp %(target)s"
% { 'target': tagnode.abspath,
'template': os.path.join(basedir,"tagmunge.xsl") }))
+ if htmlnode and env.get('DOXY_HTML_XSL'):
+ xslfile = env.File(env['DOXY_HTML_XSL'])
+ env.AddPostAction(
+ docs,
+ env.Action(("for html in %s/*.html; do " +
+ "xsltproc --nonet --html -o $${html}.new %s $${html} && mv $${html}.new $${html}; " +
+ "done")
+ % (htmlnode.dir.abspath, xslfile.abspath)))
+ for doc in docs:
+ env.Depends(doc,xslfile)
+
if xmlnode:
xrefs = []
for type in env.get("DOXY_XREF_TYPES",[ "bug", "todo" ]):