Utils/Logger: Reorganize source code
[senf.git] / Utils / Logger / Definitions.ih
similarity index 75%
rename from Utils/Logger/Area.ih
rename to Utils/Logger/Definitions.ih
index 168ecb0..7e97381 100644 (file)
@@ -2,7 +2,7 @@
 //
 // Copyright (C) 2007 
 // Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS)
-// Kompetenzzentrum fuer Satelitenkommunikation (SatCom)
+// Kompetenzzentrum fuer NETwork research (NET)
 //     Stefan Bund <g0dil@berlios.de>
 //
 // This program is free software; you can redistribute it and/or modify
 // 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 
 /** \file
-    \brief Area internal header */
+    \brief Definitions internal header */
 
-#ifndef IH_Area_
-#define IH_Area_ 1
+#ifndef IH_Definitions_
+#define IH_Definitions_ 1
 
 // Custom includes
-#include <string>
-#include <vector>
 
 ///////////////////////////////ih.p////////////////////////////////////////
 
-namespace senf {
-namespace log {
-namespace detail {
-
-    class StreamBase;
-
-    struct AreaBase
-    {
-        virtual ~AreaBase() {};
-        
-        std::string fullName() const;
-        virtual std::string v_name() const;
-
-        void init();
-
-        unsigned streamLimit(StreamBase const & stream) const;
-        void setStreamLimit(StreamBase const & stream, unsigned value) const;
-
-    private:
-        typedef std::vector<unsigned> StreamLimits;
-        // mutable since this is a cache and may therefore change at unexpected places ...
-        mutable StreamLimits streamLimits_;
-    };
-
-}}}
-
 #define SENF_LOG_DEF_AREA_I(area, decls)                                                          \
     struct area                                                                                   \
         : public senf::log::detail::AreaBase, public senf::singleton<area>                        \
@@ -69,6 +41,15 @@ namespace detail {
         friend class senf::singleton<area>;                                                       \
     }
 
+namespace senf {
+namespace log {
+namespace detail {
+
+    /// Internal: Alias base class
+    struct AliasBase {};
+
+}}}
+
 ///////////////////////////////ih.e////////////////////////////////////////
 #endif