diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2018-01-13 00:35:33 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2018-01-13 00:35:33 (GMT) |
commit | a6975c1d754a1ba5bfb9e23f0b26692c746e6f9c (patch) | |
tree | 7ec962129ebbce6cd210b449443afc91ced72719 /src/gui/panels | |
parent | 5adcf950f1f928c7127f2d694b52addf54cc04ca (diff) |
Handled the logs from the GUI, the command line and the Python bindings.
Diffstat (limited to 'src/gui/panels')
-rw-r--r-- | src/gui/panels/log.c | 91 | ||||
-rw-r--r-- | src/gui/panels/log.h | 19 |
2 files changed, 8 insertions, 102 deletions
diff --git a/src/gui/panels/log.c b/src/gui/panels/log.c index 2fd8f4f..e547a03 100644 --- a/src/gui/panels/log.c +++ b/src/gui/panels/log.c @@ -88,9 +88,6 @@ static void g_log_panel_dispose(GLogPanel *); static void g_log_panel_finalize(GLogPanel *); /* Affiche un message dans le journal des messages système. */ -static void _log_simple_message(LogMessageType, char *); - -/* Affiche un message dans le journal des messages système. */ static gboolean log_message(log_data *); @@ -270,28 +267,9 @@ GPanelItem *g_log_panel_new(void) /****************************************************************************** * * -* Paramètres : type = espèce du message à ajouter. * -* msg = message à faire apparaître à l'écran. * -* * -* Description : Affiche un message dans le journal des messages système. * -* * -* Retour : - * -* * -* Remarques : - * -* * -******************************************************************************/ - -void log_simple_message(LogMessageType type, const char *msg) -{ - _log_simple_message(type, strdup(msg)); - -} - - -/****************************************************************************** -* * -* Paramètres : type = espèce du message à ajouter. * -* msg = message à faire apparaître à l'écran. * +* Paramètres : panel = instance d'objet GLib à traiter. * +* type = espèce du message à ajouter. * +* msg = message à faire apparaître à l'écran. * * * * Description : Affiche un message dans le journal des messages système. * * * @@ -301,18 +279,15 @@ void log_simple_message(LogMessageType type, const char *msg) * * ******************************************************************************/ -static void _log_simple_message(LogMessageType type, char *msg) +void g_log_panel_add_message(GLogPanel *panel, LogMessageType type, const char *msg) { - GPanelItem *item; /* Intermédiaire mis en place */ log_data *data; /* Paramètres à joindre */ - item = get_panel_item_by_name(PANEL_LOG_ID); - data = (log_data *)calloc(1, sizeof(log_data)); - data->item = item; + data->item = G_PANEL_ITEM(panel); data->type = type; - data->msg = msg; + data->msg = strdup(msg); g_object_ref(G_OBJECT(data->item)); @@ -323,60 +298,6 @@ static void _log_simple_message(LogMessageType type, char *msg) /****************************************************************************** * * -* Paramètres : type = espèce du message à ajouter. * -* fmt = format du message à faire apparaître à l'écran. * -* ... = éventuels arguments venant compléter le message. * -* * -* Description : Affiche un message dans le journal des messages système. * -* * -* Retour : - * -* * -* Remarques : - * -* * -******************************************************************************/ - -void log_variadic_message(LogMessageType type, const char *fmt, ...) -{ - size_t len; /* Taille tampon disponible */ - char *buffer; /* Tampon du msg reconstitué */ - int ret; /* Bilan d'une impression */ - char *ptr; /* Nouvelle allocation */ - va_list ap; /* Liste d'arguments variable */ - - len = VARIADIC_LOG_BUFSIZE; - buffer = calloc(len, sizeof(char)); - - while (buffer != NULL) - { - va_start(ap, fmt); - ret = vsnprintf(buffer, len, fmt, ap); - va_end(ap); - - if (ret >= 0 && ret < len) break; - - else - { - if (ret > -1) len += 1; /* glibc 2.1 */ - else len *= 2; /* glibc 2.0 */ - - if ((ptr = realloc(buffer, len)) == NULL) - { - free(buffer); - buffer = NULL; - } - else buffer = ptr; - - } - - } - - _log_simple_message(type, buffer); - -} - - -/****************************************************************************** -* * * Paramètres : data = paramètres destinés à l'affichage d'un message. * * * * Description : Affiche un message dans le journal des messages système. * diff --git a/src/gui/panels/log.h b/src/gui/panels/log.h index e37348a..dab8581 100644 --- a/src/gui/panels/log.h +++ b/src/gui/panels/log.h @@ -30,6 +30,7 @@ #include "panel.h" +#include "../../core/logs.h" @@ -55,19 +56,6 @@ typedef struct _GLogPanel GLogPanel; typedef struct _GLogPanelClass GLogPanelClass; -/* Type de messages disponibles */ -typedef enum _LogMessageType -{ - LMT_INFO, /* Information sur l'exécution */ - LMT_BAD_BINARY, /* Binaire malformé */ - LMT_PROCESS, /* Début de tâche quelconque */ - LMT_ERROR, /* Erreur de traitement */ - LMT_WARNING, /* Avertissment à remonter */ - - LMT_COUNT - -} LogMessageType; - /* Indique le type définit pour un panneau d'affichage de messages. */ GType g_log_panel_get_type(void); @@ -76,10 +64,7 @@ GType g_log_panel_get_type(void); GPanelItem *g_log_panel_new(void); /* Affiche un message dans le journal des messages système. */ -void log_simple_message(LogMessageType, const char *); - -/* Affiche un message dans le journal des messages système. */ -void log_variadic_message(LogMessageType, const char *, ...); +void g_log_panel_add_message(GLogPanel *, LogMessageType, const char *); |