[rygel] core: Introducing LogLevel enumerator



commit 1642cbd5c578945e65d2fa5ee0bab9e2da26a10b
Author: Zeeshan Ali (Khattak) <zeeshanak gnome org>
Date:   Mon Sep 28 19:22:36 2009 +0300

    core: Introducing LogLevel enumerator
    
    An enum type to represent the log levels and a method in LogHander to
    map this type to GLib.LogLevelFlags.

 src/rygel/rygel-log-handler.vala |   49 ++++++++++++++++++++++++++++++++++++++
 1 files changed, 49 insertions(+), 0 deletions(-)
---
diff --git a/src/rygel/rygel-log-handler.vala b/src/rygel/rygel-log-handler.vala
index 0708120..81669f2 100644
--- a/src/rygel/rygel-log-handler.vala
+++ b/src/rygel/rygel-log-handler.vala
@@ -21,6 +21,16 @@
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  */
 
+public enum Rygel.LogLevel {
+    INVALID = 0,
+    CRITICAL = 1,
+    ERROR = 2,
+    WARNING = 3,
+    INFO = 4,
+    DEFAULT = 4,
+    DEBUG = 5
+}
+
 public class Rygel.LogHandler : GLib.Object {
     public const string DOMAIN = "Rygel";
     private const LogLevelFlags DEFAULT_LEVELS = LogLevelFlags.LEVEL_WARNING |
@@ -61,4 +71,43 @@ public class Rygel.LogHandler : GLib.Object {
             Log.default_handler (DOMAIN, log_levels, message, null);
         }
     }
+
+    private LogLevelFlags log_level_to_flags (LogLevel level) {
+        LogLevelFlags flags = DEFAULT_LEVELS;
+
+        switch (level) {
+            case LogLevel.CRITICAL:
+                flags = LogLevelFlags.LEVEL_CRITICAL;
+                break;
+            case LogLevel.ERROR:
+                flags = LogLevelFlags.LEVEL_CRITICAL |
+                        LogLevelFlags.LEVEL_ERROR;
+                break;
+            case LogLevel.WARNING:
+                flags = LogLevelFlags.LEVEL_WARNING |
+                        LogLevelFlags.LEVEL_CRITICAL |
+                        LogLevelFlags.LEVEL_ERROR;
+                break;
+            case LogLevel.INFO:
+                flags = LogLevelFlags.LEVEL_WARNING |
+                        LogLevelFlags.LEVEL_CRITICAL |
+                        LogLevelFlags.LEVEL_ERROR |
+                        LogLevelFlags.LEVEL_MESSAGE |
+                        LogLevelFlags.LEVEL_INFO;
+                break;
+            case LogLevel.DEBUG:
+                flags = LogLevelFlags.LEVEL_WARNING |
+                        LogLevelFlags.LEVEL_CRITICAL |
+                        LogLevelFlags.LEVEL_ERROR |
+                        LogLevelFlags.LEVEL_MESSAGE |
+                        LogLevelFlags.LEVEL_INFO |
+                        LogLevelFlags.LEVEL_DEBUG;
+                break;
+            default:
+                flags = DEFAULT_LEVELS;
+                break;
+        }
+
+        return flags;
+    }
 }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]