use new doxygen command \tparam
[senf.git] / Utils / Logger / Target.hh
index c5ac368..0fec6a5 100644 (file)
@@ -1,8 +1,8 @@
 // $Id$
 //
-// Copyright (C) 2007 
-// Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS)
-// Kompetenzzentrum fuer Satelitenkommunikation (SatCom)
+// Copyright (C) 2007
+// Fraunhofer Institute for Open Communication Systems (FOKUS)
+// Competence Center NETwork research (NET), St. Augustin, GERMANY
 //     Stefan Bund <g0dil@berlios.de>
 //
 // This program is free software; you can redistribute it and/or modify
 
 namespace senf {
 namespace log {
-
-    class TargetRegistry;
+    
+    namespace detail { class TargetRegistry; }
 
     /** \brief Logging target base class
         
-        Targets are the final destination of log messages. Every message is eventually routed to one
+        Targets are the final destination of %log messages. Every message is eventually routed to one
         or several targets.
 
         \section target_routing Routing
@@ -114,7 +114,7 @@ namespace log {
 
         The target may process in any arbitrary way: reformat, writing it into an SQL DB, whatever
         can be envisioned. However, there is one important limitation: The \c v_write call must not
-        block. So for more complex scenarios, additional measures must be taken (e.g. writing a log
+        block. So for more complex scenarios, additional measures must be taken (e.g. writing a %log
         backend daemon which receives the messages via UDP and processes them). Of course, in rare
         cases messages might be lost but this cannot be avoided.
 
@@ -205,9 +205,9 @@ namespace log {
                                              See the class description for information on the \a
                                              action and \a index parameters 
 
-                                             \param[in] Stream mandatory stream to match
-                                             \param[in] Area optional area to match
-                                             \param[in] Level optional level, matches messages with
+                                             \tparam Stream mandatory stream to match
+                                             \tparam Area optional area to match
+                                             \tparam Level optional level, matches messages with
                                                  at least the given level. 
                                              \param[in] action routing action to take
                                              \param[in] index position of new route in the routing
@@ -254,9 +254,9 @@ namespace log {
                                              found, it will be removed, otherwise the call will be
                                              ignored
 
-                                             \param[in] Stream mandatory stream to match
-                                             \param[in] Area optional area to match
-                                             \param[in] Level optional level, matches messages with
+                                             \tparam Stream mandatory stream to match
+                                             \tparam Area optional area to match
+                                             \tparam Level optional level, matches messages with
                                                  at least the given level. 
                                              \param[in] action routing action to take */
 
@@ -373,9 +373,9 @@ namespace log {
                              std::string const & message) = 0;
                                         ///< Called to write out the routing message
                                         /**< This member must be defined in the derived class to
-                                             somehow format and write the log message. 
+                                             somehow format and write the %log message. 
 
-                                             Every log message always possesses a complete set of
+                                             Every %log message always possesses a complete set of
                                              meta information (\a stream, \a area and \a level).
 
                                              \note This member must \e not block since it may be
@@ -383,7 +383,7 @@ namespace log {
                                                  simple logging over NFS or many other network
                                                  protocols.
 
-                                             \param[in] timestamp log message timing information
+                                             \param[in] timestamp %log message timing information
                                              \param[in] stream message stream
                                              \param[in] area message area
                                              \param[in] level message level
@@ -396,6 +396,7 @@ namespace log {
         RIB rib_;
         
         friend class detail::AreaBase;
+        friend class detail::TargetRegistry;
     };
 
     /** \brief Log message time source abstract base class
@@ -414,7 +415,7 @@ namespace log {
         virtual boost::posix_time::ptime operator()() const = 0;
     };
 
-    /** \brief Default log message time source
+    /** \brief Default %log message time source
 
         This time source is installed by default and uses gettimeofday() (via the Boost.DateTime
         library) to get the current universal time.