]> ToastFreeware Gitweb - gregoa/zavai.git/blobdiff - src/zavai.vala
Added log viewer
[gregoa/zavai.git] / src / zavai.vala
index ae8c3aa5edcef495c2c35201034c7324b43dce51..f9838c5af31a51de2aa3ef3b077bdb5753715889 100644 (file)
@@ -44,7 +44,11 @@ static Posix.pid_t is_running()
 static void make_pidfile()
 {
        string pidfile = zavai.config.homedir + "/" + pidfilename + ".pid";
-       FileUtils.set_contents(pidfile, "%d".printf(Posix.getpid()));
+    try {
+        FileUtils.set_contents(pidfile, "%d".printf(Posix.getpid()));
+    } catch (FileError e) {
+        zavai.log.error("Cannot create pidfile " + pidfile + ": " + e.message);
+    }
 }
 
 static void on_kill(int sig)
@@ -75,7 +79,12 @@ static int main (string[] args) {
                        arg_description = null },
                OptionEntry()
        };
-    Gtk.init_with_args(ref args, "", entries, null);
+    try {
+        Gtk.init_with_args(ref args, "", entries, null);
+    } catch (Error e) {
+        zavai.log.error("Cannot init gtk: " + e.message);
+        return 1;
+    }
     Gst.init (ref args);
 
     pidfilename = "zavai";
@@ -220,6 +229,7 @@ static int main (string[] args) {
        zavai.ui.alarm.init();
        zavai.ui.wifi.init();
        zavai.ui.bluetooth.init();
+       zavai.ui.logview.init();
        zavai.ui.debug.init();
 
        //zavai.app.show_applet("menu.main");
@@ -268,6 +278,21 @@ static int main (string[] args) {
         zavai.clock.alarm_trigger_queue.enqueue_trigger(alarm);
     }
 
+    if (args.length > 2 && args[1] == "showlog")
+    {
+        zavai.log.log.list_entries((d, f) => {
+            stderr.printf("FALSE %s %s\n", d, f);
+            return true;
+        }, false);
+        zavai.log.log.list_entries((d, f) => {
+            stderr.printf("TRUE %s %s\n", d, f);
+            return true;
+        }, true);
+        zavai.log.Log l = zavai.log.log.load(args[2]);
+        l.dump();
+        return 0;
+    }
+
        if (args.length > 2 && args[1] == "play")
     {
         zavai.audio.musicplayer.play("file://" + args[2]);