diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2019-02-01 18:12:31 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2019-02-01 18:12:31 (GMT) |
commit | 113f37b954e395beb2a335e5e364746c70af625d (patch) | |
tree | d58b2839f1dd95096f72221c07c4b2a508eca6e9 /src/analysis/loaded.c | |
parent | 9d4a0ba0e5a217bf4ac63c21e14d5f44580b6138 (diff) |
Inserted an option to render disassembly even in batch mode.
Diffstat (limited to 'src/analysis/loaded.c')
-rw-r--r-- | src/analysis/loaded.c | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/src/analysis/loaded.c b/src/analysis/loaded.c index 2343992..6f79bf8 100644 --- a/src/analysis/loaded.c +++ b/src/analysis/loaded.c @@ -69,6 +69,7 @@ struct _GLoadedAnalysis GDelayedWork parent; /* A laisser en premier */ GLoadedContent *content; /* Cible de l'analyse à mener */ + bool cache; /* Degré d'opération à mener */ bool success; /* Bilan de l'opération */ @@ -98,7 +99,7 @@ static void g_loaded_analysis_dispose(GLoadedAnalysis *); static void g_loaded_analysis_finalize(GLoadedAnalysis *); /* Crée une tâche d'analyse de contenu différée. */ -static GLoadedAnalysis *g_loaded_analysis_new(GLoadedContent *); +static GLoadedAnalysis *g_loaded_analysis_new(GLoadedContent *, bool); /* Assure l'analyse d'un contenu chargé en différé. */ static void g_loaded_analysis_process(GLoadedAnalysis *, GtkStatusStack *); @@ -260,6 +261,7 @@ const char *g_loaded_content_get_format_name(const GLoadedContent *content) /****************************************************************************** * * * Paramètres : content = élément chargé à manipuler. * +* cache = précise si la préparation d'un rendu est demandée. * * * * Description : Lance l'analyse propre à l'élément chargé. * * * @@ -269,12 +271,12 @@ const char *g_loaded_content_get_format_name(const GLoadedContent *content) * * ******************************************************************************/ -void g_loaded_content_analyze(GLoadedContent *content) +void g_loaded_content_analyze(GLoadedContent *content, bool cache) { GLoadedAnalysis *analysis; /* Analyse à mener */ GWorkQueue *queue; /* Gestionnaire de différés */ - analysis = g_loaded_analysis_new(content); + analysis = g_loaded_analysis_new(content, cache); g_signal_connect(analysis, "work-completed", G_CALLBACK(on_loaded_content_analysis_completed), content); @@ -309,6 +311,7 @@ static void on_loaded_content_analysis_completed(GLoadedAnalysis *analysis, GLoa /****************************************************************************** * * * Paramètres : content = élément chargé à manipuler. * +* cache = précise si la préparation d'un rendu est demandée. * * * * Description : Lance l'analyse de l'élément chargé et attend sa conclusion. * * * @@ -318,14 +321,14 @@ static void on_loaded_content_analysis_completed(GLoadedAnalysis *analysis, GLoa * * ******************************************************************************/ -bool g_loaded_content_analyze_and_wait(GLoadedContent *content) +bool g_loaded_content_analyze_and_wait(GLoadedContent *content, bool cache) { bool result; /* Bilan à retourner */ GLoadedAnalysis *analysis; /* Analyse à mener */ GWorkQueue *queue; /* Gestionnaire de différés */ wgroup_id_t gid; /* Identifiant pour les tâches */ - analysis = g_loaded_analysis_new(content); + analysis = g_loaded_analysis_new(content, cache); g_object_ref(G_OBJECT(analysis)); queue = get_work_queue(); @@ -644,6 +647,7 @@ static void g_loaded_analysis_finalize(GLoadedAnalysis *analysis) /****************************************************************************** * * * Paramètres : content = contenu chargé à traiter. * +* cache = précise si la préparation d'un rendu est demandée. * * * * Description : Crée une tâche d'analyse de contenu différée. * * * @@ -653,7 +657,7 @@ static void g_loaded_analysis_finalize(GLoadedAnalysis *analysis) * * ******************************************************************************/ -static GLoadedAnalysis *g_loaded_analysis_new(GLoadedContent *content) +static GLoadedAnalysis *g_loaded_analysis_new(GLoadedContent *content, bool cache) { GLoadedAnalysis *result; /* Tâche à retourner */ @@ -662,6 +666,8 @@ static GLoadedAnalysis *g_loaded_analysis_new(GLoadedContent *content) result->content = content; g_object_ref(G_OBJECT(content)); + result->cache = cache; + return result; } @@ -692,7 +698,7 @@ static void g_loaded_analysis_process(GLoadedAnalysis *analysis, GtkStatusStack gid = g_work_queue_define_work_group(queue); - analysis->success = iface->analyze(analysis->content, gid, status); + analysis->success = iface->analyze(analysis->content, analysis->cache, gid, status); if (analysis->success) handle_loaded_content(PGA_CONTENT_ANALYZED, analysis->content, gid, status); |