Merge branch 'master' into print_error
authorAlexis Laferrière <alexis.laf@xymus.net>
Tue, 12 May 2015 12:43:19 +0000 (08:43 -0400)
committerAlexis Laferrière <alexis.laf@xymus.net>
Tue, 12 May 2015 12:43:19 +0000 (08:43 -0400)
lib/android/android.nit
lib/android/log.nit
lib/app/app_base.nit
lib/linux/data_store.nit
lib/mnit/assets.nit
lib/mnit_linux/linux_assets.nit
lib/standard/file.nit

index 6c6fb9b..42f3471 100644 (file)
@@ -26,14 +26,7 @@ import dalvik
 private import log
 private import data_store
 
-# Uses Android logs to print everything
-redef fun print(text) do log_write(priority_info, app.log_prefix.to_cstring, text.to_s.to_cstring)
-
 redef class App
-       redef fun log_error(msg) do log_write(priority_error, log_prefix.to_cstring, msg.to_cstring)
-
-       redef fun log_warning(msg) do log_write(priority_warn, log_prefix.to_cstring, msg.to_cstring)
-
        redef fun init_window
        do
                super
index 6b0faea..b7f7e64 100644 (file)
@@ -23,31 +23,54 @@ in "C" `{
        #include <android/log.h>
 `}
 
+# Use Android logs to print
+redef fun print(object)
+do
+       log_write(priority_info, app.log_prefix.to_cstring, object.to_s.to_cstring)
+end
+
+# Use Android logs to print errors
+redef fun print_error(object)
+do
+       log_write(priority_error, app.log_prefix.to_cstring, object.to_s.to_cstring)
+end
+
+# Use Android logs to print warnings
+redef fun print_warning(object)
+do
+       log_write(priority_warn, app.log_prefix.to_cstring, object.to_s.to_cstring)
+end
+
+redef class App
+       # Prefix to all log messages
+       protected fun log_prefix: String do return "app.nit"
+end
+
 # Default Android log priority
-fun priority_default: Int do return 1
+private fun priority_default: Int do return 1
 
 # Verbose Android log priority
-fun priority_verbose: Int do return 2
+private fun priority_verbose: Int do return 2
 
 # Debug Android log priority
-fun priority_debug: Int do return 3
+private fun priority_debug: Int do return 3
 
 # Info Android log priority
-fun priority_info: Int do return 4
+private fun priority_info: Int do return 4
 
 # Warn Android log priority
-fun priority_warn: Int do return 5
+private fun priority_warn: Int do return 5
 
 # Error Android log priority
-fun priority_error: Int do return 6
+private fun priority_error: Int do return 6
 
 # Fatal Android log priority
-fun priority_fatal: Int do return 7
+private fun priority_fatal: Int do return 7
 
 # Silent Android log priority
-fun priority_silent: Int do return 8
+private fun priority_silent: Int do return 8
 
 # Write `text` to Android log at priority `level` with tag `tag`
-fun log_write(level: Int, tag, text: NativeString) `{
+private fun log_write(level: Int, tag, text: NativeString) `{
        __android_log_write(level, tag, text);
 `}
index 2a335c4..76fbd09 100644 (file)
@@ -34,15 +34,6 @@ class App
        # Main entry point of your application
        fun run do end
 
-       # Prefix to all log messages, used by `log_error`, `log_warning` and `log_info`.
-       fun log_prefix: String do return "app.nit"
-
-       # Helper function for logging errors
-       fun log_error(msg: String) do sys.stderr.write "{log_prefix} error: {msg}\n"
-
-       # Helper function for logging warnings
-       fun log_warning(msg: String) do sys.stderr.write "{log_prefix} warn: {msg}\n"
-
        # Main init method for graphical stuff
        # Is called when display is ready so graphical assets
        # can be loaded at this time.
@@ -52,6 +43,14 @@ class App
        fun window_closing do end
 end
 
+# Print a warning
+fun print_warning(object: Object)
+do
+       sys.stderr.write object.to_s
+       sys.stderr.write "\n"
+end
+
+# The running `App`
 fun app: App do return once new App
 app.setup
 app.run
index 3a017dc..5743d82 100644 (file)
@@ -52,7 +52,7 @@ private class LinuxStore
                # Open DB connection
                db = new Sqlite3DB.open(db_path)
                if not db.is_open then
-                       app.log_error "Data store unavaible, cannot load/save data. (at '{db_path}' with '{db.error or else "unknown"}')"
+                       print_error "Data store unavaible, cannot load/save data. (at '{db_path}' with '{db.error or else "unknown"}')"
                        return null
                end
 
index f0d1892..d46b5e4 100644 (file)
@@ -42,7 +42,7 @@ redef class App
        do
                var asset = try_loading_asset( id )
                if asset == null then # error
-                       log_error( "asset <{id}> could not be loaded." )
+                       print_error "asset <{id}> could not be loaded."
                        abort
                else
                        return asset
@@ -57,7 +57,7 @@ redef class App
                if asset isa Image then
                        return asset
                else
-                       log_error( "asset <{id}> is not an image." )
+                       print_error "asset <{id}> is not an image."
                        abort
                end
        end
index 6749d30..393b77d 100644 (file)
@@ -33,7 +33,7 @@ redef class App
        do
                var path = "{assets_dir}/{id}"
                if not path.file_exists then
-                       log_error( "asset <{id}> does not exists." )
+                       print_error "asset <{id}> does not exists."
                        exit(1)
                        abort
                else
index bb87a6f..68853e1 100644 (file)
@@ -1214,6 +1214,13 @@ do
        sys.stdout.write("\n")
 end
 
+# Print `object` on the error output (`stderr` or a log system)
+fun print_error(object: Object)
+do
+       sys.stderr.write object.to_s
+       sys.stderr.write "\n"
+end
+
 # Read a character from the standard input (`stdin`).
 fun getc: Char
 do