From 4b9437a5bf8dea4475a2dd5f433ee9729d6493c2 Mon Sep 17 00:00:00 2001 From: realtradam Date: Fri, 14 Apr 2023 16:45:29 -0400 Subject: split off logging into seperate files --- src/input/rodeo_input.c | 12 ++++++-- src/log/irodeo_log.h | 12 ++++++++ src/log/rodeo_log.c | 73 +++++++++++++++++++++++++++++++++++++++++++++++++ src/rodeo_log.c | 68 --------------------------------------------- 4 files changed, 94 insertions(+), 71 deletions(-) create mode 100644 src/log/irodeo_log.h create mode 100644 src/log/rodeo_log.c delete mode 100644 src/rodeo_log.c (limited to 'src') diff --git a/src/input/rodeo_input.c b/src/input/rodeo_input.c index 0137e69..e8c736b 100644 --- a/src/input/rodeo_input.c +++ b/src/input/rodeo_input.c @@ -1,9 +1,9 @@ // -- internal -- // public -#include "rodeo/input_t.h" #include "rodeo/input.h" #include "irodeo_input.h" +#include "rodeo/log.h" // -- external -- #include "SDL2/SDL.h" @@ -142,12 +142,18 @@ rodeo_input_scene_register_callback( break; case rodeo_input_binary_Invalid: - // TODO make it a log + rodeo_log( + rodeo_logLevel_error, + "Failed to register invalid binary input type" + ); break; } break; case rodeo_input_type_Invalid: - // TODO make it log + rodeo_log( + rodeo_logLevel_error, + "Failed to register invalid input type" + ); break; } } diff --git a/src/log/irodeo_log.h b/src/log/irodeo_log.h new file mode 100644 index 0000000..2eb3341 --- /dev/null +++ b/src/log/irodeo_log.h @@ -0,0 +1,12 @@ + +// -- internal -- +// public +#include "rodeo/log.h" + +typedef +struct +{ + rodeo_log_function logging_function; +} +irodeo_log_state_t; + diff --git a/src/log/rodeo_log.c b/src/log/rodeo_log.c new file mode 100644 index 0000000..bc2c4f0 --- /dev/null +++ b/src/log/rodeo_log.c @@ -0,0 +1,73 @@ + +// -- internal -- +// public +#include "rodeo/log.h" +#include "rodeo/common.h" +// private +#include "log/irodeo_log.h" + +static irodeo_log_state_t istate = {0}; + +void +rodeo_log( + rodeo_logLevel_t loglevel, + const char *format, + ... +) +{ + cstr formatted; + mrodeo_vargs_do(format) + { + formatted = cstr_from_vfmt(format, vargs); + } + + switch(loglevel) + { + case rodeo_logLevel_info: + cstr_insert( + &formatted, + 0, + "[INFO]: " + ); + break; + case rodeo_logLevel_warning: + cstr_insert( + &formatted, + 0, + "\033[33m[WARN]:\033[0m " + ); + break; + case rodeo_logLevel_error: + cstr_insert( + &formatted, + 0, + "\033[31;1m[ERROR]:\033[0m " + ); + break; + } + cstr_append( + &formatted, + "\n" + ); + + if(istate.logging_function == NULL) + { + printf("%s", cstr_str(&formatted)); + } + else + { + istate.logging_function(formatted); + } +} + +void +rodeo_log_function_set(rodeo_log_function rodeo_log_func) +{ + istate.logging_function = rodeo_log_func; +} + +rodeo_log_function +rodeo_log_function_get(void) +{ + return istate.logging_function; +} diff --git a/src/rodeo_log.c b/src/rodeo_log.c deleted file mode 100644 index 625b563..0000000 --- a/src/rodeo_log.c +++ /dev/null @@ -1,68 +0,0 @@ - -// public internal -#include "rodeo_types.h" -#include "rodeo.h" - -// external -#include "SDL2/SDL.h" - -static rodeo_log_function logging_function = NULL; - -void -rodeo_log( - rodeo_logLevel_t loglevel, - const char *format, - ... -) -{ - cstr formatted; - mrodeo_vargs_do(format) - { - formatted = cstr_from_vfmt(format, vargs); - } - - switch(loglevel) - { - case rodeo_logLevel_info: - cstr_insert( - &formatted, - 0, - "[INFO]: " - ); - break; - case rodeo_logLevel_warning: - cstr_insert( - &formatted, - 0, - "\033[33m[WARN]:\033[0m " - ); - break; - case rodeo_logLevel_error: - cstr_insert( - &formatted, - 0, - "\033[31;1m[ERROR]:\033[0m " - ); - break; - } - cstr_append( - &formatted, - "\n" - ); - - if(logging_function == NULL) - { - printf("%s", cstr_str(&formatted)); - } - else - { - logging_function(formatted); - } -} - -void -rodeo_log_function_set(rodeo_log_function rodeo_log_func) -{ - logging_function = rodeo_log_func; -} - -- cgit v1.2.3