summaryrefslogtreecommitdiff
path: root/src/analysis/loaded.c
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2019-09-05 22:53:24 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2019-09-05 22:53:24 (GMT)
commit1a85f36e0505d75a51ab7b7f2c5078da7ef6bd98 (patch)
treea9a7d542f0ed00f418b61122a27ec9f1927e646f /src/analysis/loaded.c
parent3d65cfcb6403d169b52045a9e5c242ad081539a7 (diff)
Made server connections easier while running analysis.
Diffstat (limited to 'src/analysis/loaded.c')
-rw-r--r--src/analysis/loaded.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/src/analysis/loaded.c b/src/analysis/loaded.c
index 6f79bf8..f8b25d5 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 connect; /* Lancement de connexions ? */
bool cache; /* Degré d'opération à mener */
bool success; /* Bilan de l'opération */
@@ -99,7 +100,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 *, bool);
+static GLoadedAnalysis *g_loaded_analysis_new(GLoadedContent *, bool, bool);
/* Assure l'analyse d'un contenu chargé en différé. */
static void g_loaded_analysis_process(GLoadedAnalysis *, GtkStatusStack *);
@@ -261,6 +262,7 @@ const char *g_loaded_content_get_format_name(const GLoadedContent *content)
/******************************************************************************
* *
* Paramètres : content = élément chargé à manipuler. *
+* connect = organise le lancement des connexions aux serveurs. *
* cache = précise si la préparation d'un rendu est demandée. *
* *
* Description : Lance l'analyse propre à l'élément chargé. *
@@ -271,12 +273,12 @@ const char *g_loaded_content_get_format_name(const GLoadedContent *content)
* *
******************************************************************************/
-void g_loaded_content_analyze(GLoadedContent *content, bool cache)
+void g_loaded_content_analyze(GLoadedContent *content, bool connect, bool cache)
{
GLoadedAnalysis *analysis; /* Analyse à mener */
GWorkQueue *queue; /* Gestionnaire de différés */
- analysis = g_loaded_analysis_new(content, cache);
+ analysis = g_loaded_analysis_new(content, connect, cache);
g_signal_connect(analysis, "work-completed",
G_CALLBACK(on_loaded_content_analysis_completed), content);
@@ -311,6 +313,7 @@ static void on_loaded_content_analysis_completed(GLoadedAnalysis *analysis, GLoa
/******************************************************************************
* *
* Paramètres : content = élément chargé à manipuler. *
+* connect = organise le lancement des connexions aux serveurs. *
* 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. *
@@ -321,14 +324,14 @@ static void on_loaded_content_analysis_completed(GLoadedAnalysis *analysis, GLoa
* *
******************************************************************************/
-bool g_loaded_content_analyze_and_wait(GLoadedContent *content, bool cache)
+bool g_loaded_content_analyze_and_wait(GLoadedContent *content, bool connect, 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, cache);
+ analysis = g_loaded_analysis_new(content, connect, cache);
g_object_ref(G_OBJECT(analysis));
queue = get_work_queue();
@@ -647,6 +650,7 @@ static void g_loaded_analysis_finalize(GLoadedAnalysis *analysis)
/******************************************************************************
* *
* Paramètres : content = contenu chargé à traiter. *
+* connect = organise le lancement des connexions aux serveurs. *
* 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. *
@@ -657,7 +661,7 @@ static void g_loaded_analysis_finalize(GLoadedAnalysis *analysis)
* *
******************************************************************************/
-static GLoadedAnalysis *g_loaded_analysis_new(GLoadedContent *content, bool cache)
+static GLoadedAnalysis *g_loaded_analysis_new(GLoadedContent *content, bool connect, bool cache)
{
GLoadedAnalysis *result; /* Tâche à retourner */
@@ -666,6 +670,7 @@ static GLoadedAnalysis *g_loaded_analysis_new(GLoadedContent *content, bool cach
result->content = content;
g_object_ref(G_OBJECT(content));
+ result->connect = connect;
result->cache = cache;
return result;
@@ -698,7 +703,7 @@ static void g_loaded_analysis_process(GLoadedAnalysis *analysis, GtkStatusStack
gid = g_work_queue_define_work_group(queue);
- analysis->success = iface->analyze(analysis->content, analysis->cache, gid, status);
+ analysis->success = iface->analyze(analysis->content, analysis->connect, analysis->cache, gid, status);
if (analysis->success)
handle_loaded_content(PGA_CONTENT_ANALYZED, analysis->content, gid, status);