From: g0dil Date: Mon, 3 Nov 2008 14:17:08 +0000 (+0000) Subject: More documentation X-Git-Url: http://g0dil.de/git?a=commitdiff_plain;h=e4526bf485cbf7f35d26264cb2ede91efdd5c54f;p=senf.git More documentation git-svn-id: https://svn.berlios.de/svnroot/repos/senf/trunk@943 270642c3-0616-0410-b53a-bc976706d245 --- diff --git a/Packets/Packet.hh b/Packets/Packet.hh index 124e8bd..bb2ac90 100644 --- a/Packets/Packet.hh +++ b/Packets/Packet.hh @@ -339,7 +339,8 @@ namespace senf { If an annotation is \e not a POD type (more specifically, if it's constructor or destructor is not - trivial), the \a Annotation type \e must inherit from + trivial including base classes and members), the \a + Annotation type \e must inherit from senf::ComplexAnnotation. Failing to follow this rule will result in undefined behavior and will probably lead to a program crash. @@ -349,6 +350,7 @@ namespace senf { std::string value; }; \endcode + (This type is not POD since \c std::string is not POD) \implementation The annotation system is implemented quite efficiently since annotations are stored diff --git a/Packets/PacketImpl.hh b/Packets/PacketImpl.hh index 92738a4..4aa2d8c 100644 --- a/Packets/PacketImpl.hh +++ b/Packets/PacketImpl.hh @@ -40,6 +40,22 @@ namespace senf { + /** \brief Marker base-class for complex annotations + + This class is used as a base class to mark an annotation type as complex. A complex + annotation will have it's constructor/destructor called. Non-complex annotations will not + have their constructor called, they will be zero initialized. The destructor of non-complex + annotations is never called. + + An annotation must be marked as complex if it is not POD. Simplified, an + annotation must be marked as ComplexAnnotation, if + + \li it has a (user defined) constructor or destructor + \li it has any data members which have (user defined) constructors or destructors + + \see \ref packet_usage_annotation + */ struct ComplexAnnotation {}; namespace detail { diff --git a/Utils/Logger/SyslogTarget.hh b/Utils/Logger/SyslogTarget.hh index 70cf4e3..3de11ec 100644 --- a/Utils/Logger/SyslogTarget.hh +++ b/Utils/Logger/SyslogTarget.hh @@ -50,6 +50,17 @@ namespace log { The default facility is LOG_USER. + The SENF log levels are mapped to syslog levels in the following way: + + + + + + + + +
senf::log::VERBOSE \c LOG_DEBUG
senf::log::NOTICE \c LOG_INFO
senf::log::MESSAGE \c LOG_NOTICE
senf::log::IMPORTANT \c LOG_WARNING
senf::log::CRITICAL \c LOG_CRIT
senf::log::FATAL \c LOG_EMERG
+ \ingroup targets */ class SyslogTarget diff --git a/senf.dict b/senf.dict index b34ca69..807bc7f 100644 --- a/senf.dict +++ b/senf.dict @@ -30,6 +30,7 @@ ArrayParser async attr Augustin +AUTHPRIV autoadd autoparse autoThrottling @@ -88,6 +89,7 @@ CPPPATH createAfter createBefore cref +CRON ct cti CXXFLAGS @@ -289,6 +291,7 @@ ListPolicy localAddr localhost loopback +LPR mac MACAddress MACAddressParser @@ -551,6 +554,8 @@ svnbook svnroot SyntaxErrorException SyntaxException +syslog +SyslogTarget SystemException TapSocketHandle td