summaryrefslogtreecommitdiff
path: root/src/gui/panels
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2018-01-13 00:35:33 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2018-01-13 00:35:33 (GMT)
commita6975c1d754a1ba5bfb9e23f0b26692c746e6f9c (patch)
tree7ec962129ebbce6cd210b449443afc91ced72719 /src/gui/panels
parent5adcf950f1f928c7127f2d694b52addf54cc04ca (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.c91
-rw-r--r--src/gui/panels/log.h19
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 *);