From d52dae4cf529014045fb99ed4adf6854c7721bde Mon Sep 17 00:00:00 2001 From: g0dil <g0dil@wiback.org> Date: Fri, 22 Dec 2006 08:59:56 +0000 Subject: [PATCH] Fix Doxygen builder file globbing Add MAXWIDTH support to Dia2Png builder Start Socket library documentation --- Packets/structure.dia | Bin 3583 -> 3580 bytes Socket/FileHandle.hh | 9 ---- Socket/Mainpage.dox | 90 +++++++++++++++++++++++++++++++ Socket/SConscript | 4 +- Socket/SocketLibrary-classes.dia | Bin 6244 -> 4339 bytes doclib/senf.css | 21 +++++++- senfscons/Dia2Png.py | 6 ++- senfscons/Doxygen.py | 6 +-- 8 files changed, 119 insertions(+), 17 deletions(-) create mode 100644 Socket/Mainpage.dox diff --git a/Packets/structure.dia b/Packets/structure.dia index d8685bf14473670647f7756005e68aeae59bea3a..f6ea11fe5968bc8b1d87ba7965db9210d7149a2f 100644 GIT binary patch literal 3580 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 literal 3583 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 diff --git a/Socket/FileHandle.hh b/Socket/FileHandle.hh index 963689d9b..d11f2eea4 100644 --- a/Socket/FileHandle.hh +++ b/Socket/FileHandle.hh @@ -20,15 +20,6 @@ // Free Software Foundation, Inc., // 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -/** \mainpage The SENF Socket Library - -\section arch Overall Architecture - -\image html "../../SocketLibrary-classes.png" Class Diagram - - */ - #ifndef HH_FileHandle_ #define HH_FileHandle_ 1 diff --git a/Socket/Mainpage.dox b/Socket/Mainpage.dox new file mode 100644 index 000000000..09e881bbe --- /dev/null +++ b/Socket/Mainpage.dox @@ -0,0 +1,90 @@ +/** \mainpage The SENF Socket Library + + The Socket library provides a high level and object oriented + abstraction of the BSD socket API. The abstraction is based on + several concepts: + + \li The basic visible interface is a handle object + (senf::FileHandle and it's derived classes) + \li The socket interface relies on a policy framework to configure + it's functionality + \li The rest of the socket API is accessible using a classic + inheritance hierarchy of protocol classes + + The handle/body architecture provides automatic reference counted + management of socket instances, the policy framework provides + highly efficient access to the most important socket functions + (like reading and writing) and the inheritance hierarchy provides + convenient access to the multitude of special and protocol + dependent options. + + \see \ref usage \n + \ref extend \n + \ref implementation + */ + +/** \page usage Using the Socket Library + + \section socket_handle The socket handle + + Whenever you use the socket library, what you will be dealing with + are senf::FileHandle derived instances. The socket library relies + on reference counting to automatically manage the underlying + socket representation. This frees you of having to manage the + socket lifetime explicitly. + + \attention It is very important, to (almost) always pass the socket + handle <em>by value</em>. The socket handle is a very lightweight + class and designed to be used like an ordinary built-in type. This + is very important in combination with the policy interface. + + \section policy_framework The policy framework + + The policy framework conceptually implements a list of parallel + inheritance hierarchies each covering a specific interface aspect + of the socket handle. The socket handle itself only provides + minimal functionality. All further functionality is relayed to a + policy class, or more precisely, to a group of policy classes, one + for each policy axis. The policy axis are + + <dl> + <dt><em>addressingPolicy</em></dt> + <dd>configures, whether a socket is + addressable and if so, configures the address type</dd> + + <dt><em>framingPolicy</em></dt> + <dd>configures the type of framing the socket provides: either no + framing providing a simple i/o stream or packet framing</dd> + + <dt><em>communicationPolicy</em></dt> + <dd>configures,if and how the communication partner is + selected</dd> + + <dt><em>readPolicy</em></dt> + <dd>configures the readability of the socket</dd> + + <dt><em>writePolicy</em></dt> + <dd>configures the writability of the socket</dd> + + <dt><em>bufferingPolicy</em></dt> + <dd>configures, if and how buffering is configured for a socket</dd> + </dl> + + */ + +/** \page extend Extending the Library + */ + +/** \page implementation Implementation notes + + \image html "../../SocketLibrary-classes.png" Class hierarchy + */ + + + +// Local Variables: +// mode: c++ +// mode: flyspell +// mode: auto-fill +// ispell-local-dictionary: "american" +// End: diff --git a/Socket/SConscript b/Socket/SConscript index 8925f1fa5..ffd61cda4 100644 --- a/Socket/SConscript +++ b/Socket/SConscript @@ -15,5 +15,5 @@ SENFSCons.Lib(env, LIBS = [ 'Utils' ]) SENFSCons.Doxygen(env, extra_sources = [ - env.Dia2Png('SocketLibrary-classes.dia') - ]) + env.Dia2Png('SocketLibrary-classes.dia'), +]) diff --git a/Socket/SocketLibrary-classes.dia b/Socket/SocketLibrary-classes.dia index 679f3d18e56b156f305ed731bca40678c83738f2..c0e9d1f5149240f8a28d73ba7b9c74a68fceb8cb 100644 GIT binary patch literal 4339 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 WtqikZG8tuV7zbi49-{glVEq>hTUfXN literal 6244 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 SzdyWx&??VPO4I%j<9`6T)C-sZ diff --git a/doclib/senf.css b/doclib/senf.css index 86b4cd270..51702a970 100644 --- a/doclib/senf.css +++ b/doclib/senf.css @@ -44,7 +44,7 @@ body { #content2 { /* need non-zero top padding here to prevent margin propagation */ padding: 10px 0 0 142px; - max-width: 60em; + max-width: 62em; } a { @@ -131,7 +131,7 @@ div.qindex { color: #726921; white-space: nowrap; text-align: right; - max-width: 60em; + max-width: 62em; } #footer span { @@ -148,3 +148,20 @@ div.qindex { text-decoration: underline; } +dl.attention { + border: 1px solid #AADD88; + background-color: #EEFFDD; + padding: 4px; +} + +dl.warning { + border: 1px solid #DDAA88; + background-color: #FFEEDD; + padding: 4px; +} + +dl.note { + border: 1px solid A0C2C2; + background-color: #F0F8F8; + padding: 4px; +} \ No newline at end of file diff --git a/senfscons/Dia2Png.py b/senfscons/Dia2Png.py index d536ebfdd..a51846426 100644 --- a/senfscons/Dia2Png.py +++ b/senfscons/Dia2Png.py @@ -17,11 +17,14 @@ def dia_getSize(env,source): def dia2png_generator(source, target, env, for_signature): if for_signature: - return "$DIACOM -t png -s $DIA2PNGDPI $TARGET $SOURCE" + return "$DIACOM -t png -s $DIA2PNGDPI,$DIA2PNGMAXWIDTH $TARGET $SOURCE" size = dia_getSize(env,source) if not size: return None; size[0] = size[0]*int(env['DIA2PNGDPI'])/72 size[1] = size[1]*int(env['DIA2PNGDPI'])/72 + if size[0] > env['DIA2PNGMAXWIDTH']: + size[1] = size[1]*env['DIA2PNGMAXWIDTH']/size[0] + size[0] = env['DIA2PNGMAXWIDTH'] return env.Action("$DIACOM -t png -s %dx%d -e $TARGET $SOURCE" % tuple(size)) Dia2Png = SCons.Builder.Builder(suffix = ".png", @@ -33,6 +36,7 @@ def generate(env): env['BUILDERS']['Dia2Png'] = Dia2Png env['DIACOM'] = "dia" env['DIA2PNGDPI'] = 115 + env['DIA2PNGMAXWIDTH'] = 800 def exists(env): return env.Detect("dia") diff --git a/senfscons/Doxygen.py b/senfscons/Doxygen.py index db9fc5cad..f379f91ef 100644 --- a/senfscons/Doxygen.py +++ b/senfscons/Doxygen.py @@ -127,9 +127,9 @@ def DoxySourceScan(node, env, path): for root, dirs, files in entries: for f in files: filename = os.path.normpath(os.path.join(root, f)) - if ( reduce(lambda x, y: x or fnmatch(filename, y), + if ( reduce(lambda x, y: x or fnmatch(f, y), file_patterns, False) - and not reduce(lambda x, y: x or fnmatch(filename, y), + and not reduce(lambda x, y: x or fnmatch(f, y), exclude_patterns, False) ): sources.append(filename) @@ -187,7 +187,7 @@ def doxyNodeHtmlDir(node): if not node.sources : return None data = DoxyfileParse(node.sources[0].abspath) if data.get("GENERATE_HTML",'YES').upper() != 'YES' : return None - return os.path.normpath(os.path.join( node.sources[0].abspath, + return os.path.normpath(os.path.join( node.sources[0].dir.abspath, data.get("OUTPUT_DIRECTORY","."), data.get("HTML_OUTPUT","html") )) -- GitLab